Sfoglia il codice sorgente

修复:无网到有网,主页homeList没有刷新出来 的bug;
用户中心模块先加载缓存,优化加载速度;
屏蔽无用打印

zengjiebin 7 anni fa
parent
commit
5aefe0b2bf

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -1306,8 +1306,8 @@ public interface ApiService {
     /**
      * 用户中心模块获取
      */
-    @GET("app/user_module")
-    Observable<BaseMessage> userModule();
+    @GET(ApiKey.user_module)
+    Observable<BaseMessage> getUserModule();
 
     /**
      * 新手引导

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

@@ -97,7 +97,7 @@ public class LoginPresenter implements LoginContract.Presenter {
             }
             SpUtils.saveToken(SheepApp.getInstance(), loginEty.getToken());
             DataUtil.getInstance().initUserEntity(loginEty.getUser());
-            LogUtil.logI("token--------"+loginEty.getToken());
+//            LogUtil.logI("token--------"+loginEty.getToken());
         }
         view.NetSuccess(1,"登录成功", EntityUtils.getUserCode(loginEty));
         TestUtil.saveUser(loginEty);

+ 5 - 5
app/src/main/java/com/sheep/gamegroup/presenter/PhonePresenter.java

@@ -52,13 +52,13 @@ public class PhonePresenter implements PhoneContract.Presenter {
                     .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                         @Override
                         public void onError(BaseMessage baseMessage) {
-                            LogUtil.logI(new Gson().toJson(baseMessage));
+                            //LogUtil.logI(new Gson().toJson(baseMessage));
                             view.gaptchaFail(baseMessage);
                         }
 
                         @Override
                         public void onNext(BaseMessage baseMessage) {
-                            LogUtil.logI(new Gson().toJson(baseMessage));
+                            //LogUtil.logI(new Gson().toJson(baseMessage));
                             view.returnGaptcha(baseMessage);
 
                         }
@@ -89,20 +89,20 @@ public class PhonePresenter implements PhoneContract.Presenter {
                         public void onError(BaseMessage baseMessage) {
                             isOk = false;
                             view.gaptchaFail(baseMessage);
-                            LogUtil.logE(new Gson().toJson(baseMessage));
+                            //LogUtil.logE(new Gson().toJson(baseMessage));
                         }
 
                         @Override
                         public void onNext(BaseMessage baseMessage) {
                             isOk = true;
                             view.returnGaptcha(baseMessage);
-                            LogUtil.logI(new Gson().toJson(baseMessage));
+                            //LogUtil.logI(new Gson().toJson(baseMessage));
                         }
                     });
         } catch (Exception e) {
             e.printStackTrace();
         }
-        LogUtil.logI("isOk=="+isOk);
+        //LogUtil.logI("isOk=="+isOk);
         return isOk;
 
     }

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

@@ -458,7 +458,6 @@ public class CommonUtil {
     public static final int JUMP_XIAO_MI = 15;//小米游戏列表
     //TODO 这里移动积分兑换的id需要替换
     public static final int JUMP_EXCHANGE_CMCC = 1000025;//移动积分兑换
-    public static final int JUMP_YM = 1000026;//有米积分
     public static final int JUMP_GMAE = 16;//游戏
     public static final int JUMP_FIND_RECOMMEND = 17;//推荐
     public static final int JUMP_WATCH_FOCUS = 18;//看点
@@ -529,7 +528,7 @@ public class CommonUtil {
             case JUMP_EXCHANGE_CMCC://移动积分兑换
                 Jump2View.getInstance().goActExchangeCMCC(context);
                 break;
-            case JUMP_YM://有米积分
+            case IDConstant.JUMP_YM://有米积分
                 Jump2View.getInstance().goYm(activity);
                 break;
             case IDConstant.JUMP_SIGN_SHEEP://签到小绵羊

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

@@ -43,7 +43,7 @@ public class IDConstant {
     public static final int JUMP_TASK_DETAIL = 112;//任务详情: 任务的id
     public static final int JUMP_SIGN_SHEEP = 301;//301:签到
     public static final int JUMP_GUIDE_NEW_USER = 302;//302:新手引导
+    public static final int JUMP_YM = 303;//有米积分
     //TODO 这里移动积分兑换的id需要替换
     public static final int JUMP_EXCHANGE_CMCC = 1000025;//移动积分兑换
-    public static final int JUMP_YM = 1000026;//有米积分
 }

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

@@ -237,7 +237,7 @@ public class ViewUtil {
      * @return , TaskEty对象
      */
     public RobTask getTask(final ImageView ivIcon, final TextView tvTitel, final TextView tvDutyMoney) {
-        LogUtil.logI(SpUtils.getOrder("order") + "开始的order");
+        //LogUtil.logI(SpUtils.getOrder("order") + "开始的order");
 
         CommonUtil.getInstance().robTask(new Action1<RobTask>() {
             @Override

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

@@ -526,7 +526,7 @@ public class ActArticle extends BaseActivity implements Action1<Integer> {
     }
     @Override
     protected void onDestroy() {
-        LogUtil.logI("释放资源");
+//        LogUtil.logI("释放资源");
         EventBus.getDefault().unregister(this);
         taskHelper.destroy();
         webViewVideoHelper.onDestroy();

+ 43 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpUserCenterModule.java

@@ -0,0 +1,43 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.support.annotation.Nullable;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.sheep.gamegroup.util.ActivityManager;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.bean.UserCenterModule;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2018/11/14.
+ * realicing@sina.com
+ * 用户中心模块 adapter
+ */
+public class AdpUserCenterModule extends BaseQuickAdapter<UserCenterModule, BaseViewHolder> {
+
+    public AdpUserCenterModule(@Nullable List<UserCenterModule> data) {
+        super(R.layout.item_my_list_but, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, final UserCenterModule item) {
+        helper.setText(R.id.my_item_text, item.getTitle());
+        ViewUtil.updateTag((TextView) helper.getView(R.id.my_item_tag), item);
+        Glide.with(SheepApp.getInstance()).load(item.getIcon()).into((ImageView) helper.getView(R.id.my_item_img));
+        helper.getView(R.id.my_item_but).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                CommonUtil.getInstance().goNative(ActivityManager.getInstance().currentActivity(), item, "个人中心");
+            }
+        });
+    }
+}

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/adapter/NewbieTaskAdp.java

@@ -151,7 +151,7 @@ public class NewbieTaskAdp extends BaseAdapter {
         UserEntity userEntity = DataUtil.getInstance().getUserEntity();
         if (((userEntity.getNewbie_task_status() & 16) == 0) && userEntity.getIs_new() == 1) {
             EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.FGT_SHEEP_SHOW_NEW_USER_HONG_BAO));
-            LogUtil.logI("sendmessage");
+//            LogUtil.logI("sendmessage");
         }
     }
 

+ 40 - 48
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -16,11 +16,6 @@ import android.widget.LinearLayout;
 import android.widget.PopupWindow;
 import android.widget.TextView;
 
-import com.bumptech.glide.Glide;
-import com.bumptech.glide.request.RequestOptions;
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.chad.library.adapter.base.BaseViewHolder;
-import com.google.gson.Gson;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.model.entity.AgentEntity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -33,24 +28,21 @@ import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.activity.ActMsg;
 import com.sheep.gamegroup.view.activity.PersonalCenterAct;
+import com.sheep.gamegroup.view.adapter.AdpUserCenterModule;
 import com.sheep.gamegroup.view.dialog.DialogShare;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.bean.UserCenterModule;
-import com.sheep.jiuyan.samllsheep.net.Network;
-import com.sheep.jiuyan.samllsheep.net.Scheduler;
-import com.sheep.jiuyan.samllsheep.ui.activity.SignActivity;
 import com.sheep.jiuyan.samllsheep.utils.G;
-import com.trello.rxlifecycle2.android.FragmentEvent;
 
 import org.afinal.simplecache.ACache;
+import org.afinal.simplecache.ApiKey;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -58,8 +50,6 @@ import java.util.Locale;
 
 import butterknife.BindView;
 import butterknife.OnClick;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.functions.Action1;
 import rx.schedulers.Schedulers;
@@ -162,6 +152,7 @@ public class FgtPersonalCenter extends BaseFragment {
         ViewUtil.setVisibility(audit_success_oval, false);
         ViewUtil.setText(audit_failed, getString(R.string.audit_failed, ViewUtil.INDENT));
         ViewUtil.setVisibility(audit_failed_oval, false);
+        initUserModuleItemView();
     }
 
     private void initData() {
@@ -214,33 +205,54 @@ public class FgtPersonalCenter extends BaseFragment {
                     public void onError(BaseMessage baseMessage) {
                     }
                 });
+        initUserModuleItemByACache();
         initUserModuleItem();
     }
 
