Sfoglia il codice sorgente

修复取消任务后主页可能没有消失的问题

zengjiebin 7 anni fa
parent
commit
b508c313d6

+ 7 - 26
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -188,7 +188,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                         tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, allTaskAcceptedTaskList), position);
                         position++;
                     }
-                    checkOtherList(allTaskAcceptedTaskList);
+                    DataUtil.getInstance().checkOtherList(allTaskAcceptedTaskList, releaseEtyLists);
                     tryMakeMoneyAdp.setIs_succession(3);
                     if(!ListUtil.isEmpty(releaseEtyLists)) {
                         tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists), position);
@@ -200,21 +200,6 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
         }
     };
-    //检查发布任务中有没有正在运行的任务,有就去掉
-    private void checkOtherList(final List<TaskAcceptedEty> taskAcceptedEtyList){
-        if(!ListUtil.isEmpty(taskAcceptedEtyList) && !ListUtil.isEmpty(releaseEtyLists)){
-            ListUtil.removeItem(releaseEtyLists, new ListUtil.CallBack<TaskReleaseEty, Boolean>() {
-                @Override
-                public Boolean call(TaskReleaseEty taskReleaseEty) {
-                    for (TaskAcceptedEty taskAcceptedEty : taskAcceptedEtyList) {
-                        if(taskAcceptedEty != null && taskAcceptedEty.getRelease_task() != null && taskAcceptedEty.getRelease_task().equals(taskReleaseEty))
-                            return true;
-                    }
-                    return false;
-                }
-            });
-        }
-    }
 
     @Override
     protected void initView(Bundle savedInstanceState) {
@@ -560,7 +545,10 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     @Override
     public void giveUpTaskSuccesView(Object object) {
         G.showToast("取消任务成功");
-        DataUtil.getInstance().reInitAcceptedTaskList();
+        if(object instanceof Integer)
+            DataUtil.getInstance().removeAcceptedTask((Integer) object);
+        else
+            DataUtil.getInstance().reInitAcceptedTaskList();
         initOtherTaskList();
     }
 
@@ -575,12 +563,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         List<TaskAcceptedEty> taskAcceptedEtyList = baseMessage.getDataList(TaskAcceptedEty.class);
         AutoTaskListUtil.getInstance().loadList(taskAcceptedEtyList);
         DataUtil.getInstance().reloadAcceptedTaskList(taskAcceptedEtyList);
-        loadAllAcceptedTaskList(taskAcceptedEtyList);
-    }
-    //加载所有的正在进行的任务列表
-    private void loadAllAcceptedTaskList(List<TaskAcceptedEty> taskAcceptedEtyList){
-        if(!ListUtil.isEmpty(taskAcceptedEtyList))
-            mHanderl.sendEmptyMessage(1);
+        mHanderl.sendEmptyMessage(1);
     }
 
     @Override
@@ -818,9 +801,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     public void onEventMainThread(BigEvent event) {
         switch (event.getEventTypes()) {
             case ONFRESH_FGT_FAMLLSHEEP:
-                //加载正在进行的任务
-                List<TaskAcceptedEty> allTaskAcceptedTaskList = DataUtil.getInstance().getAllTaskAcceptedTaskList();
-                loadAllAcceptedTaskList(allTaskAcceptedTaskList);
+                mHanderl.sendEmptyMessage(1);
                 break;
         }
     }

+ 7 - 15
app/src/main/java/com/sheep/gamegroup/heler/TaskHelper.java

@@ -17,6 +17,7 @@ import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
@@ -28,6 +29,8 @@ import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import org.afinal.simplecache.ApiKey;
+
 import java.util.List;
 import java.util.Locale;
 
