From f67802a41f9e01444d1115f34ecc6e1beb05fc3b Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期五, 12 五月 2023 11:24:29 +0800
Subject: [PATCH] 定位权限说明弹窗

---
 app/src/main/java/com/fuban/user/ui/MainActivity.kt |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/app/src/main/java/com/fuban/user/ui/MainActivity.kt b/app/src/main/java/com/fuban/user/ui/MainActivity.kt
index 81ad559..866cc41 100644
--- a/app/src/main/java/com/fuban/user/ui/MainActivity.kt
+++ b/app/src/main/java/com/fuban/user/ui/MainActivity.kt
@@ -30,6 +30,7 @@
 import com.fuban.user.ui.crosscity.*
 import com.fuban.user.dialog.BannerDialog
 import com.fuban.user.dialog.AlertDialog
+import com.fuban.user.dialog.TipDialog
 import com.fuban.user.dialog.UserRuleDialog
 import com.fuban.user.ui.login.LoginActivity
 import com.fuban.user.ui.logistics.LogisticsFragment
@@ -255,18 +256,36 @@
         ) {
             initTwoView(false, arrayListOf(), 0.0, 0.0)
         } else {
-            val disposable =
-                RxPermissions(this@MainActivity).request(Manifest.permission.ACCESS_FINE_LOCATION)
-                    .subscribe {
-                        if (it) {
-                            function()
-                        } else {
-                            SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION, true)
-                                .apply()
-                            initTwoView(false, arrayListOf(), 0.0, 0.0)
-                        }
+            if (!RxPermissions(this).isGranted(Manifest.permission.ACCESS_FINE_LOCATION)){
+                val tipDialog = TipDialog()
+                tipDialog.arguments = bundleOf("ok" to "去授权",
+                    "msg" to "《福伴出行》需要获取您的当前位置信息,用于查询当前城市是否开通服务、附近是否有可用司机,并且将当前位置作为上车点以便您快速叫车。如果拒绝定位权限,您需要手动选择服务城市和上车点。")
+                tipDialog.show(supportFragmentManager,"ask")
+                tipDialog.setCallback(object :TipDialog.OnClickCallback{
+                    override fun onOk() {
+                        val disposable =
+                            RxPermissions(this@MainActivity).request(Manifest.permission.ACCESS_FINE_LOCATION)
+                                .subscribe {
+                                    if (it) {
+                                        function()
+                                    } else {
+                                        SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION, true)
+                                            .apply()
+                                        initTwoView(false, arrayListOf(), 0.0, 0.0)
+                                    }
+                                }
+                        onBindHelper(disposable)
                     }
-            onBindHelper(disposable)
+
+                    override fun onCancel() {
+                        SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION, true)
+                            .apply()
+                        initTwoView(false, arrayListOf(), 0.0, 0.0)
+                    }
+                })
+            }else{
+                function()
+            }
         }
     }
 

--
Gitblit v1.7.1