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/mine/RechargeActivity.kt |    4 +
 app/src/main/java/com/fuban/user/ui/SplashActivity.kt        |   54 ------------------
 app/src/main/java/com/fuban/user/ui/MainActivity.kt          |   41 ++++++++++---
 app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt  |   22 ++++---
 app/build.gradle                                             |    6 +-
 5 files changed, 48 insertions(+), 79 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 96817b5..b75f260 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -30,9 +30,9 @@
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
             signingConfig signingConfigs.release
-//            ndk {
-//                abiFilters "armeabi-v7a" // 保留这种架构的CPU
-//            }
+            ndk {
+                abiFilters "armeabi-v7a","arm64-v8a" // 保留这种架构的CPU
+            }
             applicationVariants.all { variant ->
                 // 更新至Android Studio 3.3 gradle 4.10.1
                 variant.outputs.all {
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()
+            }
         }
     }
 
diff --git a/app/src/main/java/com/fuban/user/ui/SplashActivity.kt b/app/src/main/java/com/fuban/user/ui/SplashActivity.kt
index 11b2945..9dc2e24 100644
--- a/app/src/main/java/com/fuban/user/ui/SplashActivity.kt
+++ b/app/src/main/java/com/fuban/user/ui/SplashActivity.kt
@@ -85,18 +85,6 @@
 
     private fun requestLocation() {
         initLocationOption()
-//        val disposable =
-//            RxPermissions(this@SplashActivity).request(Manifest.permission.ACCESS_FINE_LOCATION)
-//                .subscribe {
-//                    if (it) {
-//                        initLocationOption()
-//                        aMapLocationClient.startLocation()
-//                    } else {
-//                        myToast("没有定位权限")
-//                        startMain(false)
-//                    }
-//                }
-//        onBindHelper(disposable)
     }
 
     /**
@@ -130,48 +118,6 @@
         }, error = { _, _ ->
             startMain(false)
         })
-
-
-//        val option = AMapLocationClientOption()
-//        option.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
-//        option.isMockEnable = false
-//        option.isOnceLocation = true
-//        aMapLocationClient.setLocationOption(option)
-//        aMapLocationClient.setLocationListener {
-//            if (it.errorCode == 0) {
-//                OkApplication.cityCode = it.adCode
-//                OkApplication.cityName = it.city
-//                OkApplication.lat = it.latitude
-//                OkApplication.lon = it.longitude
-//                HttpManager.isOpenCity(it.adCode).request(this, success = { _, data ->
-//                    data?.run {
-//                        if (optInt("open") == 1) {//当前城市开通
-//                            OkApplication.chooseCityName = it.city
-//                            OkApplication.chooseCityCode = it.adCode
-//                            HttpManager.queryBusiness(it.city, it.province, it.district)
-//                                .request(this@SplashActivity, success = { _, data ->
-//                                    Log.e(
-//                                        Const.Tag,
-//                                        "当前城市业务模块" + data?.joinToString(",") { it.name })
-//                                    func.addAll(data ?: arrayListOf())
-//                                    startMain(true)
-//                                }, error = { _, _ ->
-//                                    startMain(false)
-//                                })
-//                        } else {//未开通
-//                            myToast("当前城市未开通")
-//                            startMain(false)
-//                        }
-//                    }
-//                }, error = { _, _ ->
-//                    startMain(false)
-//                })
-//                Log.e("mmp", it.city)
-//            } else {//定位失败
-//                myToast("定位失败")
-//                startMain(false)
-//            }
-//        }
     }
 
 
diff --git a/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt b/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt
index 5deecbd..f87c90a 100644
--- a/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt
+++ b/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt
@@ -39,7 +39,9 @@
                 myToast("请选择充值金额")
             else{
                 val singleWheelDialog = SingleWheelDialog()
-                singleWheelDialog.arguments = bundleOf("data" to arrayListOf("支付宝支付","微信支付"))
+                singleWheelDialog.arguments = bundleOf("data" to arrayListOf(
+//                    "支付宝支付",
+                    "微信支付"))
                 singleWheelDialog.setCallback(object :StringCallback{
                     override fun onRlt(rlt: String) {
                         if (rlt == "微信支付")
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 f3813ce..0754904 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
@@ -474,18 +474,20 @@
     }
 
     private fun showChangeCity() {
-        val tipDialog = TipDialog()
-        tipDialog.arguments = bundleOf("msg" to "当前城市与定位城市不符,是否切换?")
-        tipDialog.setCallback(object : TipDialog.OnClickCallback {
-            override fun onOk() {
-                activity!!.startActivityForResult<ChooseCityActivity>(501)
-            }
+        if ((requireActivity() as MainActivity).isOpen){
+            val tipDialog = TipDialog()
+            tipDialog.arguments = bundleOf("msg" to "当前城市与定位城市不符,是否切换?")
+            tipDialog.setCallback(object : TipDialog.OnClickCallback {
+                override fun onOk() {
+                    activity!!.startActivityForResult<ChooseCityActivity>(501)
+                }
 
-            override fun onCancel() {
+                override fun onCancel() {
 
-            }
-        })
-        tipDialog.show(childFragmentManager, "clear")
+                }
+            })
+            tipDialog.show(childFragmentManager, "clear")
+        }
     }
 
     private fun initTab() {

--
Gitblit v1.7.1