Merge branch 'dev_current_prod_20221207'

This commit is contained in:
xiaoyan-5800X 2022-12-19 16:38:16 +08:00
commit 9063a5a99e

View File

@ -1301,7 +1301,9 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
/**
* 结束采集对照片归档
* */
private boolean hasFinishTask = false; // 当前是否包含已完成任务未处理完
private void finishRoadTask(Map<Integer, RoadMatchEntity> finishEntityMap) {
hasFinishTask = true;
Observable.fromIterable(finishEntityMap.values())
.subscribeOn(Schedulers.io()).observeOn(Schedulers.computation())
.filter(roadMatchEntity -> roadMatchEntity!=null)
@ -1344,23 +1346,36 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
}
})
.observeOn(AndroidSchedulers.mainThread())
.onErrorResumeNext(new Function<Throwable, ObservableSource<? extends PoiEntity>>() {
@Override
public ObservableSource<? extends PoiEntity> apply(Throwable throwable) throws Exception {
return null;
}
})
.subscribe(new Consumer<PoiEntity>() {
@Override
public void accept(PoiEntity poiEntity) {
// 已经处理过该任务将其从finish列表中移除
if (poiEntity!=null) {
finishEntityMap.remove(poiEntity.getTaskId());
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) {
// 此处异常可能是服务返回的数据无法解析但http正常返回了因此可能为程序问题不再重复尝试上报
systemTTS.playText("注意,领取任务失败!");
XLog.e("完成失败:"+throwable.getMessage());
ToastUtils.Message(AutoTakePictureActivity.this, throwable.getMessage());
hasFinishTask = false;
}
}, new Action() {
@Override
public void run() throws Exception {
// 重新绘制网络任务和本地任务
initRoadLine2Map();
finishEntityMap.clear();
hasFinishTask = false;
}
});
}
@ -1666,6 +1681,10 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
@Override
public void onBackPressed() {
DialogSettings.style = DialogSettings.STYLE.STYLE_IOS;
if (hasFinishTask) {
MessageDialog.show(this, "提示", "后台正在处理已拍摄完成的任务,请稍后再退出当前界面");
return;
}
MessageDialog.show(this, "提示", "退出自动采集模式?", "", "").setOnOkButtonClickListener(new OnDialogButtonClickListener() {
@Override
public boolean onClick(BaseDialog baseDialog, View v) {