| | |
| | | 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 |
| | |
| | | ) |
| | | 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() |
| | | } |
| | |
| | | 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") |
| | |
| | | |
| | | private fun getImg() { |
| | | val map = hashMapOf<String, Any>() |
| | | map["type"] = 1 |
| | | HttpManager.queryString(Apis.querySystemImg,map).request(this){ _, data-> |
| | | iv_img.setImageURI(data?:"") |
| | | } |
| | |
| | | return mm.replaceAll("") |
| | | } |
| | | |
| | | |
| | | /*** |
| | | * 判断是否第一次启动 |
| | | */ |
| | | private fun startNext(){ |
| | | (application as JkApplication).initSdk() |
| | | UMConfigure.preInit(this, Const.UMENG_KEY, "") |
| | | (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" |
| | | } |
| | | } |
| | | |
| | |
| | | * 跳转下一步 |
| | | */ |
| | | private fun gotoMainOrLogin(){ |
| | | object : CountDownTimer(2000, 500) { |
| | | object : CountDownTimer(1500, 500) { |
| | | override fun onFinish() { |
| | | startActivity<MainActivity>("code" to code) |
| | | finish() |