@@ -53,21 +56,9 @@ public class TaskHelper {
     public void initAcceptedTask(Activity activity, final int release_task_id) {
         this.activity = activity;
         this.release_task_id = release_task_id;
-        SheepApp.getInstance().getNetComponent().getApiService().getAcceptedTaskDetail(release_task_id)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        taskAcceptedEty = baseMessage.getData(TaskAcceptedEty.class);
-                        initTask(release_task_id);
-                    }
 
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        initTask(release_task_id);
-                    }
-                });
+        taskAcceptedEty = DataUtil.getInstance().getTaskAcceptedTaskByReleaseTaskId(release_task_id);
+        initTask(release_task_id);
     }
     private TaskReleaseEty taskReleaseEty;
     private void initTask(int release_task_id) {
@@ -228,6 +219,7 @@ public class TaskHelper {
                                             .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                                                 @Override
                                                 public void onNext(BaseMessage baseMessage) {
+                                                    DataUtil.getInstance().removeAcceptedTask(taskAcceptedEty.getId());
                                                     refreshTask();
                                                 }
 
@@ -319,7 +311,7 @@ public class TaskHelper {
         clear();
         taskAcceptedEty = null;
         taskReleaseEty = null;
-        initAcceptedTask(activity, release_task_id);
+        initTask(release_task_id);
     }
     private int reloadDataType;//0 不刷新数据 1刷新 taskAcceptedEty
     public void onResume() {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyPresenter.java

@@ -129,7 +129,7 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        view.giveUpTaskSuccesView(acceptedId);
+                        view.giveUpTaskSuccesView(baseMessage);
                     }
                 });
     }

+ 16 - 4
app/src/main/java/com/sheep/gamegroup/util/DataUtil.java

@@ -9,6 +9,7 @@ import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.model.api.BaseMessageConverter;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.AutoTaskListUtil;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
@@ -62,10 +63,6 @@ public class DataUtil {
     //-----------------------------------------用户信息部分-----------------------------------------------------开始
     private UserEntity userEntity;
 
-    public static void setInstance(DataUtil instance) {
-        DataUtil.instance = instance;
-    }
-
     public UserEntity getUserEntity() {
         return userEntity;
     }
@@ -445,5 +442,20 @@ public class DataUtil {
         return removeList.get(0);
     }
 
+    //检查发布任务中有没有正在运行的任务,有就去掉
+    public void checkOtherList(final List<TaskAcceptedEty> taskAcceptedEtyList, List<TaskReleaseEty> releaseEtyLists){
+        if(!ListUtil.isEmpty(taskAcceptedEtyList) && !ListUtil.isEmpty(releaseEtyLists)){
+            ListUtil.removeItem(releaseEtyLists, new ListUtil.CallBack<TaskReleaseEty, Boolean>() {
+                @Override
+                public Boolean call(TaskReleaseEty taskReleaseEty) {
+                    for (TaskAcceptedEty taskAcceptedEty : taskAcceptedEtyList) {
+                        if(taskAcceptedEty != null && taskAcceptedEty.getRelease_task() != null && taskAcceptedEty.getRelease_task().equals(taskReleaseEty))
+                            return true;
+                    }
+                    return false;
+                }
+            });
+        }
+    }
     //-----------------------------------------进行任务部分-----------------------------------------------------结束
 }

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

@@ -873,7 +873,6 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                                     taskReleaseEty.setIs_running(true);
                                     taskReleaseEty.getTask().setRelease_task_id(taskReleaseEty.getId());
                                     CommonUtil.getInstance().setTAskEnty(taskReleaseEty.getTask());
-                                    DataUtil.getInstance().addAcceptedTask(gettaskAcceptedEty);
                                     empty_view.setVisibility(View.GONE);
                                     initWigget();
                                     isGetTaskDesc = false;

+ 6 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java

@@ -82,6 +82,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
         int position = 0;
         if(!ListUtil.isEmpty(acceptedEtyList))
             tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, acceptedEtyList), position++);
+        DataUtil.getInstance().checkOtherList(acceptedEtyList, releaseEtyLists);
         if(!ListUtil.isEmpty(releaseEtyLists))
             tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists), position++);
         if(!ListUtil.isEmpty(releaseEtyListsBegin))
@@ -261,9 +262,13 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
     }
 
     @Override
-    public void giveUpTaskSuccesView(Object o) {
+    public void giveUpTaskSuccesView(Object object) {
         G.showToast("取消任务成功");
         CommonUtil.getInstance().setTAskEnty(null);
+        if(object instanceof Integer)
+            DataUtil.getInstance().removeAcceptedTask((Integer) object);
+        else
+            DataUtil.getInstance().reInitAcceptedTaskList();
         refreshData();
     }