From 51f657872f152a115fb055ad8860093a5cdbc12d Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期一, 17 四月 2023 16:44:52 +0800
Subject: [PATCH] 隐私权限相关

---
 app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt |   36 ++++++++++++++++++++----------------
 1 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt b/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt
index 5fde12f..f3813ce 100644
--- a/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt
+++ b/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt
@@ -19,10 +19,7 @@
 import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.ioScheduler
 import cn.sinata.xldutils.rxutils.ResultException
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.utils.myToast
-import cn.sinata.xldutils.utils.optInt
-import cn.sinata.xldutils.utils.toTime
+import cn.sinata.xldutils.utils.*
 import cn.sinata.xldutils.visible
 import com.amap.api.location.AMapLocationClient
 import com.amap.api.location.AMapLocationClientOption
@@ -112,8 +109,8 @@
         mMapView.onCreate(savedInstanceState)
         getNotice()
         getBottomAds()
+        initMap()
         getRxPermission {
-            initMap()
             initLocation()
         }
         initTab()
@@ -381,17 +378,23 @@
     }
 
     fun getRxPermission(function: () -> Unit) {
-        val disposable =
-            RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION)
-                .subscribe {
-                    if (it) {
-                        function()
-                    } else {
-                        function()
-                        myToast("没有定位权限")
+        if (!RxPermissions(requireActivity()).isGranted(Manifest.permission.ACCESS_FINE_LOCATION) //没有权限且明确拒绝就不再申请权限
+            && SPUtils.instance().getBoolean(Const.User.IS_REFUSE_PERMISSION_LOCATION)){
+            function()
+//            myToast("没有定位权限")
+        }else{
+            val disposable =
+                RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION)
+                    .subscribe {
+                        if (it) {
+                            function()
+                        } else {
+                            SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION,true).apply()
+                            function()
+                        }
                     }
-                }
-        onBindHelper(disposable)
+            onBindHelper(disposable)
+        }
     }
 
     private var locCount = 0L //定位次数
@@ -400,7 +403,7 @@
         val myLocationStyle = MyLocationStyle()
         myLocationStyle.strokeColor(resources.getColor(R.color.colorBrown))
         myLocationStyle.radiusFillColor(resources.getColor(R.color.colorTransBrown))
-        myLocationStyle.interval(3000)
+        myLocationStyle.interval(10000)
         myLocationStyle.anchor(0.5f, 0.5f)
         myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)//
         myLocationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.mipmap.icon_coordinate))
@@ -419,6 +422,7 @@
             FBApplication.address = it.address
             FBApplication.cityCode = it.extras.getString("adcode") ?: ""
             if (locCount < 1) {
+                Log.e(Const.Tag, "首页:lat:" + mainActivity.lat + ",lon:" + mainActivity.lon)
                 if (mainActivity.lat != 0.0)
                     aMap.animateCamera(
                         CameraUpdateFactory.newLatLngZoom(

--
Gitblit v1.7.1