|
|
@@ -319,10 +319,68 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
bottom_btn_layout.setVisibility(View.GONE);
|
|
|
}
|
|
|
|
|
|
+ switch (taskEty.getTask_type()){
|
|
|
+ case 1000://连续任务
|
|
|
+ if(taskEty.isAppAutoCommitTask()){
|
|
|
+ setBottomState2();
|
|
|
+ } else {//非应用自动审核的连续任务
|
|
|
+ setSuccessionTaskBottomState();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ setBottomState2();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置非自动审核的连续任务底部按钮的状态
|
|
|
+ */
|
|
|
+ private void setSuccessionTaskBottomState() {
|
|
|
+ int failChildPosition = taskEty.getFailChildPosition();//获取第一个审核失败子任务的位置
|
|
|
+ boolean hasChildFail = failChildPosition > -1;//有子任务审核失败
|
|
|
+ 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));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据TaskAcceptedEty中的status来设置底部两个按钮的状态
|
|
|
+ */
|
|
|
+ private void setBottomState2() {
|
|
|
if(gettaskAcceptedEty != null){// && taskEty.getTask_type() == 1000) {//连续任务
|
|
|
if(!TextUtils.isEmpty(gettaskAcceptedEty.getScreenshots())) {
|
|
|
-// detailTaskTv.setVisibility(View.VISIBLE);//不显示截图
|
|
|
+ // detailTaskTv.setVisibility(View.VISIBLE);//不显示截图
|
|
|
}
|
|
|
switch (gettaskAcceptedEty.getStatus()) {
|
|
|
case 1://"已接受任务";
|
|
|
@@ -362,7 +420,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //设置底部按钮状态
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 正在进行的任务的状态设置
|
|
|
+ */
|
|
|
private void setBottomState() {
|
|
|
taskEty.setRunTask(1);
|
|
|
setBtnStr(taskEty, mDownloadTaskService, new Action1<Object>(){
|
|
|
@@ -398,10 +459,6 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
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;
|
|
|
@@ -617,6 +674,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
CommonUtil.getInstance().reservationGameTask(activity, taskReleaseEty, new Action1<Integer>() {
|
|
|
@Override
|
|
|
public void call(Integer integer) {
|
|
|
+ isFresh = true;
|
|
|
freshData();
|
|
|
}
|
|
|
});
|
|
|
@@ -630,13 +688,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
} else {//截图任务
|
|
|
- if(DataUtil.IS_USE_SCREEN_SHOT) {//小绵羊截图方案
|
|
|
- File dir = DataUtil.getInstance().getScreenShotsDir(taskEty.getPackage_names());
|
|
|
- showChooseDialog(false, true, DEFAULT_MAX_COUNT, dir);
|
|
|
- } else {//用户手动截图方案
|
|
|
- showChooseDialog(false, true, DEFAULT_MAX_COUNT);
|
|
|
- }
|
|
|
- UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_UPLOAD_PICTURE);
|
|
|
+ commitScreenShot();
|
|
|
}
|
|
|
break;
|
|
|
case R.id.detail_share_friend_tv:
|
|
|
@@ -650,6 +702,31 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 发起选择图片来上传截图
|
|
|
+ */
|
|
|
+ private void commitScreenShot() {
|
|
|
+ switch (taskEty.getTask_type()){
|
|
|
+ case 1000://连续任务
|
|
|
+ commitScreenShotTaskId = taskEty.getCanCommitChildRelease_task_id();
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ commitScreenShotTaskId = taskReleaseEty.getAccepted_task_id() == 0 && gettaskAcceptedEty != null ? gettaskAcceptedEty.getId() : taskReleaseEty.getAccepted_task_id();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if(commitScreenShotTaskId > 0) {
|
|
|
+ if (DataUtil.IS_USE_SCREEN_SHOT) {//小绵羊截图方案
|
|
|
+ File dir = DataUtil.getInstance().getScreenShotsDir(taskEty.getPackage_names());
|
|
|
+ showChooseDialog(false, true, DEFAULT_MAX_COUNT, dir);
|
|
|
+ } else {//用户手动截图方案
|
|
|
+ showChooseDialog(false, true, DEFAULT_MAX_COUNT);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ G.showToast("暂无任务可以上传");
|
|
|
+ }
|
|
|
+ UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_UPLOAD_PICTURE);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 尝试提交应用自动审核任务
|
|
|
*/
|
|
|
private void checkAndCommitTask() {
|
|
|
@@ -672,6 +749,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
|
|
|
object.put("task_time", runTime/1000);
|
|
|
object.put("release_task_id", taskReleaseEty.getId());
|
|
|
+ addTaskChildId(object, taskEty);
|
|
|
SheepApp.getInstance().getNetComponent().getApiService().commitAutoTask(object)
|
|
|
.subscribeOn(Schedulers.io())
|
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
|
@@ -703,6 +781,24 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 添加子任务id参数
|
|
|
+ * @param object
|
|
|
+ * @param taskEty
|
|
|
+ */
|
|
|
+ private void addTaskChildId(JSONObject object, TaskEty taskEty) {
|
|
|
+ switch (taskEty.getTask_type()){
|
|
|
+ case 1000://连续任务
|
|
|
+ int task_child_id = taskEty.getCanAcceptedChildId();
|
|
|
+ if(task_child_id < 1){
|
|
|
+ G.showToast("暂无可以领取的任务");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ object.put("task_child_id", task_child_id);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 任务进度
|
|
|
*/
|
|
|
private void taskSchedule() {
|
|
|
@@ -764,10 +860,15 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
DataUtil.getInstance().clearScreenShots();
|
|
|
}
|
|
|
|
|
|
- if(isFromTaskList)//之前界面为任务记录界面,需要回调刷新任务记录列表
|
|
|
- setResult(RESULT_OK);
|
|
|
UMConfigUtils.finishTask();
|
|
|
- finish();
|
|
|
+ if(taskEty.hasCommitLast(commitScreenShotTaskId)){//非自动审核任务中的连续任务已经提交了最后一个子任务,或者普通任务提交截图成功
|
|
|
+ if (isFromTaskList)//之前界面为任务记录界面,需要回调刷新任务记录列表
|
|
|
+ setResult(RESULT_OK);
|
|
|
+ finish();
|
|
|
+ } else {
|
|
|
+ isFresh = true;
|
|
|
+ freshData();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -803,12 +904,12 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
protected void onGetImage(String path) {
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+ private int commitScreenShotTaskId;
|
|
|
@Override
|
|
|
protected void onSetNetImageUrl(String data) {
|
|
|
setLoaddingText("提交中");
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("id", taskReleaseEty.getAccepted_task_id() == 0 && gettaskAcceptedEty != null ? gettaskAcceptedEty.getId() : taskReleaseEty.getAccepted_task_id());
|
|
|
+ jsonObject.put("id", commitScreenShotTaskId);
|
|
|
jsonObject.put("screenshots", data + "");
|
|
|
jsonObject.put("remark", /*taskEty.getRemarks() +*/ "");
|
|
|
jsonObject.put("package_name", taskEty.getPackage_names() + "");
|
|
|
@@ -870,6 +971,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
JSONObject object = new JSONObject();
|
|
|
object.put("device_id", DeviceUtil.getDeviceId(activity));
|
|
|
object.put("release_task_id", taskReleaseEty.getId());
|
|
|
+ addTaskChildId(object, taskEty);
|
|
|
SheepApp.getInstance()
|
|
|
.getNetComponent()
|
|
|
.getApiService()
|
|
|
@@ -1004,7 +1106,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
|
|
|
@Override
|
|
|
protected void onResume() {
|
|
|
super.onResume();
|
|
|
- if (taskReleaseEty == null){
|
|
|
+ if (taskReleaseEty == null || isFresh){
|
|
|
+ isFresh = true;
|
|
|
freshData();
|
|
|
} else {
|
|
|
updateBottom();
|