Selaa lähdekoodia

修复定向奖励完成后显示倒计时的问题;
不显示新春皮肤;
修改小红点显示逻辑;

zengjiebin 7 vuotta sitten
vanhempi
commit
804a74831f

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/skin/util/SkinUtil.java

@@ -132,7 +132,7 @@ public class SkinUtil {
     }
 
     private static boolean isNewYear(int year, int month, int day) {
-        return year == 2019 && month < 4 ;//&& day < 20 && day < 3;
+        return false;//year == 2019 && month < 4 ;//&& day < 20 && day < 3;
     }
 
     public static String getSkinPath(String skinName) {

+ 26 - 0
app/src/main/java/com/sheep/gamegroup/util/DataUtil.java

@@ -13,6 +13,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.ScreenShotConfig;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
@@ -583,6 +584,31 @@ public class DataUtil {
         return intent.putExtra(key, JSONObject.toJSONString(t));
     }
 
+    public static final String KEY_HAS_READ_AATI_LIST = "hasReadAppointAcceptedTaskIdList";
+    public static final String KEY_NOT_READ_AATI_LIST = "notReadAppointAcceptedTaskIdList";
+    //检查是否有未读取的列表
+    public boolean checkAppointList(List<TaskAcceptedEty> list) {
+        List<String> idList = JSON.parseArray(DataUtil.getAsString(KEY_HAS_READ_AATI_LIST, "[]"), String.class);
+        List<String> notReadIdList = JSON.parseArray(DataUtil.getAsString(KEY_NOT_READ_AATI_LIST, "[]"), String.class);
+        ListUtil.findIList(list, item -> {
+            boolean result = item != null && item.getRelease_task() != null && item.getRelease_task().isAppointTask() && item.isFinish() && !idList.isEmpty() && !idList.contains(String.valueOf(item.getId()));//是定向奖励,且可以兑换,且已经忽略的列表不包含它
+            if(result) {
+                notReadIdList.add(String.valueOf(item.getId()));
+            }
+            return result;
+        });
+        DataUtil.putAsString(KEY_NOT_READ_AATI_LIST, JSON.toJSONString(notReadIdList));
+        return !notReadIdList.isEmpty();//未读的不为空就显示红点
+    }
+    //将未读取的列表添加到已经读取的列表
+    public void readAppointList() {
+        List<String> idList = JSON.parseArray(DataUtil.getAsString(KEY_HAS_READ_AATI_LIST, "[]"), String.class);
+        List<String> notReadIdList = JSON.parseArray(DataUtil.getAsString(KEY_NOT_READ_AATI_LIST, "[]"), String.class);
+        ListUtil.addAll(idList, notReadIdList);
+        DataUtil.putAsString(KEY_HAS_READ_AATI_LIST, JSON.toJSONString(idList));
+        DataUtil.putAsString(KEY_NOT_READ_AATI_LIST, "[]");
+    }
+
 
     //-----------------------------------------数据转换部分-----------------------------------------------------结束
 }

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

@@ -51,6 +51,7 @@ import com.sheep.gamegroup.model.entity.WebParams;
 import com.sheep.gamegroup.model.entity.WebviewEntity;
 import com.sheep.gamegroup.model.entity.XianWanEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.model.util.ShowRedDot;
 import com.sheep.gamegroup.module.find.activity.ActMediaChoose;
 import com.sheep.gamegroup.module.game.activity.ActDownloadManager;
 import com.sheep.gamegroup.module.game.activity.ActGameCenterType;
@@ -181,6 +182,7 @@ import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
 import org.afinal.simplecache.DataKey;
+import org.greenrobot.eventbus.EventBus;
 import org.xutils.ex.DbException;
 
 import java.io.File;
@@ -2937,11 +2939,20 @@ public class Jump2View {
         WebParams webParams = new WebParams(Config.getUrlByPath(Config.PATH_NEW_SPRING_ACTIVITIES), "新春活动");
         Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), webParams);
     }
+
+    public void goAppointTaskList() {
+        goAppointTaskList(false);
+    }
     /**
      * 小绵羊3.5.2新增 -- 跳转 定向奖励 界面
+     * @param isFromActMyMoney 是否是从我的资产中的定向奖励点击进入
      */
-    public void goAppointTaskList() {
+    public void goAppointTaskList(boolean isFromActMyMoney) {
         WebParams webParams = new WebParams(Config.getUrlByPath(Config.PATH_APPOINT_TASK_LIST), "定向奖励");
         Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), webParams);
+        if(isFromActMyMoney) {
+            DataUtil.getInstance().readAppointList();
+            EventBus.getDefault().post(new ShowRedDot(ShowRedDot.WHERE_PERSONAL_CENTER).setShow(false));
+        }
     }
 }

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/util/ListUtil.java

@@ -37,6 +37,16 @@ public class ListUtil {
             }
         return null;
     }