+
+    //用户中心模块数据
+    private List<UserCenterModule> userCenterModuleList = ListUtil.emptyList();
+    //初始化用户中心模块界面
+    private void initUserModuleItemView() {
+        GridLayoutManager manager = new GridLayoutManager(SheepApp.getInstance(), 4);
+        moduleList.setHasFixedSize(true);
+        moduleList.setNestedScrollingEnabled(false);
+        moduleList.setLayoutManager(manager);
+        moduleList.setAdapter(new AdpUserCenterModule(userCenterModuleList));
+    }
+
+    //通过缓存数据初始化用户中心模块列表
+    private void initUserModuleItemByACache() {
+        List<UserCenterModule> cacheList = DataUtil.getInstance().getCacheList(ApiKey.user_module, UserCenterModule.class);
+        loadUserModuleList(cacheList);
+    }
+
+    //加载用户中心模块数据并刷新、设置显示状态
+    private void loadUserModuleList(List<UserCenterModule> newList) {
+        if (!ListUtil.isEmpty(newList)) {
+            userCenterModuleList.clear();
+            userCenterModuleList.addAll(newList);
+            moduleList.getAdapter().notifyDataSetChanged();
+            ViewUtil.setVisibility(moduleLayout, true);
+        } else {
+            ViewUtil.setVisibility(moduleLayout, !userCenterModuleList.isEmpty());
+        }
+    }
+
     /**
      * 初始化用户中心模块列表
      */
     private void initUserModuleItem() {
-        SheepApp.getInstance().getNetComponent().getApiService().userModule()
+        SheepApp.getInstance().getNetComponent().getApiService().getUserModule()
                         .subscribeOn(Schedulers.io())
                         .observeOn(AndroidSchedulers.mainThread())
                         .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                             @Override
                             public void onNext(BaseMessage baseMessage) {
-                                ArrayList<UserCenterModule> newList = baseMessage.getDataList(UserCenterModule.class);
-                                if (!ListUtil.isEmpty(newList)) {
-                                    moduleLayout.setVisibility(View.VISIBLE);
-                                    GridLayoutManager manager = new GridLayoutManager(getContext(), 4);
-                                    BaseQuickAdapter<UserCenterModule, BaseViewHolder> adapter = new BaseQuickAdapter<UserCenterModule, BaseViewHolder>(R.layout.item_my_list_but, newList) {
-                                        @Override
-                                        protected void convert(BaseViewHolder helper, UserCenterModule item) {
-                                            bindUserCenterModule(helper, item);
-                                        }
-                                    };
-                                    moduleList.setHasFixedSize(true);
-                                    moduleList.setNestedScrollingEnabled(false);
-                                    moduleList.setLayoutManager(manager);
-                                    moduleList.setAdapter(adapter);
+                                boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.user_module);
+                                if (isNewData) {
+                                    ArrayList<UserCenterModule> newList = baseMessage.getDataList(UserCenterModule.class);
+                                    loadUserModuleList(newList);
                                 }
                             }
 
@@ -250,26 +262,6 @@ public class FgtPersonalCenter extends BaseFragment {
                         });
     }
 
