2.12.0 优化了下载进度,添加通知栏的下载进度条
This commit is contained in:
@@ -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 ?: "未知错误")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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")
|
||||
// }
|
||||
// })
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -155,7 +155,6 @@ public class DownloadService implements InitThread.InitCallBack, DownloadCallBac
|
||||
@Override
|
||||
public void threadDownLoadFinished(String url, ThreadBean threadBean) {
|
||||
IDownload iDownload = callBacks.get(url);
|
||||
Log.d(DOWN_LOAD_TAG, "iDownload threadDownLoadFinished = " + iDownload);
|
||||
if (iDownload != null) {
|
||||
iDownload.onFinished(url, threadBean);
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ public class DownloadTask implements DownloadCallBack {
|
||||
//每500毫秒发送刷新进度事件
|
||||
if (System.currentTimeMillis() - curTime > 500 || finishedProgress == fileBean.getLength()) {
|
||||
int progress = (int) (finishedProgress * 1.0 / fileBean.getLength() * 100);
|
||||
Log.d(DOWN_LOAD_TAG, "length = $length ----- progress = progress");
|
||||
// Log.d(DOWN_LOAD_TAG, "DownloadTask ----length = " + length + " ---progress = " + progress);
|
||||
fileBean.setFinished(finishedProgress);
|
||||
DownloadData downloadData = new DownloadData();
|
||||
downloadData.setUrl(fileBean.getUrl());
|
||||
@@ -143,7 +143,7 @@ public class DownloadTask implements DownloadCallBack {
|
||||
}
|
||||
}
|
||||
if (threads.size() == 0) {//如果列表size为0 则所有线程已下载完成
|
||||
Log.d(DOWN_LOAD_TAG, "下载完成----->");
|
||||
Log.d(DOWN_LOAD_TAG, " DownloadTask threadDownLoadFinished 下载完成----->");
|
||||
//删除数据库中的信息
|
||||
dao.deleteThread(fileBean.getUrl());
|
||||
//发送下载完成事件
|
||||
|
||||
Reference in New Issue
Block a user