407 lines
17 KiB
Java
407 lines
17 KiB
Java
package com.ubt.jimu.controller;
|
|
|
|
import android.app.Dialog;
|
|
import android.content.DialogInterface;
|
|
import android.content.Intent;
|
|
import android.text.TextUtils;
|
|
import android.view.View;
|
|
import android.widget.ImageView;
|
|
import android.widget.RelativeLayout;
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import com.alibaba.android.arouter.facade.Postcard;
|
|
import com.alibaba.android.arouter.launcher.ARouter;
|
|
import com.ubt.jimu.R;
|
|
import com.ubt.jimu.base.EngineManager;
|
|
import com.ubt.jimu.base.SuperActivity;
|
|
import com.ubt.jimu.base.data.CtrlMotionType;
|
|
import com.ubt.jimu.base.data.Engine;
|
|
import com.ubt.jimu.base.data.Servo;
|
|
import com.ubt.jimu.base.data.ServoMode;
|
|
import com.ubt.jimu.base.entities.RobotLite;
|
|
import com.ubt.jimu.connect.model.Component;
|
|
import com.ubt.jimu.controller.adapter.VSliderSetAdapter;
|
|
import com.ubt.jimu.controller.data.command.Gear;
|
|
import com.ubt.jimu.controller.data.config.SliderConfig;
|
|
import com.ubt.jimu.controller.manager.CommandManager;
|
|
import com.ubt.jimu.controller.manager.MoveConfigManager;
|
|
import com.ubt.jimu.controller.presenter.VSliderPresenter;
|
|
import com.ubt.jimu.controller.view.IVSliderView;
|
|
import com.ubt.jimu.utils.LogUtils;
|
|
import com.ubt.jimu.widgets.JAlertDialog;
|
|
import com.ubt.jimu.widgets.UniversalPopupWindow;
|
|
import com.ubtech.view.dialog.SimpleDialog;
|
|
import com.ubtech.view.widget.ToastView;
|
|
import com.ubtrobot.jimu.exception.RobotActiveException;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class VSliderSetActivity extends SuperActivity implements IVSliderView, View.OnClickListener, VSliderSetAdapter.OnItemClickListener {
|
|
private VSliderSetAdapter a;
|
|
ImageView angle_affirm;
|
|
private SliderConfig b;
|
|
private SliderConfig c;
|
|
private VSliderPresenter d;
|
|
private List<SliderConfig> e;
|
|
private Engine f;
|
|
private Dialog g;
|
|
private JAlertDialog h;
|
|
ImageView im_back;
|
|
ImageView im_delete;
|
|
ImageView im_engine_anticlockwise;
|
|
ImageView im_engine_clockwise;
|
|
RelativeLayout layout_default_page;
|
|
String mConfigId;
|
|
RobotLite mRobotLite;
|
|
RecyclerView rv_angle_list;
|
|
|
|
private boolean E0() {
|
|
List<Engine> a = this.d.a(true);
|
|
for (int i = 0; i < a.size(); i++) {
|
|
if (!a.get(i).isConfigged()) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
private void F0() {
|
|
JAlertDialog.Builder builder = new JAlertDialog.Builder(this);
|
|
builder.b(false);
|
|
builder.a(R.drawable.ic_loading);
|
|
builder.a(true);
|
|
this.h = builder.a();
|
|
this.h.show();
|
|
}
|
|
|
|
private void G0() {
|
|
UniversalPopupWindow.a(this).c(getResources().getString(R.string.delete_data_remind)).a(getResources().getString(R.string.cancel)).b(getResources().getString(R.string.ok)).a(new UniversalPopupWindow.UniversalPopupWindowListener() { // from class: com.ubt.jimu.controller.VSliderSetActivity.1
|
|
@Override // com.ubt.jimu.widgets.UniversalPopupWindow.UniversalPopupWindowListener
|
|
public void a() {
|
|
VSliderSetActivity.this.d.a(VSliderSetActivity.this.b);
|
|
VSliderSetActivity vSliderSetActivity = VSliderSetActivity.this;
|
|
ToastView.a(vSliderSetActivity, vSliderSetActivity.getResources().getString(R.string.delete_success), ToastView.Type.NORMAL).a();
|
|
VSliderSetActivity.this.D0();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.widgets.UniversalPopupWindow.UniversalPopupWindowListener
|
|
public void onCancel() {
|
|
}
|
|
}).a(this.mRootView);
|
|
}
|
|
|
|
private void H0() {
|
|
JAlertDialog jAlertDialog = this.h;
|
|
if (jAlertDialog == null || !jAlertDialog.isShowing()) {
|
|
return;
|
|
}
|
|
this.h.dismiss();
|
|
}
|
|
|
|
private void I0() {
|
|
SliderConfig sliderConfig;
|
|
List<Engine> a = this.d.a(false);
|
|
if (a == null || a.size() <= 0) {
|
|
return;
|
|
}
|
|
this.e = new ArrayList(a.size());
|
|
for (Engine engine : a) {
|
|
if (engine != null) {
|
|
SliderConfig sliderConfig2 = this.b;
|
|
if (sliderConfig2 != null && sliderConfig2.getMotionType() == engine.getMotionType() && this.b.getServoID() == engine.getId()) {
|
|
sliderConfig = new SliderConfig(this.mConfigId, this.b.getMotionType(), this.b.getServoID(), this.b.isDirectionDisclock());
|
|
} else {
|
|
SliderConfig sliderConfig3 = new SliderConfig();
|
|
sliderConfig3.setServoID((byte) engine.getId());
|
|
sliderConfig3.setMotionType(engine.getMotionType());
|
|
sliderConfig3.setDirectionDisclock(false);
|
|
sliderConfig = sliderConfig3;
|
|
}
|
|
this.e.add(sliderConfig);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void D0() {
|
|
if (TextUtils.isEmpty(this.mConfigId)) {
|
|
setResult(-1);
|
|
} else {
|
|
Intent intent = new Intent();
|
|
intent.putExtra("configId", this.mConfigId);
|
|
setResult(-1, intent);
|
|
}
|
|
finish();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.adapter.VSliderSetAdapter.OnItemClickListener
|
|
public void c(Servo servo) {
|
|
if (this.mRobotLite.isOfficial()) {
|
|
ToastView.a(this, R.string.control_config_official).a();
|
|
} else {
|
|
d(getResources().getString(R.string.control_nonsupport_angle));
|
|
}
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.view.IVSliderView
|
|
public void d(String str) {
|
|
new SimpleDialog.Builder(this).a((CharSequence) str).d(R.string.ok).a(R.string.cancel, true).b(new DialogInterface.OnClickListener() { // from class: com.ubt.jimu.controller.e1
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public final void onClick(DialogInterface dialogInterface, int i) {
|
|
VSliderSetActivity.this.b(dialogInterface, i);
|
|
}
|
|
}).a(new DialogInterface.OnClickListener() { // from class: com.ubt.jimu.controller.b1
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public final void onClick(DialogInterface dialogInterface, int i) {
|
|
dialogInterface.dismiss();
|
|
}
|
|
}).a().show();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.SuperActivity
|
|
public void initData() {
|
|
ARouter.b().a(this);
|
|
this.d = new VSliderPresenter(this, this.mRobotLite);
|
|
this.a = new VSliderSetAdapter(this);
|
|
this.rv_angle_list.setLayoutManager(new LinearLayoutManager(this));
|
|
this.rv_angle_list.setAdapter(this.a);
|
|
if (TextUtils.isEmpty(this.mConfigId)) {
|
|
this.c = new SliderConfig();
|
|
this.im_delete.setVisibility(8);
|
|
this.angle_affirm.setVisibility(8);
|
|
this.im_engine_anticlockwise.setBackgroundResource(R.drawable.disclock_default);
|
|
this.im_engine_clockwise.setBackgroundResource(R.drawable.clockwise_selected);
|
|
this.b = this.c;
|
|
if (!E0()) {
|
|
LogUtils.c("没有可配置的舵机");
|
|
ToastView.a(this, getResources().getString(R.string.no_configuration_engines), ToastView.Type.NORMAL).a();
|
|
}
|
|
} else {
|
|
this.b = (SliderConfig) MoveConfigManager.a(getApplicationContext()).a(this.mConfigId);
|
|
this.c = new SliderConfig(this.mConfigId, this.b.getMotionType(), this.b.getServoID(), this.b.isDirectionDisclock());
|
|
this.im_delete.setVisibility(0);
|
|
this.angle_affirm.setVisibility(0);
|
|
a(this.b);
|
|
}
|
|
this.a.a(this.c);
|
|
this.im_back.setBackgroundResource(R.mipmap.btn_cancel);
|
|
this.angle_affirm.setBackgroundResource(R.mipmap.affirm_controller);
|
|
this.im_delete.setBackgroundResource(R.mipmap.control_delete_icon);
|
|
I0();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.SuperActivity
|
|
public void initEvent() {
|
|
this.im_back.setOnClickListener(this);
|
|
this.im_engine_anticlockwise.setOnClickListener(this);
|
|
this.im_engine_clockwise.setOnClickListener(this);
|
|
this.angle_affirm.setOnClickListener(this);
|
|
this.im_delete.setOnClickListener(this);
|
|
this.a.a(this);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.SuperActivity
|
|
public View initView() {
|
|
return View.inflate(this, R.layout.activity_v_slider, null);
|
|
}
|
|
|
|
@Override // android.view.View.OnClickListener
|
|
public void onClick(View view) {
|
|
switch (view.getId()) {
|
|
case R.id.angle_affirm /* 2131296318 */:
|
|
this.b.setDirectionDisclock(this.c.isDirectionDisclock());
|
|
this.b.setMotionType(this.c.getMotionType());
|
|
this.b.setServoID(this.c.getServoID());
|
|
this.d.b(this.b);
|
|
D0();
|
|
break;
|
|
case R.id.im_back /* 2131296709 */:
|
|
finish();
|
|
break;
|
|
case R.id.im_delete /* 2131296724 */:
|
|
G0();
|
|
break;
|
|
case R.id.im_engine_anticlockwise /* 2131296731 */:
|
|
this.im_engine_anticlockwise.setBackgroundResource(R.drawable.disclock_selected);
|
|
this.im_engine_clockwise.setBackgroundResource(R.drawable.clockwise_default);
|
|
this.c.setDirectionDisclock(true);
|
|
SliderConfig a = a(this.f);
|
|
if (a != null) {
|
|
a.setDirectionDisclock(true);
|
|
this.d.a(this.c.getMotionType(), this.c.getServoID(), Gear.FIFTH, -1);
|
|
this.angle_affirm.setVisibility(0);
|
|
break;
|
|
}
|
|
break;
|
|
case R.id.im_engine_clockwise /* 2131296732 */:
|
|
this.im_engine_anticlockwise.setBackgroundResource(R.drawable.disclock_default);
|
|
this.im_engine_clockwise.setBackgroundResource(R.drawable.clockwise_selected);
|
|
this.c.setDirectionDisclock(false);
|
|
SliderConfig a2 = a(this.f);
|
|
if (a2 != null) {
|
|
a2.setDirectionDisclock(false);
|
|
this.d.a(this.c.getMotionType(), this.c.getServoID(), Gear.FIFTH, 1);
|
|
this.angle_affirm.setVisibility(0);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
@Override // com.ubt.jimu.BaseActivity, com.ubt.jimu.ScreenRotationManageActivity, androidx.fragment.app.FragmentActivity, android.app.Activity
|
|
protected void onPause() {
|
|
this.d.j();
|
|
super.onPause();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.BaseActivity, com.ubt.jimu.ScreenRotationManageActivity, androidx.fragment.app.FragmentActivity, android.app.Activity
|
|
protected void onResume() {
|
|
int servoID;
|
|
super.onResume();
|
|
this.a.a(this.d.a(true));
|
|
EngineManager c = this.d.c();
|
|
if (c != null) {
|
|
CommandManager.a(getApplicationContext()).a(c);
|
|
}
|
|
if (!TextUtils.isEmpty(this.mConfigId) && this.c.getMotionType() == CtrlMotionType.servo && (servoID = this.c.getServoID()) > 0) {
|
|
this.d.a(servoID, ServoMode.SERVO_MODE_TURN);
|
|
}
|
|
this.d.g();
|
|
}
|
|
|
|
private void a(SliderConfig sliderConfig) {
|
|
if (sliderConfig.isDirectionDisclock()) {
|
|
this.im_engine_anticlockwise.setBackgroundResource(R.drawable.disclock_selected);
|
|
this.im_engine_clockwise.setBackgroundResource(R.drawable.clockwise_default);
|
|
} else {
|
|
this.im_engine_anticlockwise.setBackgroundResource(R.drawable.disclock_default);
|
|
this.im_engine_clockwise.setBackgroundResource(R.drawable.clockwise_selected);
|
|
}
|
|
}
|
|
|
|
public /* synthetic */ void b(DialogInterface dialogInterface, int i) {
|
|
Postcard a = ARouter.b().a("/controller/servosettings");
|
|
a.a("robotLite", this.mRobotLite);
|
|
a.t();
|
|
dialogInterface.dismiss();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.view.IBaseControllerView
|
|
public void b(List<Component> list) {
|
|
this.d.a(list);
|
|
}
|
|
|
|
private SliderConfig a(Engine engine) {
|
|
List<SliderConfig> list;
|
|
if (engine == null || (list = this.e) == null || list.size() <= 0) {
|
|
return null;
|
|
}
|
|
for (SliderConfig sliderConfig : this.e) {
|
|
if (sliderConfig.getMotionType() == engine.getMotionType() && sliderConfig.getServoID() == engine.getId()) {
|
|
return sliderConfig;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.adapter.VSliderSetAdapter.OnItemClickListener
|
|
public void a(Engine engine, int i) {
|
|
this.layout_default_page.setVisibility(8);
|
|
this.f = engine;
|
|
SliderConfig a = a(engine);
|
|
if (a != null) {
|
|
a(a);
|
|
}
|
|
this.c.setServoID((byte) engine.getId());
|
|
this.c.setMotionType(engine.getMotionType());
|
|
this.angle_affirm.setVisibility(0);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.view.IBaseControllerView
|
|
public void a(final String str, final RobotActiveException robotActiveException, final List<Integer> list, final boolean z) {
|
|
runOnUiThread(new Runnable() { // from class: com.ubt.jimu.controller.z0
|
|
@Override // java.lang.Runnable
|
|
public final void run() {
|
|
VSliderSetActivity.this.a(str, z, robotActiveException, list);
|
|
}
|
|
});
|
|
}
|
|
|
|
public /* synthetic */ void a(String str, boolean z, final RobotActiveException robotActiveException, final List list) {
|
|
Dialog dialog = this.g;
|
|
if (dialog == null || !dialog.isShowing()) {
|
|
SimpleDialog.Builder builder = new SimpleDialog.Builder(this);
|
|
SimpleDialog.Builder b = builder.a((CharSequence) str).d(R.string.ok).a(R.string.cancel, z).a(new DialogInterface.OnClickListener() { // from class: com.ubt.jimu.controller.y0
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public final void onClick(DialogInterface dialogInterface, int i) {
|
|
dialogInterface.dismiss();
|
|
}
|
|
}).b(new DialogInterface.OnClickListener() { // from class: com.ubt.jimu.controller.a1
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public final void onClick(DialogInterface dialogInterface, int i) {
|
|
VSliderSetActivity.this.a(robotActiveException, list, dialogInterface, i);
|
|
}
|
|
});
|
|
b.b(false);
|
|
b.a(false);
|
|
if (z) {
|
|
builder.a(R.string.cancel, true).a(new DialogInterface.OnClickListener() { // from class: com.ubt.jimu.controller.c1
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public final void onClick(DialogInterface dialogInterface, int i) {
|
|
dialogInterface.dismiss();
|
|
}
|
|
});
|
|
}
|
|
this.g = builder.a();
|
|
this.g.show();
|
|
}
|
|
}
|
|
|
|
public /* synthetic */ void a(RobotActiveException robotActiveException, List list, DialogInterface dialogInterface, int i) {
|
|
this.d.a(robotActiveException, (List<Integer>) list);
|
|
dialogInterface.dismiss();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.view.IBaseControllerView
|
|
public void a(boolean z) {
|
|
if (z) {
|
|
JAlertDialog jAlertDialog = this.h;
|
|
if ((jAlertDialog != null && jAlertDialog.isShowing()) || isFinishing() || isDestroyed()) {
|
|
return;
|
|
}
|
|
F0();
|
|
return;
|
|
}
|
|
H0();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.view.IBaseControllerView
|
|
public void a(Throwable th) {
|
|
th.printStackTrace();
|
|
ToastView.a(this, R.string.control_request_error).a();
|
|
}
|
|
|
|
@Override // com.ubt.jimu.controller.view.IBaseControllerView
|
|
public void a(List<Component> list) {
|
|
if (list == null || list.size() <= 0) {
|
|
return;
|
|
}
|
|
new SimpleDialog.Builder(this).a((CharSequence) this.d.a(this, list)).d(R.string.ok).a(R.string.cancel, true).b(new DialogInterface.OnClickListener() { // from class: com.ubt.jimu.controller.d1
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public final void onClick(DialogInterface dialogInterface, int i) {
|
|
VSliderSetActivity.this.a(dialogInterface, i);
|
|
}
|
|
}).a(new DialogInterface.OnClickListener() { // from class: com.ubt.jimu.controller.f1
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public final void onClick(DialogInterface dialogInterface, int i) {
|
|
dialogInterface.dismiss();
|
|
}
|
|
}).a().show();
|
|
}
|
|
|
|
public /* synthetic */ void a(DialogInterface dialogInterface, int i) {
|
|
this.d.f();
|
|
dialogInterface.dismiss();
|
|
}
|
|
}
|