+    public static <T> List<T> findIList(List<T> list, CallBack<T, Boolean> action1) {
+        List<T> findList = new ArrayList<>();
+        if(list != null)
+            for (T t : list) {
+                if(action1.call(t)){
+                    findList.add(t);
+                }
+            }
+        return findList;
+    }
 
     public static <T> T getItem(List<T> list, int index) {
         return hasIndex(list, index) ? list.get(index) : null;

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

@@ -254,7 +254,7 @@ public class ActMyMoney extends BaseActivity {
                 break;
             case R.id.my_money_appoint_task_amount://定向奖励
             case R.id.my_money_appoint_task_tag://定向奖励
-                Jump2View.getInstance().goAppointTaskList();
+                Jump2View.getInstance().goAppointTaskList(true);
                 break;
             case R.id.my_money_dingxiang_amount_iv://定向货币详情
             case R.id.my_money_dingxiang_amount://定向货币详情

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

@@ -245,7 +245,7 @@ public class NewYearActMyMoney extends BaseActivity {
                 break;
             case R.id.my_money_appoint_task_amount://定向奖励
             case R.id.my_money_appoint_task_tag://定向奖励
-                Jump2View.getInstance().goAppointTaskList();
+                Jump2View.getInstance().goAppointTaskList(true);
                 break;
             case R.id.my_money_dingxiang_amount_iv://定向货币详情
             case R.id.my_money_dingxiang_amount://定向货币详情

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

@@ -629,7 +629,15 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     private void setOtherTaskBtnState() {
         switch (taskEty.getInspect_type()) {// 1自动审核 2手动审核 3,应用自动审核
             case INSPECT_TYPE_SDK:
-                btnUpImag.setText("确认完成");//第二按钮不可点击且显示状态(sdk自动审核直接领取奖励)
+                switch (type) {
+                    case DownloadUtil.STATUS_INIT:
+                    case DownloadUtil.STATUS_FINISH:
+                        btnUpImag.setVisibility(View.GONE);
+                        break;
+                    default:
+                        btnUpImag.setText("确认完成");//第二按钮不可点击且显示状态(sdk自动审核直接领取奖励)
+                        break;
+                }
                 break;
             case INSPECT_TYPE_PERSION:
                 switch (type) {

+ 4 - 4
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java

@@ -753,9 +753,7 @@ public class TryMakeMoneyAdp extends AdbCommonRecycler<RecyleObj> {
                 TextView detail_task_tv = viewHolder.itemView.findViewById(R.id.detail_task_tv);
                 if(taskReleaseEty.isAppointTask() && taskAcceptedEty.isFinish()){//定向任务已经有结果
                     ViewUtil.setText(detail_task_tv, "去兑换");
-                    ViewUtil.setOnClickListener(detail_task_tv, v -> {
-                        Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), "", "");
-                    });
+                    ViewUtil.setOnClickListener(detail_task_tv, v -> Jump2View.getInstance().goAppointTaskList());
                 } else {
                     ViewUtil.setTextId(detail_task_tv, R.string.cancel);
                     ViewUtil.setOnClickListener(detail_task_tv, v -> {
@@ -789,7 +787,9 @@ public class TryMakeMoneyAdp extends AdbCommonRecycler<RecyleObj> {
                   倒计时
                  */
                 final TextView countdown_tv = viewHolder.itemView.findViewById(R.id.end_of_time_tv);
-                if (taskAcceptedEty.getEnd_time() > 0) {
+                if (taskReleaseEty.isAppointTask() && taskAcceptedEty.isFinish()) {
+                    countdown_tv.setVisibility(View.GONE);
+                } else if (taskAcceptedEty.getEnd_time() > 0) {
                     SelfCountDownTimer scTimer = timerHashMap.get(countdown_tv);
                     if (scTimer != null) {
                         scTimer.cancel();

+ 1 - 4
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -1039,10 +1039,7 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
             BaseMessage baseMessage = (BaseMessage) object;
             allTaskAcceptedTaskList = baseMessage.getDataList(TaskAcceptedEty.class);
             CommonUtil.getInstance().reloadAutoTaskList(allTaskAcceptedTaskList);
-            TaskAcceptedEty findItem = ListUtil.findItem(allTaskAcceptedTaskList, taskAcceptedEty -> taskAcceptedEty != null && taskAcceptedEty.getRelease_task() != null && taskAcceptedEty.getRelease_task().isAppointTask());
-            if(findItem != null){
-                EventBus.getDefault().post(new ShowRedDot(ShowRedDot.WHERE_PERSONAL_CENTER).setShow(true));
-            }
+            EventBus.getDefault().post(new ShowRedDot(ShowRedDot.WHERE_PERSONAL_CENTER).setShow(DataUtil.getInstance().checkAppointList(allTaskAcceptedTaskList)));
 //        } else {
 //            allTaskAcceptedTaskList.clear();
 //        }

+ 1 - 1
app/src/main/res/layout/act_my_money.xml

@@ -3,6 +3,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/white_light"
     xmlns:tools="http://schemas.android.com/tools"
     tools:context="com.sheep.gamegroup.view.activity.ActMyMoney">
 
@@ -23,7 +24,6 @@
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                android:background="@color/white_light"
                 android:focusable="true"
                 android:focusableInTouchMode="true"
                 android:orientation="vertical">