Files
jimu-decompiled/sources/com/ubt/jimu/controller/presenter/AccumulatorSettingPresenter.java
2025-05-13 19:24:51 +02:00

125 lines
5.6 KiB
Java

package com.ubt.jimu.controller.presenter;
import android.content.Context;
import android.os.SystemClock;
import android.text.TextUtils;
import com.ubt.jimu.R;
import com.ubt.jimu.base.data.Engine;
import com.ubt.jimu.base.data.ServoMode;
import com.ubt.jimu.base.entities.RobotLite;
import com.ubt.jimu.controller.data.command.AngleCommand;
import com.ubt.jimu.controller.data.command.MoveCommand;
import com.ubt.jimu.controller.data.config.AccumulatorConfig;
import com.ubt.jimu.controller.manager.CommandManager;
import com.ubt.jimu.controller.manager.MoveConfigManager;
import com.ubt.jimu.controller.view.IAccumulatorSettingView;
import com.ubtech.utils.XLog;
import com.ubtrobot.jimu.robotapi.ServoAngleReadInfo;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
/* loaded from: classes.dex */
public class AccumulatorSettingPresenter extends SuperControllerPresenter<IAccumulatorSettingView> {
public AccumulatorSettingPresenter(Context context, RobotLite robotLite) {
super(context, robotLite);
}
@Override // com.ubt.jimu.controller.presenter.SuperControllerPresenter
public boolean a(RobotLite robotLite) {
IAccumulatorSettingView iAccumulatorSettingView;
boolean a = super.a(robotLite);
if (!a && (iAccumulatorSettingView = (IAccumulatorSettingView) b()) != null) {
iAccumulatorSettingView.Y();
}
return a;
}
@Override // com.ubt.jimu.controller.presenter.SuperControllerPresenter
protected void b(List<? extends Engine> list) {
List<AccumulatorConfig> a;
if (list == null || list.size() <= 0 || (a = MoveConfigManager.a(this.c.getApplicationContext()).a()) == null || a.size() <= 0) {
return;
}
Iterator<AccumulatorConfig> it = a.iterator();
while (it.hasNext()) {
int servoID = it.next().getServoID();
for (Engine engine : list) {
if (servoID == engine.getId()) {
engine.setConfigged(true);
}
}
}
}
@Override // com.ubt.jimu.controller.presenter.SuperControllerPresenter
public boolean c(RobotLite robotLite) {
return super.c(robotLite);
}
public void a(AccumulatorConfig accumulatorConfig) {
MoveConfigManager a = MoveConfigManager.a(this.c.getApplicationContext());
a.b(accumulatorConfig);
a.a(true);
}
@Override // com.ubt.jimu.controller.presenter.SuperControllerPresenter
public String a(int i, ServoMode servoMode) {
IAccumulatorSettingView iAccumulatorSettingView;
String a = super.a(i, servoMode);
if (TextUtils.isEmpty(a) || (iAccumulatorSettingView = (IAccumulatorSettingView) b()) == null) {
return "";
}
iAccumulatorSettingView.d(String.format(this.c.getResources().getString(R.string.control_servo_mode_set), a));
return "";
}
public void a(RobotLite robotLite, int i, int i2) {
if (!c(robotLite) || super.e()) {
return;
}
HashMap hashMap = new HashMap(1);
hashMap.put(Integer.valueOf(i), Integer.valueOf(i2 + 120));
CommandManager.a(this.c.getApplicationContext()).a((MoveCommand) new AngleCommand(hashMap, 200, 0), false);
}
public void a(final int i) {
if (c(this.d)) {
Observable.create(new ObservableOnSubscribe<List<ServoAngleReadInfo>>() { // from class: com.ubt.jimu.controller.presenter.AccumulatorSettingPresenter.1
@Override // io.reactivex.ObservableOnSubscribe
public void subscribe(ObservableEmitter<List<ServoAngleReadInfo>> observableEmitter) throws Exception {
if (AccumulatorSettingPresenter.this.d() != null) {
long elapsedRealtime = SystemClock.elapsedRealtime();
List<ServoAngleReadInfo> a = AccumulatorSettingPresenter.this.d().a(i, true);
if (a == null || a.size() <= 0) {
observableEmitter.onError(new Throwable("read servo angle failed"));
return;
}
for (ServoAngleReadInfo servoAngleReadInfo : a) {
servoAngleReadInfo.a(servoAngleReadInfo.a() - 120.0f);
}
XLog.a("Controller", "readAllServoAngle cost time: %d", Long.valueOf(SystemClock.elapsedRealtime() - elapsedRealtime));
observableEmitter.onNext(a);
}
}
}).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Consumer<List<ServoAngleReadInfo>>() { // from class: com.ubt.jimu.controller.presenter.AccumulatorSettingPresenter.2
@Override // io.reactivex.functions.Consumer
/* renamed from: a, reason: merged with bridge method [inline-methods] */
public void accept(List<ServoAngleReadInfo> list) throws Exception {
XLog.a("Controller", "servoAngle: %s", list.toString());
IAccumulatorSettingView iAccumulatorSettingView = (IAccumulatorSettingView) AccumulatorSettingPresenter.this.b();
if (iAccumulatorSettingView != null) {
iAccumulatorSettingView.g(list);
}
}
});
}
}
}