lmw
2025-02-08 bee2d6cacc7ff3af682897eee1eac4720f5e1b8d
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()