-    /**
-     * 绑定数据处理
-     *
-     * @param helper ViewHolder
-     * @param item   数据对象
-     */
-    private void bindUserCenterModule(BaseViewHolder helper, final UserCenterModule item) {
-        if (item.getDisplay() == 1) {
-            helper.setText(R.id.my_item_text, item.getTitle());
-            ViewUtil.updateTag((TextView) helper.getView(R.id.my_item_tag), item);
-            Glide.with(this).load(item.getIcon()).into((ImageView) helper.getView(R.id.my_item_img));
-            helper.getView(R.id.my_item_but).setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    CommonUtil.getInstance().goNative(activity, item, "个人中心");
-                }
-            });
-        }
-    }
-
     private void initUserInfo() {
         CommonUtil.getInstance().callActionWithUserInfo(new Action1<UserEntity>() {
             @Override
@@ -332,7 +324,7 @@ public class FgtPersonalCenter extends BaseFragment {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        LogUtil.logI("0------" + new Gson().toJson(baseMessage));
+//                        LogUtil.logI("0------" + new Gson().toJson(baseMessage));
                         G.showToast(baseMessage.getMsg());
                     }
 

+ 3 - 10
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -373,7 +373,7 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        LogUtil.logI("0------" + new Gson().toJson(baseMessage));
+//                        LogUtil.logI("0------" + new Gson().toJson(baseMessage));
                         G.showToast(baseMessage.getMsg());
                     }
 
@@ -601,10 +601,6 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
         initTitleCardLayout(activity.getApplicationContext());
         TestUtil.testChange(activity, test_change);
         TestUtil.testChangeUser(activity, test_change_user);
-        ymHomeListEty = new HomeListEntity();
-        ymHomeListEty.setTitle("有米积分");
-        ymHomeListEty.setIcon(ViewUtil.getNetImgByName("homepage_xinshourw"));
-        ymHomeListEty.setJump(String.valueOf(CommonUtil.JUMP_YM));
         if (pagePresenter != null) {
             initData();
         }
@@ -613,8 +609,6 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
         isShowRedPackage();
     }
 
-    private HomeListEntity ymHomeListEty;
-
 
     public void initView() {
         try {
@@ -868,7 +862,6 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
         } else {
             home_list_gridview_layout.setVisibility(View.VISIBLE);
             fullHomeList.clear();
-            homeListEntitys.add(ymHomeListEty);
             CommonUtil.getInstance().splitHomeList(cacheHomeListEtyList, homeListEntitys, fullHomeList);
             full_home_list_rv.setVisibility(fullHomeList.isEmpty() ? View.GONE : View.VISIBLE);
             boolean isShowQB = false;
@@ -1246,7 +1239,6 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                 homeListEntitysGridview.clear();
                 homeListEntitysListview.clear();
                 fullHomeList.clear();
-                homeListEntitys.add(ymHomeListEty);
                 CommonUtil.getInstance().splitHomeList(homeListEntityList, homeListEntitys, fullHomeList);
                 full_home_list_rv.setVisibility(fullHomeList.isEmpty() ? View.GONE : View.VISIBLE);
                 boolean isShowQB = false;
@@ -1293,7 +1285,8 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
     @Override
     public void failhomeList(BaseMessage baseMessage) {
         checkAndInitView();
-        home_list_gridview_layout.setVisibility(View.GONE);
+        if(homeListEntitys.isEmpty() && fullHomeList.isEmpty())
+            home_list_gridview_layout.setVisibility(View.GONE);
 
     }
 

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

@@ -48,6 +48,8 @@ public class ApiKey {
     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 final String novice_guidance = "app/user/novice_guidance";
+    //用户中心模块
+    public static final String user_module = "app/user_module";
 
     public static String release_task(int page, int per_page, int about_to_begin, String task_type, int is_succession) {
         task_type = task_type.replaceAll(",", "%2C");