Selaa lähdekoodia

重新修改任务详情中底部按钮显示与操作逻辑

zengjiebin 7 vuotta sitten
vanhempi
commit
bd70a0435e

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

@@ -124,6 +124,8 @@ public class CommonUtil {
     public static String GAME_DOWNLOAD = "下载游戏";
     public static String GAME_INSTALL = "安装游戏";
     public static String GAME_OPEN = "开始试玩";
+    public static String GAME_RESERVATION = "预约游戏";
+    public static String TASK_OFFLINE = "任务已下线";
     private static CommonUtil commonUtil;
 
     public static CommonUtil getInstance() {

+ 272 - 274
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -58,7 +58,6 @@ import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.LocationUtils;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.SelfCountDownTimer;
@@ -191,15 +190,12 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
     private int releaseTaskId = -1;
 
-    private int type;//-1:开始任务 1:下载 2:安装 3:打开  10:打开H5,101:充值  100:领取奖励
+    private int type;
 
 
     private AdpTaskDetailChildListview adpTaskDetailChildListview;
     private List<TaskChild> taskChildList = new ArrayList<>();
 
-    //2.6
-    private boolean btn_show;//true:不显示按钮
-
     //是否需要在onResume中刷新页面
     private boolean isFresh = false;
 
@@ -213,7 +209,6 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     @Override
     public void initView() {
         activity = this;
-        btn_show = getIntent().getBooleanExtra("btn_show", false);
         isFromTaskList = getIntent().getBooleanExtra("is_from_task_list", false);
         releaseTaskId = getIntent().getIntExtra("task_id", -1);
         DaggerTaskDetailComponent.builder()
@@ -258,7 +253,6 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         detail_shrae_friend_layout.setVisibility(View.VISIBLE);
 
         taskEty = taskReleaseEty.getTask();
-        LogUtil.logI("taskType----->" + taskEty.getInspect_type());
         nameTv.setText(taskReleaseEty.getName() + "");
         priceTv.setText("+" + taskReleaseEty.getBonus() + "元");
         if (!taskReleaseEty.getDeadline().equals("永久")) {
@@ -307,70 +301,91 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         }
         updateBottom();
     }
-
+    private static final int TASK_TYPE_INIT = -1;//初始化状态,可能是未领取,如果不是请让第一按钮处于不可见或者不可操作状态
+    private static final int TASK_TYPE_H5 = 10;//h5任务标志
+    private static final int TASK_TYPE_RESERVATION = 11;//游戏任务中还不可以下载任务(预约任务)-->预约游戏
+    /**
+     * 用户操作按钮状态与文字设置
+     */
     private void updateBottom() {
+        type = TASK_TYPE_INIT;
+        //先复原按钮状态
         bottom_btn_layout.setVisibility(View.VISIBLE);
         btnTaskItem.setVisibility(View.VISIBLE);
+        btnTaskItem.setEnabled(true);
         btnUpImag.setVisibility(View.VISIBLE);
-        if (gettaskAcceptedEty != null && (gettaskAcceptedEty.isIs_running() || gettaskAcceptedEty.getStatus() == 3)) {//已经领取任务
+        btnUpImag.setEnabled(true);
+        //判断任务是否下线
+        if (taskReleaseEty.isOffline()) {//任务已经下线
+            btnUpImag.setVisibility(View.GONE);//不显示第二按钮
             switch (taskEty.getTask_type()) {// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1004 小米游戏任务
                 case 4://h5业务
-                    type = 10;
-                    btnTaskItem.setText(CommonUtil.START_TASK);
+                    btnTaskItem.setText(CommonUtil.TASK_OFFLINE);
+                    btnTaskItem.setEnabled(false);
                     break;
                 case 2:
-                case 1001:
-                    break;
-                default:
+                case 1001://信用卡与畅思任务不考虑
+                    bottom_btn_layout.setVisibility(View.GONE);
                     break;
-            }
-        } else if (taskEty.isGameReservationCantDownload()) {//游戏任务中还不可以下载的预约任务
-            btnUpImag.setText("预约下载");
-            btnTaskItem.setVisibility(View.GONE);
-            btnUpImag.setVisibility(View.VISIBLE);
-        } else {
-            type = -1;
-            btnTaskItem.setText(CommonUtil.GET_TASK);
-            btnUpImag.setVisibility(View.GONE);
-        }
-        //2.6修改
-        if (btn_show)
-            bottom_btn_layout.setVisibility(View.GONE);
-
-        //任务已经下线
-        if (taskReleaseEty.getStatus() == 3 || taskReleaseEty.getStatus() == 4) {
-            bottom_btn_layout.setVisibility(View.GONE);
-        }
-
-        switch (taskEty.getTask_type()) {
-            case 1000://连续任务
-                if (taskEty.isAppAutoCommitTask()) {
-                    setBottomState2();
-                    setBottomState();
-                } else {//非应用自动审核的连续任务
-                    setSuccessionTaskBottomState();
-                }
-                break;
-            default:
-                setBottomState2();
-                break;
-        }
-        if (gettaskAcceptedEty != null){//只要有任务记录就获取下载状态
-            switch (taskEty.getTask_type()) {// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1004 小米游戏任务
-                case 4://h5业务
-                case 2:
-                case 1001:
                 case 1000://连续任务
+                    setFirstBtnState();
                     break;
-                default://只要有任务记录就获取下载状态
-                    setBottomState();
+                case 1002:
+                case 1003:
+                case 1004://游戏任务
+                    setFirstBtnState();
+                    break;
+                default://试玩任务直接设置下载状态
+                    setFirstBtnState();
+                    if (type == DownloadTaskService.STATUS_INSTALLED && gettaskAcceptedEty != null) {//已经安装并且有任务记录的情况下
+                        if (TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots()) || gettaskAcceptedEty.getLower_num() > 0) {//没有提交过截图或者已经提交过一次 下线失败后提交
+                        } else {//提交过一次,但是审核失败或者没有审核就下线了
+                            String sr = "重新提交(<font color='#e2271d'><big>最后一次机会</big></font>)";
+                            btnUpImag.setText(Html.fromHtml(sr));
+                            btnUpImag.setVisibility(View.VISIBLE);
+                            btnTaskItem.setVisibility(View.GONE);
+                        }
+                    }
                     break;
             }
+        } else {//任务未下线
+            if(gettaskAcceptedEty == null) {//无任务记录-->显示领取任务按钮
+                btnUpImag.setVisibility(View.GONE);//不显示第二按钮
+                btnTaskItem.setText(CommonUtil.GET_TASK);
+            } else {//有任务记录
+                switch (taskEty.getTask_type()) {// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务 1004 小米游戏任务
+                    case 4://h5业务
+                        type = TASK_TYPE_H5;
+                        btnTaskItem.setText(CommonUtil.START_TASK);
+                        break;
+                    case 2:
+                    case 1001://信用卡与畅思任务不考虑
+                        bottom_btn_layout.setVisibility(View.GONE);
+                        break;
+                    case 1002:
+                    case 1003:
+                    case 1004://游戏任务
+                        if(taskEty.isGameReservationCantDownload()) {//游戏任务中还不可以下载任务(预约任务)-->预约游戏
+                            type = TASK_TYPE_RESERVATION;
+                            btnTaskItem.setText(CommonUtil.GAME_RESERVATION);
+                            btnUpImag.setVisibility(View.GONE);//不显示第二按钮
+                        } else {//游戏任务中可以下载的预约任务
+                            setFirstBtnState();
+                            setGameTaskFirstBtnState();
+                        }
+                        break;
+                    default://其它任务先设置下载状态
+                        setFirstBtnState();
+                        setOtherTaskBtnState();
+                        break;
+                }
+            }
         }
     }
 
     /**
-     * 设置非自动审核的连续任务底部按钮的状态
+     * 设置非自动审核的连续任务底部按钮的状态(任务未下线且有任务记录且已经安装游戏)
+     * 注:前提是gettaskAcceptedEty不为空哦
      */
     private void setSuccessionTaskBottomState() {
         int failChildPosition = taskEty.getFailChildPosition();//获取第一个审核失败子任务的位置
@@ -378,132 +393,94 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         boolean hasChildRunning = taskEty.hasChildRunning();//有子任务正在进行
         boolean hasChildCanAccepted = taskEty.hasChildCanAccepted();//有子任务处于可领取状态
 
-        if (!hasChildFail && !hasChildRunning && hasChildCanAccepted) {//没有审核失败的子任务和正在进行的子任务且有子任务处于可领取状态
-            bottom_btn_layout.setVisibility(View.VISIBLE);
-            btnTaskItem.setVisibility(View.VISIBLE);
-            btnUpImag.setVisibility(View.GONE);
-            btnTaskItem.setEnabled(true);
-            btnTaskItem.setText("领取任务");
-        } else if (hasChildRunning) {//有子任务正在进行
-            bottom_btn_layout.setVisibility(View.VISIBLE);
-            btnTaskItem.setVisibility(View.VISIBLE);
-            btnUpImag.setVisibility(View.VISIBLE);
-            btnTaskItem.setEnabled(true);
-            btnTaskItem.setText(CommonUtil.START_PLAY);
-            btnUpImag.setEnabled(true);
-            btnUpImag.setText("上传截图");
-
-            setBottomState();
-        } else if (hasChildFail) {
-            bottom_btn_layout.setVisibility(View.VISIBLE);
-            btnTaskItem.setVisibility(View.VISIBLE);
-            btnUpImag.setVisibility(View.VISIBLE);
-            btnTaskItem.setEnabled(true);
-            btnTaskItem.setText(CommonUtil.START_PLAY);
-
-            setBottomState();
-        } else {
-            setBottomState2();
-        }
         if (hasChildFail) {
             btnUpImag.setText(String.format(Locale.CHINA, "重新上传截图(第%d天)", failChildPosition + 1));
+        } else if (hasChildRunning) {//有子任务正在进行
+            btnUpImag.setText("上传截图");
+        } else if (hasChildCanAccepted) {//有子任务处于可领取状态
+            btnUpImag.setVisibility(View.GONE);
+            btnTaskItem.setText(CommonUtil.GET_TASK);//可以领取子任务
+            type = TASK_TYPE_INIT;
+        } else {//不能上传截图则不显示第二按钮
+            btnUpImag.setVisibility(View.GONE);
         }
     }
 
     /**
-     * 根据TaskAcceptedEty中的status来设置底部两个按钮的状态
+     * 设置连续任务与试玩任务两个按钮状态(任务未下线且有任务记录)
+     * 注:前提是gettaskAcceptedEty不为空哦
      */
-    private void setBottomState2() {
-        if (gettaskAcceptedEty != null) {// && taskEty.getTask_type() == 1000) {//连续任务
-            if (!TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots())) {
-                //                detailTaskTv.setVisibility(View.VISIBLE);//不显示截图
-            }
-            switch (gettaskAcceptedEty.getStatus()) {
-                case 1://"已接受任务";
-                case 2:// "正在进行中";
-                case 9:// "至少完成一个任务了";
-                    break;
-                case 6:
-                    //审核失败
-                    btnUpImag.setText("重新提交");
-                    btnUpImag.setVisibility(View.VISIBLE);
-                    btnTaskItem.setVisibility(View.VISIBLE);
-                    break;
-                //不可操作
-                case 7:// "提交审核";
-                    bottom_btn_layout.setVisibility(View.GONE);
-                    break;
-                case 3://完成任务
-                    if (!taskEty.isGameTask())
-                        bottom_btn_layout.setVisibility(View.GONE);
-                    break;
-                case 8://任务已经下线
-                    if (TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots()) || gettaskAcceptedEty.getLower_num() > 0) {//没有提交过截图或者已经提交过一次 下线失败后提交
+    private void setOtherTaskBtnState() {
+        switch (taskEty.getInspect_type()) {// 1自动审核 2手动审核 3,应用自动审核
+            case 1:
+                btnUpImag.setVisibility(View.GONE);
+                break;
+            case 2:
+                switch (type){
+                    case DownloadTaskService.STATUS_INIT:
+                    case DownloadTaskService.STATUS_FINISH:
+                        btnUpImag.setVisibility(View.GONE);
                         break;
-                    } else {//提交过一次,但是审核失败或者没有审核就下线了
-                        String sr = "重新提交(<font color='#e2271d'><big>最后一次机会</big></font>)";
-                        btnUpImag.setText(Html.fromHtml(sr));
-                        btnUpImag.setVisibility(View.VISIBLE);
-                        btnTaskItem.setVisibility(View.GONE);
+                    default:
+                        if(taskEty.getTask_type() == 1000)//连续任务
+                            setSuccessionTaskBottomState();
+                        else if(gettaskAcceptedEty.getStatus() == 6) {//试玩任务审核失败可以重新提交
+                            btnUpImag.setText("重新提交");
+                        }
                         break;
-                    }
-            }
-            if (taskEty.isGameReservationCantDownload()) {//游戏任务中还不可以下载的预约任务
-                btnUpImag.setText("即将开放");
-                btnUpImag.setEnabled(false);
-                btnUpImag.setVisibility(View.VISIBLE);
-                btnTaskItem.setVisibility(View.GONE);
-            }
+                }
+                break;
+            case 3:
+                btnUpImag.setText("领取奖励");
+                switch (type){
+                    case DownloadTaskService.STATUS_INIT:
+                    case DownloadTaskService.STATUS_FINISH:
+                        btnUpImag.setVisibility(View.GONE);
+                        break;
+                    default:
+                        break;
+                }
+                break;
+        }
+    }
+
+    /**
+     * 设置游戏任务中两个按钮的状态和文字显示(任务未下线且有任务记录)
+     * 注:前提是gettaskAcceptedEty不为空哦
+     */
+    private void setGameTaskFirstBtnState() {
+        switch (type) {
+            case DownloadTaskService.STATUS_INIT:
+                btnUpImag.setVisibility(View.GONE);
+                btnTaskItem.setText(CommonUtil.GAME_DOWNLOAD);
+                break;
+            case DownloadTaskService.STATUS_FINISH:
+                btnUpImag.setVisibility(View.GONE);
+                btnTaskItem.setText(CommonUtil.GAME_INSTALL);
+                break;
+            case DownloadTaskService.STATUS_INSTALLED:
+                if (gettaskAcceptedEty.getStatus() == 3) {
+                    btnUpImag.setText(CommonUtil.GAME_RECHAGE);
+                    btnUpImag.setVisibility(View.VISIBLE);
+                    btnTaskItem.setText("启动游戏");
+                } else {
+                    btnTaskItem.setVisibility(View.GONE);
+                    btnUpImag.setText("领取奖励");
+                }
+                break;
+
         }
     }
 
     /**
-     * 正在进行的任务的状态设置
+     * 设置第一按钮的状态和文字显示
      */
-    private void setBottomState() {
+    private void setFirstBtnState() {
         setBtnStr(taskEty, mDownloadTaskService, new Action1<Object>() {
             @Override
             public void call(Object o) {
                 if (o instanceof Integer) {
                     type = (int) o;
-                    if (taskEty.isGameTask()) {//游戏任务
-                        switch (type) {
-                            case DownloadTaskService.STATUS_INIT:
-                                btnUpImag.setVisibility(View.GONE);
-                                btnTaskItem.setText(CommonUtil.GAME_DOWNLOAD);
-                                break;
-                            case DownloadTaskService.STATUS_FINISH:
-                                btnUpImag.setVisibility(View.GONE);
-                                btnTaskItem.setText(CommonUtil.GAME_INSTALL);
-                                break;
-                            case DownloadTaskService.STATUS_INSTALLED:
-                                if (gettaskAcceptedEty.getStatus() == 3) {
-                                    btnUpImag.setText(CommonUtil.GAME_RECHAGE);
-                                    btnUpImag.setVisibility(View.VISIBLE);
-                                    btnTaskItem.setText("启动游戏");
-                                } else {
-                                    btnTaskItem.setVisibility(View.GONE);
-                                    btnUpImag.setText("领取奖励");
-                                }
-                                break;
-
-                        }
-                    } else {
-                        switch (taskEty.getInspect_type()) {// 1自动审核 2手动审核 3,应用自动审核
-                            case 1:
-                                btnUpImag.setVisibility(View.GONE);
-                                break;
-                            case 2:
-                                if (type == DownloadTaskService.STATUS_INIT)
-                                    btnUpImag.setVisibility(View.GONE);
-                                break;
-                            case 3:
-                                if (type != DownloadTaskService.STATUS_INSTALLED)
-                                    btnUpImag.setVisibility(View.GONE);
-                                btnUpImag.setText("领取奖励");
-                                break;
-                        }
-                    }
                 } else if (o instanceof String) {
                     btnTaskItem.setText((String) o);
                 } else if (o instanceof Boolean) {
@@ -511,9 +488,6 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 }
             }
         });
-        if(gettaskAcceptedEty == null){
-            btnTaskItem.setText("领取任务");
-        }
     }
 
     private void loadOld() {
@@ -560,25 +534,30 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         action1.call(true);
         if (isInstalled) {
             action1.call(DownloadTaskService.STATUS_INSTALLED);
-            if (taskEty.getTask_type() == 3) {//应用
-                buttonStr = CommonUtil.OPEN_APPLY;
-            } else {
-                buttonStr = CommonUtil.START_PLAY;
+            switch (taskEty.getTask_type()){// 1时间试玩任务 3应用下载 1000连续任务, 1002 1003游戏任务 1002平台游戏,1003 腾讯游戏,1004 小米游戏
+                case 3:
+                    buttonStr = CommonUtil.OPEN_APPLY;
+                    break;
+                default:
+                    buttonStr = CommonUtil.GAME_OPEN;
+                    break;
             }
         } else {
-            action1.call(DownloadTaskService.STATUS_INIT);
             if (taskEty.getDownload_link() == null || !taskEty.getDownload_link().startsWith("http")) {
                 buttonStr = SheepApp.getInstance().getResources().getString(R.string.error_download_link);
                 action1.call(false);
+                action1.call(DownloadTaskService.STATUS_INIT);
             } else {
                 DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(taskEty);
                 Integer mStatus = downLoadInfo.getMStatus();
                 int taskState = mStatus == null ? 0 : mStatus;
                 switch (taskState) {
                     case DownloadTaskService.STATUS_ING:
+                        action1.call(DownloadTaskService.STATUS_INIT);
                         buttonStr = Math.abs(downLoadInfo.getMPercent()) + "%";
                         break;
                     case DownloadTaskService.STATUS_PAUSE:
+                        action1.call(DownloadTaskService.STATUS_INIT);
                         buttonStr = CommonUtil.CONTINUE_DOWNLOAD;
                         break;
                     case DownloadTaskService.STATUS_FINISH:
@@ -586,13 +565,16 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                             action1.call(DownloadTaskService.STATUS_FINISH);
                             buttonStr = CommonUtil.START_INSTALL;
                         } else {
+                            action1.call(DownloadTaskService.STATUS_INIT);
                             buttonStr = CommonUtil.START_DOWNLOAD;
                         }
                         break;
                     case DownloadTaskService.STATUS_FAIL:
+                        action1.call(DownloadTaskService.STATUS_INIT);
                         buttonStr = CommonUtil.FAIL_DOWNLOAD;
                         break;
                     default:
+                        action1.call(DownloadTaskService.STATUS_INIT);
                         buttonStr = CommonUtil.START_DOWNLOAD;
                         break;
                 }
@@ -618,119 +600,17 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         try {
             switch (view.getId()) {
                 case R.id.detail_task_tv://查看任务截图
-                    if (taskEty.isGameTask() && taskEty.isCan_receive_account()) {
-
-                        GAME_INSTEAD_OF_RECHARGE_GET.onEvent();
-                        CommonUtil.getInstance()
-                                .gameAccountManager(activity, Integer.parseInt(taskReleaseEty.getTask_id()), new Action1<BaseMessage>() {
-                                    @Override
-                                    public void call(BaseMessage baseMessage) {
-                                        G.showToast("领取成功");
-                                        initData();
-                                    }
-                                });
-                        return;
-                    }
-                    if (gettaskAcceptedEty == null || TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots())) {
-                        G.showToast("任务截图为空");
-                        return;
-                    }
-                    Jump2View.getInstance().showImgs(activity, 0, gettaskAcceptedEty.getScreenshots());
+                    lookScreenShot();
                     break;
                 case R.id.web_text:
                     break;
                 case R.id.ll_infos:
                     break;
                 case R.id.btn_task_item:
-                    if(type != 10 && gettaskAcceptedEty == null){
-                        type = -1;
-                    }
-                    switch (type) {
-                        case -1:
-                            if (taskReleaseEty.getAccepted_task_id() > 0) {
-                                Jump2View.getInstance()
-                                        .goNoticeAct(activity, new DialogEntity(null,
-                                                "是否放弃正在运行中的任务?",
-                                                "是",
-                                                "否",
-                                                null));
-                            } else {
-                                acceptedTask();
-                            }
-                            break;
-                        case DownloadTaskService.STATUS_INIT://开始下载
-
-                            DownloadTarget task;
-                            if (TextUtils.isEmpty(taskReleaseEty.getTask().getDownload_link()) || !taskReleaseEty.getTask().getDownload_link().contains("http")) {
-                                G.showToast(R.string.error_download_link);
-                                return;
-                            }
-                            task = Aria.download(this).load(taskReleaseEty.getTask().getDownload_link());
-                            final DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(taskEty);
-                            if (task.getTaskState() == IEntity.STATE_RUNNING) {
-                                task.stop();
-                            } else if (task.getTaskState() == IEntity.STATE_FAIL) {
-                                task.cancel(true);
-                                task.removeRecord();
-                            } else {
-                                //                            task.setFilePath(filePath);
-                                //                            task.start();
-                                mDownloadTaskService.start(downLoadInfo);
-                            }
-                            new Thread(new Runnable() {
-                                @Override
-                                public void run() {
-                                    if (mDownloadTaskService.addDownloadTask(downLoadInfo)) {
-                                        //发送红点信息
-                                        EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TIPS_DOWN_ICON));
-                                    }
-                                }
-                            }).start();
-                            UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_DOWNLOAD);
-                            break;
-                        case DownloadTaskService.STATUS_FINISH:
-                            ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(taskEty.getPackage_names()));
-                            break;
-                        case DownloadTaskService.STATUS_INSTALLED:
-                            PackageUtil.startApp(SheepApp.mContext, taskEty.getPackage_names());
-                            break;
-                        case 10:
-                            Ext ext;
-                            if (taskEty == null || (ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())) {
-                                G.showToast(R.string.service_data_error);
-                            } else {
-                                Jump2View.getInstance().goWeb(activity, ext.getUrl());
-                            }
-                            break;
-                    }
+                    onClickFirstBtn();
                     break;
                 case R.id.btn_up_imag:
-                    if (gettaskAcceptedEty != null && gettaskAcceptedEty.getStatus() == 3 && taskEty.isGameTask()) {
-                        if (taskEty.getThird_task_id() != null) {
-                            ViewUtil.showGamePayAccount(activity, taskEty.getThird_task_id(), taskReleaseEty.getName());
-                            return;
-                        }
-                    } else if (taskEty.isGameTask()) {
-                        if (taskEty.isGameReservationCantDownload()) {
-                            CommonUtil.getInstance().reservationGameTask(activity, taskReleaseEty, new Action1<Integer>() {
-                                @Override
-                                public void call(Integer integer) {
-                                    isFresh = true;
-                                    freshData();
-                                }
-                            });
-                        } else {
-                            accepteReceiveAward();
-                        }
-                    } else if (taskEty.getInspect_type() == 3) {//应用自动审核任务
-                        try {
-                            checkAndCommitTask();
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-                    } else {//截图任务
-                        commitScreenShot();
-                    }
+                    onClickSecondBtn();
                     break;
                 case R.id.detail_share_friend_tv:
                     Jump2View.getInstance().tryShare(activity, "task_desc_url", "task_id", releaseTaskId);
@@ -757,6 +637,124 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     }
 
     /**
+     * 查看截图
+     */
+    private void lookScreenShot() {
+        if (taskEty.isGameTask() && taskEty.isCan_receive_account()) {
+
+            GAME_INSTEAD_OF_RECHARGE_GET.onEvent();
+            CommonUtil.getInstance()
+                    .gameAccountManager(activity, Integer.parseInt(taskReleaseEty.getTask_id()), new Action1<BaseMessage>() {
+                        @Override
+                        public void call(BaseMessage baseMessage) {
+                            G.showToast("领取成功");
+                            initData();
+                        }
+                    });
+            return;
+        }
+        if (gettaskAcceptedEty == null || TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots())) {
+            G.showToast("任务截图为空");
+            return;
+        }
+        Jump2View.getInstance().showImgs(activity, 0, gettaskAcceptedEty.getScreenshots());
+    }
+
+    /**
+     * 点击第二按钮
+     */
+    private void onClickSecondBtn() {
+        if (gettaskAcceptedEty != null && gettaskAcceptedEty.getStatus() == 3 && taskEty.isGameTask()) {
+            if (taskEty.getThird_task_id() != null) {
+                ViewUtil.showGamePayAccount(activity, taskEty.getThird_task_id(), taskReleaseEty.getName());
+            }
+        } else if (taskEty.isGameTask()) {
+            if (taskEty.isGameReservationCantDownload()) {
+                CommonUtil.getInstance().reservationGameTask(activity, taskReleaseEty, new Action1<Integer>() {
+                    @Override
+                    public void call(Integer integer) {
+                        isFresh = true;
+                        freshData();
+                    }
+                });
+            } else {
+                accepteReceiveAward();
+            }
+        } else if (taskEty.getInspect_type() == 3) {//应用自动审核任务
+            try {
+                checkAndCommitTask();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        } else {//截图任务
+            commitScreenShot();
+        }
+    }
+
+    /**
+     * 点击第一按钮
+     */
+    private void onClickFirstBtn() {
+        switch (type) {
+            case TASK_TYPE_INIT:
+                if (taskReleaseEty.getAccepted_task_id() > 0) {
+                    Jump2View.getInstance()
+                            .goNoticeAct(activity, new DialogEntity(null,
+                                    "是否放弃正在运行中的任务?",
+                                    "是",
+                                    "否",
+                                    null));
+                } else {
+                    acceptedTask();
+                }
+                break;
+            case DownloadTaskService.STATUS_INIT://开始下载
+                DownloadTarget task;
+                if (TextUtils.isEmpty(taskReleaseEty.getTask().getDownload_link()) || !taskReleaseEty.getTask().getDownload_link().contains("http")) {
+                    G.showToast(R.string.error_download_link);
+                    return;
+                }
+                task = Aria.download(this).load(taskReleaseEty.getTask().getDownload_link());
+                final DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(taskEty);
+                if (task.getTaskState() == IEntity.STATE_RUNNING) {
+                    task.stop();
+                } else if (task.getTaskState() == IEntity.STATE_FAIL) {
+                    task.cancel(true);
+                    task.removeRecord();
+                } else {
+                    //                            task.setFilePath(filePath);
+                    //                            task.start();
+                    mDownloadTaskService.start(downLoadInfo);
+                }
+                new Thread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (mDownloadTaskService.addDownloadTask(downLoadInfo)) {
+                            //发送红点信息
+                            EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TIPS_DOWN_ICON));
+                        }
+                    }
+                }).start();
+                UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_DOWNLOAD);
+                break;
+            case DownloadTaskService.STATUS_FINISH:
+                ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(taskEty.getPackage_names()));
+                break;
+            case DownloadTaskService.STATUS_INSTALLED:
+                PackageUtil.startApp(SheepApp.mContext, taskEty.getPackage_names());
+                break;
+            case TASK_TYPE_H5://h5任务跳转h5页面
+                Ext ext;
+                if (taskEty == null || (ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())) {
+                    G.showToast(R.string.service_data_error);
+                } else {
+                    Jump2View.getInstance().goWeb(activity, ext.getUrl());
+                }
+                break;
+        }
+    }
+
+    /**
      * 发起选择图片来上传截图
      */
     private void commitScreenShot() {