Итак, у меня есть операторы switch, которые я скопировал из предыдущего разработанного класса, и они, очевидно, не являются допустимыми. Как я могу изменить их на действительные коды? Они следующие:
switch($SWITCH_TABLE$hotsdk_a$communication$HotInterface$HotResultData$val_rcv_kind()[HotInterface.HotResultData.val_rcv_kind.valueOf(hotResultData.rcv_kind).ordinal()]){
case 1:
case 2:
} //valueOf is a method in the enum
switch($SWITCH_TABLE$hotsdk_a$game$AppMessage()[AppMessage.valueOf(rSendMsg.what).ordinal()]){
case 1:
case 2:
} //rSendMsg.what is obtained from the Message returned by the first switch case above
switch($SWITCH_TABLE$hotsdk_a$communication$HOTDeviceInterface$DataFormat$Command()[command.ordinal()]){
case 1:
case 2:
}
, где AppMessage , val_rcv_kind и команда - это перечисления.
val_rcv_kind
public static enum val_rcv_kind {
rcv_Beacon(0),
rcv_Measuring(1),
rcv_FwVer(2),
rcv_AGC(3),
rcv_GetGain(4),
rcv_GetLed(5),
rcv_SetGain(6),
rcv_Stop(7);
private int value;
private val_rcv_kind(int i) {
this.value = i;
}
public int getValue() {
return this.value;
}
public static HotInterface.HotResultData.val_rcv_kind valueOf(int i) {
HotInterface.HotResultData.val_rcv_kind[] var4;
int var3 = (var4 = values()).length;
for(int var2 = 0; var2 < var3; ++var2) {
HotInterface.HotResultData.val_rcv_kind kind = var4[var2];
if (kind.getValue() == i) {
return kind;
}
}
return null;
}
}
команда
public static enum Command {
ConfigureProbe("!AT C"),
ResetProbe("!AT D"),
StartAGC("!AT G"),
GetAGCParameter("!AT P"),
GetData("!AT R 0"),
GetDebugData("!AT R 1"),
StopData("!AT S"),
GetMGCParameter("!AT M"),
GetLEDParameter("!AT L");
private String value;
private Command(String command) {
this.value = command;
}
public String getValue() {
return this.value;
}
}
AppMessage
public enum AppMessage {
StartButtonClicked(0),
StopButtonClicked(1),
UpdateView(10),
BluetoothConnected(100),
BluetoothDisconnected(101),
BluetoothConnectionFailed(102),
BluetoothNotified(103),
DataReceived(111),
DebugDataReceived(112),
BeaconReceived(113),
BluetoothServiceConnected(500),
DebugPutError(900),
OnEnterWaiting(1000),
AGCStarted(1101),
AGCSucceeded(1102),
AGCFailed(1103),
AGCOnTheWay(1104),
AGCParameterReceived(1110),
ProbeCheckStarted(1201),
ProbeCheckSucceeded(1202),
ProbeCheckFailed(1203),
CalibrationStarted(1301),
CalibrationSucceeded(1302),
CalibrationFailed(1303),
MeasurementStarted(1401),
MeasurementStopped(1402),
OnMarkingEvent(1500),
SetGainSucceeded(1601),
SetGainFailed(1602),
GetGainReceived(1603),
SetLedSucceeded(1701),
SetLedFailed(1702),
GetLedReceived(1703),
StopMeasuring(1801),
SetGainEnd(1802),
LoginReceivedCallback(1900),
SessionReceivedCallback(1901),
DataReceivedCallback(1911),
CoinReceivedCallback(1921),
StartGame00(2000),
StartGame01(2001),
StartGame02(2002),
StartGame03(2003),
StartGame04(2004),
StartGame05(2005),
StartGame06(2006),
StartGame07(2007),
StartGame08(2008),
StartGame09(2009),
GetItem00(9000),
GetItem01(9001),
GetItem02(9002),
GetItem03(9003),
GetItem04(9004);
private final int value;
AppMessage(int i) {
this.value = i;
}
public int getValue() {
return this.value;
}
public static AppMessage valueOf(int i) {
AppMessage[] var4;
int var3 = (var4 = values()).length;
for(int var2 = 0; var2 < var3; ++var2) {
AppMessage event = var4[var2];
if (event.getValue() == i) {
return event;
}
}
return null;
}
}
Может кто-нибудь помочь мне решить эту проблему. Мне нужно как можно быстрее завершить sh мой проект.