Sfoglia il codice sorgente

游戏详情修改

zengjiebin 8 anni fa
parent
commit
dce39a4e0a

+ 9 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskChild.java

@@ -220,4 +220,13 @@ public class TaskChild implements Serializable {
             return desc;
         }
     }
+
+
+
+
+
+
+    public boolean isOldTask() {
+        return descEntity == null && descEntityList == null;
+    }
 }

+ 16 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -302,4 +302,20 @@ public class TaskEty implements Serializable{
             return desc;
         }
     }
+
+    public boolean isOldTask(){
+        if(task_type == 1000){
+            if(!ListUtil.isEmpty(child)){
+                return child.get(0).isOldTask();
+            }
+        }
+        if(descEntity == null && descEntityList == null){
+            return true;
+        }
+        return false;
+    }
+
+    public boolean isGameTask() {
+        return task_type == 1002 || task_type == 1003;
+    }
 }

+ 130 - 122
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -18,7 +18,6 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.arialyy.annotations.Download;
 import com.arialyy.aria.core.Aria;
@@ -63,7 +62,6 @@ import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.AdpTaskDetailChildListview;
 import com.sheep.gamegroup.view.adapter.TaskdetailSonListviewAdp;
-import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -219,6 +217,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         adpTaskDetailChildListview = new AdpTaskDetailChildListview(taskChildList, activity);
         detail_task_listview.setAdapter(adpTaskDetailChildListview);
         adpTaskDetailChildListview.notifyDataSetChanged();
+        bottom_btn_layout.setVisibility(View.GONE);
     }
 
     @Override
@@ -239,29 +238,6 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         detail_shrae_friend_layout.setVisibility(View.VISIBLE);
 
         taskEty = taskReleaseEty.getTask();
