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

114 lines
5.0 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.HSliderConfig;
import com.ubt.jimu.controller.manager.CommandManager;
import com.ubt.jimu.controller.manager.MoveConfigManager;
import com.ubt.jimu.controller.view.IAngleSettingView;
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 AngleSettingPresenter extends SuperControllerPresenter<IAngleSettingView> {
public AngleSettingPresenter(Context context, RobotLite robotLite) {
super(context, robotLite);
}
@Override // com.ubt.jimu.controller.presenter.SuperControllerPresenter
public String a(int i, ServoMode servoMode) {
IAngleSettingView iAngleSettingView;
String a = super.a(i, servoMode);
if (TextUtils.isEmpty(a) || (iAngleSettingView = (IAngleSettingView) b()) == null) {
return "";
}
iAngleSettingView.d(String.format(this.c.getResources().getString(R.string.control_servo_mode_set), a));
return "";
}
@Override // com.ubt.jimu.controller.presenter.SuperControllerPresenter
void b(List<? extends Engine> list) {
if (list == null || list.size() <= 0) {
return;
}
XLog.a("woo", "servolist: %s", list.toString());
List<HSliderConfig> c = MoveConfigManager.a(this.c.getApplicationContext()).c();
if (c == null || c.size() <= 0) {
return;
}
Iterator<HSliderConfig> it = c.iterator();
while (it.hasNext()) {
int servoID = it.next().getServoID();
for (Engine engine : list) {
if (servoID == engine.getId()) {
engine.setConfigged(true);
}
}
}
}
public void a(HSliderConfig hSliderConfig) {
MoveConfigManager a = MoveConfigManager.a(this.c.getApplicationContext());
a.b(hSliderConfig);
a.a(true);
}
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.AngleSettingPresenter.1
@Override // io.reactivex.ObservableOnSubscribe
public void subscribe(ObservableEmitter<List<ServoAngleReadInfo>> observableEmitter) throws Exception {
if (AngleSettingPresenter.this.d() != null) {
long elapsedRealtime = SystemClock.elapsedRealtime();
List<ServoAngleReadInfo> a = AngleSettingPresenter.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.AngleSettingPresenter.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());
IAngleSettingView iAngleSettingView = (IAngleSettingView) AngleSettingPresenter.this.b();
if (iAngleSettingView != null) {
iAngleSettingView.g(list);
}
}
});
}
}
}