GLDriver/app/src/main/java/com/dahe/gldriver/ui/LauncherActivity.kt
2024-04-23 15:13:41 +08:00

161 lines
6.3 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<ActivityLauncherBinding>() {
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
}
}