-        if (taskEty.getChild() != null && taskEty.getChild().size() > 0) {
-            taskChildList.clear();
-            taskChildList.addAll(taskEty.getChild());
-        }
-
-        webText.setWebChromeClient(new WebChromeClient() {
-
-        });
-        webText.getSettings().setJavaScriptEnabled(true);
-        webText.setWebViewClient(new WebViewClient() {
-            @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
-            @Override
-            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
-                view.loadDataWithBaseURL(null, request.getUrl().toString(), "text/html", "utf-8", null);
-                return true;
-            }
-        });
-        //封装头文件
-        String sHead = "<html><head><meta name=\"viewport\" content=\"width=device-width, " +
-                "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" +
-                "<style>img{max-width:100% !important;height:auto !important;}</style>"
-                + "<style>body{max-width:100% !important;}</style>" + "</head><body>";
-        webText.loadDataWithBaseURL(null, sHead + taskEty.getDesc() + "</body></html>", "text/html", "utf-8", null);
         nameTv.setText(taskReleaseEty.getName() + "");
         priceTv.setText("+" + taskReleaseEty.getBonus() + "元");
         if(!taskReleaseEty.getDeadline().equals("永久")){
@@ -279,105 +255,69 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 .into(iconIv);
 
 
-        bottom_btn_layout.setVisibility(View.VISIBLE);
-
-        if (taskChildList != null && taskChildList.size() > 0) {
-            detail_task_listview.setVisibility(View.VISIBLE);
-            adpTaskDetailChildListview.notifyDataSetChanged();
-        } else {
-
-            detail_task_listview.setVisibility(View.GONE);
-        }
-
         detailTaskTv.setVisibility(View.GONE);
 
-        if (!taskReleaseEty.isIs_running() || taskEty.getInspect_type() == 1) {
-            btnUpImag.setVisibility(View.GONE);
-        } else {
-            taskEty.setRunTask(1);
-            btnUpImag.setVisibility(View.VISIBLE);
-        }
-        switch (taskEty.getTask_type()) {
-            case 1:
-            case 3:
-            default:
-                if (taskReleaseEty.isIs_running() || game_id > 0) {
-
-                    setBtnStr(taskEty, mDownloadTaskService, new Action1<Object>(){
-                        @Override
-                        public void call(Object o) {
-                            if(o instanceof Integer){
-                                type = (int) o;
-                            } else if( o instanceof String){
-                                btnTaskItem.setText((String) o);
-                            } else if( o instanceof Boolean){
-                                btnTaskItem.setEnabled((Boolean) o);
-                            }
-                        }
-                    });
-                } else {
-                    type = -1;
-                    btnTaskItem.setText("领取任务");
-                }
-                break;
-            case 2:
-                btnTaskItem.setText("信用卡注册");
-                break;
-            case 4:
-                if (taskReleaseEty.isIs_running()) {
+        bottom_btn_layout.setVisibility(View.VISIBLE);
+        btnTaskItem.setVisibility(View.VISIBLE);
+        btnUpImag.setVisibility(View.VISIBLE);
+        if (taskReleaseEty.isIs_running() || game_id > 0) {//已经领取任务
+            switch (taskEty.getTask_type()) {// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务
+                case 4://h5业务
                     type = 10;
-                    btnTaskItem.setText("开始任务");
-                } else {
-                    type = -1;
-                    btnTaskItem.setText("领取任务");
-                }
-                break;
-
-        }
-        if(taskEty.hasChildInReview()){//只要有一个子任务在审核中,就不能进行其它操作
-            btnTaskItem.setEnabled(false);
-            btnTaskItem.setText("审核中");
-        }
-        if(taskEty.getInspect_type() == 3 ||taskEty.getTask_type() == 1002 ||taskEty.getTask_type() == 1003){//应用自动审核任务
-            btnUpImag.setText("领取奖励");
-//            type =100;
-        }
-        if(taskEty.getTask_type() == 1002 ||taskEty.getTask_type() == 1003){
-            btnTaskItem.setVisibility(View.GONE);
-            //奖励领取是否
-            if((gettaskAcceptedEty != null && gettaskAcceptedEty.getStatus() == 3) || game_type == 1){
-                btnUpImag.setText(CommonUtil.GAME_RECHAGE);
-                if (type == DownloadTaskService.STATUS_INSTALLED) {
-                    btnUpImag.setVisibility(View.VISIBLE);
-                    type = 101;
-                } else {
-                    boolean isExistApk = !TextUtils.isEmpty(PackageUtil.isExistsFile(taskEty.getPackage_names()));
-                    btnUpImag.setVisibility(View.GONE);
-                    btnTaskItem.setVisibility(View.VISIBLE);
-                    btnTaskItem.setText(isExistApk ? CommonUtil.GAME_INSTALL : CommonUtil.GAME_DOWNLOAD);
-                }
+                    btnTaskItem.setText(CommonUtil.START_TASK);
+                    break;
+                case 1002:
+                case 1003:
+                    if(game_type == 1){
+                        boolean isInstalled = PackageUtil.isAppInstalled(SheepApp.getInstance(), taskEty.getPackage_names());
+                        boolean isExistApk = !TextUtils.isEmpty(PackageUtil.isExistsFile(taskEty.getPackage_names()));
+                        if (isInstalled) {
+                            btnUpImag.setText(CommonUtil.GAME_RECHAGE);
+                            btnTaskItem.setText("启动游戏");
+                            type = DownloadTaskService.STATUS_INSTALLED;
+                        } else {
+                            type = isExistApk ? DownloadTaskService.STATUS_FINISH : DownloadTaskService.STATUS_INIT;
+                            btnUpImag.setVisibility(View.GONE);
+                            btnTaskItem.setText(isExistApk ? CommonUtil.GAME_INSTALL : CommonUtil.GAME_DOWNLOAD);
+                        }
+                    } else {
+                        boolean isInstalled = PackageUtil.isAppInstalled(SheepApp.getInstance(), taskEty.getPackage_names());
+                        boolean isExistApk = !TextUtils.isEmpty(PackageUtil.isExistsFile(taskEty.getPackage_names()));
+                        if (isInstalled) {
+                            btnTaskItem.setVisibility(View.GONE);
+                            btnUpImag.setText("领取奖励");
+                        } else {
+                            type = isExistApk ? DownloadTaskService.STATUS_FINISH : DownloadTaskService.STATUS_INIT;
+                            btnUpImag.setVisibility(View.GONE);
+                            btnTaskItem.setText(isExistApk ? CommonUtil.GAME_INSTALL : CommonUtil.GAME_DOWNLOAD);
+                        }
+                    }
+                    break;
+                case 2:
+                case 1001:
+                    break;
+                default:
+                    setBottomState();
+                    break;
             }
+        } else {
+            type = -1;
+            btnTaskItem.setText(CommonUtil.GET_TASK);
+            btnUpImag.setVisibility(View.GONE);
         }
-
-//        taskSchedule();
         //2.6修改
         if(btn_show)
             bottom_btn_layout.setVisibility(View.GONE);
-        setSonVuewShow();
 
+        setSonVuewShow();
 
+        loadOld();
 
         //任务已经下线
         if(taskReleaseEty.getStatus() == 3 || taskReleaseEty.getStatus() == 4){
             bottom_btn_layout.setVisibility(View.GONE);
         }
 
-        //h5
-        if(type == 10){
-            btnUpImag.setVisibility(View.VISIBLE);
-            btnUpImag.setText("上传截图");
-        }
-
         //自动审核
         if(taskEty.getInspect_type() == 3){
 
@@ -386,7 +326,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             taskdetail_explain_layout.setVisibility(View.GONE);
         }
 
-        if(!CommonUtil.GAME_RECHAGE.equals(btnUpImag.getText().toString()) && gettaskAcceptedEty != null){// && taskEty.getTask_type() == 1000) {//连续任务
+        if(gettaskAcceptedEty != null){// && taskEty.getTask_type() == 1000) {//连续任务
             if(!TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots())) {
 //                detailTaskTv.setVisibility(View.VISIBLE);//不显示截图
             }
@@ -406,7 +346,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     bottom_btn_layout.setVisibility(View.GONE);
                     break;
                 case 3://完成任务
-                    bottom_btn_layout.setVisibility(View.GONE);
+                    if(game_type != 1)
+                        bottom_btn_layout.setVisibility(View.GONE);
                     break;
                 case 8://任务已经下线
                     if(TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots()) || gettaskAcceptedEty.getLower_num() > 0){//没有提交过截图或者已经提交过一次 下线失败后提交
@@ -421,6 +362,75 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             }
         }
     }
+    //设置底部按钮状态
+    private void setBottomState() {
+        taskEty.setRunTask(1);
+        setBtnStr(taskEty, mDownloadTaskService, new Action1<Object>(){
+            @Override
+            public void call(Object o) {
+                if(o instanceof Integer){
+                    type = (int) o;
+                } else if( o instanceof String){
+                    btnTaskItem.setText((String) o);
+                } else if( o instanceof Boolean){
+                    btnTaskItem.setEnabled((Boolean) o);
+                }
+            }
+        });
+        switch (taskEty.getInspect_type()){// 1自动审核 2手动审核 3,应用自动审核
+            case 1:
+                btnUpImag.setVisibility(View.GONE);
+                break;
+            case 2:
+                if(taskEty.hasChildInReview()){//只要有一个子任务在审核中,就不能进行其它操作
+                    btnTaskItem.setEnabled(false);
+                    btnTaskItem.setText("审核中");
+                }
+                if(type == DownloadTaskService.STATUS_INIT)
+                    btnUpImag.setVisibility(View.GONE);
+                break;
+            case 3:
+                btnUpImag.setText("领取奖励");
+                break;
+        }
+    }
+
+    private void loadOld() {
+        if(taskEty.isOldTask()){
+            detail_item_layout_2.setVisibility(View.VISIBLE);
+            detail_item_layout_3.setVisibility(View.VISIBLE);
+            detail_task_listview.setVisibility(View.VISIBLE);
+
+            if (taskEty.getChild() != null && taskEty.getChild().size() > 0) {
+                taskChildList.clear();
+                taskChildList.addAll(taskEty.getChild());
+            }
+
+            webText.setWebChromeClient(new WebChromeClient() {
+
+            });
+            webText.getSettings().setJavaScriptEnabled(true);
+            webText.setWebViewClient(new WebViewClient() {
+                @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
+                @Override
+                public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
+                    view.loadDataWithBaseURL(null, request.getUrl().toString(), "text/html", "utf-8", null);
+                    return true;
+                }
+            });
+            ViewUtil.loadDataWithBaseURL(webText, taskEty.getDesc());
+
+            if (taskChildList != null && taskChildList.size() > 0) {
+                detail_task_listview.setVisibility(View.VISIBLE);
+                adpTaskDetailChildListview.notifyDataSetChanged();
+            } else {
+
+                detail_task_listview.setVisibility(View.GONE);
+            }
+            taskSchedule();
+        }
+
+    }
 
     public static void setBtnStr(TaskEty taskEty, DownloadTaskService mDownloadTaskService, Action1<Object> action1) {
         boolean isInstalled = PackageUtil.isAppInstalled(SheepApp.getInstance(), taskEty.getPackage_names());
@@ -429,10 +439,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         action1.call(true);
         if (isInstalled) {
             action1.call(DownloadTaskService.STATUS_INSTALLED);
-            if (taskEty.getTask_type() != 3) {
-                buttonStr = CommonUtil.START_PLAY;
-            } else {//应用
+            if (taskEty.getTask_type() == 3) {//应用
                 buttonStr = CommonUtil.OPEN_APPLY;
+            } else {
+                buttonStr = CommonUtil.START_PLAY;
             }
         } else {
             action1.call(DownloadTaskService.STATUS_INIT);
@@ -558,16 +568,14 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     }
                     break;
                 case R.id.btn_up_imag:
-                    if(type == 101){
+                    if(game_type == 1){
                         if(game_id > 0){
                             ViewUtil.showGamePayAccount(activity, game_id);
                             return;
                         }
-                    }else
-                    if(taskEty.getTask_type() == 1002 ||taskEty.getTask_type() == 1003){
+                    }else if(taskEty.getTask_type() == 1002 ||taskEty.getTask_type() == 1003){
                         accepteReceiveAward();
-                    }else
-                    if(taskEty.getInspect_type() == 3) {//应用自动审核任务
+                    }else if(taskEty.getInspect_type() == 3) {//应用自动审核任务
                         try {
                             checkAndCommitTask();
                         } catch (Exception e) {
@@ -666,7 +674,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         if (taskEty != null) {
             int thisRun = taskEty.getRunTask();
             if (thisRun == 1) {//接受了任务
-                llInfos.addView(getStep("领取任务", "已完成", 0));
+                llInfos.addView(getStep(CommonUtil.GET_TASK, "已完成", 0));
                 if (taskEty.getTask_type() == 2) {//信用卡
                     llInfos.addView(getStep("信用卡注册", "待完成", 0));
                 } else if (PackageUtil.isAppInstalled(SheepApp.mContext, taskEty.getPackage_names())) {
@@ -677,10 +685,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     llInfos.addView(getStep("APP下载", "待完成", 2));
                 }
             } else {
-                llInfos.addView(getStep("领取任务", "待完成", 2));
+                llInfos.addView(getStep(CommonUtil.GET_TASK, "待完成", 2));
             }
         } else {
-            llInfos.addView(getStep("领取任务", "待完成", 2));
+            llInfos.addView(getStep(CommonUtil.GET_TASK, "待完成", 2));
         }
     }
 
@@ -734,7 +742,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     public void taskDescSuccess(BaseMessage baseMessage) {
         hideProgress();
         empty_view.setVisibility(View.GONE);
-        taskReleaseEty = JSONObject.parseObject(JSONObject.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
+        taskReleaseEty = baseMessage.getData(TaskReleaseEty.class);
         initWigget();
         isGetTaskDesc = false;
     }