Selaa lähdekoodia

下载 bug修改

liujiangyao 8 vuotta sitten
vanhempi
commit
7d03f45cfb

+ 5 - 4
app/src/main/java/com/kfzs/duanduan/ActDownloadMgr.java

@@ -235,11 +235,12 @@ public class ActDownloadMgr extends BaseCompatActivity {
         if (downloadTask.getMDownloadTaskId() != null) {
             downloadTaskService.cancel(downloadTask);
         } else {
-            if (!TextUtils.isEmpty(downloadTask.getMApkPath())) {
-                new File(downloadTask.getMApkPath()).delete();
-            }
-            removeTask(position);
+
+        }
+        if (!TextUtils.isEmpty(downloadTask.getMApkPath())) {
+            new File(downloadTask.getMApkPath()).delete();
         }
+        removeTask(position);
         doubleKill = false;
     }
 

+ 1 - 1
app/src/main/java/com/kfzs/duanduan/adp/DownloadMgrAdapter.java

@@ -119,7 +119,7 @@ public class DownloadMgrAdapter extends MDLAdpater<DownLoadInfo> {
                     }
                 } else {
 
-                    if (new File(model.getMApkPath()).exists()) {
+                    if (new File(model.getMApkPath()+"").exists()) {
                         targetBtn.setText(R.string.install);
                         helper.setText(R.id.download_mgr_tv_progress, R.string.download_completed);
 

+ 24 - 22
app/src/main/java/com/kfzs/duanduan/services/DownloadTaskService.java

@@ -10,16 +10,15 @@ import com.downloader.OnProgressListener;
 import com.downloader.OnStartOrResumeListener;
 import com.downloader.PRDownloader;
 import com.downloader.Progress;
-import com.downloader.Status;
 import com.downloader.request.DownloadRequest;
 import com.kfzs.duanduan.bean.DownloadStatus;
 import com.kfzs.duanduan.datashare.DDProviderHelper;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 
-
 import org.greenrobot.eventbus.EventBus;
 
+import java.io.File;
 import java.text.DecimalFormat;
 import java.util.List;
 
@@ -332,13 +331,15 @@ public class DownloadTaskService {
     }
 
     public void start(DownLoadInfo downLoadInfo) {
-        if(downLoadInfo.getMDownloadTaskId() != null){
+        if (downLoadInfo.getMDownloadTaskId() != null) {
             PRDownloader.resume(downLoadInfo.getMDownloadTaskId());
             return;
         }
+        downLoadInfo.setMApkPath(ClassFileHelper.DIR + File.separator + downLoadInfo.getMGameName() + ClassFileHelper.FILE_SUFFIX);
+        addDownloadTask(downLoadInfo);
         final DownloadStatus statusInfo = new DownloadStatus();
-        statusInfo.setFileDownloadedSize( downLoadInfo.getMDownloadedSize() == null ? getRandomFakeDownloadSize() : downLoadInfo.getMDownloadedSize());
-        statusInfo.setFileTotalSize( downLoadInfo.getMTotalSize() == null ? 0 : downLoadInfo.getMTotalSize() / 1024f / 1024);
+        statusInfo.setFileDownloadedSize(downLoadInfo.getMDownloadedSize() == null ? getRandomFakeDownloadSize() : downLoadInfo.getMDownloadedSize());
+        statusInfo.setFileTotalSize(downLoadInfo.getMTotalSize() == null ? 0 : downLoadInfo.getMTotalSize() / 1024f / 1024);
         statusInfo.setDownloadUrl(downLoadInfo.getMDownloadUrl());
         statusInfo.setDownloadPgrs(downLoadInfo.getMPercent() == null ? 0 : downLoadInfo.getMPercent());
         statusInfo.setApkPath(downLoadInfo.getMApkPath());
@@ -375,8 +376,8 @@ public class DownloadTaskService {
                         long currentTimeMillis = System.currentTimeMillis();
 
                         statusInfo.setStatus(DownloadTaskService.STATUS_ING);
-                        statusInfo.setFileDownloadedSize( progress.currentBytes / 1024f / 1024);
-                        statusInfo.setFileTotalSize( progress.totalBytes / 1024f / 1024);
+                        statusInfo.setFileDownloadedSize(progress.currentBytes / 1024f / 1024);
+                        statusInfo.setFileTotalSize(progress.totalBytes / 1024f / 1024);
                         statusInfo.setDownloadPgrs((int) (progress.currentBytes * 100f / progress.totalBytes));
                         statusInfo.setDownloadSpeed(progress.currentBytes * 1000f / 1024 / 1024 / (currentTimeMillis - ftime));
 
@@ -390,28 +391,29 @@ public class DownloadTaskService {
                 });
         downloadRequest.setTag(downLoadInfo.getMDownloadUrl());
         statusInfo.setDownloadId(downloadRequest.start(new OnDownloadListener() {
-                    @Override
-                    public void onDownloadComplete() {
-                        statusInfo.setStatus(DownloadTaskService.STATUS_FINISH);
-                        EventBus.getDefault().post(statusInfo);
-                    }
+            @Override
+            public void onDownloadComplete() {
+                statusInfo.setStatus(DownloadTaskService.STATUS_FINISH);
+                EventBus.getDefault().post(statusInfo);
+            }
 
-                    @Override
-                    public void onError(Error error) {
-                        statusInfo.setStatus(DownloadTaskService.STATUS_FAIL);
-                        statusInfo.setMessage(error.toString());
-                        EventBus.getDefault().post(statusInfo);
-                    }
-                }));
+            @Override
+            public void onError(Error error) {
+                statusInfo.setStatus(DownloadTaskService.STATUS_FAIL);
+                statusInfo.setMessage(error.toString());
+                EventBus.getDefault().post(statusInfo);
+            }
+        }));
     }
 
     public void pause(DownLoadInfo downLoadInfo) {
-        if(downLoadInfo.getMDownloadTaskId() != null)
+        if (downLoadInfo.getMDownloadTaskId() != null)
             PRDownloader.pause(downLoadInfo.getMDownloadTaskId());
     }
+
     public void cancel(DownLoadInfo downLoadInfo) {
-        if(downLoadInfo.getMDownloadTaskId() != null)
-            PRDownloader.cancel((int)downLoadInfo.getMDownloadTaskId());
+        if (downLoadInfo.getMDownloadTaskId() != null)
+            PRDownloader.cancel((int) downLoadInfo.getMDownloadTaskId());
     }
 
 }

