package com.dahe.gldriver.ui import android.app.ActivityManager import android.content.Context import android.os.Bundle import android.os.Process import cn.jiguang.api.utils.JCollectionAuth import cn.jpush.android.api.JPushInterface import com.alct.mdp.MDPLocationCollectionManager import com.amap.api.location.AMapLocationClient import com.amap.api.maps.MapsInitializer import com.dahe.gldriver.BuildConfig import com.dahe.gldriver.databinding.ActivityLauncherBinding import com.dahe.gldriver.third.JTTProcess import com.dahe.gldriver.third.SPUtil import com.dahe.gldriver.ui.account.LoginActivity import com.dahe.gldriver.ui.account.SelectRoleActivity import com.dahe.gldriver.utils.CommonPopUtils import com.dahe.gldriver.utils.SPUtils import com.dahe.mylibrary.base.BaseActivity import com.dahe.mylibrary.utils.ActivityUtils import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.disposables.Disposable import io.reactivex.rxjava3.schedulers.Schedulers import java.util.concurrent.TimeUnit class LauncherActivity : BaseActivity() { override fun initView(savedInstanceState: Bundle?) { // setStatusBarColorToLight2() val extras = intent.extras binding.llCount.setOnClickListener { mDisposable?.dispose() //已登录,直接跳转首页 // if (!SPUtils.instance.getUserToken(mContext).isNullOrEmpty()) { // val userInfo = SPUtils.instance.getUserInfo(mContext) // if (userInfo?.isCarCaptain == "9") {//是否是车队长(0=否,1=是,9=未选择) // ActivityUtils.startActivity( // mContext, // SelectRoleActivity::class.java // ) // } else { // ActivityUtils.startActivity(mContext, HomeActivity::class.java, intent.extras) // } ActivityUtils.startActivity(mContext, HomeActivity::class.java, intent.extras) } else { ActivityUtils.startActivity(this@LauncherActivity, LoginActivity::class.java) } // ActivityUtils.startActivity(this@LauncherActivity, LoginActivity::class.java) finish() } } private var mDisposable: Disposable? = null override fun initDate() { val isFirstOpenApp = SPUtils.instance.getIsFirstOpenApp(mContext) if (isFirstOpenApp) { MapsInitializer.updatePrivacyShow(this, true, true) CommonPopUtils.getInstance().showCenterAgreement(mContext) { SPUtils.instance.setIsFirstOpenApp(mContext, false) AMapLocationClient.updatePrivacyShow(mContext, true, true) AMapLocationClient.updatePrivacyAgree(mContext, true) MapsInitializer.updatePrivacyAgree(this, true) initThird() initPush() goNext() } } else { goNext() } } private fun initThird() { val state: String = SPUtil.getSP(mContext, "state_data", "authorization_state") if ("1" != state) { try { //安联初始化 if (packageName == getCurrentProcessName(this)) { //Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL); MDPLocationCollectionManager.initialize( applicationContext, BuildConfig.OPEN_AL_URL ) } //初始化交通厅 JTTProcess.init(application) SPUtil.insSP(mContext, "state_data", "authorization_state", "1") } catch (e: Exception) { SPUtil.insSP(mContext, "state_data", "authorization_state", "0") } } } private fun initPush() { // if (SPUtils.instance.isShowPrivacy(mContext)) { JCollectionAuth.setAuth(mContext, true) // 初始化SDK JPushInterface.setDebugMode(true) JPushInterface.init(this) // } } override fun onDestroy() { super.onDestroy() mDisposable?.dispose() } private fun goNext() { val count = 3 mDisposable = Observable.interval(0, 1, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { aLong: Long -> binding.tvCount.text = (count - aLong).toString() if (count - aLong == 0L) { mDisposable?.dispose() //已登录,直接跳转首页 //已登录,直接跳转首页 if (!SPUtils.instance.getUserToken(mContext).isNullOrEmpty()) { // val userInfo = SPUtils.instance.getUserInfo(mContext) // if (userInfo?.isCarCaptain == "9") {//是否是车队长(0=否,1=是,9=未选择) // ActivityUtils.startActivity( // mContext, // SelectRoleActivity::class.java // ) // } else { // ActivityUtils.startActivity(mContext, HomeActivity::class.java, intent.extras) // } ActivityUtils.startActivity(mContext, HomeActivity::class.java, intent.extras) } else { ActivityUtils.startActivity( this@LauncherActivity, LoginActivity::class.java ) finish() } } } } private fun getCurrentProcessName(context: Context): String? { var currentProcessName = "" val pid = Process.myPid() val mActivityManager = context.getSystemService(ACTIVITY_SERVICE) as ActivityManager if (mActivityManager.runningAppProcesses != null && mActivityManager.runningAppProcesses.size > 0) { for (appProcess in mActivityManager.runningAppProcesses) { if (appProcess.pid == pid) { currentProcessName = appProcess.processName } } } return currentProcessName } }