diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f2feead..1faf6c8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -225,6 +225,12 @@
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
+
+
() {
+ override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: BusinessActivity.Model?) {
+ holder.run {
+ setText(R.id.type_name, item?.type_name)
+ ImageLoader.getInstance().loadImage(context,item?.type_img,getView(R.id.type_icon))
+ }
+ }
+
+ override fun onCreateViewHolder(
+ context: Context,
+ parent: ViewGroup,
+ viewType: Int
+ ): QuickViewHolder {
+ // 返回一个 ViewHolder
+ return QuickViewHolder(R.layout.item_business_type, parent)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dahe/gldriver/adapter/BusinessListAdapter.kt b/app/src/main/java/com/dahe/gldriver/adapter/BusinessListAdapter.kt
new file mode 100644
index 0000000..e66b092
--- /dev/null
+++ b/app/src/main/java/com/dahe/gldriver/adapter/BusinessListAdapter.kt
@@ -0,0 +1,38 @@
+package com.dahe.gldriver.adapter
+
+import android.content.Context
+import android.view.ViewGroup
+import android.widget.ImageView
+import com.amap.api.services.core.PoiItem
+import com.chad.library.adapter4.BaseQuickAdapter
+import com.chad.library.adapter4.viewholder.QuickViewHolder
+import com.dahe.gldriver.R
+import com.dahe.mylibrary.utils.ImageLoader
+
+/**
+ * @ClassName WaybillAdapter
+ * @Author 用户
+ * @Date 2024/1/23 16:27
+ * @Description TODO
+ */
+class BusinessListAdapter :
+ BaseQuickAdapter() {
+ override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: PoiItem?) {
+ holder.run {
+ setText(R.id.name, item?.title)
+ setText(R.id.address, item?.snippet)
+ setText(R.id.taste, item?.tel)
+ ImageLoader.getInstance()
+ .loadRoundImage(context, item?.photos?.get(0)?.url, 10, getView(R.id.photoUrl))
+ }
+ }
+
+ override fun onCreateViewHolder(
+ context: Context,
+ parent: ViewGroup,
+ viewType: Int
+ ): QuickViewHolder {
+ // 返回一个 ViewHolder
+ return QuickViewHolder(R.layout.item_business_list, parent)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt b/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt
index 31fa045..c2a6125 100644
--- a/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt
@@ -1,24 +1,20 @@
package com.dahe.gldriver.base
-import android.content.Context
-import android.content.Intent
-import android.graphics.Bitmap
import android.os.Bundle
import android.text.TextUtils
import android.view.View
-import android.webkit.JavascriptInterface
import android.webkit.WebResourceRequest
import android.webkit.WebView
import android.widget.FrameLayout
import android.widget.TextView
import com.dahe.gldriver.databinding.ActivityWebBinding
-import com.dahe.gldriver.ui.HomeActivity
+import com.dahe.gldriver.utils.SPUtils
+import com.dahe.glex.bean.UserBean
import com.dahe.mylibrary.R
import com.dahe.mylibrary.base.BaseActivity
import com.just.agentweb.AgentWeb
import com.just.agentweb.AgentWebUIControllerImplBase
import com.just.agentweb.WebChromeClient
-import com.just.agentweb.WebViewClient
/**
* @ClassName WebActivity
@@ -51,7 +47,6 @@ class WebActivity : BaseActivity() {
.ready()
.go(mUrl)
-
// mAgentWeb?.jsInterfaceHolder?.addJavaObject("phone", AndroidInterfaceWeb())
}
@@ -59,6 +54,41 @@ class WebActivity : BaseActivity() {
}
+ fun initOpinion() {
+ binding.run {
+// val ub: UserBean? = SPUtils.instance.getUserInfo(mContext)
+// wv.getSettings().setJavaScriptEnabled(true)
+// wv.getSettings().setDomStorageEnabled(true) // 这个要加上
+// val openid: String = ub.getData().getUname() // 用户的openid
+// val nickname: String = StringUtil.isNull(ub.getData().getRname(), "游客") // 用户的nickname
+// val headimgurl: String =
+// StringUtil.isNull(ub.getData().getHeadportraitUrl(), "") // 用户的头像url
+//
+// /* 获得 webview url,请注意url单词是product而不是products,products是旧版本的参数,用错地址将不能成功提交 */
+// val url = "https://support.qq.com/products/335639" // 把1221数字换成你的产品ID,否则会不成功
+// /* 准备post参数 */
+// val postData =
+// "nickname=$nickname&avatar=$headimgurl&openid=$openid"
+// wv.postUrl(url, postData.toByteArray())
+// wv.setWebChromeClient(chromeClient)
+// wv.setWebViewClient(object : android.webkit.WebViewClient() {
+// override fun shouldOverrideUrlLoading(
+// view: WebView,
+// request: WebResourceRequest
+// ): Boolean {
+// return super.shouldOverrideUrlLoading(view, request)
+// }
+//
+// override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
+// //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
+// view.loadUrl(url)
+// return true
+// }
+// })
+ }
+
+ }
+
private val mWebChromeClient: WebChromeClient = object : WebChromeClient() {
override fun onProgressChanged(view: WebView, newProgress: Int) {
super.onProgressChanged(view, newProgress)
diff --git a/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt b/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt
index ea27c64..9a7ad31 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/home/HomeFragment.kt
@@ -1,21 +1,24 @@
package com.dahe.gldriver.ui.home
+import android.Manifest
+import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.widget.LinearLayout
+import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.dahe.gldriver.R
import com.dahe.gldriver.adapter.GridItemAdapter
import com.dahe.gldriver.adapter.WaybillAdapter
-import com.dahe.gldriver.adapter.WaybillListAdapter
import com.dahe.gldriver.base.AppConfig
-import com.dahe.gldriver.bean.CarBean
+import com.dahe.gldriver.base.WebActivity
import com.dahe.gldriver.bean.GridBean
import com.dahe.gldriver.databinding.FragmentHomeBinding
import com.dahe.gldriver.net.BaseObserver
import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack
+import com.dahe.gldriver.ui.home.activity.BusinessActivity
import com.dahe.gldriver.ui.waybill.activity.WaybillDetailActivity
import com.dahe.gldriver.utils.OrderUtils
import com.dahe.glex.bean.OrderBean
@@ -25,10 +28,9 @@ import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider
import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.ConvertUtils
+import com.permissionx.guolindev.PermissionX
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
-import org.greenrobot.eventbus.EventBus
-import org.greenrobot.eventbus.Subscribe
/**
* @ClassName HomeFragment
@@ -68,6 +70,53 @@ class HomeFragment : BaseFragment(), RefreshCallBack {
gridView.run {
adapter = activity?.let { GridItemAdapter(it, gridDatas) }
setOnItemClickListener { adapterView, view, i, l ->
+ when (i) {
+ 0 -> {
+ //startActivity(new Intent(con, OrderListActivity.class));
+ PermissionX.init(requireActivity())
+ .permissions(Manifest.permission.ACCESS_FINE_LOCATION)
+ .request { allGranted: Boolean, grantedList: List?, deniedList: List? ->
+ if (allGranted) {
+ ActivityUtils.startActivity(mContext,BusinessActivity::class.java)
+ } else {
+ showToast("请先开启定位权限")
+ }
+ }
+ }
+
+ 1 -> {
+ ActivityUtils.startActivity(
+ mContext,
+ WebActivity::class.java,
+ Bundle().apply {
+ putString(
+ "url",
+ "https://www.v5kf.com/public/chat/chat?sid=187123&entry=5&ref=link&accountid=2daf303016ed4"
+ )
+ putString("title", gridDatas[i].title)
+ })
+ }
+
+ 2 -> {
+ ActivityUtils.startActivity(
+ mContext,
+ WebActivity::class.java,
+ Bundle().apply {
+ putString("url", "https://www.wjx.cn/vm/mKciqMo.aspx")
+ putString("title", gridDatas[i].title)
+ })
+ }
+
+ 3 -> {
+ ActivityUtils.startActivity(
+ mContext,
+ WebActivity::class.java,
+ Bundle().apply {
+ putString("url", "https://ks.wjx.top/vm/h6Jqu8A.aspx")
+ putString("title", gridDatas[i].title)
+ })
+ }
+ }
}
}
tvMar.isSelected = true
@@ -76,6 +125,9 @@ class HomeFragment : BaseFragment(), RefreshCallBack {
if (this@HomeFragment.mListener != null)
this@HomeFragment?.mListener?.invoke(2)
}
+ ivAllWaybill.setOnClickListener {
+ showToast("敬请期待")
+ }
}
initData()
}
@@ -132,8 +184,8 @@ class HomeFragment : BaseFragment(), RefreshCallBack {
Bundle().apply { putString(AppConfig.ORDER_ID, items[position].orderId) })
}
addOnItemChildClickListener(R.id.btnOk) { adapter, view, position ->
- OrderUtils.getInstance().goReceWaybill(mContext, items[position].orderId){
- if (it){
+ OrderUtils.getInstance().goReceWaybill(mContext, items[position].orderId) {
+ if (it) {
initData()
}
}
diff --git a/app/src/main/java/com/dahe/gldriver/ui/home/activity/BusinessActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/home/activity/BusinessActivity.kt
new file mode 100644
index 0000000..c15f9b4
--- /dev/null
+++ b/app/src/main/java/com/dahe/gldriver/ui/home/activity/BusinessActivity.kt
@@ -0,0 +1,154 @@
+package com.dahe.gldriver.ui.home.activity
+
+import android.graphics.Color
+import android.os.Bundle
+import android.widget.LinearLayout
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.maps.AMap
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.core.PoiItem
+import com.amap.api.services.poisearch.PoiResult
+import com.amap.api.services.poisearch.PoiSearch
+import com.dahe.gldriver.R
+import com.dahe.gldriver.adapter.BusinessAdapter
+import com.dahe.gldriver.adapter.BusinessListAdapter
+import com.dahe.gldriver.databinding.ActivityBusinessBinding
+import com.dahe.gldriver.utils.GDLocationUtils
+import com.dahe.mylibrary.base.BaseActivity
+import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider
+import com.dahe.mylibrary.utils.ConvertUtils
+import com.dahe.mylibrary.utils.LoadingUtils
+import com.dahe.mylibrary.utils.ToastUtils
+import com.dahe.mylibrary.weight.FullyGridLayoutManager
+import com.luck.picture.lib.decoration.GridSpacingItemDecoration
+import com.luck.picture.lib.utils.DensityUtil
+
+/**
+ * @ClassName BusinessActivity
+ * @Author john
+ * @Date 2024/3/25 11:24
+ * @Description TODO
+ */
+class BusinessActivity : BaseActivity(), PoiSearch.OnPoiSearchListener {
+ var listType: List = arrayListOf(
+ Model("餐饮", R.drawable.icon_canguan),
+ Model("住宿", R.drawable.icon_jiudian),
+ Model("商店", R.drawable.icon_shangdian),
+ Model("加油站", R.drawable.icon_jiayouzhan),
+ Model("汽车维修", R.drawable.icon_xiuche)
+ )
+
+ private val type = listType[0].type_name
+
+ private var mAMap: AMap? = null
+ private var query: PoiSearch.Query? = null
+ private var currLoca: LatLonPoint? = null
+ var adapterList: BusinessListAdapter? = null
+
+ override fun initView(savedInstanceState: Bundle?) {
+ setStatusBarColor(R.color.white)
+ setTitleBar("司机之家", true)
+
+ binding.run {
+ businessType.run {
+ layoutManager =
+ FullyGridLayoutManager(mContext, 4, GridLayoutManager.VERTICAL, false)
+ addItemDecoration(
+ GridSpacingItemDecoration(
+ 4,
+ DensityUtil.dip2px(mContext, 8f), false
+ )
+ )
+ adapter = BusinessAdapter().apply {
+ submitList(listType)
+ setOnItemClickListener { _, _, postion ->
+ changeType(listType[postion].type_name)
+ }
+ }
+
+ }
+
+ adapterList = businessList.run {
+ layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false)
+ addItemDecoration(
+ RecycleViewDivider(
+ LinearLayout.VERTICAL,
+ ConvertUtils.dp2px(10.0f),
+ Color.TRANSPARENT
+ )
+ )
+
+ adapter = BusinessListAdapter()
+ adapter as BusinessListAdapter
+ }
+
+ }
+
+ LoadingUtils.instance.showLoading(this, "定位中...")
+ GDLocationUtils.instance.getLocation(mContext) {
+ runOnUiThread {
+ LoadingUtils.instance.dissLoading()
+ if (it.getErrorCode() == 0) {
+ try {
+ binding.address.text = it.address
+ currLoca = LatLonPoint(it.getLatitude(), it.getLongitude())
+ val poiSearch = PoiSearch(this, query)
+ poiSearch.setOnPoiSearchListener(this)
+ poiSearch.bound = PoiSearch.SearchBound(currLoca, 5000, true) //
+ // 设置搜索区域为以lp点为圆心,其周围5000米范围
+ poiSearch.searchPOIAsyn() // 异步搜索
+ } catch (e: java.lang.Exception) {
+ e.printStackTrace()
+ }
+
+ } else {
+ showToast("定位失败,请检查定位权限是否开启")
+ }
+ }
+ }
+ changeType(type)
+ }
+
+ override fun initDate() {
+ }
+
+ private fun changeType(type: String) {
+ query = PoiSearch.Query(type, "", "")
+ query?.setExtensions("all")
+ query?.setPageSize(20) // 设置每页最多返回多少条poiitem
+ query?.setPageNum(0) // 设置查第一页
+ if (currLoca != null) {
+ try {
+ val poiSearch = PoiSearch(this, query)
+ poiSearch.setOnPoiSearchListener(this)
+ poiSearch.bound = PoiSearch.SearchBound(currLoca, 5000, true) //
+ // 设置搜索区域为以lp点为圆心,其周围5000米范围
+ poiSearch.searchPOIAsyn() // 异步搜索
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+ }
+
+ class Model(var type_name: String, var type_img: Int)
+
+ override fun onPoiSearched(p0: PoiResult?, p1: Int) {
+ if (p0 != null && p0.getQuery() != null) { // 搜索poi的结果
+ var poiItems = p0.getPois() // 当搜索不到poiitem数据时,会返回含有搜索关键字的城市信息
+ if (poiItems != null && poiItems.size > 0) {
+ adapterList?.submitList(poiItems)
+ } else {
+ ToastUtils.showToast(mContext, "对不起,没有搜索到相关数据!")
+ }
+ } else {
+ ToastUtils.showToast(mContext, "对不起,没有搜索到相关数据!")
+ }
+ }
+
+ override fun onPoiItemSearched(p0: PoiItem?, p1: Int) {
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-xxhdpi/icon_canguan.png b/app/src/main/res/drawable-xxhdpi/icon_canguan.png
new file mode 100644
index 0000000..26d84cb
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_canguan.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_jiayouzhan.png b/app/src/main/res/drawable-xxhdpi/icon_jiayouzhan.png
new file mode 100644
index 0000000..4712d80
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_jiayouzhan.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_jiudian.png b/app/src/main/res/drawable-xxhdpi/icon_jiudian.png
new file mode 100644
index 0000000..d59487c
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_jiudian.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_shangdian.png b/app/src/main/res/drawable-xxhdpi/icon_shangdian.png
new file mode 100644
index 0000000..3dab606
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_shangdian.png differ
diff --git a/app/src/main/res/drawable/icon_xiuche.png b/app/src/main/res/drawable/icon_xiuche.png
new file mode 100644
index 0000000..c607abc
Binary files /dev/null and b/app/src/main/res/drawable/icon_xiuche.png differ
diff --git a/app/src/main/res/drawable/img.png b/app/src/main/res/drawable/img.png
new file mode 100644
index 0000000..4aba9d5
Binary files /dev/null and b/app/src/main/res/drawable/img.png differ
diff --git a/app/src/main/res/layout/activity_business.xml b/app/src/main/res/layout/activity_business.xml
new file mode 100644
index 0000000..75dd85d
--- /dev/null
+++ b/app/src/main/res/layout/activity_business.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 42b0cc4..dd629a8 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -105,6 +105,7 @@
android:paddingRight="@dimen/dp_14">
diff --git a/app/src/main/res/layout/item_business_list.xml b/app/src/main/res/layout/item_business_list.xml
new file mode 100644
index 0000000..a27e929
--- /dev/null
+++ b/app/src/main/res/layout/item_business_list.xml
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_business_type.xml b/app/src/main/res/layout/item_business_type.xml
new file mode 100644
index 0000000..9903a1d
--- /dev/null
+++ b/app/src/main/res/layout/item_business_type.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
\ No newline at end of file