优化后台下载逻辑,提高下载稳定性

This commit is contained in:
chenjuntao
2019-07-01 17:03:38 +08:00
parent 3a66d778ed
commit 361d260964
8 changed files with 85 additions and 20 deletions

View File

@ -12,7 +12,6 @@ import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.preference.PreferenceManager;
import android.text.TextUtils;
@ -49,7 +48,6 @@ import com.gh.common.util.GsonUtils;
import com.gh.common.util.LogUtils;
import com.gh.common.util.LunchType;
import com.gh.common.util.MtaHelper;
import com.gh.common.util.NetworkUtils;
import com.gh.common.util.PackageUtils;
import com.gh.common.util.PlatformUtils;
import com.gh.common.util.PushHelper;
@ -85,12 +83,10 @@ import com.google.gson.reflect.TypeToken;
import com.halo.assistant.HaloApp;
import com.lightgame.config.CommonDebug;
import com.lightgame.download.DataWatcher;
import com.lightgame.download.DownloadConfig;
import com.lightgame.download.DownloadEntity;
import com.lightgame.download.DownloadStatus;
import com.lightgame.download.FileUtils;
import com.lightgame.utils.Util_System_Phone_State;
import com.lightgame.utils.Utils;
import com.tencent.bugly.beta.tinker.TinkerManager;
import com.tencent.bugly.crashreport.CrashReport;
@ -583,20 +579,7 @@ public class MainActivity extends BaseActivity {
}
private void checkRetryDownload() {
if (!NetworkUtils.isWifiConnected(this)) return;
for (DownloadEntity downloadEntity : DownloadManager.getInstance(this).getAll()) {
if (DownloadStatus.neterror.equals(downloadEntity.getStatus()) ||
DownloadStatus.timeout.equals(downloadEntity.getStatus()) ||
DownloadStatus.subscribe.equals(downloadEntity.getStatus())) {
DownloadManager.getInstance(this).put(downloadEntity.getUrl(), System.currentTimeMillis());
Message msg = Message.obtain();
msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK;
msg.obj = downloadEntity.getUrl();
DownloadManager.getInstance(getApplicationContext()).sendMessageDelayed(msg, 1000);
}
Utils.log("checkRetryDownload::" + downloadEntity.getStatus());
}
DownloadManager.getInstance(this).checkRetryDownload();
}
private void checkTinkerPath() {