[6.2.0] fix binding car null problem
This commit is contained in:
@@ -1,23 +1,26 @@
|
||||
package com.zhjt.mogo_core_function_devatools.binding
|
||||
|
||||
import android.annotation.*
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.text.TextUtils
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.commons.constants.SharedPrefsConstants
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo.role
|
||||
import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.config.HmiBuildConfig
|
||||
import com.mogo.eagle.core.data.deva.bindingcar.ModifyBindingcarInfo
|
||||
import com.mogo.eagle.core.data.obu.MogoObuConst
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener
|
||||
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
|
||||
import com.mogo.eagle.core.function.call.obu.CallerObuApiManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isDriver
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isPassenger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
|
||||
import com.zhjt.mogo_core_function_devatools.trace.TraceManager
|
||||
import com.zhjt.mogo_core_function_devatools.upgrade.IPCUpgradeManager.Companion.ipcUpgradeManager
|
||||
import com.zhjt.mogo_core_function_devatools.upgrade.ObuUpgradeAppNetWorkManager
|
||||
import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeAppNetWorkManager
|
||||
@@ -27,7 +30,7 @@ import mogo.telematics.pad.MessagePad
|
||||
* 车辆绑定
|
||||
*/
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
object BindingCarManager : IMoGoAutopilotCarConfigListener, IMoGoCloudListener {
|
||||
|
||||
private const val TAG = "BindingCarManager"
|
||||
|
||||
@@ -43,11 +46,18 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
private var mWidevineIDWithMd5 //google 数字版权
|
||||
: String? = null
|
||||
|
||||
@Volatile
|
||||
private var bind = false
|
||||
|
||||
@Volatile
|
||||
private var carConfigResp: MessagePad.CarConfigResp? = null
|
||||
|
||||
fun init(context: Context) {
|
||||
mContext = context
|
||||
SharedPrefsMgr.getInstance(mContext!!).putLong("typeDriver", 0)
|
||||
SharedPrefsMgr.getInstance(mContext!!).putLong("typePassenger", 0)
|
||||
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
|
||||
CallerCloudListenerManager.addListener(TraceManager.TAG, this)
|
||||
ipcUpgradeManager.init(context)
|
||||
}
|
||||
|
||||
@@ -59,12 +69,28 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "onAutopilotCarConfig ----------> ")
|
||||
if (!TextUtils.isEmpty(carConfigResp.macAddress)) {
|
||||
CallerLogger.d("${M_DEVA}${TAG}",
|
||||
"onAutopilotCarConfig carConfigResp.macAddress = ${carConfigResp.macAddress} ")
|
||||
CallerLogger.d(
|
||||
"${M_DEVA}${TAG}",
|
||||
"onAutopilotCarConfig carConfigResp.macAddress = ${carConfigResp.macAddress} "
|
||||
)
|
||||
if (MoGoAiCloudClientConfig.getInstance().sn.isNullOrEmpty()) {
|
||||
return
|
||||
}
|
||||
this.carConfigResp = carConfigResp
|
||||
getBindingCarInfo(carConfigResp.macAddress, MoGoAiCloudClientConfig.getInstance().sn)
|
||||
}
|
||||
}
|
||||
|
||||
override fun tokenGot(token: String, sn: String) {
|
||||
super.tokenGot(token, sn)
|
||||
if (bind) {
|
||||
return
|
||||
}
|
||||
this.carConfigResp?.let {
|
||||
getBindingCarInfo(it.macAddress, sn)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取macaddress,每次连接请求一次
|
||||
*
|
||||
@@ -85,7 +111,8 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
queryObuUpgrade(obuVersion)
|
||||
}
|
||||
}
|
||||
CallerLogger.d("${M_DEVA}${TAG}",
|
||||
CallerLogger.d(
|
||||
"${M_DEVA}${TAG}",
|
||||
"getBindingcarInfo macAddress = $macAddress--widevineIDWithMd5 = $widevineIDWithMd5 ---screenType = $screenType"
|
||||
)
|
||||
SharedPrefsMgr.getInstance(mContext!!).putString(SharedPrefsConstants.APP_MAC, macAddress)
|
||||
@@ -95,6 +122,7 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
} else if (screenType == 2) { //乘客屏
|
||||
passengerScreen(macAddress, widevineIDWithMd5)
|
||||
}
|
||||
bind = true
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -119,7 +147,12 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
}
|
||||
|
||||
fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit) {
|
||||
BindingCarNetWorkManager.instance.modifyBindingCar(mAddress, mWidevineIDWithMd5, callBack, screenType)
|
||||
BindingCarNetWorkManager.instance.modifyBindingCar(
|
||||
mAddress,
|
||||
mWidevineIDWithMd5,
|
||||
callBack,
|
||||
screenType
|
||||
)
|
||||
}
|
||||
|
||||
private fun driverScreen(macAddress: String, widevineIDWithMd5: String) {
|
||||
@@ -175,10 +208,10 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
* 查询app是否需要升级
|
||||
*/
|
||||
fun queryAppUpgrade() {
|
||||
CallerLogger.d(M_DEVA+"UPGRADE", "---- 1 ----")
|
||||
CallerLogger.d(M_DEVA + "UPGRADE", "---- 1 ----")
|
||||
var macAddress = mAddress
|
||||
if (TextUtils.isEmpty(macAddress)) {
|
||||
CallerLogger.d(M_DEVA+"UPGRADE", "---- 2 ----")
|
||||
CallerLogger.d(M_DEVA + "UPGRADE", "---- 2 ----")
|
||||
macAddress = SharedPrefsMgr.getInstance(mContext!!)
|
||||
.getString(SharedPrefsConstants.APP_MAC)
|
||||
}
|
||||
@@ -186,7 +219,7 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
if (!TextUtils.equals(macAddress, mAddress)) {
|
||||
mAddress = macAddress
|
||||
}
|
||||
CallerLogger.d(M_DEVA+"UPGRADE", "---- 3 ----[mac: $macAddress]")
|
||||
CallerLogger.d(M_DEVA + "UPGRADE", "---- 3 ----[mac: $macAddress]")
|
||||
UpgradeAppNetWorkManager.instance
|
||||
?.getAppUpgradeInfo(mContext, macAddress, role.toString() + "")
|
||||
}
|
||||
@@ -198,10 +231,20 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener {
|
||||
*/
|
||||
fun queryObuUpgrade(obuVersionName: String) {
|
||||
mObuVersion = obuVersionName
|
||||
CallerLogger.d("${M_DEVA}${MogoObuConst.TAG_UPGRADE_OBU}", "screenType = $screenType ----role = $role")
|
||||
CallerLogger.d(
|
||||
"${M_DEVA}${MogoObuConst.TAG_UPGRADE_OBU}",
|
||||
"screenType = $screenType ----role = $role"
|
||||
)
|
||||
if (screenType == 1) {
|
||||
CallerLogger.d("${M_DEVA}${MogoObuConst.TAG_UPGRADE_OBU}","queryObuUpgrade isConnected = ${CallerObuApiManager.isConnected()} --- mAddress = $mAddress")
|
||||
ObuUpgradeAppNetWorkManager.instance?.getObuUpgradeInfo(if(!mAddress.isNullOrEmpty()) mAddress else SharedPrefsMgr.getInstance(mContext!!).getString(SharedPrefsConstants.APP_MAC), obuVersionName)
|
||||
CallerLogger.d(
|
||||
"${M_DEVA}${MogoObuConst.TAG_UPGRADE_OBU}",
|
||||
"queryObuUpgrade isConnected = ${CallerObuApiManager.isConnected()} --- mAddress = $mAddress"
|
||||
)
|
||||
ObuUpgradeAppNetWorkManager.instance?.getObuUpgradeInfo(
|
||||
if (!mAddress.isNullOrEmpty()) mAddress else SharedPrefsMgr.getInstance(
|
||||
mContext!!
|
||||
).getString(SharedPrefsConstants.APP_MAC), obuVersionName
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user