+ 3 - 1
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -9,6 +9,8 @@ import com.sheep.gamegroup.model.entity.WithdrawalEty;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import java.io.File;
+
 /**
  * 一些公用的class
  * Created by ljy on 2018/3/21.
@@ -118,7 +120,7 @@ public class CommonUtil {
         task.setMTotalSize(Double.valueOf(size));
         task.setMGameID(gameId);
         task.setWhereFrom(whereFrom);
-        task.setMApkPath(ClassFileHelper.DIR+gameName + ClassFileHelper.FILE_SUFFIX);
+        task.setMApkPath(ClassFileHelper.DIR + File.separator + gameName + ClassFileHelper.FILE_SUFFIX);
         mDownloadTaskService.addDownloadTask(task);
         return task;
     }

+ 2 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/DialogActivity.java

@@ -271,6 +271,7 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
                         //Todo 合并下载模块t
 //                        startFiler();
                         mDownloadTaskService.start(downLoadInfo);
+                        start_task_tv.setText("下载中");
                     }else {
                         mDownloadTaskService.pause(downLoadInfo);
                     }
@@ -435,7 +436,7 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
                 if(task_entity != null){
                     downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(task_entity.getDownload_link());
                     mDownloadTaskService.start(downLoadInfo);
-
+                    start_task_tv.setText("下载中");
                 }
                 break;
         }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -237,7 +237,7 @@ public class SplashAct extends BaseActivity implements SplashContract.View, Easy
     public void onActivityReenter(int resultCode, Intent data) {
         super.onActivityReenter(resultCode, data);
         try{
-            mHandler.sendEmptyMessageDelayed(0, 1000);
+            mHandler.sendEmptyMessageDelayed(0, 300);
         }catch (Exception e){
             e.printStackTrace();
         }