From 8d72ec1b07a4fe0863b41b1140a8c0e679867b93 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期四, 03 四月 2025 17:44:29 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt |   82 +++++++++++++++++++++++++++++++++--------
 1 files changed, 66 insertions(+), 16 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt
index 2315c36..e765042 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt
@@ -12,17 +12,22 @@
 import androidx.core.os.bundleOf
 import cn.sinata.xldutils.activity.BaseActivity
 import cn.sinata.xldutils.utils.SPUtils
+import com.amap.api.location.AMapLocationClient
+import com.amap.apis.utils.core.api.AMapUtilCoreApi
 import com.sinata.xqmuse.MainActivity
 import com.sinata.xqmuse.R
-import com.sinata.xqmuse.JkApplication
+import com.sinata.xqmuse.XQApplication
+import com.sinata.xqmuse.dialog.TipDialog
 import com.sinata.xqmuse.dialog.UserRuleDialog
 import com.sinata.xqmuse.network.Apis
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.request
-import com.sinata.xqmuse.ui.guide.GuideActivity
 import com.sinata.xqmuse.utils.Const
+import com.umeng.commonsdk.UMConfigure
 import kotlinx.android.synthetic.main.activity_splash.*
+import org.jetbrains.anko.browse
 import org.jetbrains.anko.startActivity
+import org.jetbrains.anko.toast
 import java.io.ByteArrayInputStream
 import java.security.cert.CertificateException
 import java.security.cert.CertificateFactory
@@ -45,18 +50,21 @@
         )
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_splash)
-//        getImg()
+        getImg()
         val data = intent.data
         if (data!=null){
             val url = data.toString()
             Log.e("mmp","路径:${url}")
-            if (url.startsWith("jkfitness://jkcyl.cn?code=")){
-                code = url.substring(url.indexOf("=")+1)
-                Log.e("mmp","解析参数:code=${code}")
-            }
+//            if (url.startsWith("xqmuse://xqmuse.cn?mid=")){ //何健豪:不做跳转详情
+//                code = url.substring(url.indexOf("=")+1)
+//                Log.e("mmp","解析参数:音频id=${code}")
+//            }
         }
+        AMapUtilCoreApi.setCollectInfoEnable(false)
         if (SPUtils.instance().getBoolean(Const.User.IS_AGREE)){
-            startNext()
+            AMapLocationClient.updatePrivacyShow(this,true,true)
+            AMapLocationClient.updatePrivacyAgree(this,true)
+            checkNewVersion()
         }else{
             getAgreement()
         }
@@ -83,10 +91,12 @@
             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))
+                    if (!SPUtils.instance().getBoolean(Const.User.IS_AGREE, false)){
                         finish()
-                    else
-                        startNext()
+                        AMapLocationClient.updatePrivacyShow(this@SplashActivity,true,true)
+                        AMapLocationClient.updatePrivacyAgree(this@SplashActivity,true)
+                    } else
+                        checkNewVersion()
                 }
             })
             userRuleDialog.show(supportFragmentManager, "rule")
@@ -95,7 +105,6 @@
 
     private fun getImg() {
         val map = hashMapOf<String, Any>()
-        map["type"] = 1
         HttpManager.queryString(Apis.querySystemImg,map).request(this){ _, data->
             iv_img.setImageURI(data?:"")
         }
@@ -142,17 +151,58 @@
         return mm.replaceAll("")
     }
 
-
     /***
      * 判断是否第一次启动
      */
     private fun startNext(){
-        (application as JkApplication).initSdk()
+        (application as XQApplication).initSdk()
         if (SPUtils.instance().getBoolean(Const.FIRST_LAUNCH,true)){ //第一次启动显示引导页
             SPUtils.instance().put(Const.FIRST_LAUNCH,false).apply()
-            startActivity<GuideActivity>()
+            startActivity<MainActivity>("code" to code,"isFirst" to true)
+            finish()
         }else{
             gotoMainOrLogin()
+        }
+    }
+
+    /**
+     * 检查更新
+     */
+    private fun checkNewVersion() {
+        HttpManager.detailVersion().request(this,success = {_,data->
+            if (data?.versionNo.isNullOrEmpty()||data!!.versionNo <= getAppVersion(this)?:"") //已经是新版本
+                startNext()
+            else if (data.versionNo == SPUtils.instance().getString(Const.IGNORE_VERSION)){ //已手动跳过当前版本
+                startNext()
+            }else
+                TipDialog.show(supportFragmentManager,data.remark,object : TipDialog.OnClickCallback{
+                    override fun onOk() {
+                        browse(data.androidFile)
+                        finish()
+                    }
+
+                    override fun onCancel() {
+                        SPUtils.instance().put(Const.IGNORE_VERSION,data?.versionNo).apply()
+                        startNext()
+                    }
+                },"立即更新","下次再说",false,"有新版本啦!")
+        }){_,_->
+            startNext()
+        }
+    }
+
+    /**
+     * 获取版本号
+     * @return 当前应用的版本号
+     */
+    private fun getAppVersion(context: Context): String? {
+        return try {
+            val manager = context.packageManager
+            val info = manager.getPackageInfo(context.packageName, 0)
+            info.versionName
+        } catch (e: Exception) {
+            e.printStackTrace()
+            "null"
         }
     }
 
@@ -160,7 +210,7 @@
      * 跳转下一步
      */
     private fun gotoMainOrLogin(){
-        object : CountDownTimer(2000, 500) {
+        object : CountDownTimer(1500, 500) {
             override fun onFinish() {
                 startActivity<MainActivity>("code" to code)
                 finish()

--
Gitblit v1.7.1