425 lines
19 KiB
Java
425 lines
19 KiB
Java
package com.ubt.jimu.diy.view;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.text.TextUtils;
|
|
import android.view.MotionEvent;
|
|
import android.view.View;
|
|
import android.widget.ImageView;
|
|
import android.widget.TextView;
|
|
import androidx.interpolator.view.animation.LinearOutSlowInInterpolator;
|
|
import androidx.viewpager.widget.ViewPager;
|
|
import butterknife.ButterKnife;
|
|
import com.ubt.jimu.BaseActivity;
|
|
import com.ubt.jimu.Channel;
|
|
import com.ubt.jimu.JimuApplication;
|
|
import com.ubt.jimu.R;
|
|
import com.ubt.jimu.base.db.DatabaseUtils;
|
|
import com.ubt.jimu.base.db.diy.DiyDetailsDbHandler;
|
|
import com.ubt.jimu.base.download.Downloader;
|
|
import com.ubt.jimu.base.entities.Robot;
|
|
import com.ubt.jimu.base.http.ApiObserver;
|
|
import com.ubt.jimu.base.http.manager.DiyManager;
|
|
import com.ubt.jimu.course.view.FixedSpeedScroller;
|
|
import com.ubt.jimu.diy.DiyRobotDbHandler;
|
|
import com.ubt.jimu.diy.DiyRobotFile;
|
|
import com.ubt.jimu.diy.model.DiyDetailsModel;
|
|
import com.ubt.jimu.diy.model.DiyPreviewStep;
|
|
import com.ubt.jimu.diy.view.adapter.DiyPreviewStepAdapter;
|
|
import com.ubt.jimu.unity.ModelType;
|
|
import com.ubt.jimu.unity.bluetooth.UnityActivity;
|
|
import com.ubt.jimu.utils.ExternalOverFroyoUtils;
|
|
import com.ubt.jimu.utils.NetWorkUtil;
|
|
import com.ubt.jimu.utils.SPUtils;
|
|
import com.ubt.jimu.widgets.NavigationBarView;
|
|
import com.ubtech.utils.FileHelper;
|
|
import com.ubtech.utils.XLog;
|
|
import com.ubtrobot.log.ALog;
|
|
import io.reactivex.disposables.CompositeDisposable;
|
|
import io.reactivex.disposables.Disposable;
|
|
import java.io.File;
|
|
import java.lang.reflect.Field;
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class DiyBrowseActivity extends BaseActivity implements ViewPager.OnPageChangeListener {
|
|
private static final String DETAILS = "details";
|
|
public static final String DIYSTEP = "DIYSTEPBROWSE_%s";
|
|
public static final String STEP = "targetStep";
|
|
private static final String TAG = "DiyBrowseActivity";
|
|
private DiyPreviewStepAdapter adapter;
|
|
private List<DiyDetailsModel.DiyBuildStep> buildSteps;
|
|
private DiyDetailsModel diyDetailsModel;
|
|
protected ImageView imgNextStep;
|
|
protected ImageView imgPreviousStep;
|
|
protected View llBrowseStep;
|
|
NavigationBarView mNavBarView;
|
|
private List<DiyPreviewStep> previewSteps;
|
|
protected TextView tvStep;
|
|
protected ViewPager viewPager;
|
|
private CompositeDisposable compositeDisposable = new CompositeDisposable();
|
|
private int mLastIndex = 0;
|
|
private boolean downloadBg = true;
|
|
private boolean loading = false;
|
|
private int saveStep = 0;
|
|
|
|
private void checkForDownload(final boolean z) {
|
|
if (this.loading) {
|
|
return;
|
|
}
|
|
if (NetWorkUtil.b(this)) {
|
|
DiyManager.getInstance().diyFiles(this.diyDetailsModel, new ApiObserver<List<DiyRobotFile>>(null) { // from class: com.ubt.jimu.diy.view.DiyBrowseActivity.1
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onComplete() {
|
|
super.onComplete();
|
|
if (((BaseActivity) DiyBrowseActivity.this).mJAlertDialog != null) {
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog.dismiss();
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog = null;
|
|
}
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onError(Throwable th) {
|
|
super.onError(th);
|
|
DiyBrowseActivity diyBrowseActivity = DiyBrowseActivity.this;
|
|
diyBrowseActivity.toastError(diyBrowseActivity.getString(R.string.loading_error));
|
|
if (((BaseActivity) DiyBrowseActivity.this).mJAlertDialog != null) {
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog.dismiss();
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog = null;
|
|
}
|
|
DiyBrowseActivity.this.loading = false;
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onSubscribe(Disposable disposable) {
|
|
super.onSubscribe(disposable);
|
|
DiyBrowseActivity.this.compositeDisposable.b(disposable);
|
|
DiyBrowseActivity.this.loading = true;
|
|
if (z) {
|
|
return;
|
|
}
|
|
DiyBrowseActivity diyBrowseActivity = DiyBrowseActivity.this;
|
|
diyBrowseActivity.showLoading(diyBrowseActivity.getString(R.string.loading_text));
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
|
public void onNext(List<DiyRobotFile> list) {
|
|
super.onNext((AnonymousClass1) list);
|
|
if (list == null || list.size() == 0) {
|
|
DiyBrowseActivity diyBrowseActivity = DiyBrowseActivity.this;
|
|
diyBrowseActivity.toastError(diyBrowseActivity.getString(R.string.loading_error));
|
|
return;
|
|
}
|
|
for (DiyRobotFile diyRobotFile : list) {
|
|
if (TextUtils.isEmpty(diyRobotFile.getCustomModelId())) {
|
|
diyRobotFile.setCustomModelId(String.valueOf(DiyBrowseActivity.this.diyDetailsModel.getId()));
|
|
}
|
|
}
|
|
DiyBrowseActivity.this.download(list, z);
|
|
}
|
|
});
|
|
} else if (!z && new DiyDetailsDbHandler(DatabaseUtils.getDaoSession(false).e()).checkDownload(this.diyDetailsModel)) {
|
|
gotoUnity(this.diyDetailsModel, 1005, 2, this.previewSteps.size(), UnityActivity.BLOCKLY_TYPE_NONE);
|
|
}
|
|
}
|
|
|
|
private void copyToUserPath() {
|
|
try {
|
|
String valueOf = TextUtils.isEmpty(this.diyDetailsModel.getCustomModelId()) ? String.valueOf(this.diyDetailsModel.getId()) : this.diyDetailsModel.getCustomModelId();
|
|
File file = new File(ExternalOverFroyoUtils.a(JimuApplication.l(), ModelType.DOWNLOAD) + valueOf);
|
|
File file2 = new File(DiyRobotDbHandler.getCustomModelPath() + valueOf);
|
|
if (!file2.exists()) {
|
|
file2.mkdirs();
|
|
}
|
|
FileHelper.a(file, file2);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void download(List<DiyRobotFile> list, final boolean z) {
|
|
Downloader.downloadDiy(this.diyDetailsModel, list, new Downloader.IDownloadJimuRobotListener() { // from class: com.ubt.jimu.diy.view.DiyBrowseActivity.2
|
|
@Override // com.ubt.jimu.base.download.Downloader.IDownloadJimuRobotListener
|
|
public void onFailed() {
|
|
DiyBrowseActivity.this.loading = false;
|
|
if (((BaseActivity) DiyBrowseActivity.this).mJAlertDialog != null) {
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog.dismiss();
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog = null;
|
|
}
|
|
if ((Channel.FIR_TEST.getChannelName().equals("google_play") || Channel.DEV.getChannelName().equals("google_play")) && !z) {
|
|
DiyBrowseActivity.this.downloadBg = true;
|
|
DiyBrowseActivity diyBrowseActivity = DiyBrowseActivity.this;
|
|
diyBrowseActivity.gotoUnity(diyBrowseActivity.diyDetailsModel, 1005, 2, DiyBrowseActivity.this.previewSteps.size(), UnityActivity.BLOCKLY_TYPE_NONE);
|
|
}
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.download.Downloader.IDownloadJimuRobotListener
|
|
public void onPrepareStart() {
|
|
if (z) {
|
|
return;
|
|
}
|
|
DiyBrowseActivity diyBrowseActivity = DiyBrowseActivity.this;
|
|
diyBrowseActivity.showLoading(diyBrowseActivity.getString(R.string.loading_text));
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.download.Downloader.IDownloadJimuRobotListener
|
|
public void onProgress(int i, int i2, int i3) {
|
|
ALog.a(DiyBrowseActivity.TAG).d("progress:" + i3);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.download.Downloader.IDownloadJimuRobotListener
|
|
public void onSuccess() {
|
|
if (((BaseActivity) DiyBrowseActivity.this).mJAlertDialog != null) {
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog.dismiss();
|
|
((BaseActivity) DiyBrowseActivity.this).mJAlertDialog = null;
|
|
}
|
|
if (!DiyBrowseActivity.this.downloadBg) {
|
|
DiyBrowseActivity.this.downloadBg = true;
|
|
DiyBrowseActivity diyBrowseActivity = DiyBrowseActivity.this;
|
|
diyBrowseActivity.gotoUnity(diyBrowseActivity.diyDetailsModel, 1005, 2, DiyBrowseActivity.this.previewSteps.size(), UnityActivity.BLOCKLY_TYPE_NONE);
|
|
}
|
|
DiyBrowseActivity.this.loading = false;
|
|
}
|
|
});
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void gotoUnity(DiyDetailsModel diyDetailsModel, int i, int i2, int i3, int i4) {
|
|
copyToUserPath();
|
|
Robot robot = new Robot();
|
|
robot.setModelName(diyDetailsModel.getCustomModelId());
|
|
robot.setModelDescription(diyDetailsModel.getTitle());
|
|
robot.setModelId(diyDetailsModel.getId().longValue());
|
|
robot.setModelType("2");
|
|
robot.setFilePath(DiyRobotDbHandler.getCustomModelPath() + diyDetailsModel.getCustomModelId() + File.separator + diyDetailsModel.getCustomModelId() + ".jpg");
|
|
if (this.previewSteps.get(this.viewPager.getCurrentItem()).getStepType() == 201) {
|
|
this.previewSteps.size();
|
|
} else {
|
|
this.previewSteps.size();
|
|
}
|
|
UnityActivity.startUnityActivity(this, robot, i, i2, i3, this.previewSteps.size() + 2, false, i4);
|
|
}
|
|
|
|
private void initView() {
|
|
this.mNavBarView.setListener(new NavigationBarView.OnActionClickListener.Stub() { // from class: com.ubt.jimu.diy.view.DiyBrowseActivity.3
|
|
@Override // com.ubt.jimu.widgets.NavigationBarView.OnActionClickListener.Stub
|
|
public void onLeftClick(View view) {
|
|
DiyBrowseActivity.this.onImgBack(view);
|
|
}
|
|
});
|
|
try {
|
|
Field declaredField = Class.forName("android.support.v4.view.ViewPager").getDeclaredField("mScroller");
|
|
FixedSpeedScroller fixedSpeedScroller = new FixedSpeedScroller(this, new LinearOutSlowInInterpolator());
|
|
fixedSpeedScroller.setmDuration(1000);
|
|
declaredField.setAccessible(true);
|
|
declaredField.set(this.viewPager, fixedSpeedScroller);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
this.previewSteps = new ArrayList();
|
|
this.adapter = new DiyPreviewStepAdapter(getSupportFragmentManager(), this.diyDetailsModel, this.previewSteps);
|
|
this.viewPager.setAdapter(this.adapter);
|
|
this.viewPager.a(this);
|
|
this.viewPager.setOffscreenPageLimit(1);
|
|
this.viewPager.setOnTouchListener(new View.OnTouchListener() { // from class: com.ubt.jimu.diy.view.DiyBrowseActivity.4
|
|
@Override // android.view.View.OnTouchListener
|
|
public boolean onTouch(View view, MotionEvent motionEvent) {
|
|
return true;
|
|
}
|
|
});
|
|
this.previewSteps.add(new DiyPreviewStep(101, getString(R.string.diy_build), R.drawable.diy_preview_type_build, null));
|
|
this.previewSteps.add(new DiyPreviewStep(102, getString(R.string.diy_part), R.drawable.course_desc, null));
|
|
List<DiyDetailsModel.DiyBuildStep> list = this.buildSteps;
|
|
if (list != null && list.size() > 0) {
|
|
Iterator<DiyDetailsModel.DiyBuildStep> it = this.buildSteps.iterator();
|
|
while (it.hasNext()) {
|
|
this.previewSteps.add(new DiyPreviewStep(103, getString(R.string.diy_step), R.drawable.course_desc, it.next()));
|
|
}
|
|
}
|
|
this.previewSteps.add(new DiyPreviewStep(201, getString(R.string.title_diy_action), R.drawable.diy_preview_type_action, null));
|
|
this.previewSteps.add(new DiyPreviewStep(DiyPreviewStep.TYPE_PROGRAM, getString(R.string.title_diy_program), R.drawable.diy_preview_type_program, null));
|
|
this.adapter.notifyDataSetChanged();
|
|
setStep(1);
|
|
}
|
|
|
|
private void setStep(int i) {
|
|
this.saveStep = i - 1;
|
|
if (this.previewSteps != null) {
|
|
this.tvStep.setText(i + "/" + (this.previewSteps.size() + 2));
|
|
}
|
|
}
|
|
|
|
public static void start(Context context, DiyDetailsModel diyDetailsModel) {
|
|
Intent intent = new Intent(context, (Class<?>) DiyBrowseActivity.class);
|
|
intent.putExtra(DETAILS, diyDetailsModel);
|
|
context.startActivity(intent);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.BaseActivity, com.ubt.jimu.ScreenRotationManageActivity, androidx.appcompat.app.AppCompatActivity, androidx.fragment.app.FragmentActivity, androidx.core.app.ComponentActivity, android.app.Activity
|
|
protected void onCreate(Bundle bundle) {
|
|
super.onCreate(bundle);
|
|
setContentView(R.layout.activity_diy_browse);
|
|
ButterKnife.a(this);
|
|
int intExtra = getIntent().getIntExtra(STEP, 0);
|
|
if (intExtra == -1) {
|
|
DiyDetailsModel diyDetailsModel = this.diyDetailsModel;
|
|
if (diyDetailsModel != null) {
|
|
SPUtils.b(String.format(DIYSTEP, diyDetailsModel.getCustomModelId()), -3);
|
|
}
|
|
finish();
|
|
return;
|
|
}
|
|
if (bundle != null) {
|
|
this.diyDetailsModel = (DiyDetailsModel) bundle.getSerializable(DETAILS);
|
|
} else {
|
|
this.diyDetailsModel = (DiyDetailsModel) getIntent().getSerializableExtra(DETAILS);
|
|
}
|
|
DiyDetailsModel diyDetailsModel2 = this.diyDetailsModel;
|
|
UnityActivity.modelBrowse = diyDetailsModel2;
|
|
if (diyDetailsModel2 != null) {
|
|
this.buildSteps = diyDetailsModel2.getSteps();
|
|
initView();
|
|
this.viewPager.setCurrentItem(intExtra);
|
|
checkForDownload(true);
|
|
}
|
|
}
|
|
|
|
@Override // com.ubt.jimu.BaseActivity, com.ubt.jimu.ScreenRotationManageActivity, androidx.appcompat.app.AppCompatActivity, androidx.fragment.app.FragmentActivity, android.app.Activity
|
|
protected void onDestroy() {
|
|
super.onDestroy();
|
|
this.compositeDisposable.dispose();
|
|
this.compositeDisposable.a();
|
|
}
|
|
|
|
public void onImgBack(View view) {
|
|
List<DiyPreviewStep> list = this.previewSteps;
|
|
if (list != null) {
|
|
if (this.saveStep > list.size()) {
|
|
this.saveStep = this.previewSteps.size() - 1;
|
|
}
|
|
SPUtils.b(String.format(DIYSTEP, this.diyDetailsModel.getCustomModelId()), this.saveStep);
|
|
}
|
|
finish();
|
|
}
|
|
|
|
public void onImgNextStep(View view) {
|
|
List<DiyPreviewStep> list = this.previewSteps;
|
|
if (list == null || list.size() == 0) {
|
|
return;
|
|
}
|
|
int currentItem = this.viewPager.getCurrentItem();
|
|
DiyPreviewStep diyPreviewStep = this.previewSteps.get(currentItem);
|
|
if (diyPreviewStep.getStepType() == 201) {
|
|
this.downloadBg = false;
|
|
checkForDownload(false);
|
|
} else if (diyPreviewStep.getStepType() == 301) {
|
|
gotoUnity(this.diyDetailsModel, UnityActivity.CODE_BROWSE_PROGRAM, 3, this.previewSteps.size() + 2, UnityActivity.BLOCKLY_TYPE_DIY_PREVIEW);
|
|
} else {
|
|
if (currentItem == this.previewSteps.size() - 1) {
|
|
return;
|
|
}
|
|
this.viewPager.setCurrentItem(currentItem + 1);
|
|
}
|
|
}
|
|
|
|
public void onImgPreviousStep(View view) {
|
|
int currentItem;
|
|
List<DiyPreviewStep> list = this.previewSteps;
|
|
if (list == null || list.size() == 0 || (currentItem = this.viewPager.getCurrentItem()) == 0) {
|
|
return;
|
|
}
|
|
if (this.previewSteps.get(currentItem).getStepType() == 301) {
|
|
gotoUnity(this.diyDetailsModel, 1005, 2, this.previewSteps.size(), UnityActivity.BLOCKLY_TYPE_NONE);
|
|
} else {
|
|
this.viewPager.setCurrentItem(currentItem - 1);
|
|
}
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentActivity, android.app.Activity
|
|
protected void onNewIntent(Intent intent) {
|
|
if (intent == null) {
|
|
return;
|
|
}
|
|
int intExtra = intent.getIntExtra(STEP, 201);
|
|
int i = 0;
|
|
if (intExtra == -1) {
|
|
SPUtils.b(String.format(DIYSTEP, this.diyDetailsModel.getCustomModelId()), -3);
|
|
finish();
|
|
} else {
|
|
if (this.previewSteps.size() >= intExtra) {
|
|
this.viewPager.setCurrentItem(intExtra - 1);
|
|
return;
|
|
}
|
|
Iterator<DiyPreviewStep> it = this.previewSteps.iterator();
|
|
while (it.hasNext() && it.next().getStepType() != 301) {
|
|
i++;
|
|
}
|
|
this.viewPager.setCurrentItem(i);
|
|
}
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.ViewPager.OnPageChangeListener
|
|
public void onPageScrollStateChanged(int i) {
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.ViewPager.OnPageChangeListener
|
|
public void onPageScrolled(int i, float f, int i2) {
|
|
}
|
|
|
|
@Override // androidx.viewpager.widget.ViewPager.OnPageChangeListener
|
|
public void onPageSelected(int i) {
|
|
this.mLastIndex = i;
|
|
List<DiyPreviewStep> list = this.previewSteps;
|
|
if (list == null || list.size() == 0) {
|
|
return;
|
|
}
|
|
if (this.previewSteps.get(i).getStepType() == 301) {
|
|
setStep(i + 2);
|
|
} else {
|
|
setStep(i + 1);
|
|
}
|
|
XLog.a(TAG, "position %s", Integer.valueOf(i));
|
|
}
|
|
|
|
@Override // androidx.appcompat.app.AppCompatActivity, androidx.fragment.app.FragmentActivity, androidx.core.app.ComponentActivity, android.app.Activity
|
|
protected void onSaveInstanceState(Bundle bundle) {
|
|
bundle.putSerializable(DETAILS, this.diyDetailsModel);
|
|
super.onSaveInstanceState(bundle);
|
|
}
|
|
|
|
@Override // androidx.appcompat.app.AppCompatActivity, androidx.fragment.app.FragmentActivity, android.app.Activity
|
|
protected void onStart() {
|
|
super.onStart();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.BaseActivity
|
|
public void relayout() {
|
|
}
|
|
|
|
public void setNavTitle(int i, String str) {
|
|
XLog.a(TAG, " index compare [%s, %s], title %s", Integer.valueOf(this.mLastIndex), Integer.valueOf(i), str);
|
|
this.mNavBarView.setTitle(str);
|
|
}
|
|
|
|
public static void start(Context context, int i, DiyDetailsModel diyDetailsModel) {
|
|
Intent intent = new Intent(context, (Class<?>) DiyBrowseActivity.class);
|
|
intent.putExtra(STEP, i);
|
|
intent.putExtra(DETAILS, diyDetailsModel);
|
|
context.startActivity(intent);
|
|
}
|
|
|
|
public static void start(Context context, int i) {
|
|
Intent intent = new Intent(context, (Class<?>) DiyBrowseActivity.class);
|
|
intent.putExtra(STEP, i);
|
|
context.startActivity(intent);
|
|
}
|
|
|
|
public static void start(Context context) {
|
|
context.startActivity(new Intent(context, (Class<?>) DiyBrowseActivity.class));
|
|
}
|
|
}
|