fix: 安装流程相关优化-2024/7/30-验收问题 https://jira.shanqu.cc/browse/GHZSCY-6357

Signed-off-by: chenjuntao <chenjuntao@ghzhushou.com>
This commit is contained in:
chenjuntao
2024-07-30 14:21:07 +08:00
parent 9787d23ea0
commit a2153761c2
4 changed files with 20 additions and 14 deletions

View File

@ -996,19 +996,21 @@ public class DownloadManager implements DownloadStatusListener {
* 3.检查是否显示下载通知栏
*/
public void initDownloadService() {
final Set<String> urlSet = NDataChanger.INSTANCE.getDownloadingTaskUrlSet();
for (DownloadEntity downloadEntity : getAllDownloadEntity()) {
if (!urlSet.contains(downloadEntity.getUrl())
&& (downloadEntity.getStatus().equals(DownloadStatus.downloading)
|| downloadEntity.getStatus().equals(DownloadStatus.waiting))) {
downloadEntity.setStatus(DownloadStatus.subscribe);
mDownloadDao.newOrUpdate(downloadEntity);
NDataChanger.INSTANCE.notifyDataChanged(downloadEntity);
packageExecutor.execute(() -> {
final Set<String> urlSet = NDataChanger.INSTANCE.getDownloadingTaskUrlSet();
for (DownloadEntity downloadEntity : getAllDownloadEntity()) {
if (!urlSet.contains(downloadEntity.getUrl())
&& (downloadEntity.getStatus().equals(DownloadStatus.downloading)
|| downloadEntity.getStatus().equals(DownloadStatus.waiting))) {
downloadEntity.setStatus(DownloadStatus.subscribe);
mDownloadDao.newOrUpdate(downloadEntity);
NDataChanger.INSTANCE.notifyDataChanged(downloadEntity);
}
}
}
startDownloadService();
checkAndRetryDownload(true);
startDownloadService();
checkAndRetryDownload(true);
});
}
/**

View File

@ -255,9 +255,6 @@ public class MainActivity extends BaseActivity {
}
}
// 必须放在这里,否则会导致获取 baseActivity 不是本应用包名
DownloadManager.getInstance().initDownloadService();
ReservationRepository.refreshReservations();
// 跳转至其它页面

View File

@ -20,6 +20,10 @@ class ResumeDownloadHudHandler(priority: Int) : PriorityChainHandler(priority) {
val isOnWiFiNetwork: Boolean = NetworkUtils.isWifiConnected(HaloApp.getInstance())
val downloadingEntitySnapshotList = DownloadManager.getInstance().allDownloadEntitySnapshots.filter {
it.status == DownloadStatus.downloading
|| it.status == DownloadStatus.pause
|| it.status == DownloadStatus.subscribe
|| it.status == DownloadStatus.timeout
|| it.status == DownloadStatus.neterror
}
if (!isOnWiFiNetwork || downloadingEntitySnapshotList.isEmpty()) {

View File

@ -364,6 +364,9 @@ public class HaloApp extends MultiDexApplication {
// 必须放在外面,否则不能及时刷新用户数据
UserRepository.getInstance().getLoginUserInfo();
// 初始化下载服务,恢复下载任务
DownloadManager.getInstance().initDownloadService();
GlobalPriorityChainHelper.INSTANCE.preStart(isNewForThisVersion);
MainWrapperRepository.Companion.getInstance().getDataUnion();