326 lines
14 KiB
Java
326 lines
14 KiB
Java
package com.ubt.jimu.blockly.command;
|
|
|
|
import com.ubt.jimu.JimuApplication;
|
|
import com.ubt.jimu.R;
|
|
import com.ubt.jimu.base.cache.Cache;
|
|
import com.ubt.jimu.base.db.course.JimuCourseMissionDbHandler;
|
|
import com.ubt.jimu.base.entities.Robot;
|
|
import com.ubt.jimu.base.http.ApiObserver;
|
|
import com.ubt.jimu.base.http.ApiResponse;
|
|
import com.ubt.jimu.course.repository.CourseResult;
|
|
import com.ubt.jimu.course.repository.JimuCourse;
|
|
import com.ubt.jimu.course.repository.JimuCourseMission;
|
|
import com.ubt.jimu.course.repository.JimuCourseMissionRepository;
|
|
import com.ubt.jimu.course.repository.JimuCourseTask;
|
|
import com.ubt.jimu.course.repository.JimuModule;
|
|
import com.ubt.jimu.course.repository.UpdateMission;
|
|
import com.ubt.jimu.course.view.JimuTaskListActivity;
|
|
import com.ubt.jimu.unity.bluetooth.UnityActivity;
|
|
import com.ubt.jimu.utils.DeviceUtils;
|
|
import com.ubt.jimu.utils.JsonHelper;
|
|
import com.ubt.jimu.widgets.LoadingView;
|
|
import com.ubtech.utils.XLog;
|
|
import com.ubtech.view.widget.ToastView;
|
|
import com.ubtrobot.log.ALog;
|
|
import io.reactivex.Observable;
|
|
import io.reactivex.disposables.CompositeDisposable;
|
|
import io.reactivex.disposables.Disposable;
|
|
import java.net.URLEncoder;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import org.json.JSONObject;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class JimuCourseCommand {
|
|
private final String TAG = JimuCourseCommand.class.getSimpleName();
|
|
private CompositeDisposable disposables = new CompositeDisposable();
|
|
private boolean loading = false;
|
|
private UnityActivity unityActivity;
|
|
|
|
public JimuCourseCommand(UnityActivity unityActivity) {
|
|
this.unityActivity = unityActivity;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void backFromCourse() {
|
|
backFromCourse(false);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public boolean isLastMission(JimuCourseMission jimuCourseMission) {
|
|
List<JimuCourseMission> missions;
|
|
if (jimuCourseMission == null) {
|
|
return false;
|
|
}
|
|
List<JimuCourseTask> courseTaskList = Cache.getInstance().getCourseTaskList();
|
|
return courseTaskList == null || courseTaskList.size() == 0 || (missions = courseTaskList.get(courseTaskList.size() - 1).getMissions()) == null || missions.size() == 0 || missions.get(missions.size() - 1).getId() == jimuCourseMission.getId();
|
|
}
|
|
|
|
private JimuCourseMission nextCourse() {
|
|
JimuCourseMission jimuCourseMission;
|
|
List<JimuCourseTask> courseTaskList = Cache.getInstance().getCourseTaskList();
|
|
JimuCourseTask jimuCourseTask = Cache.getInstance().getJimuCourseTask();
|
|
JimuCourseMission courseMission = Cache.getInstance().getCourseMission();
|
|
int i = 0;
|
|
for (JimuCourseMission jimuCourseMission2 : jimuCourseTask.getMissions()) {
|
|
i++;
|
|
if (jimuCourseMission2 != null && jimuCourseMission2.getId() == courseMission.getId()) {
|
|
break;
|
|
}
|
|
}
|
|
if (i == jimuCourseTask.getMissions().size()) {
|
|
Iterator<JimuCourseTask> it = courseTaskList.iterator();
|
|
int i2 = 0;
|
|
while (it.hasNext()) {
|
|
i2++;
|
|
if (it.next().getId() == jimuCourseTask.getId()) {
|
|
break;
|
|
}
|
|
}
|
|
if (i2 == courseTaskList.size()) {
|
|
return null;
|
|
}
|
|
Cache.getInstance().setJimuCourseTask(courseTaskList.get(i2));
|
|
jimuCourseMission = courseTaskList.get(i2).getMissions().get(0);
|
|
} else {
|
|
jimuCourseMission = jimuCourseTask.getMissions().get(i);
|
|
}
|
|
Cache.getInstance().setCourseMission(jimuCourseMission);
|
|
return jimuCourseMission;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void onNextCourse() {
|
|
JimuCourseMission nextCourse = nextCourse();
|
|
if (nextCourse == null) {
|
|
backFromCourse();
|
|
return;
|
|
}
|
|
if ("1".equals(nextCourse.getIsLock())) {
|
|
backFromCourse();
|
|
return;
|
|
}
|
|
List<JimuModule> missingComponents = nextCourse.getMissingComponents(Cache.getInstance().getBoardInfo());
|
|
if (missingComponents != null && missingComponents.size() > 0) {
|
|
backFromCourse(true);
|
|
return;
|
|
}
|
|
CourseResult.ResultData resultData = new CourseResult.ResultData();
|
|
Robot robot = Cache.getInstance().getRobot();
|
|
if (robot != null) {
|
|
resultData.modelID = robot.getModelName();
|
|
resultData.modelId = robot.getModelId();
|
|
resultData.moveType = robot.getMoveType();
|
|
}
|
|
JimuCourse jimuCourse = Cache.getInstance().getJimuCourse();
|
|
if (jimuCourse != null) {
|
|
resultData.level = jimuCourse.getFolderName();
|
|
}
|
|
JimuCourseTask jimuCourseTask = Cache.getInstance().getJimuCourseTask();
|
|
if (jimuCourseTask != null) {
|
|
resultData.stage = jimuCourseTask.getFolderName();
|
|
}
|
|
JimuCourseMission courseMission = Cache.getInstance().getCourseMission();
|
|
if (courseMission != null) {
|
|
resultData.mission = courseMission.getFolderName();
|
|
resultData.missionId = courseMission.getId();
|
|
}
|
|
String a = JsonHelper.a(new CourseResult(CourseResult.SUCCESS, CourseResult.SUCCESS, resultData));
|
|
ALog.a(this.TAG).d(a);
|
|
try {
|
|
this.unityActivity.getUnityCallback().loadJavascript("loadNextMission", URLEncoder.encode(a, "UTF-8"));
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void playAgain(ApiResponse<UpdateMission> apiResponse) {
|
|
CourseResult.ResultData resultData = new CourseResult.ResultData();
|
|
Robot robot = Cache.getInstance().getRobot();
|
|
if (robot != null) {
|
|
resultData.modelID = robot.getModelName();
|
|
resultData.modelId = robot.getModelId();
|
|
resultData.moveType = robot.getMoveType();
|
|
}
|
|
JimuCourse jimuCourse = Cache.getInstance().getJimuCourse();
|
|
if (jimuCourse != null) {
|
|
resultData.level = jimuCourse.getFolderName();
|
|
}
|
|
JimuCourseTask jimuCourseTask = Cache.getInstance().getJimuCourseTask();
|
|
if (jimuCourseTask != null) {
|
|
resultData.stage = jimuCourseTask.getFolderName();
|
|
}
|
|
JimuCourseMission courseMission = Cache.getInstance().getCourseMission();
|
|
if (courseMission != null) {
|
|
resultData.mission = courseMission.getFolderName();
|
|
resultData.missionId = courseMission.getId();
|
|
}
|
|
String a = JsonHelper.a(new CourseResult(CourseResult.SUCCESS, CourseResult.SUCCESS, resultData));
|
|
ALog.a(this.TAG).d(a);
|
|
try {
|
|
this.unityActivity.getUnityCallback().loadJavascript("loadNextMission", URLEncoder.encode(a, "UTF-8"));
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
private void skipCourse(String str, String str2, long j, long j2, long j3) {
|
|
JimuCourseMissionRepository.getInstance().skipMission(str, j3, str2, j, j2, new ApiObserver<ApiResponse<List<JimuCourseMission>>>(null) { // from class: com.ubt.jimu.blockly.command.JimuCourseCommand.2
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onComplete() {
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onError(Throwable th) {
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onSubscribe(Disposable disposable) {
|
|
JimuCourseCommand.this.disposables.b(disposable);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onNext(ApiResponse<List<JimuCourseMission>> apiResponse) {
|
|
if (apiResponse == null || apiResponse.getModels() == null) {
|
|
JimuCourseCommand.this.backFromCourse();
|
|
} else {
|
|
JimuCourseCommand.unLockMission(apiResponse.getModels());
|
|
JimuCourseCommand.this.onNextCourse();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public static void unLockMission(List<JimuCourseMission> list) {
|
|
boolean z;
|
|
if (list == null || list.size() == 0) {
|
|
return;
|
|
}
|
|
for (JimuCourseMission jimuCourseMission : list) {
|
|
List<JimuCourseTask> courseTaskList = Cache.getInstance().getCourseTaskList();
|
|
if (courseTaskList != null) {
|
|
for (int i = 0; i < courseTaskList.size(); i++) {
|
|
Iterator<JimuCourseMission> it = courseTaskList.get(i).getMissions().iterator();
|
|
while (true) {
|
|
if (!it.hasNext()) {
|
|
z = false;
|
|
break;
|
|
}
|
|
JimuCourseMission next = it.next();
|
|
if (next.getId() == jimuCourseMission.getId()) {
|
|
next.setIsLock(jimuCourseMission.getIsLock());
|
|
next.setIsSkip(jimuCourseMission.getIsSkip());
|
|
next.setStar(jimuCourseMission.getStar());
|
|
z = true;
|
|
break;
|
|
}
|
|
}
|
|
if (z) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
JimuCourseMissionDbHandler.updateMissions(list);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void updateCurrentMission(UpdateMission updateMission) {
|
|
JimuCourseMission courseMission = Cache.getInstance().getCourseMission();
|
|
if (courseMission == null || updateMission == null) {
|
|
return;
|
|
}
|
|
if (courseMission.getId() == updateMission.getMissionId()) {
|
|
courseMission.setStar(updateMission.getStar());
|
|
}
|
|
JimuCourseMissionDbHandler.updateNextMission(courseMission);
|
|
}
|
|
|
|
private synchronized Observable updateMission(String str, long j, int i, String str2, long j2, long j3, final int i2) {
|
|
LoadingView loadingView = null;
|
|
if (this.loading) {
|
|
return null;
|
|
}
|
|
this.loading = true;
|
|
return JimuCourseMissionRepository.getInstance().updateMission(str, j, i, str2, j2, j3, new ApiObserver<ApiResponse<UpdateMission>>(loadingView) { // from class: com.ubt.jimu.blockly.command.JimuCourseCommand.1
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onComplete() {
|
|
JimuCourseCommand.this.loading = false;
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onError(Throwable th) {
|
|
JimuCourseCommand.this.loading = false;
|
|
if (i2 == 1) {
|
|
JimuCourseCommand.this.backFromCourse();
|
|
}
|
|
ToastView.a(JimuCourseCommand.this.unityActivity, JimuCourseCommand.this.unityActivity.getString(R.string.network_error), ToastView.Type.ERROR).a();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onSubscribe(Disposable disposable) {
|
|
JimuCourseCommand.this.disposables.b(disposable);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onNext(ApiResponse<UpdateMission> apiResponse) {
|
|
JimuCourseCommand.this.loading = false;
|
|
if (apiResponse == null || apiResponse.getModels() == null) {
|
|
JimuCourseCommand.this.backFromCourse();
|
|
return;
|
|
}
|
|
UpdateMission models = apiResponse.getModels();
|
|
JimuCourseCommand.this.updateCurrentMission(models);
|
|
if ((models.getMissions() == null || models.getMissions().size() == 0) && JimuCourseCommand.this.isLastMission(Cache.getInstance().getCourseMission())) {
|
|
JimuCourseCommand.this.backFromCourse();
|
|
return;
|
|
}
|
|
JimuCourseCommand.unLockMission(models.getMissions());
|
|
int i3 = i2;
|
|
if (i3 == 1) {
|
|
JimuCourseCommand.this.backFromCourse();
|
|
return;
|
|
}
|
|
if (i3 == 2) {
|
|
JimuCourseCommand.this.playAgain(apiResponse);
|
|
} else if (i3 != 3) {
|
|
XLog.b("Course", "unknow type");
|
|
} else {
|
|
JimuCourseCommand.this.onNextCourse();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public void clearRequest() {
|
|
this.disposables.dispose();
|
|
this.disposables.a();
|
|
}
|
|
|
|
public void successDeal(String str) {
|
|
try {
|
|
JSONObject jSONObject = new JSONObject(str);
|
|
int optInt = jSONObject.optInt("type");
|
|
int optInt2 = jSONObject.optInt("starCount");
|
|
int optInt3 = jSONObject.optInt("missionId");
|
|
if (optInt == 4) {
|
|
skipCourse(Cache.getInstance().getUserId(), DeviceUtils.a(JimuApplication.l()), Cache.getInstance().getPackageId(), Cache.getInstance().getRobot().getModelId(), optInt3);
|
|
} else {
|
|
updateMission(Cache.getInstance().getUserId(), optInt3, optInt2, DeviceUtils.a(JimuApplication.l()), Cache.getInstance().getPackageId(), Cache.getInstance().getRobot().getModelId(), optInt);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
private void backFromCourse(boolean z) {
|
|
this.unityActivity.closeBlockly();
|
|
this.unityActivity.setIsBack(true);
|
|
if (Cache.getInstance().getJimuCourse() == null) {
|
|
return;
|
|
}
|
|
JimuTaskListActivity.start(this.unityActivity, Cache.getInstance().getPackageId(), Cache.getInstance().getRobot().getModelId(), r0.getId(), z);
|
|
}
|
|
}
|