Browse Source

会长推广的游戏逻辑修改

zengjiebin 7 years ago
parent
commit
b01adbbfcb

+ 51 - 34
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogGameOrTaskOrGift.java

@@ -225,36 +225,7 @@ public class DialogGameOrTaskOrGift {
 
     private void initData() {
         if (commendApp != null && commendApp.needChange()) {
-            //显示换个频道去赚钱
-            ViewUtil.setVisibility(dialog_iv_2, true);//显示换个频道去赚钱图标
-            ViewUtil.setVisibility(dialog_tip, true);//显示文字【当前现金任务剩余%s元】
-            ViewUtil.setVisibility(dialog_iv, false);//隐藏应用图标
-            ViewUtil.setVisibility(dialog_btn_left, false);//隐藏应用图标
-            ViewUtil.setVisibility(dialog_btn_center, false);//隐藏应用图标
-            ViewUtil.setVisibility(dialog_name_tv, false);//隐藏应用名字
-            ViewUtil.setVisibility2(dialog_amount_container, false);//不显示礼包和现金的父控件
-            ViewUtil.setVisibility2(dialog_gift_code_tv, false);//不显示礼包码
-            ViewUtil.setVisibility2(dialog_gift_info_tv, false);//不显示礼包详情
-            CashAwarsEntity cashAwarsEntity = DataUtil.getInstance().getCacheResult(ApiKey.CAN_RECEIVE_AWARD, CashAwarsEntity.class);
-            ViewUtil.setText(dialog_tip, activity.getString(R.string.cur_xian_jin_amount, cashAwarsEntity == null ? "0" : NumberFormatUtils.retainMost2(cashAwarsEntity.getCash())));
-            dialog_btn_right.setText("立即去赚钱");
-            dialog_btn_right.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    mAlertDialog.dismiss();
-                    CommonUtil.getInstance().robTask(new Action1<RobTask>() {
-                        @Override
-                        public void call(RobTask robTask) {
-                            if (robTask != null) {
-                                SheepApp.getInstance().setOrder(robTask.getOrder());
-                                ViewUtil.newInstance().showRobDutyDialog(activity, robTask);
-                            } else {
-                                G.showToast("任务已被抢光!请实时关注任务发布!");
-                            }
-                        }
-                    });
-                }
-            });
+            showChange();
         } else if(commendApp != null && commendApp.hasNextShow()){
             loadData();
         } else {
@@ -264,16 +235,62 @@ public class DialogGameOrTaskOrGift {
                     .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                         @Override
                         public void onNext(BaseMessage baseMessage) {
-                            commendApp = baseMessage.getData(CommendApp.class);
-                            loadData();
+                            CommendApp newCommendApp = baseMessage.getData(CommendApp.class);
+                            if(newCommendApp == null){
+                                onError(baseMessage);
+                            } else {
+                                commendApp = newCommendApp;
+                                loadData();
+                            }
                         }
 
                         @Override
                         public void onError(BaseMessage baseMessage) {
-                            resetView();
-                            G.showToast(baseMessage);
+                            if(commendApp == null){//没有获取到过commendApp的情况下,直接弹出抢任务弹出框
+                                showTaskDialog();
+                            } else {
+                                showChange();
+                            }
                         }
                     });
         }
     }
+
+    //显示换个频道去赚钱
+    private void showChange() {
+        ViewUtil.setVisibility(dialog_iv_2, true);//显示换个频道去赚钱图标
+        ViewUtil.setVisibility(dialog_tip, true);//显示文字【当前现金任务剩余%s元】
+        ViewUtil.setVisibility(dialog_iv, false);//隐藏应用图标
+        ViewUtil.setVisibility(dialog_btn_left, false);//隐藏应用图标
+        ViewUtil.setVisibility(dialog_btn_center, false);//隐藏应用图标
+        ViewUtil.setVisibility(dialog_name_tv, false);//隐藏应用名字
+        ViewUtil.setVisibility2(dialog_amount_container, false);//不显示礼包和现金的父控件
+        ViewUtil.setVisibility2(dialog_gift_code_tv, false);//不显示礼包码
+        ViewUtil.setVisibility2(dialog_gift_info_tv, false);//不显示礼包详情
+        CashAwarsEntity cashAwarsEntity = DataUtil.getInstance().getCacheResult(ApiKey.CAN_RECEIVE_AWARD, CashAwarsEntity.class);
+        ViewUtil.setText(dialog_tip, activity.getString(R.string.cur_xian_jin_amount, cashAwarsEntity == null ? "0" : NumberFormatUtils.retainMost2(cashAwarsEntity.getCash())));
+        dialog_btn_right.setText("立即去赚钱");
+        dialog_btn_right.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mAlertDialog.dismiss();
+                showTaskDialog();
+            }
+        });
+    }
+
+    //显示抢任务弹出框
+    private void showTaskDialog() {
+        CommonUtil.getInstance().robTask(new Action1<RobTask>() {
+            @Override
+            public void call(RobTask robTask) {
+                if (robTask != null) {
+                    SheepApp.getInstance().setOrder(robTask.getOrder());
+                    ViewUtil.newInstance().showRobDutyDialog(activity, robTask);
+                } else {
+                    G.showToast("任务已被抢光!请实时关注任务发布!");
+                }
+            }
+        });
+    }
 }