From da7c9ca2d24cd3901317be309f4f54362603eee6 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 20 Apr 2023 15:06:01 +0800 Subject: [PATCH] =?UTF-8?q?[2.15.0]=20=E4=BC=98=E5=8C=96obu=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../obu/MogoPrivateObuNewManager.kt | 5 +- .../DevaToolsProvider.kt | 1 - .../binding/BindingCarManager.kt | 1 + .../upgrade/ObuUpgradeAppNetWorkManager.kt | 11 +- .../upgrade/UpgradeManager.kt | 103 +++++++++++------- .../eagle/core/data/obu/MogoObuConst.java | 2 +- .../breakpoint/services/DownloadService.java | 1 + 7 files changed, 75 insertions(+), 49 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt index 6aea38c8f8..f5f63dc314 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt @@ -1,6 +1,7 @@ package com.mogo.eagle.core.function.datacenter.obu import android.content.Context +import android.util.Log import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig @@ -100,7 +101,9 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener { * 上传obu文件的状态, 升级成功,需要删除obu的文件和解压文件夹 */ override fun onUpgradeStatus(status: ObuSoftwareUpgradeStatus?, t: Throwable?) { - CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", "onUpgradeStatus status = $status ") + if (t != null) { + CallerLogger.d("$M_OBU${MogoObuConst.TAG_UPGRADE_OBU}", "onUpgradeStatus status = $status --- t = ${t.cause.toString()}") + } //上传完成就相当于成功了,立即升级,比上电升级,只是多了一个重启 if (status == ObuSoftwareUpgradeStatus.UPLOAD_FINISH || status == ObuSoftwareUpgradeStatus.EXEC_UPGRADE_PROGRAM_FINISH || status == ObuSoftwareUpgradeStatus.CONNECTION_FAILED || status == ObuSoftwareUpgradeStatus.AUTHENTICATION_FAILED diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 00f4c6cd38..7b0a7b5cde 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -185,7 +185,6 @@ class DevaToolsProvider : IDevaToolsProvider { override fun updateUpgradeProgress() { upgradeManager.updateUpgradeProgress(mContext!!) - upgradeManager.updateObuUpgradeStatus(mContext!!) } override fun showStatusBar(ctx: Context, container: ViewGroup) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt index 2a003740ae..3266224a1a 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt @@ -185,6 +185,7 @@ class BindingCarManager : IMoGoAutopilotCarConfigListener { * obu的升级,只需要司机屏连接 */ fun queryObuUpgrade(obuVersionName: String) { + CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "screenType = $screenType ----role = $role") if (screenType == 1) { CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}","queryObuUpgrade isConnected = ${CallerObuApiManager.isConnected()} --- mAddress = $mAddress") ObuUpgradeAppNetWorkManager.instance?.getObuUpgradeInfo(mContext, if(!mAddress.isNullOrEmpty()) mAddress else SharedPrefsMgr.getInstance(mContext!!).getString(SharedPrefsConstants.APP_MAC), obuVersionName) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.kt index 55edf11c29..2a7a5c249b 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/ObuUpgradeAppNetWorkManager.kt @@ -1,9 +1,11 @@ package com.zhjt.mogo_core_function_devatools.upgrade import android.content.* +import android.util.Log import com.mogo.cloud.passport.* import com.mogo.commons.constants.* import com.mogo.eagle.core.data.deva.bindingcar.* +import com.mogo.eagle.core.data.obu.MogoObuConst.TAG_UPGRADE_OBU import com.mogo.eagle.core.function.api.devatools.download.DownloadType.OBU import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager.downLoadPackage import com.mogo.eagle.core.function.call.obu.CallerObuApiManager.deleteObuFile @@ -43,22 +45,22 @@ class ObuUpgradeAppNetWorkManager private constructor() { scope.launch { try { val sn = MoGoAiCloudClientConfig.getInstance().sn - d(SceneConstant.M_BINDING + TAG, "getObuUpgradeInfo mac = $mac ---sn = $sn ---versionName = $versionName") + d(SceneConstant.M_BINDING + TAG_UPGRADE_OBU, "getObuUpgradeInfo mac = $mac ---sn = $sn ---versionName = $versionName --host = ${HostConst.getHost()}") val request = UpgradeAppRequest(sn, mac, "7", null, "0") val requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request)) val info = mUpgradeApiService.getUpgradeInfo(requestBody) if (info.result == null) { - d(SceneConstant.M_BINDING + TAG, "getObuUpgradeInfo onNext info == null") + d(SceneConstant.M_BINDING + TAG_UPGRADE_OBU, "getObuUpgradeInfo onNext info == null") deleteObuFile() } else { - d(SceneConstant.M_BINDING + TAG, "getObuUpgradeInfo appFileName = " + info.result.appFileName + " ----url = " + info.result.appUrl + " ----name = " + info.result.versionName + " --obuVersionName =" + versionName + " ---info.result = " + info.result) + d(SceneConstant.M_BINDING + TAG_UPGRADE_OBU, "getObuUpgradeInfo appFileName = " + info.result.appFileName + " ----url = " + info.result.appUrl + " ----name = " + info.result.versionName + " --obuVersionName =" + versionName + " ---info.result = " + info.result) if (info.result.versionName.toString() != versionName) { //判断是否下载,当文件名称不一致的时候,就下载 downLoadPackage(OBU, info.result.appFileName, info.result.appUrl) } } } catch (t: Throwable) { t.printStackTrace() - e(SceneConstant.M_BINDING + TAG, "getObuUpgradeInfo e = $t") //请求出错,需要删除相关文件 + e(SceneConstant.M_BINDING + TAG_UPGRADE_OBU, "getObuUpgradeInfo e = $t") //请求出错,需要删除相关文件 deleteObuFile() } } @@ -66,7 +68,6 @@ class ObuUpgradeAppNetWorkManager private constructor() { companion object { @Volatile private var requestNoticeManager: ObuUpgradeAppNetWorkManager? = null - private const val TAG = "ObuUpgrade" val instance: ObuUpgradeAppNetWorkManager? get() { if (requestNoticeManager == null) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt index 1f7ab7769b..23ef4152b3 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kt @@ -207,6 +207,8 @@ class UpgradeManager : IDownload { } } } + } else if (type == OBU) { + handleObuUpgrade(localPath) } CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(downloadUrl, localPath) } @@ -219,6 +221,10 @@ class UpgradeManager : IDownload { val type = types[downloadUrl] if (type == APK || type == PATCH) { scope.launch { upgradeProvider?.recordDownloadFailed(downloadUrl,errorMsg ?: "下载失败") } + } else if (type == OBU) { + CallerLogger.e("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus errorMsg = $errorMsg ") + //下载失败,删除文件夹 + CallerObuApiManager.deleteObuFile() } } } @@ -258,48 +264,63 @@ class UpgradeManager : IDownload { }) } + /** + * 对下载的obu文件进行处理 + */ + private fun handleObuUpgrade(localPath: String) { + //下载完成,解压文件 + try { + CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", " onFinished localPath = $localPath") + Log.d("liyz", " onFinished localPath = $localPath") + val dest = File(localPath) + val files = ZipUtils.unzipFile(localPath, Config.downLoadUnzipObuPath) + CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", " onFinished file = ${Config.downLoadObuPath + dest.name} -----files = $files ") + //1传给obu升级,升级成功,2需要删除相应文件夹 + var md5Path = "" + var tarPath = "" + for (f in files) { + if (f.path.contains(".md5")) { + md5Path = f.path + } + if (f.path.contains(".gz")) { + tarPath = f.path + } + } + CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "updateObuUpgradeStatus ---md5Path = $md5Path -----tarPath = $tarPath ") + CallerObuApiManager.uploadObuPack(arrayOf(md5Path, tarPath)) + } catch (e: IOException) { + CallerLogger.e("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus e = $e ") + //解压失败,删除文件夹 + CallerObuApiManager.deleteObuFile() + e.printStackTrace() + } + } + /** * obu升级包下载监听 */ - fun updateObuUpgradeStatus(context: Context) { - CallerDevaToolsUpgradeListenerManager.addListener( - TAG, - object : IMogoDevaToolsUpgradeListener { - override fun onStart(url: String?) {} - override fun onPause(url: String?) {} - override fun onProgress(url: String?, length: Int) { - } - - override fun onFinished(url: String?, localPath: String) { - //下载完成,解压文件 - try { - val dest = File(localPath) - val files = ZipUtils.unzipFile(localPath, Config.downLoadUnzipObuPath) - CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", " onFinished file = ${Config.downLoadObuPath + dest.name} -----files = $files ") - //1传给obu升级,升级成功,2需要删除相应文件夹 - var md5Path = "" - var tarPath = "" - for (f in files) { - if (f.path.contains(".md5")) { - md5Path = f.path - } - if (f.path.contains(".gz")) { - tarPath = f.path - } - } - CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "updateObuUpgradeStatus ---md5Path = $md5Path -----tarPath = $tarPath ") - CallerObuApiManager.uploadObuPack(arrayOf(md5Path, tarPath)) - } catch (e: IOException) { - //解压失败,删除文件夹 - CallerObuApiManager.deleteObuFile() - e.printStackTrace() - } - } - - override fun onError(url: String?, errorMsg: String?) { - //下载失败,删除文件夹 - CallerObuApiManager.deleteObuFile() - } - }) - } +// fun updateObuUpgradeStatus(context: Context) { +// CallerDevaToolsUpgradeListenerManager.addListener( +// TAG, +// object : IMogoDevaToolsUpgradeListener { +// override fun onStart(url: String?) { +// CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus onStart ") +// } +// override fun onPause(url: String?) { +// CallerLogger.d("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus onPause ") +// } +// override fun onProgress(url: String?, length: Int) { +// } +// +// override fun onFinished(url: String?, localPath: String) { +// +// } +// +// override fun onError(url: String?, errorMsg: String?) { +// CallerLogger.e("${SceneConstant.M_OBU}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus errorMsg = $errorMsg ") +// //下载失败,删除文件夹 +// CallerObuApiManager.deleteObuFile() +// } +// }) +// } } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/obu/MogoObuConst.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/obu/MogoObuConst.java index a80d836f78..742e755175 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/obu/MogoObuConst.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/obu/MogoObuConst.java @@ -16,7 +16,7 @@ public class MogoObuConst { * 自研obu 默认ip obu的taxi和bus的ip已经全部统一成1网段ip */ public static String OBU_DEFAULT_IP = "192.168.1.199"; -// public static String OBU_DEFAULT_IP = "192.168.0.53"; //obu室内环境 +// public static String OBU_DEFAULT_IP = "192.168.0.242"; //obu室内环境 /** * obu 升级tag diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/services/DownloadService.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/services/DownloadService.java index 1f5832abe5..3b052c6ed1 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/services/DownloadService.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/breakpoint/services/DownloadService.java @@ -156,6 +156,7 @@ public class DownloadService implements InitThread.InitCallBack, DownloadCallBac @Override public void threadDownLoadFinished(String url, ThreadBean threadBean, String localPath) { IDownload iDownload = callBacks.get(url); + Log.d(DOWN_LOAD_TAG, "下载完成 -----> iDownload = " + iDownload); if (iDownload != null) { iDownload.onFinished(url, threadBean, localPath); }