114 lines
5.1 KiB
Java
114 lines
5.1 KiB
Java
package com.ubt.jimu.controller.data.widget;
|
|
|
|
import android.text.TextUtils;
|
|
import com.thoughtworks.xstream.converters.Converter;
|
|
import com.thoughtworks.xstream.converters.MarshallingContext;
|
|
import com.thoughtworks.xstream.converters.UnmarshallingContext;
|
|
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
|
|
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
|
|
import com.ubt.jimu.base.data.CtrlMotionType;
|
|
import com.ubt.jimu.controller.data.config.SliderConfig;
|
|
import com.ubtech.utils.XLog;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class SliderDataConverter implements Converter {
|
|
public static final String CONFIG_ID = "configID";
|
|
public static final String DIRECTION = "directionDisclock";
|
|
public static final String MOTION_TYPE = "motionType";
|
|
public static final String SERVO_ID = "servoID";
|
|
|
|
@Override // com.thoughtworks.xstream.converters.ConverterMatcher
|
|
public boolean canConvert(Class cls) {
|
|
return SliderWidgetData.class.equals(cls);
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.Converter
|
|
public void marshal(Object obj, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
|
|
SliderWidgetData sliderWidgetData = (SliderWidgetData) obj;
|
|
if (!TextUtils.isEmpty(sliderWidgetData.getWidgetId())) {
|
|
hierarchicalStreamWriter.addAttribute("widgetId", sliderWidgetData.getWidgetId());
|
|
}
|
|
SliderConfig config = sliderWidgetData.getConfig();
|
|
if (config != null && !TextUtils.isEmpty(config.getConfigID())) {
|
|
hierarchicalStreamWriter.addAttribute("configID", config.getConfigID());
|
|
}
|
|
hierarchicalStreamWriter.startNode("pos_x");
|
|
hierarchicalStreamWriter.setValue(String.valueOf(sliderWidgetData.getPosX()));
|
|
hierarchicalStreamWriter.endNode();
|
|
hierarchicalStreamWriter.startNode("pos_y");
|
|
hierarchicalStreamWriter.setValue(String.valueOf(sliderWidgetData.getPosY()));
|
|
hierarchicalStreamWriter.endNode();
|
|
}
|
|
|
|
/* JADX WARN: Failed to restore switch over string. Please report as a decompilation issue */
|
|
@Override // com.thoughtworks.xstream.converters.Converter
|
|
public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
|
|
String attribute = hierarchicalStreamReader.getAttribute("widgetId");
|
|
if (TextUtils.isEmpty(attribute)) {
|
|
attribute = hierarchicalStreamReader.getAttribute("widgetID");
|
|
}
|
|
SliderWidgetData sliderWidgetData = new SliderWidgetData(attribute);
|
|
SliderConfig sliderConfig = new SliderConfig();
|
|
String attribute2 = hierarchicalStreamReader.getAttribute("configID");
|
|
if (!TextUtils.isEmpty(attribute2)) {
|
|
sliderConfig.setConfigID(attribute2);
|
|
}
|
|
while (hierarchicalStreamReader.hasMoreChildren()) {
|
|
hierarchicalStreamReader.moveDown();
|
|
String nodeName = hierarchicalStreamReader.getNodeName();
|
|
char c = 65535;
|
|
switch (nodeName.hashCode()) {
|
|
case -1480753953:
|
|
if (nodeName.equals(DIRECTION)) {
|
|
c = 4;
|
|
break;
|
|
}
|
|
break;
|
|
case -720898032:
|
|
if (nodeName.equals("motionType")) {
|
|
c = 2;
|
|
break;
|
|
}
|
|
break;
|
|
case 106854733:
|
|
if (nodeName.equals("pos_x")) {
|
|
c = 0;
|
|
break;
|
|
}
|
|
break;
|
|
case 106854734:
|
|
if (nodeName.equals("pos_y")) {
|
|
c = 1;
|
|
break;
|
|
}
|
|
break;
|
|
case 1984158196:
|
|
if (nodeName.equals("servoID")) {
|
|
c = 3;
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
if (c == 0) {
|
|
sliderWidgetData.setPosX(Float.valueOf(hierarchicalStreamReader.getValue()).floatValue());
|
|
} else if (c == 1) {
|
|
sliderWidgetData.setPosY(Float.valueOf(hierarchicalStreamReader.getValue()).floatValue());
|
|
} else if (c == 2) {
|
|
sliderConfig.setMotionType((CtrlMotionType) unmarshallingContext.convertAnother(sliderWidgetData, CtrlMotionType.class));
|
|
} else if (c == 3) {
|
|
Integer valueOf = Integer.valueOf(hierarchicalStreamReader.getValue());
|
|
if (valueOf != null && valueOf.intValue() > 0) {
|
|
sliderConfig.setServoID(valueOf.intValue());
|
|
}
|
|
} else if (c != 4) {
|
|
XLog.b("woo", "Unknown node name : %s", hierarchicalStreamReader.getNodeName());
|
|
} else {
|
|
sliderConfig.setDirectionDisclock(Boolean.valueOf(hierarchicalStreamReader.getValue()).booleanValue());
|
|
}
|
|
hierarchicalStreamReader.moveUp();
|
|
}
|
|
sliderWidgetData.setConfig(sliderConfig);
|
|
return sliderWidgetData;
|
|
}
|
|
}
|