优化obu升级逻辑

This commit is contained in:
lixiaopeng
2023-02-24 17:32:37 +08:00
parent 8275d7f192
commit d058bcace0
8 changed files with 34 additions and 30 deletions

View File

@@ -96,7 +96,7 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
* 上传obu文件的状态, 升级成功需要删除obu的文件和解压文件夹
*/
override fun onUpgradeStatus(status: ObuSoftwareUpgradeStatus?, t: Throwable?) {
Log.d("liyz", "onUpgradeStatus status = $status ")
CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", "onUpgradeStatus status = $status ")
//上传完成就相当于成功了,立即升级,比上电升级,只是多了一个重启
if (status == ObuSoftwareUpgradeStatus.UPLOAD_FINISH|| status == ObuSoftwareUpgradeStatus.EXEC_UPGRADE_PROGRAM_FINISH
|| status == ObuSoftwareUpgradeStatus.CONNECTION_FAILED|| status == ObuSoftwareUpgradeStatus.AUTHENTICATION_FAILED
@@ -107,8 +107,6 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
UiThreadHandler.post {
var isDeleteSuccess = FileUtils.delete(Config.downLoadObuPath)
var isDeleteUnzipSuccess = FileUtils.delete(Config.downLoadUnzipObuPath)
Log.d("liyz",
"onUpgradeStatus ---isDeleteSuccess = $isDeleteSuccess ---isDeleteUnzipSuccess = $isDeleteUnzipSuccess")
}
}
}
@@ -117,7 +115,7 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
* 当前的obu版本
*/
override fun onCurrentVersion(version: MogoObuSystemBConfigData) {
Log.e("liyz", "onCurrentVersion version = ${version.version}")
CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", "onCurrentVersion version = ${version.version}")
if (!version.version.isNullOrEmpty()) {
mVersionName = version.version
CallerDevaToolsManager.queryObuUpgrade(version.version)
@@ -141,8 +139,8 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
* @return 是否调用成功
*/
fun uploadObuPack(filePathArray: Array<String>) {
Log.d("liyz", " filePathArray = $filePathArray")
ObuManager.getInstance().uploadUpgradePackage(MogoObuConst.OBU_DEFAULT_IP, filePathArray,false,this)
CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", " uploadObuPack filePathArray = $filePathArray")
ObuManager.getInstance().uploadUpgradePackage(MogoObuConst.OBU_DEFAULT_IP, filePathArray,true,this)
}
/**

View File

@@ -9,12 +9,14 @@ import com.mogo.eagle.core.data.app.AppConfigInfo.role
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.obu.MogoObuConst
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager
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
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.upgrade.IPCUpgradeManager.Companion.ipcUpgradeManager
@@ -157,11 +159,11 @@ class BindingCarManager : IMoGoAutopilotCarConfigListener {
}
/**
* 查询app是否需要升级 TODO 打开升级 注释
* 查询app是否需要升级
*/
fun queryAppUpgrade() {
// UpgradeAppNetWorkManager.getInstance()
// .getAppUpgradeInfo(mContext, mAddress, role.toString() + "")
UpgradeAppNetWorkManager.getInstance()
.getAppUpgradeInfo(mContext, mAddress, role.toString() + "")
}
@@ -170,7 +172,7 @@ class BindingCarManager : IMoGoAutopilotCarConfigListener {
* obu的升级,只需要司机屏连接
*/
fun queryObuUpgrade(obuVersionName: String) {
Log.d("liyz", "isConnected = ${CallerObuApiManager.isConnected()} --- mAddress = $mAddress")
CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}","queryObuUpgrade isConnected = ${CallerObuApiManager.isConnected()} --- mAddress = $mAddress")
ObuUpgradeAppNetWorkManager.getInstance().getObuUpgradeInfo(mContext, mAddress, obuVersionName)
}

View File

@@ -50,16 +50,16 @@ public class ObuUpgradeAppNetWorkManager {
/**
* 获取obu升级信息obu升级服务端使用app升级接口根据screenType区分类型
* mac 工控机mac地址 TODO 立即升级,还是
* mac 工控机mac地址
* screenType 类型
*/
public void getObuUpgradeInfo(Context context, String mac, String versionName) {
// String sn = "X20202203105S688HZ";
String mac1 = "48:b0:2d:4d:33:40"; //liyz
// String mac1 = "48:b0:2d:4d:33:40";
String sn = MoGoAiCloudClientConfig.getInstance().getSn();
CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo mac = " + mac1 + " ---sn = " + sn + " ---versionName = " + versionName);
UpgradeAppRequest request = new UpgradeAppRequest(sn, mac1, "7");
CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo mac = " + mac + " ---sn = " + sn + " ---versionName = " + versionName);
UpgradeAppRequest request = new UpgradeAppRequest(sn, mac, "7");
RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request));
mUpgradeApiService.getUpgradeInfo(requestBody)
.subscribeOn(Schedulers.io())
@@ -73,9 +73,7 @@ public class ObuUpgradeAppNetWorkManager {
public void onNext(@NonNull UpgradeAppInfo info) {
if (info != null && info.result != null) {
CallerLogger.INSTANCE.d(M_BINDING + TAG, "getObuUpgradeInfo appFileName = " + info.result.getAppFileName() + " ----url = " + info.result.getAppUrl() + " ----name = " + info.result.getVersionName() + " --obuVersionName =" + versionName + " ---info.result = " + info.result);
Log.d("liyz", "getObuUpgradeInfo appFileName = " + info.result.getAppFileName() + " ----url = " + info.result.getAppUrl() + " ----name = " + info.result.getVersionName() + " --obuVersionName =" + versionName + " ---info.result = " + info.result);
if (!String.valueOf(info.result.getVersionName()).equals(versionName)) { //判断是否下载,当文件名称不一致的时候,就下载 TODO liyz
Log.d("liyz", "getObuUpgradeInfo ------2------ ");
if (!String.valueOf(info.result.getVersionName()).equals(versionName)) { //判断是否下载,当文件名称不一致的时候,就下载
CallerDevaToolsManager.INSTANCE.downLoadPackage(info.result.getAppFileName(), info.result.getAppUrl());
}
} else {
@@ -85,7 +83,7 @@ public class ObuUpgradeAppNetWorkManager {
@Override
public void onError(Throwable e) {
CallerLogger.INSTANCE.e(M_BINDING + TAG, "getObuUpgradeInfo e = " + e);
}
@Override

View File

@@ -15,8 +15,10 @@ import com.mogo.eagle.core.utilcode.breakpoint.bean.ThreadBean
import com.mogo.eagle.core.utilcode.breakpoint.callback.IDownload
import com.mogo.eagle.core.utilcode.breakpoint.utils.DownloadUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.FileUtils
import com.mogo.eagle.core.utilcode.util.ZipUtils
import java.io.IOException
@@ -35,7 +37,7 @@ class UpgradeManager : IDownload {
private var mDownloadFileName: String? = null
fun downLoadPackage(context: Context, downloadKey: String,downloadUrl: String) {
Log.d("liyz", "UpgradeManager downLoadPackage = " + downloadUrl?.contains(".zip") + "----downloadKey = $downloadKey ---downloadUrl = $downloadUrl")
CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "UpgradeManager downLoadPackage = " + downloadUrl?.contains(".zip") + "----downloadKey = $downloadKey ---downloadUrl = $downloadUrl")
if (downloadUrl?.contains(".zip")) {
mDownloadFileName = downloadKey
}
@@ -162,7 +164,7 @@ class UpgradeManager : IDownload {
}
/**
* obu升级包下载监听 liyz
* obu升级包下载监听
*/
fun updateObuUpgradeStatus(context: Context) {
CallerDevaToolsUpgradeListenerManager.addListener(
@@ -176,11 +178,9 @@ class UpgradeManager : IDownload {
override fun onFinished(url: String?) {
//下载完成,解压文件
try {
// storage/emulated/0/obu/MOGO_OBUAPPS_V503A_PACK.zip
val files = ZipUtils.unzipFile(Config.downLoadObuPath + mDownloadFileName, Config.downLoadUnzipObuPath)
Log.d("liyz", " onFinished file = ${Config.downLoadObuPath + mDownloadFileName} -----files = $files ")
CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", " onFinished file = ${Config.downLoadObuPath + mDownloadFileName} -----files = $files ")
//1传给obu升级,升级成功2需要删除相应文件夹
// onFinished files = [/storage/emulated/0/obuunzip/MOGO_OBUAPPS_V503A_PATCH.tar.gz, /storage/emulated/0/obuunzip/README.txt, /storage/emulated/0/obuunzip/version.json]
var md5Path = ""
var tarPath = ""
for (f in files) {
@@ -191,10 +191,14 @@ class UpgradeManager : IDownload {
tarPath = f.path
}
}
Log.d("liyz", "---md5Path = $md5Path -----tarPath = $tarPath ")
CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "updateObuUpgradeStatus ---md5Path = $md5Path -----tarPath = $tarPath ")
CallerObuApiManager.uploadObuPack(arrayOf(md5Path, tarPath))
} catch (e: IOException) {
//解压失败
com.mogo.eagle.core.utilcode.util.UiThreadHandler.post {
var isDeleteSuccess = FileUtils.delete(Config.downLoadObuPath)
var isDeleteUnzipSuccess = FileUtils.delete(Config.downLoadUnzipObuPath)
}
e.printStackTrace()
}
}

View File

@@ -54,7 +54,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
clearMessageBoxTable();
CallerMsgBoxManager.INSTANCE.queryAllMessages(this);
}
// CallerDevaToolsManager.INSTANCE.updateUpgradeProgress(); //liyz 记得打开
CallerDevaToolsManager.INSTANCE.updateUpgradeProgress();
CallerDevaToolsManager.INSTANCE.updateObuUpgradeStatus();
}