Quellcode durchsuchen

点击任务记录中的任务可以跳转到任务详情界面;审核失败的任务可以重新提交

zengjiebin vor 8 Jahren
Ursprung
Commit
6566351031

+ 15 - 1
app/src/main/java/com/kfzs/duanduan/ActPicturesEnlarge.java

@@ -10,6 +10,7 @@ import com.kfzs.duanduan.fragment.PictureViewPagerAdapter;
 import com.kfzs.duanduan.view.DepthPageTransformer;
 import com.sheep.jiuyan.samllsheep.R;
 
+import java.util.HashMap;
 import java.util.Map;
 
 import butterknife.BindView;
@@ -40,7 +41,20 @@ public class ActPicturesEnlarge extends BaseCompatActivity {
         ButterKnife.bind(this);
 
         extras = getIntent().getExtras();
-        mUrlCollections = (Map<Integer, String>) extras.getSerializable(KFIntentKeys.EXTRA_CURRENT_PICTURE_COLLECTIONS);
+        if(extras == null) {
+            finish();
+            return;
+        }
+        String imgs = null;
+        if((imgs = extras.getString("imgs")) != null){
+            String[] items = imgs.split(";");
+            mUrlCollections = new HashMap<>();
+            for (int i = 0; i < items.length; i++) {
+                mUrlCollections.put(i,items[i]);
+            }
+        } else {
+            mUrlCollections = (Map<Integer, String>) extras.getSerializable(KFIntentKeys.EXTRA_CURRENT_PICTURE_COLLECTIONS);
+        }
         iCurrentItem = extras.getInt(KFIntentKeys.EXTRA_CURRENT_PICTURE_INDEX);
 
         initActivityUI();

+ 8 - 3
app/src/main/java/com/sheep/gamegroup/model/entity/TaskAcceptedEty.java

@@ -11,7 +11,7 @@ public class TaskAcceptedEty implements Serializable{
     private String create_time;// 0,
     private String device_id;// "string",
     private int id;// 0,
-    private String release_task_id;// 0,
+    private int release_task_id;// 0,
     private String remarks;// "string",
     private String screenshots;// "string",
     private int status =1;// 0,--------1,已接受任务 2,正在进行中,3完成任务,4放弃任务,5任务失败,6审核失败,7提交审核,8任务已下线
@@ -54,11 +54,11 @@ public class TaskAcceptedEty implements Serializable{
         this.id = id;
     }
 
-    public String getRelease_task_id() {
+    public int getRelease_task_id() {
         return release_task_id;
     }
 
-    public void setRelease_task_id(String release_task_id) {
+    public void setRelease_task_id(int release_task_id) {
         this.release_task_id = release_task_id;
     }
 
@@ -109,4 +109,9 @@ public class TaskAcceptedEty implements Serializable{
     public void setRelease_task(TaskReleaseEty release_task) {
         this.release_task = release_task;
     }
+
+    @Override
+    public boolean equals(Object obj) {
+        return obj instanceof TaskAcceptedEty && ((TaskAcceptedEty) obj).id == id;
+    }
 }

+ 3 - 3
app/src/main/java/com/sheep/gamegroup/model/entity/TaskReleaseEty.java

@@ -19,7 +19,7 @@ public class TaskReleaseEty implements Serializable{
     private String online_type;// 0,
     private String release_num;// 0,
     private String remarks;//private String string",
-    private String status;// 0,
+    private int status;// 0,
     private String submit_num;// 0,
     private String task_id;// 0,
     private String unaudited_num;// 0,
@@ -181,11 +181,11 @@ public class TaskReleaseEty implements Serializable{
         this.remarks = remarks;
     }
 
-    public String getStatus() {
+    public int getStatus() {
         return status;
     }
 
-    public void setStatus(String status) {
+    public void setStatus(int status) {
         this.status = status;
     }
 

+ 20 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -14,6 +14,7 @@ import android.view.WindowManager;
 
 import com.alibaba.fastjson.JSON;
 import com.kfzs.duanduan.ActMain;
+import com.kfzs.duanduan.ActPicturesEnlarge;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -23,6 +24,7 @@ import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.entity.WebviewEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
@@ -431,6 +433,8 @@ public class Jump2View {
         Intent intent = new Intent(context, TaskDetailAct.class);
         if(o instanceof Integer){
             intent.putExtra("task_id", (Integer) o);
+        } else if(o instanceof TaskAcceptedEty){
+            intent.putExtra("task_entity", (TaskAcceptedEty)o);
         }
 
         context.startActivity(intent);
@@ -737,6 +741,21 @@ public class Jump2View {
         context.startActivity(intent);
     }
 
+    /**
+     * 显示多张图片
+     * @param context
+     * @param position
+     * @param imgs 多张图片地址,用;分隔
+     */
+    public void showImgs(Context context, int position, String imgs) {
+        Intent picEnlargeIntent = new Intent(context, ActPicturesEnlarge.class);
+        picEnlargeIntent.putExtra(KFIntentKeys.EXTRA_CURRENT_PICTURE_INDEX, (position));
+        picEnlargeIntent.putExtra("imgs", imgs);
+        context.startActivity(picEnlargeIntent);
+    }
+
+
+
 
     /**
      * 启动小绵羊悬浮窗
@@ -783,4 +802,5 @@ public class Jump2View {
         }
         return false;
     }
+
 }

+ 155 - 167
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -79,7 +79,7 @@ import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
  * Created by ljy on 2018/4/2.
  */
 
-public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailContract.View{
+public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailContract.View {
 
     @BindView(R.id.icon_iv)
     ImageView iconIv;
@@ -110,10 +110,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     TaskDetailPresenter presenter;
 
     private TaskEty taskEty;
-    private TaskAcceptedEty task_accepted_entity;
 
     //通过task_id找
     private TaskReleaseEty taskReleaseEty;
+    private TaskAcceptedEty taskAcceptedEty;
 
     private int taskId = -1;
 
@@ -132,8 +132,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     @Override
     public void initView() {
         activity = this;
-        taskEty = (TaskEty) getIntent().getSerializableExtra("task_entity");
-        task_accepted_entity = (TaskAcceptedEty) getIntent().getSerializableExtra("task_accepted_entity");
+        taskAcceptedEty = (TaskAcceptedEty) getIntent().getSerializableExtra("task_entity");
         taskId = getIntent().getIntExtra("task_id", -1);
         DaggerTaskDetailComponent.builder()
                 .netComponent(SheepApp.get(activity).getNetComponent())
@@ -157,111 +156,49 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
     @Override
     public void initData() {
-        if(taskId != -1 && !isGetTaskDesc){
+        if (taskId != -1 && !isGetTaskDesc) {
             isGetTaskDesc = true;
             presenter.taskDesc(taskId);
             return;
         }
-        if(taskEty == null){
+        if (taskAcceptedEty == null) {
             G.showToast("网络异常,请稍候再试");
 //            finish();
             return;
         }
-        webText.setWebChromeClient(new WebChromeClient(){
-
-        });
-        webText.getSettings().setJavaScriptEnabled(true);
-
-// 1、LayoutAlgorithm.NARROW_COLUMNS : 适应内容大小
-// 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕,内容将自动缩放
-//        webText.getSettings().setUseWideViewPort(true);
-//        webText.getSettings().setLoadWithOverviewMode(true);
-//        webText.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
-//        webText.setInitialScale(80);
-        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(taskEty.getName()+"");
-        priceTv.setText("+"+ taskEty.getBonus() +"元");
-        dateTv.setText(TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(taskEty.getUpdate_time()))+"");
-
-
-        Glide.with(SheepApp.mContext)
-                .load(taskEty.getIcon())
-                .apply(new RequestOptions().placeholder(R.drawable.icon)
-                        .dontAnimate())
-                .into(iconIv);
-
-        taskSchedule();
-
-        if (taskEty.getRunTask() == 0 || taskEty.getInspect_type() == 1){
-            detailTaskTv.setVisibility(View.INVISIBLE);
-            bottom_btn_layout.setVisibility(View.GONE);
-        }else {
-            detailTaskTv.setVisibility(View.VISIBLE);
-            bottom_btn_layout.setVisibility(View.VISIBLE);
-
-        }
-        if(taskEty.getTask_type() == 2){
-            btnTaskItem.setText("信用卡注册");
-        }else
-        if (PackageUtil.isAppInstalled(SheepApp.mContext, taskEty.getPackage_names())) {
-            btnTaskItem.setText("开始游戏");
-        }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(activity, taskEty.getPackage_names(), ""))){
-            btnTaskItem.setText("开始安装");
-        }
-        else {
-            DownLoadInfo downLoadInfo = DDProviderHelper.getInstance()
-                    .getDownloadTaskToPackname(activity, taskEty.getPackage_names());
-            if(downLoadInfo != null && !TextUtils.isEmpty(downLoadInfo.getMApkPath())){
-                btnTaskItem.setText("开始安装");
-            }else {
-                btnTaskItem.setText("下载游戏");
-            }
-
-        }
+        taskReleaseEty = taskAcceptedEty.getRelease_task();
+        initWigget();
     }
 
-    private void initWigget(){
+    private void initWigget() {
         taskEty = taskReleaseEty.getTask();
-        if(taskEty.getChild() != null && taskEty.getChild().size() > 0){
+        if (taskEty.getChild() != null && taskEty.getChild().size() > 0) {
             taskChildList.clear();
             taskChildList.addAll(taskEty.getChild());
         }
 
         downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(taskEty);
-        webText.setWebChromeClient(new WebChromeClient(){
+        webText.setWebChromeClient(new WebChromeClient() {
 
         });
         webText.getSettings().setJavaScriptEnabled(true);
-        webText.setWebViewClient(new WebViewClient(){
+        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);
+                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\" />"+
+        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() +"元");
-        dateTv.setText(TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(taskEty.getUpdate_time()))+"");
+                + "<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() + "元");
+        dateTv.setText(TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(taskEty.getUpdate_time())) + "");
 
 
         Glide.with(SheepApp.mContext)
@@ -272,21 +209,35 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
 
         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);
+        }
+
+        if (taskAcceptedEty != null) {
+            checkAcceptedTask();
+            return;
+        }
         detailTaskTv.setVisibility(View.INVISIBLE);
-        if (!taskReleaseEty.isIs_running() || taskEty.getInspect_type() == 1){
+
+        if (!taskReleaseEty.isIs_running() || taskEty.getInspect_type() == 1) {
             btnUpImag.setVisibility(View.GONE);
-        }else {
+        } else {
             taskEty.setRunTask(1);
             btnUpImag.setVisibility(View.VISIBLE);
         }
-        switch (taskEty.getTask_type()){
+        switch (taskEty.getTask_type()) {
             case 1:
             case 3:
             default:
-                if(taskReleaseEty.isIs_running()){
+                if (taskReleaseEty.isIs_running()) {
 
                     setBtnStr(taskEty.getTask_type());
-                }else {
+                } else {
                     type = -1;
                     btnTaskItem.setText("领取任务");
                 }
@@ -295,58 +246,82 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 btnTaskItem.setText("信用卡注册");
                 break;
             case 4:
-                if(taskReleaseEty.isIs_running()){
+                if (taskReleaseEty.isIs_running()) {
                     type = 10;
                     btnTaskItem.setText("开始任务");
-                }else {
+                } else {
                     type = -1;
                     btnTaskItem.setText("领取任务");
                 }
                 break;
 
         }
-        if(type >= 3){
+        if (type >= 3) {
 
             btnUpImag.setVisibility(View.VISIBLE);
-        }else {
+        } else {
 
             btnUpImag.setVisibility(View.GONE);
         }
-//        if(taskEty.getTask_type() == 2){
-//            btnTaskItem.setText("信用卡注册");
-//        }
 
-        //
-        if(taskChildList != null && taskChildList.size() > 0){
-            detail_task_listview.setVisibility(View.VISIBLE);
-            adpTaskDetailChildListview.notifyDataSetChanged();
-        }else {
+        taskSchedule();
+    }
 
-            detail_task_listview.setVisibility(View.GONE);
-        }
+    private void checkAcceptedTask() {
+        if (taskAcceptedEty != null) {
+            switch (taskAcceptedEty.getStatus()) {
+                case 1://"已接受任务";
+                case 2:// "正在进行中";
+                case 7:// "提交审核";
+                    taskId = taskAcceptedEty.getRelease_task_id();
+                    taskAcceptedEty = null;
+                    taskReleaseEty = null;
+                    taskEty = null;
+                    initData();
+                    return;
+                case 6:
+                    //审核失败
+                    btnUpImag.setText("重新提交");
+                    btnUpImag.setVisibility(View.VISIBLE);
+                    btnTaskItem.setVisibility(View.GONE);
+                    llInfos.removeAllViews();
+                    llInfos.addView(getStep("领取任务", "已完成", 0));
+                    llInfos.addView(getStep("APP下载", "已完成", 0));
+                    llInfos.addView(getStep("完成任务", "审核失败", 1));
+                    return;
+                //不可操作
 
-        taskSchedule();
+                case 3://完成任务
+                    llInfos.removeAllViews();
+                    llInfos.addView(getStep("领取任务", "已完成", 0));
+                    llInfos.addView(getStep("APP下载", "已完成", 0));
+                    llInfos.addView(getStep("完成任务", "已完成", 0));
+                    break;
+            }
+            bottom_btn_layout.setVisibility(View.GONE);
+            ((View)llInfos.getParent()).setVisibility(View.GONE);
+        }
     }
 
-    private void setBtnStr(int taskType){
+    private void setBtnStr(int taskType) {
         isDownLoad = PackageUtil.isAppInstalled(SheepApp.mContext, taskEty.getPackage_names());
-        if(taskEty.getDownload_link() == null || !taskEty.getDownload_link().startsWith("http")){
+        if (taskEty.getDownload_link() == null || !taskEty.getDownload_link().startsWith("http")) {
             G.showToast(R.string.error_download_link);
             return;
         }
         DownloadTarget task = Aria.download(this).load(taskEty.getDownload_link());
         int taskState = task.getTaskState();
         String buttonStr = "";
-        if(isDownLoad){
+        if (isDownLoad) {
             type = 3;
-            if(taskType != 3){
+            if (taskType != 3) {
                 buttonStr = CommonUtil.START_PLAY;
 
-            }else {//应用
+            } else {//应用
                 buttonStr = CommonUtil.OPEN_APPLY;
 
             }
-        }else {
+        } else {
             switch (taskState) {
                 case IEntity.STATE_RUNNING:
                     type = 1;
@@ -359,19 +334,18 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 case IEntity.STATE_COMPLETE:
                     if (PackageUtil.isAppInstalled(SheepApp.mContext, taskEty.getPackage_names())) {
                         type = 3;
-                        if(taskType != 3){
+                        if (taskType != 3) {
                             buttonStr = CommonUtil.START_PLAY;
 
-                        }else {//应用
+                        } else {//应用
                             buttonStr = CommonUtil.OPEN_APPLY;
 
                         }
-                    }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(activity, taskEty.getPackage_names(), ""))){
+                    } else if (!TextUtils.isEmpty(PackageUtil.isExistsFile(activity, taskEty.getPackage_names(), ""))) {
                         type = 2;
                         btnTaskItem.setText("开始安装");
                         buttonStr = CommonUtil.START_INSTALL;
-                    }
-                    else {
+                    } else {
                         type = 1;
                         task.resetState();
                         buttonStr = CommonUtil.START_DOWNLOAD;
@@ -389,7 +363,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             }
 
         }
-        btnTaskItem.setText(buttonStr+"");
+        btnTaskItem.setText(buttonStr + "");
     }
 
     @Override
@@ -404,47 +378,48 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
      */
     private DownloadTaskService mDownloadTaskService;
     DownLoadInfo downLoadInfo;
+
     @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item, R.id.btn_up_imag})
     public void onViewClicked(View view) {
         switch (view.getId()) {
             case R.id.detail_task_tv://查看任务截图
-                if(TextUtils.isEmpty(taskEty.getScreenshots())){
+                if (TextUtils.isEmpty(taskEty.getScreenshots())) {
                     G.showToast("任务截图为空");
                     return;
                 }
-                Jump2View.getInstance().goWeb(activity, taskEty.getScreenshots(), "任务提交示意");
+                Jump2View.getInstance().showImgs(activity, 0, taskEty.getScreenshots());
                 break;
             case R.id.web_text:
                 break;
             case R.id.ll_infos:
                 break;
             case R.id.btn_task_item:
-                switch (type){
+                switch (type) {
                     case -1:
-                        if(taskReleaseEty.getAccepted_task_id() > 0){
+                        if (taskReleaseEty.getAccepted_task_id() > 0) {
                             Jump2View.getInstance()
                                     .goNoticeAct(activity, new DialogEntity(null,
                                             "是否放弃正在运行中的任务?",
                                             "是",
                                             "否",
                                             null));
-                        }else {
+                        } else {
                             acceptedTask();
                         }
                         break;
                     case 1://开始下载
 
                         DownloadTarget task = null;
-                        if(TextUtils.isEmpty(taskReleaseEty.getTask().getDownload_link()) || !taskReleaseEty.getTask().getDownload_link().contains("http")){
+                        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());
 
-                        String filePath = DIR+ File.separator+taskReleaseEty.getTask().getPackage_names()+ ClassFileHelper.FILE_SUFFIX;
-                        if(task.getTaskState() == IEntity.STATE_RUNNING){
+                        String filePath = DIR + File.separator + taskReleaseEty.getTask().getPackage_names() + ClassFileHelper.FILE_SUFFIX;
+                        if (task.getTaskState() == IEntity.STATE_RUNNING) {
                             task.stop();
-                        } else if(task.getTaskState() == IEntity.STATE_FAIL){
+                        } else if (task.getTaskState() == IEntity.STATE_FAIL) {
                             task.cancel(true);
                             task.resetState();
                             task.removeRecord();
@@ -452,7 +427,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                             task.setFilePath(filePath);
                             task.start();
                         }
-                        if(mDownloadTaskService.addDownloadTask(downLoadInfo)){
+                        if (mDownloadTaskService.addDownloadTask(downLoadInfo)) {
                             //发送红点信息
                             EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TIPS_DOWN_ICON));
                         }
@@ -466,7 +441,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                         break;
                     case 10:
                         Ext ext;
-                        if(taskEty == null || (ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())){
+                        if (taskEty == null || (ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())) {
                             G.showToast("服务器数据错误,请联系客服或者稍候重试");
                         } else {
                             Jump2View.getInstance().goWeb(activity, ext.getUrl());
@@ -484,15 +459,15 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     /**
      * 任务进度
      */
-    private void taskSchedule(){
+    private void taskSchedule() {
         llInfos.removeAllViews();
         if (taskEty != null) {
             int thisRun = taskEty.getRunTask();
             if (thisRun == 1) {//接受了任务
                 llInfos.addView(getStep("领取任务", "已完成", 0));
-                if(taskEty.getTask_type() == 2){//信用卡
+                if (taskEty.getTask_type() == 2) {//信用卡
                     llInfos.addView(getStep("信用卡注册", "待完成", 0));
-                }else if (PackageUtil.isAppInstalled(SheepApp.mContext, taskEty.getPackage_names())) {
+                } else if (PackageUtil.isAppInstalled(SheepApp.mContext, taskEty.getPackage_names())) {
                     llInfos.addView(getStep("APP下载", "已完成", 0));
                     llInfos.addView(getStep("完成任务", "进行中", 1));
                 } else {
@@ -532,7 +507,6 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     }
 
 
-
     @Override
     public void taskStatusSuccess(BaseMessage baseMessage) {
         setLoaddingText("完成");
@@ -547,7 +521,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     @Override
     public void taskStatusFaile(BaseMessage baseMessage) {
         updateError("失败");
-        G.showToast(baseMessage.getMsg()+"");
+        G.showToast(baseMessage.getMsg() + "");
 
     }
 
@@ -561,7 +535,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
     @Override
     public void taskDescFaile(BaseMessage baseMessage) {
-        G.showToast(baseMessage.getMsg()+"");
+        G.showToast(baseMessage.getMsg() + "");
         isGetTaskDesc = false;
         empty_view.setVisibility(View.VISIBLE);
     }
@@ -583,10 +557,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         setLoaddingText("提交中");
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("id", taskReleaseEty.getAccepted_task_id());
-        jsonObject.put("screenshots",data+"");
-        jsonObject.put("remark",taskEty.getRemarks()+"");
-        jsonObject.put("package_name",taskEty.getPackage_names()+"");
-        jsonObject.put("status",7+"");
+        jsonObject.put("screenshots", data + "");
+        jsonObject.put("remark", taskEty.getRemarks() + "");
+        jsonObject.put("package_name", taskEty.getPackage_names() + "");
+        jsonObject.put("status", 7 + "");
         presenter.taskStatus(jsonObject);
         taskEty.setScreenshots(data);
     }
@@ -599,8 +573,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        if(requestCode == 0 && resultCode == RESULT_OK){
-            if(taskReleaseEty.getAccepted_task_id() > 0){
+        if (requestCode == 0 && resultCode == RESULT_OK) {
+            if (taskReleaseEty.getAccepted_task_id() > 0) {
                 showProgress(true);
                 SheepApp.getInstance()
                         .getNetComponent()
@@ -628,12 +602,12 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     /**
      * 领取任务
      */
-    private void acceptedTask(){
+    private void acceptedTask() {
         hideProgress();
         showProgress(true);
         JSONObject object = new JSONObject();
         object.put("device_id", DeviceUtil.getDeviceId(activity));
-        object.put("release_task_id", Integer.valueOf(taskReleaseEty.getId()+""));
+        object.put("release_task_id", Integer.valueOf(taskReleaseEty.getId() + ""));
         SheepApp.getInstance()
                 .getNetComponent()
                 .getApiService()
@@ -658,92 +632,106 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     }
                 });
     }
-    @Download.onPre void onPre(DownloadTask task) {
-        if(taskEty == null){
+
+    @Download.onPre
+    void onPre(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        if(task.getKey().equals(taskEty.getDownload_link())) {
-            if(taskEty == null){
+        if (task.getKey().equals(taskEty.getDownload_link())) {
+            if (taskEty == null) {
                 return;
             }
             btnTaskItem.setText("准备下载中");
         }
     }
-    @Download.onTaskStart void taskStart(DownloadTask task) {
-        if(taskEty == null){
+
+    @Download.onTaskStart
+    void taskStart(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        if(task.getKey().equals(taskEty.getDownload_link())) {
+        if (task.getKey().equals(taskEty.getDownload_link())) {
             btnTaskItem.setText("开始下载中");
         }
     }
-    @Download.onTaskResume void taskResume(DownloadTask task) {
-        if(taskEty == null){
+
+    @Download.onTaskResume
+    void taskResume(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        if(task.getKey().equals(taskEty.getDownload_link())) {
+        if (task.getKey().equals(taskEty.getDownload_link())) {
             btnTaskItem.setText("恢复下载中");
         }
     }
+
     //在这里处理任务执行中的状态,如进度进度条的刷新
-    @Download.onTaskRunning protected void running(DownloadTask task) {
-        if(taskEty == null){
+    @Download.onTaskRunning
+    protected void running(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        try{
-            if(task.getKey().equals(taskEty.getDownload_link())) {
+        try {
+            if (task.getKey().equals(taskEty.getDownload_link())) {
                 int p = task.getPercent();    //任务进度百分比
                 String speed = task.getConvertSpeed();    //转换单位后的下载速度,单位转换需要在配置文件中打开
                 long speed1 = task.getSpeed(); //原始byte长度速度
                 btnTaskItem.setText(p + "%");
                 System.out.println("Aria p " + p + ", speed = " + speed);
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
-    @Download.onTaskStop void taskStop(DownloadTask task) {
-        if(taskEty == null){
+    @Download.onTaskStop
+    void taskStop(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        if(task.getKey().equals(taskEty.getDownload_link())) {
+        if (task.getKey().equals(taskEty.getDownload_link())) {
             btnTaskItem.setText(CommonUtil.CONTINUE_DOWNLOAD);
         }
     }
 
-    @Download.onTaskCancel void taskCancel(DownloadTask task) {
-        if(taskEty == null){
+    @Download.onTaskCancel
+    void taskCancel(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        if(task.getKey().equals(taskEty.getDownload_link())) {
+        if (task.getKey().equals(taskEty.getDownload_link())) {
             btnTaskItem.setText("已经取消");
         }
     }
 
-    @Download.onTaskFail void taskFail(DownloadTask task) {
-        if(taskEty == null){
+    @Download.onTaskFail
+    void taskFail(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        if(task.getKey().equals(taskEty.getDownload_link())) {
+        if (task.getKey().equals(taskEty.getDownload_link())) {
             btnTaskItem.setText(CommonUtil.FAIL_DOWNLOAD);
         }
     }
 
-    @Download.onTaskComplete void taskComplete(DownloadTask task) {
-        if(taskEty == null){
+    @Download.onTaskComplete
+    void taskComplete(DownloadTask task) {
+        if (taskEty == null) {
             return;
         }
-        if(task.getKey().equals(taskEty.getDownload_link())) {
+        if (task.getKey().equals(taskEty.getDownload_link())) {
             //在这里处理任务完成的状态
             btnTaskItem.setText(CommonUtil.START_INSTALL);
         }
     }
+
     private boolean isGetTaskDesc = false;
+
     @Override
     protected void onResume() {
         super.onResume();
-        if(taskId != -1 && !isGetTaskDesc){
+        if (taskId != -1 && !isGetTaskDesc) {
             isGetTaskDesc = true;
             presenter.taskDesc(taskId);
         }

+ 5 - 107
app/src/main/java/com/sheep/gamegroup/view/activity/TaskListAct.java

@@ -1,32 +1,26 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.app.Activity;
-import android.content.Intent;
 import android.os.Handler;
 import android.view.View;
 import android.widget.ListView;
 
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.kfzs.duanduan.event.BigEvent;
+import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.di.components.DaggerTaskListComponent;
 import com.sheep.gamegroup.di.modules.TaskListModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.presenter.TaskListContract;
 import com.sheep.gamegroup.presenter.TaskListPresenter;
-import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.view.adapter.TaskListItemAdp;
 import com.sheep.gamegroup.view.customview.RefreshLayout;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -39,7 +33,7 @@ import butterknife.BindView;
  * Created by ljy on 2018/3/21.
  */
 
-public class TaskListAct extends AbsChooseImageActivity implements TaskListContract.View {
+public class TaskListAct extends BaseActivity implements TaskListContract.View {
     @BindView(R.id.withdrawal_listview)
     ListView withdrawalListview;
     @BindView(R.id.swipe_container)
@@ -53,11 +47,7 @@ public class TaskListAct extends AbsChooseImageActivity implements TaskListContr
     private TaskListItemAdp adp;
     private List<TaskAcceptedEty> etyList = new ArrayList<>();
 
-    private TaskAcceptedEty taskEty;
-    /**
-     * 上传进度
-     */
-    private boolean isUpload = true;
+
     private int page = 1;//页数
     private int per_page = 10;
 
@@ -69,7 +59,6 @@ public class TaskListAct extends AbsChooseImageActivity implements TaskListContr
 
     @Override
     public void initView() {
-        EventBus.getDefault().register(this);
         activity = this;
         DaggerTaskListComponent.builder()
                 .netComponent(SheepApp.get(this).getNetComponent())
@@ -118,23 +107,6 @@ public class TaskListAct extends AbsChooseImageActivity implements TaskListContr
             }
         });
 
-//        withdrawalListview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-//            @Override
-//            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-//                TaskAcceptedEty acceptedEtys = etyList.get(position);
-//                if(acceptedEtys.getStatus() == 6) {//审核失败
-//                    Jump2View.getInstance()
-//                            .goNoticeAct(activity,
-//                                    new DialogEntity(
-//                                            "审核失败",
-//                                            acceptedEtys.getRemarks(),
-//                                            "重新提交",
-//                                            "取 消",
-//                                            EventTypes.TASK_AGAIN_UPLOAD_FILE));
-//                }
-//
-//            }
-//        });
     }
 
     @Override
@@ -155,13 +127,7 @@ public class TaskListAct extends AbsChooseImageActivity implements TaskListContr
         try {
             BaseMessage baseMessage = (BaseMessage) o;
             List<TaskAcceptedEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
-            for (TaskAcceptedEty ety : releaseEtyList) {
-                if (!etyList.contains(ety)) {
-                    etyList.add(ety);
-                }
-
-            }
-//            etyList.addAll(releaseEtyList);
+            ListUtil.addAll(etyList, releaseEtyList);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -183,79 +149,11 @@ public class TaskListAct extends AbsChooseImageActivity implements TaskListContr
 
     @Override
     public void taskStatusSuccess(BaseMessage baseMessage) {
-        setLoaddingText("完成");
-//                            onGetNetImageUrl(data);
-        dismissLoaddingDialog();
-        G.showToast("提交成功,等待审核!");
-//        EventBus.getDefault().post(new BigEvent().setEventTypes(EventTypes.ONFRESH_TRYMAKEMANY_PAGE));
-        UMConfigUtils.finishTask();
-//        finish();
-
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
 
-        EventBus.getDefault().unregister(this);
     }
 
     @Override
     public void taskStatusFaile(BaseMessage baseMessage) {
-        updateError("失败");
-    }
-
-
-    @Override
-    public void Failure(String err) {
-        G.showToast(err);
-    }
-
-    @Override
-    protected void onNotGetImage(String msg) {
-
     }
 
-    @Override
-    protected void onGetImage(String path) {
-
-    }
-
-    @Override
-    protected void onSetNetImageUrl(String url) {
-
-        setLoaddingText("提交中");
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("id", taskEty.getId());
-        jsonObject.put("screenshots",url+"");
-        jsonObject.put("remark",taskEty.getRemarks()+"");
-        jsonObject.put("package_name",taskEty.getRelease_task().getTask().getPackage_names()+"");
-        jsonObject.put("status",7+"");
-        presenter.taskStatus(jsonObject);
-        taskEty.setScreenshots(url);
-    }
-
-    @Override
-    protected void onGetNetImageUrl(String url) {
-
-    }
-
-    @Subscribe
-    public void onEventMainThread(BigEvent event){
-        switch (event.getEventTypes()){
-            case TASK_AGAIN_UPLOAD_FILE:
-                showChooseDialog(false, true, DEFAULT_MAX_COUNT);
-                UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_UPLOAD_PICTURE);
-                break;
-            case TASK_AGAIN_UPLOAD_FILE_DATA:
-                if(event.getData() instanceof TaskAcceptedEty)
-                    taskEty = (TaskAcceptedEty) event.getData();
-                break;
-        }
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-    }
 }

+ 15 - 19
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskListItemAdp.java

@@ -16,6 +16,8 @@ import com.kfzs.duanduan.event.BigEvent;
 import com.kfzs.duanduan.event.EventTypes;
 import com.sheep.gamegroup.model.entity.DialogEntity;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.presenter.TaskListPresenter;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.TimeUtil;
@@ -87,25 +89,19 @@ public class TaskListItemAdp extends BaseAdapter {
             e.printStackTrace();
         }
         holder.price_tv.setText(returnValue(ety));
-        if(ety.getStatus() == 6){//审核失败
-            convertView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Jump2View.getInstance()
-                            .goNoticeAct(context,
-                                    new DialogEntity(
-                                            "审核失败",
-                                            ety.getRemarks(),
-                                            "重新提交",
-                                            "取 消",
-                                            EventTypes.TASK_AGAIN_UPLOAD_FILE));
-                EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TASK_AGAIN_UPLOAD_FILE_DATA)
-                        .setData(ety));
-                }
-            });
-        }else {
-            holder.detail_task_tv.setVisibility(View.GONE);
-        }
+        convertView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                TaskEty task = ety.getRelease_task().getTask();
+                task.setScreenshots(ety.getScreenshots());
+
+                TaskReleaseEty releaseTask = ety.getRelease_task();
+                releaseTask.setAccepted_task_id(ety.getId());
+
+                Jump2View.getInstance().goTaskDetailView(context, ety);
+            }
+        });
+        holder.detail_task_tv.setText(ety.getRemarks());
 //        holder.detail_task_tv.setOnClickListener(new View.OnClickListener() {
 //            @Override
 //            public void onClick(View v) {

+ 2 - 3
app/src/main/res/layout/task_list_item.xml

@@ -66,13 +66,12 @@
                 android:layout_height="wrap_content"
                 android:text="任务截图"
                 android:minWidth="@dimen/view_size_73"
-                android:textColor="@color/white"
-                android:textSize="@dimen/text_size_10"
+                android:textColor="@color/black_444444"
+                android:textSize="@dimen/text_size_12"
                 android:gravity="center"
                 android:padding="@dimen/content_padding_3"
                 android:layout_below="@+id/price_tv"
                 android:layout_centerHorizontal="true"
-                android:background="@drawable/sp_bg_gradient_rectangle_blue"
                 android:layout_marginTop="@dimen/content_padding_small"
                 android:visibility="visible"/>
         </RelativeLayout>

+ 2 - 2
gradle.properties

@@ -17,8 +17,8 @@
 # org.gradle.parallel=true
 #android.injected.build.model.only.versioned = 3
 
-VERSION_NAME=2.3.0
-VERSION_CODE=2003000
+VERSION_NAME=2.4.0
+VERSION_CODE=2004000
 ANDROID_COMPILE_SDK_VERSION=27
 ANDROID_BUILD_TOOLS_VERSION=27.0.2
 ANDROID_MIN_SDK_VERSION=18