瀏覽代碼

游戏中心,下载状态修改

liujiangyao 7 年之前
父節點
當前提交
563fc7f298

+ 22 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/GameEntity.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.model.entity;
 
 import android.text.TextUtils;
+import android.widget.TextView;
 
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 
@@ -134,4 +135,25 @@ public class GameEntity implements Serializable{
         return !isGift() && TextUtils.isEmpty(getBonusText());
     }
 
+    /**
+     * 是否游戏任务
+     */
+    public boolean isGameTask(){
+        return release_task != null && release_task.getTask() != null;
+    }
+
+    public String downLinks(){
+        try {
+            if(isGameTask()){
+                return release_task.getTask().getDownload_link();
+            }else {
+                return app.getDownload_url();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+
+    }
+
 }

+ 38 - 8
app/src/main/java/com/sheep/gamegroup/view/activity/ActPlayGameDetail.java

@@ -17,6 +17,8 @@ import com.arialyy.annotations.Download;
 import com.arialyy.aria.core.Aria;
 import com.arialyy.aria.core.download.DownloadTask;
 import com.sheep.gamegroup.event.BigEvent;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.view.adapter.TitleFragmentListAdapter;
 import com.sheep.gamegroup.util.DownloadUtil;
 import com.kfzs.duanduan.view.ViewPagerAutoHeigh;
@@ -335,21 +337,31 @@ public class ActPlayGameDetail extends BaseActivity implements Action1<Integer>
 
     @Download.onPre
     void onPre(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText("准备下载中");
         }
     }
 
     @Download.onTaskStart
     void taskStart(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText("开始下载中");
         }
     }
 
     @Download.onTaskResume
     void taskResume(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText("恢复下载中");
         }
     }
@@ -357,14 +369,20 @@ public class ActPlayGameDetail extends BaseActivity implements Action1<Integer>
     //在这里处理任务执行中的状态,如进度进度条的刷新
     @Download.onTaskRunning
     protected void running(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText(String.format(Locale.CHINA, "%d%%", Math.abs(task.getPercent())));
         }
     }
 
     @Download.onTaskStop
     void taskStop(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText(CommonUtil.CONTINUE_DOWNLOAD);
         }
     }
@@ -375,21 +393,30 @@ public class ActPlayGameDetail extends BaseActivity implements Action1<Integer>
 
     @Download.onTaskCancel
     void taskCancel(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText("已经取消");
         }
     }
 
     @Download.onTaskFail
     void taskFail(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText(CommonUtil.FAIL_DOWNLOAD);
         }
     }
 
     @Download.onTaskComplete
     void taskComplete(DownloadTask task) {
-        if (find_game_down_tv != null) {
+        if(TextUtils.isEmpty(gameEntity.downLinks())) {//游戏任务
+            return;
+        }
+        if (find_game_down_tv != null && gameEntity.downLinks().equals(task.getKey())) {
             find_game_down_tv.setText(CommonUtil.START_INSTALL);
         }
         if (gameEntity != null && gameEntity.getApp() != null && TextUtils.equals(task.getKey(), gameEntity.getApp().getDownload_link()))
@@ -402,6 +429,9 @@ public class ActPlayGameDetail extends BaseActivity implements Action1<Integer>
     public void onEventMainThread(Intent intent) {
         if (intent != null && intent.getAction() != null && intent.getDataString() != null && intent.getDataString().contains("package:")) {
             String packageName = intent.getDataString().replace("package:", "");
+            if (!TextUtils.equals(packageName, playGameEntity.getPackage_names())) {
+                return;
+            }
 
             if (find_game_down_tv != null) {
                 switch (intent.getAction()) {