From 986709f6ba40e9f0a64a447105bcff4ca746c73c Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期四, 13 二月 2025 16:03:00 +0800
Subject: [PATCH] 修改反馈
---
app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt | 50 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 47 insertions(+), 3 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 ebf80a3..65a92b0 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/SplashActivity.kt
@@ -17,6 +17,7 @@
import com.sinata.xqmuse.MainActivity
import com.sinata.xqmuse.R
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
@@ -24,7 +25,9 @@
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
@@ -61,7 +64,7 @@
if (SPUtils.instance().getBoolean(Const.User.IS_AGREE)){
AMapLocationClient.updatePrivacyShow(this,true,true)
AMapLocationClient.updatePrivacyAgree(this,true)
- startNext()
+ checkNewVersion()
}else{
getAgreement()
}
@@ -93,7 +96,7 @@
AMapLocationClient.updatePrivacyShow(this@SplashActivity,true,true)
AMapLocationClient.updatePrivacyAgree(this@SplashActivity,true)
} else
- startNext()
+ checkNewVersion()
}
})
userRuleDialog.show(supportFragmentManager, "rule")
@@ -163,11 +166,52 @@
}
}
+ /**
+ * 检查更新
+ */
+ 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"
+ }
+ }
+
/***
* 跳转下一步
*/
private fun gotoMainOrLogin(){
- object : CountDownTimer(2000, 500) {
+ object : CountDownTimer(1500, 500) {
override fun onFinish() {
startActivity<MainActivity>("code" to code)
finish()
--
Gitblit v1.7.1