Просмотр исходного кода

任务列表数据3个接口同时获取数据,不再依次调用, 提高访问接口速度

zengjiebin лет назад: 7
Родитель
Сommit
fed0ffb73a

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

@@ -9,12 +9,10 @@ import android.content.Context;
 import android.content.DialogInterface;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.support.annotation.RequiresApi;
 import android.support.design.widget.TabLayout;
 import android.support.v4.view.ViewPager;
 import android.support.v4.widget.NestedScrollView;
@@ -55,18 +53,16 @@ import com.sheep.gamegroup.di.modules.TryMakeMoneyModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.BulletinEnty;
 import com.sheep.gamegroup.model.entity.CashAwarsEntity;
-import com.sheep.gamegroup.model.entity.Ext;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
 import com.sheep.gamegroup.model.entity.MoreDataEntity;
 import com.sheep.gamegroup.model.entity.RecyleObj;
 import com.sheep.gamegroup.model.entity.RecyleType;
-import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.RequestParamEty;
 import com.sheep.gamegroup.model.entity.SlideshowEty;
 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.EntityUtils;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.presenter.SmallSheepContract;
 import com.sheep.gamegroup.presenter.SmallSheepPresenter;
@@ -122,7 +118,6 @@ import rx.functions.Action1;
 import rx.schedulers.Schedulers;
 
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.NEWBIE_TASK;
-import static com.sheep.gamegroup.util.ViewUtil.backgroundAlpha;
 
 public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContract.View, TryMakeMoneyContract.View {
 
@@ -842,7 +837,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
     private void refreshTaskList() {
         tryMakeMoneyPresenter.returnTask(is_succession, show_game_task);
-        RequestParameEty parameEty = new RequestParameEty();
+        RequestParamEty parameEty = new RequestParamEty();
         parameEty.setHashMap(
                 CommonUtil.getInstance()
                         .setHashMap(1,
@@ -942,7 +937,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     private int show_game_task = 1;//包含游戏任务
 
     @Override
-    public void returnTaskTaskUpdataView(Object object) {
+    public void returnTaskTaskUpdateView(Object object) {
         boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.new_run_task(is_succession, show_game_task));
         if (isNewData) {
             BaseMessage baseMessage = (BaseMessage) object;
@@ -976,10 +971,10 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     }
 
     @Override
-    public void releaseTaskTaskUpdataView(Object object) {
+    public void releaseTaskTaskUpdateView(BaseMessage baseMessage, int about_to_begin) {
         boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.release_task);
-        if (isNewData && object instanceof BaseMessage) {
-            List<TaskReleaseEty> releaseEtyList = ((BaseMessage) object).getDataList(TaskReleaseEty.class);
+        if (isNewData) {
+            List<TaskReleaseEty> releaseEtyList = baseMessage.getDataList(TaskReleaseEty.class);
             if (releaseEtyList != null) {
                 releaseEtyLists = releaseEtyList;
                 mHandler.sendEmptyMessage(WHAT_LOAD_RUN_TASK);
@@ -988,7 +983,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
     }
 
     @Override
-    public void failReleaseTask2View(Object o) {
+    public void failReleaseTask2View(BaseMessage baseMessage, int about_to_begin) {
     }
 
     @Override

+ 3 - 3
app/src/main/java/com/sheep/gamegroup/model/entity/RequestParameEty.java

@@ -7,7 +7,7 @@ import java.util.HashMap;
  * Created by ljy on 2018/3/19.
  */
 
-public class RequestParameEty {
+public class RequestParamEty {
 
     private int page;
     private int per_page;
@@ -22,10 +22,10 @@ public class RequestParameEty {
         this.hashMap = hashMap;
     }
 
-    public RequestParameEty() {
+    public RequestParamEty() {
     }
 
-    public RequestParameEty(int page, int per_page) {
+    public RequestParamEty(int page, int per_page) {
         this.page = page;
         this.per_page = per_page;
     }

+ 7 - 6
app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyContract.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.presenter;
 
-import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.RequestParamEty;
 
 /**
  * Created by ljy on 2018/3/19.
@@ -10,10 +11,10 @@ public interface TryMakeMoneyContract {
 
     interface Presenter{
         void getData(Object o);
-        void acceptedTask(RequestParameEty o);//获取已接受的任务
+        void acceptedTask(RequestParamEty o);//获取已接受的任务
         void returnTask(int is_succession, int show_game_task);//获取我正在运行的任务
         void runGameTask();//获取正在运行的游戏任务
-        void releaseTask(RequestParameEty o);//获取正在运行的任务
+        void releaseTask(RequestParamEty o);//获取正在运行的任务
 
         void giveUpTask(int id);//放弃任务接口
     }
@@ -26,9 +27,9 @@ public interface TryMakeMoneyContract {
         void giveUpTaskSuccesView(Object o);//
         void giveUpTaskFailView(Object o);//
 
-        void returnTaskTaskUpdataView(Object o);
+        void returnTaskTaskUpdateView(Object o);
         void failReturnTask2View(Object o);
-        void releaseTaskTaskUpdataView(Object o);
-        void failReleaseTask2View(Object o);
+        void releaseTaskTaskUpdateView(BaseMessage baseMessage, int about_to_begin);
+        void failReleaseTask2View(BaseMessage baseMessage, int about_to_begin);
     }
 }

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

@@ -2,7 +2,7 @@ package com.sheep.gamegroup.presenter;
 
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.RequestParamEty;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
@@ -33,7 +33,7 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
     }
 
     @Override
-    public void acceptedTask(RequestParameEty o) {
+    public void acceptedTask(RequestParamEty o) {
         apiService.acceptedTask(o.getPage(), o.getPer_page(), 0)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -71,7 +71,7 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        view.returnTaskTaskUpdataView(baseMessage);
+                        view.returnTaskTaskUpdateView(baseMessage);
 
                     }
                 });
@@ -90,32 +90,32 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        view.returnTaskTaskUpdataView(baseMessage);
+                        view.returnTaskTaskUpdateView(baseMessage);
 
                     }
                 });
     }
 
     @Override
-    public void releaseTask(RequestParameEty o) {
+    public void releaseTask(RequestParamEty o) {
 
         HashMap<String, String> hashMap = o.getHashMap();
-
+        final int about_to_begin = Integer.valueOf(hashMap.get("about_to_begin"));
         apiService.releaseTask(Integer.valueOf(hashMap.get("page")),Integer.valueOf(hashMap.get("per_page")),
                 Integer.valueOf(hashMap.get("platform")),Integer.valueOf(hashMap.get("is_hot")),
-                Integer.valueOf(hashMap.get("is_recommend")),Integer.valueOf(hashMap.get("about_to_begin")),
+                Integer.valueOf(hashMap.get("is_recommend")),about_to_begin,
                 hashMap.get("task_type"), Integer.valueOf(hashMap.get("is_succession")))
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        view.failReleaseTask2View(baseMessage);
+                        view.failReleaseTask2View(baseMessage, about_to_begin);
                     }
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        view.releaseTaskTaskUpdataView(baseMessage);
+                        view.releaseTaskTaskUpdateView(baseMessage, about_to_begin);
 
                     }
                 });

+ 29 - 64
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java

@@ -17,7 +17,7 @@ import com.sheep.gamegroup.di.modules.TryMakeMoneyModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.RecyleObj;
 import com.sheep.gamegroup.model.entity.RecyleType;
-import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.RequestParamEty;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.presenter.TryMakeMoneyContract;
@@ -67,8 +67,8 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
     private List<TaskAcceptedEty> acceptedEtyList = new ArrayList<>();
     private List<TaskReleaseEty> releaseEtyLists = new ArrayList<>();
     private List<TaskReleaseEty> releaseEtyListsBegin = new ArrayList<>();
-    private int type = 0;
-    private String show_type;
+    private int about_to_begin = 0;
+    private String show_type;//有值代表来自主页
     private int is_succession;//0:一般任务 1:连续任务
 
     private void checkAndInitView() {
@@ -121,7 +121,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
         unbinder = ButterKnife.bind(this, rootView);
         Bundle bundle = getArguments();
         if(bundle != null){
-            type = bundle.getInt("type", 0);
+            about_to_begin = bundle.getInt("type", 0);
             show_type = bundle.getString("show_type", "");
         }
         return rootView;
@@ -160,7 +160,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                 .inject(FgtTryMakeMoney.this);
         recyclerview.setLayoutManager(new LinearLayoutManager(activity));
         tryMakeMoneyAdp = new TryMakeMoneyAdp(activity);
-        tryMakeMoneyAdp.addType(type);
+        tryMakeMoneyAdp.addType(about_to_begin);
         tryMakeMoneyAdp.addShowType(show_type);
         tryMakeMoneyAdp.setIs_succession(TextUtils.isEmpty(show_type)?is_succession:3);
         tryMakeMoneyAdp.addPresenter(presenter);
@@ -216,9 +216,6 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             notifyDataSetChanged();
         }
         CommonUtil.getInstance().resetEmptyView(empty_view);
-        //加载缓存
-        if(TextUtils.isEmpty(show_type))
-            type = 0;
         if(isFirstCache){
             //注释掉获取缓存的正在进行的任务
             List<TaskAcceptedEty> cacheTaskAcceptedEtyList;
@@ -237,12 +234,12 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                     }
                 }
             }
-            getFromACache(type);
+            getFromACache(0);
+            getFromACache(1);
         }
-        //加载网络数据
-        if(TextUtils.isEmpty(show_type))//这里为
-            type = 0;
-        getFromNetWork(type);
+        initAcceptedTaskList();
+        getFromNetWork(0);
+        getFromNetWork(1);
     }
 
     /**
@@ -251,11 +248,10 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
     private void initAcceptedTaskList() {
         if(isGameTask){
             presenter.runGameTask();
-        } else if(!TextUtils.isEmpty(show_type)){
-
-        }
-        else {
-            presenter.returnTask(TextUtils.isEmpty(show_type)?is_succession:3, 0);
+        } else if(TextUtils.isEmpty(show_type)){
+            presenter.returnTask(is_succession, 0);
+        } else {//主页不加载数据
+//            presenter.returnTask(3, 0);
         }
     }
 
@@ -316,7 +312,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
     }
 
     @Override
-    public void returnTaskTaskUpdataView(Object object) {
+    public void returnTaskTaskUpdateView(Object object) {
         boolean isNewData = DataUtil.getInstance().isNewData(isGameTask ? ApiKey.run_game_task : ApiKey.new_run_task(TextUtils.isEmpty(show_type)?is_succession:3, 0));
         if(isNewData) {
             if (object instanceof BaseMessage) {
@@ -344,14 +340,14 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
 
     /**
      *  获取已经发布任务
-     * @param object
+     * @param baseMessage
      */
     @Override
-    public void releaseTaskTaskUpdataView(Object object) {
-        boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.release_task(type, task_type, TextUtils.isEmpty(show_type)?is_succession:3));
-        if(isNewData && object instanceof BaseMessage) {
-            List<TaskReleaseEty> releaseEtyList = ((BaseMessage) object).getDataList(TaskReleaseEty.class);
-            switch (type) {
+    public void releaseTaskTaskUpdateView(BaseMessage baseMessage, int about_to_begin) {
+        boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.release_task(about_to_begin, task_type, TextUtils.isEmpty(show_type)?is_succession:3));
+        if(isNewData) {
+            List<TaskReleaseEty> releaseEtyList = baseMessage.getDataList(TaskReleaseEty.class);
+            switch (about_to_begin) {
                 case 0:
                     releaseEtyLists.clear();
                     releaseEtyLists.addAll(releaseEtyList);
@@ -363,12 +359,11 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             }
             notifyDataSetChanged();
         }
-        getFromNetWorkFirst(type);
     }
 
     @Override
-    public void failReleaseTask2View(Object object) {
-        switch (type){
+    public void failReleaseTask2View(BaseMessage baseMessage, int about_to_begin) {
+        switch (about_to_begin){
             case 0:
                 releaseEtyLists.clear();
                 break;
@@ -377,7 +372,6 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                 break;
         }
         notifyDataSetChanged();
-        getFromNetWorkFirst(type);
     }
 
     private int onResumeCount = 0;
@@ -397,23 +391,10 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             tryMakeMoneyAdp.cancelAllTimers();
         }
     }
-    /**
-     * 发布的任务
-     * type: 0 1
-     */
-    private void getFromACacheFirst(int type){
-        if(TextUtils.isEmpty(show_type)){
-            this.type = ++type;
-            getFromACache(this.type);
-        }
-    }
-    private void getFromACache(int type){
+    private void getFromACache(int about_to_begin){
         try {
-            if(type > 1){
-                return;
-            }
-            List<TaskReleaseEty> cacheTaskReleaseEtyList = DataUtil.getInstance().getCacheList(ApiKey.release_task(type, task_type, TextUtils.isEmpty(show_type)?is_succession:3), TaskReleaseEty.class);
-            switch (type){
+            List<TaskReleaseEty> cacheTaskReleaseEtyList = DataUtil.getInstance().getCacheList(ApiKey.release_task(about_to_begin, task_type, TextUtils.isEmpty(show_type)?is_succession:3), TaskReleaseEty.class);
+            switch (about_to_begin){
                 case 0:
                     if(cacheTaskReleaseEtyList == null) {
                         releaseEtyLists.clear();
@@ -421,7 +402,6 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                         releaseEtyLists.clear();
                         releaseEtyLists.addAll(cacheTaskReleaseEtyList);
                         notifyDataSetChanged();
-                        getFromACacheFirst(type);
                     }
                     break;
                 case 1:
@@ -431,7 +411,6 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                         releaseEtyListsBegin.clear();
                         releaseEtyListsBegin.addAll(cacheTaskReleaseEtyList);
                         notifyDataSetChanged();
-                        getFromACacheFirst(type);
                     }
                     break;
             }
@@ -439,22 +418,8 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             e.printStackTrace();
         }
     }
-    /**
-     * 发布的任务
-     * type: 0 1
-     */
-    private void getFromNetWorkFirst(int type){
-        if(TextUtils.isEmpty(show_type)){
-            this.type = ++type;
-            getFromNetWork(this.type);
-        }
-    }
-    private void getFromNetWork(int type){
-        if(type > 1){
-            initAcceptedTaskList();
-            return;
-        }
-        RequestParameEty parameEty = new RequestParameEty();
+    private void getFromNetWork(int about_to_begin){
+        RequestParamEty parameEty = new RequestParamEty();
         parameEty.setHashMap(
                 CommonUtil.getInstance()
                         .setHashMap(1,
@@ -462,7 +427,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                                 SheepApp.getInstance().getConnectAddress().getPlatForm(),
                                 TextUtils.isEmpty(show_type)?0:show_type.equals("is_hot")?1:0,
                                 0,
-                                type,
+                                about_to_begin,
                                 task_type,
                                 TextUtils.isEmpty(show_type)?is_succession:3));
         presenter.releaseTask(parameEty);

+ 2 - 2
app/src/main/java/org/afinal/simplecache/ApiKey.java

@@ -42,9 +42,9 @@ public class ApiKey {
     public static final String my_games = "app/game_consumption/my_games?page=1&per_page=100";
     //首页获取所有发布的热门任务(试玩任务、游戏任务、连续任务)
     public static final String release_task = "app/release_task?page=1&per_page=100&platform=1&is_hot=1&is_recommend=0&about_to_begin=0&task_type=-1&is_succession=3";
-    public static String release_task(int type, String task_type, int is_succession){
+    public static String release_task(int about_to_begin, String task_type, int is_succession){
         task_type = task_type.replaceAll(",", "%2C");
-        return String.format(Locale.CHINA, "app/release_task?page=1&per_page=100&platform=1&is_hot=0&is_recommend=0&about_to_begin=%d&task_type=%s&is_succession=%d", type, task_type, is_succession);
+        return String.format(Locale.CHINA, "app/release_task?page=1&per_page=100&platform=1&is_hot=0&is_recommend=0&about_to_begin=%d&task_type=%s&is_succession=%d", about_to_begin, task_type, is_succession);
     }
     //获取正在运行的任务(试玩任务、游戏任务、连续任务)
     public static String new_run_task(int is_succession, int show_game_task){