2.12.0 优化了下载进度,添加通知栏的下载进度条

This commit is contained in:
lixiaopeng
2022-11-10 16:15:21 +08:00
parent 8adfa6a16c
commit cb763366fc
5 changed files with 106 additions and 16 deletions

View File

@@ -5,6 +5,7 @@ import android.util.Log
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsUpgradeListenerManager
import com.mogo.eagle.core.utilcode.breakpoint.Config
import com.mogo.eagle.core.utilcode.breakpoint.Config.DOWN_LOAD_TAG
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
@@ -54,22 +55,40 @@ class UpgradeManager : IDownload {
override fun onStart(downloadUrl: String?) {
CallerLogger.d("$M_DEVA$TAG","onStart downloadUrl : $downloadUrl")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeStart(it)
if (downloadUrl != null) {
if (map.isNullOrEmpty()) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeStart(downloadUrl)
} else {
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeStart(it)
}
}
}
}
override fun onPause(downloadUrl: String?, threadBean: ThreadBean?) {
CallerLogger.d("$M_DEVA$TAG","onPause downloadUrl : $downloadUrl , threadBean : $threadBean")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradePause(it)
if (downloadUrl != null) {
if (map.isNullOrEmpty()) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradePause(downloadUrl)
} else {
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradePause(it)
}
}
}
}
override fun onProgress(downloadUrl: String?, length: Int) {
CallerLogger.d("$M_DEVA$TAG","onProgress downloadUrl : $downloadUrl , length : $length")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeProgress(it, length)
CallerLogger.d("$M_DEVA$TAG"," onProgress downloadUrl : $downloadUrl , length : $length")
if (downloadUrl != null) {
if (map.isNullOrEmpty()) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeProgress(downloadUrl, length)
} else {
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeProgress(downloadUrl, length)
}
}
}
}
@@ -77,15 +96,27 @@ class UpgradeManager : IDownload {
if (downloadUrl != null) {
AppUtils.installApp(Config.downLoadPath + downloadUrl.substring(downloadUrl.lastIndexOf("/") + 1))
}
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(it)
if (downloadUrl != null) {
if (map.isNullOrEmpty()) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(downloadUrl)
} else {
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeFinish(it)
}
}
}
}
override fun onError(downloadUrl: String?, errorMsg: String?) {
CallerLogger.d("$M_DEVA$TAG","onError downloadUrl : $downloadUrl , errorMsg : $errorMsg")
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(it, errorMsg ?: "未知错误")
if (downloadUrl != null) {
if (map.isNullOrEmpty()) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(downloadUrl, errorMsg ?: "未知错误")
} else {
findKey(downloadUrl) {
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(it, errorMsg ?: "未知错误")
}
}
}
}

View File

@@ -59,7 +59,7 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb
* 去下载
*/
fun downloadApp() {
ToastUtils.showLong("开始下载APK,稍后可前往downloads文件夹查看")
ToastUtils.showLong("开始下载APK,稍后可前往downloads文件夹查看,通知栏查看下载进度")
tag?.let { downloarUrl?.let { it1 -> CallerDevaToolsManager.downLoadPackage(it, it1) } }
dismiss()

View File

@@ -1,19 +1,24 @@
package com.mogo.eagle.core.function.hmi.ui.widget
import android.app.NotificationManager
import android.content.Context
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import androidx.core.app.NotificationCompat
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.bindingcar.AdUpgradeStateHelper
import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.bindingcar.IMoGoBindingCarListener
import com.mogo.eagle.core.function.api.devatools.IMogoDevaToolsUpgradeListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.bindingcar.CallerBindingCarListenerManager
import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsUpgradeListenerManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showUpgradeDialog
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
@@ -23,6 +28,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import kotlinx.android.synthetic.main.view_system_version.view.*
/**
* @author XuXinChao
* @description 工具箱-系统版本(鹰眼版本、工控机版本)视图
@@ -57,10 +63,64 @@ class SystemVersionView @JvmOverloads constructor(
private fun initView() {
showCurrentPadVersion()
showCurrentAdVersion()
val builder = NotificationCompat.Builder(context)
builder.setSmallIcon(R.mipmap.icon1001)
builder.setContentTitle("下载")
builder.setContentText("正在下载")
val manager: NotificationManager? = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager?
//鹰眼版本视图点击事件
ivPadVersion.setOnClickListener {
CallerLogger.i("$M_HMI$$TAG", "pad version view clicked")
CallerBindingcarManager.getBindingcarProvider().queryAppUpgrade()
// showUpgradeDialog(
// "",
// "",
// "",
// "",
// "1"
// )
//
// CallerDevaToolsUpgradeListenerManager.registerDevaToolsUpgradeListener(TAG,
// object : IMogoDevaToolsUpgradeListener {
// override fun onStart(url: String?) {
// Log.d("Package-DownLoad", " SystemVersionView onStart --------> ")
// }
//
// override fun onPause(url: String?) {
//
// }
//
// override fun onProgress(url: String?, length: Int) {
// Log.d("Package-DownLoad", " SystemVersionView onProgress length = $length")
// builder.setProgress(100, length,false)
// manager?.notify(0x3,builder.build())
// //下载进度提示
// if (length == 99) {
// UiThreadHandler.postDelayed({
// length == 100
// builder.setContentText("已下载" + length + "%")
//
// UiThreadHandler.postDelayed({
// manager?.cancel(0x3)
// }, 1000L)
//
// }, 1500L)
// }
//
// builder.setContentText("已下载" + length + "%")
// }
//
// override fun onFinished(url: String?) {
// Log.d("Package-DownLoad", " SystemVersionView onFinished ------> ")
// }
//
// override fun onError(url: String?, errorMsg: String?) {
// Log.d("Package-DownLoad", " errorMsg = $errorMsg")
// }
// })
}