From 3ebe05b13f1a04048073ce9cf741bc6116fb6c90 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期四, 26 三月 2026 14:53:33 +0800
Subject: [PATCH] 更改隐私弹窗显示逻辑,处理应用市场问题 升级本版
---
app/src/main/java/com/igo/user/ui/SplashActivity.kt | 73 +++++++++++++++++++++++++++++-------
1 files changed, 58 insertions(+), 15 deletions(-)
diff --git a/app/src/main/java/com/igo/user/ui/SplashActivity.kt b/app/src/main/java/com/igo/user/ui/SplashActivity.kt
index 88ee490..27c5f77 100644
--- a/app/src/main/java/com/igo/user/ui/SplashActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/SplashActivity.kt
@@ -1,16 +1,18 @@
package com.igo.user.ui
import android.Manifest
+import android.content.pm.PackageManager
import android.os.Bundle
import android.os.CountDownTimer
import android.util.Log
import android.view.Window
import android.view.WindowManager
+import androidx.core.app.ActivityCompat
+import androidx.core.os.bundleOf
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optString
-import com.blankj.utilcode.util.ToastUtils
import com.google.android.gms.maps.model.LatLng
import com.google.gson.Gson
import com.igo.user.IGoApplication
@@ -18,20 +20,20 @@
import com.igo.user.IGoApplication.Companion.lat
import com.igo.user.IGoApplication.Companion.lon
import com.igo.user.R
+import com.igo.user.dialog.UserRuleDialog
import com.igo.user.network.HttpManager
import com.igo.user.network.entity.Function
import com.igo.user.network.request
import com.igo.user.ui.HomeActivity.Companion.latHome
import com.igo.user.ui.HomeActivity.Companion.lonHome
-import com.igo.user.ui.login.LoginActivity
import com.igo.user.utils.Const
import com.igo.user.utils.google.AMapKit
-import com.tbruyelle.rxpermissions2.RxPermissions
import com.twitter.sdk.android.core.DefaultLogger
import com.twitter.sdk.android.core.Twitter
import com.twitter.sdk.android.core.TwitterAuthConfig
import com.twitter.sdk.android.core.TwitterConfig
import org.jetbrains.anko.startActivity
+import java.util.concurrent.atomic.AtomicInteger
class SplashActivity : BaseActivity() {
@@ -39,6 +41,9 @@
private var timer: CountDownTimer? = null
private var startedMain = false //控制只进入一次首页
+
+ private var privacy: String? = null //隐私协议
+ private var user: String? = null //用户协议
override fun onCreate(savedInstanceState: Bundle?) {
window.requestFeature(Window.FEATURE_NO_TITLE)
@@ -58,20 +63,58 @@
)
.debug(true).build()
Twitter.initialize(build)
- requestLocation()
+ getAgreement()
+ }
+
+ private fun getAgreement() {
+ if (!SPUtils.instance().getBoolean(Const.User.IS_AGREE, false)) {
+ val count = AtomicInteger(0)
+ HttpManager.getH5(1).request(this) { _, data ->
+ privacy = data?.optString("content") ?: ""
+ if (count.addAndGet(1) == 2) {
+ showPrivacyAgreement()
+ }
+ }
+ HttpManager.getH5(2).request(this) { _, data ->
+ user = data?.optString("content") ?: ""
+ if (count.addAndGet(1) == 2) {
+ showPrivacyAgreement()
+ }
+ }
+ } else {
+ requestLocation()
+ }
+ }
+
+ private fun showPrivacyAgreement() {
+ if (privacy != null && user != null) {
+ val userRuleDialog = UserRuleDialog()
+ userRuleDialog.arguments = bundleOf("privacy" to privacy, "user" to user)
+ userRuleDialog.setDismissCallback(object : UserRuleDialog.OnDismiss {
+ override fun onDismiss() {
+ if (!SPUtils.instance().getBoolean(Const.User.IS_AGREE, false))
+ finish()
+ else {
+ requestLocation()
+ }
+ }
+ })
+ userRuleDialog.show(supportFragmentManager, "rule")
+ } else {
+ requestLocation()
+ }
}
private fun requestLocation() {
- val disposable =
- RxPermissions(this@SplashActivity).request(Manifest.permission.ACCESS_FINE_LOCATION)
- .subscribe {
- if (it) {
- initLocationOption()
- } else {
- startMain(false)
- }
- }
- onBindHelper(disposable)
+ if (ActivityCompat.checkSelfPermission(
+ this,
+ Manifest.permission.ACCESS_FINE_LOCATION
+ ) == PackageManager.PERMISSION_GRANTED
+ ) {
+ initLocationOption()
+ } else {
+ startMain(false)
+ }
}
/**
@@ -159,7 +202,7 @@
private fun startMain(isOpen: Boolean) {
if (!startedMain) {
startedMain = true
- startActivity<HomeActivity>("isOpen" to isOpen, "func" to func)
+ startActivity<HomeActivity>("isOpen" to isOpen, "func" to func)
}
finish()
}
--
Gitblit v1.7.1