正在查看: xDrip+ v04633772025.07.16 应用的 FirmwareCapability.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: xDrip+ v04633772025.07.16 应用的 FirmwareCapability.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.eveningoutpost.dexdrip.g5model;
import com.eveningoutpost.dexdrip.models.JoH;
import com.google.common.collect.ImmutableSet;
public class FirmwareCapability {
private static final ImmutableSet<String> KNOWN_G5_FIRMWARES = ImmutableSet.of("1.0.0.13", "1.0.0.17", "1.0.4.10", "1.0.4.12", "1.0.4.14", "1.0.4.15", new String[0]);
private static final ImmutableSet<String> KNOWN_G6_FIRMWARES = ImmutableSet.of("1.6.5.23", "1.6.5.25", "1.6.5.27");
private static final ImmutableSet<String> KNOWN_G6_REV2_FIRMWARES = ImmutableSet.of("2.18.2.67", "2.18.2.88", "2.18.2.98", "2.24.2.88", "2.27.2.98", "2.27.2.103", "2.27.2.105");
private static final ImmutableSet<String> KNOWN_G6_REV2_RAW_FIRMWARES = ImmutableSet.of("2.18.2.67");
private static final ImmutableSet<String> KNOWN_G6_PLUS_FIRMWARES = ImmutableSet.of("2.4.2.88");
private static final ImmutableSet<String> KNOWN_ONE_FIRMWARES = ImmutableSet.of("30.192.103.34");
private static final ImmutableSet<String> KNOWN_ALT_FIRMWARES = ImmutableSet.of("29.192.104.59", "32.192.104.82", "32.192.104.109", "32.192.105.64", "32.192.106.0", "44.192.105.72", new String[0]);
private static final ImmutableSet<String> KNOWN_TIME_TRAVEL_TESTED = ImmutableSet.of("1.6.5.25");
private static final ImmutableSet<String> KNOWN_ALT2_FIRMWARES = ImmutableSet.of("37.192.105.94");
static boolean isG6Firmware(String str) {
return str != null && (KNOWN_G6_FIRMWARES.contains(str) || KNOWN_G6_REV2_FIRMWARES.contains(str) || KNOWN_G6_PLUS_FIRMWARES.contains(str) || str.startsWith("1.6.5.") || str.startsWith("2.18.") || str.startsWith("2.24.") || str.startsWith("2.27.") || str.startsWith("2.4.") || isDex1Firmware(str));
}
static boolean isDex1Firmware(String str) {
return str.startsWith("30.");
}
public static boolean isG6Rev2(String str) {
return str != null && (KNOWN_G6_REV2_FIRMWARES.contains(str) || str.startsWith("2.18.") || str.startsWith("2.24.") || str.startsWith("2.27."));
}
public static boolean isG6Plus(String str) {
return str != null && (KNOWN_G6_PLUS_FIRMWARES.contains(str) || str.startsWith("2.4."));
}
static boolean isG5Firmware(String str) {
return KNOWN_G5_FIRMWARES.contains(str);
}
static boolean isFirmwareTimeTravelCapable(String str) {
return KNOWN_TIME_TRAVEL_TESTED.contains(str);
}
public static boolean isFirmwareTemperatureCapable(String str) {
return !isG6Plus(str);
}
public static boolean isFirmwareResistanceCapable(String str) {
return (isG6Rev2(str) || isG6Plus(str)) ? false : true;
}
static boolean isFirmwareRawCapable(String str) {
return str == null || str.equals("") || KNOWN_G5_FIRMWARES.contains(str) || KNOWN_G6_FIRMWARES.contains(str) || KNOWN_G6_REV2_RAW_FIRMWARES.contains(str);
}
static boolean isFirmwarePreemptiveRestartCapable(String str) {
return isFirmwareRawCapable(str);
}
static boolean isAltOrAlt2Firmware(String str) {
return KNOWN_ALT_FIRMWARES.contains(str) || KNOWN_ALT2_FIRMWARES.contains(str);
}
static boolean isAlt2Firmware(String str) {
return KNOWN_ALT2_FIRMWARES.contains(str);
}
public static boolean isTransmitterModified(String str) {
VersionRequest1RxMessage versionRequest1RxMessage = (VersionRequest1RxMessage) Ob1G5StateMachine.getFirmwareXDetails(str, 1);
return versionRequest1RxMessage != null && versionRequest1RxMessage.max_runtime_days >= 180;
}
public static boolean isTransmitterStandardFirefly(String str) {
return !isTransmitterModified(str) && isTransmitterRawIncapable(str);
}
public static boolean isDeviceAltOrAlt2(String str) {
return isAltOrAlt2Firmware(Ob1G5StateMachine.getRawFirmwareVersionString(str));
}
public static boolean isDeviceAlt2(String str) {
return isAlt2Firmware(Ob1G5StateMachine.getRawFirmwareVersionString(str));
}
public static boolean isTransmitterG5(String str) {
return isG5Firmware(Ob1G5StateMachine.getRawFirmwareVersionString(str));
}
public static boolean isTransmitterG6(String str) {
return isG6Firmware(Ob1G5StateMachine.getRawFirmwareVersionString(str));
}
public static boolean isTransmitterG6Rev2(String str) {
return isG6Rev2(Ob1G5StateMachine.getRawFirmwareVersionString(str));
}
public static boolean isTransmitterTimeTravelCapable(String str) {
return isFirmwareTimeTravelCapable(Ob1G5StateMachine.getRawFirmwareVersionString(str));
}
public static boolean isTransmitterRawCapable(String str) {
return isFirmwareRawCapable(Ob1G5StateMachine.getRawFirmwareVersionString(str)) || isTransmitterModified(str);
}
public static boolean doWeHaveVersion(String str) {
String rawFirmwareVersionString = Ob1G5StateMachine.getRawFirmwareVersionString(str);
return (JoH.emptyString(rawFirmwareVersionString) || rawFirmwareVersionString.equals("error")) ? false : true;
}
public static boolean isTransmitterRawIncapable(String str) {
String rawFirmwareVersionString = Ob1G5StateMachine.getRawFirmwareVersionString(str);
return doWeHaveVersion(str) && isKnownFirmware(rawFirmwareVersionString) && !isFirmwareRawCapable(rawFirmwareVersionString);
}
public static boolean isTransmitterPreemptiveRestartCapable(String str) {
return isFirmwarePreemptiveRestartCapable(Ob1G5StateMachine.getRawFirmwareVersionString(str));
}
public static boolean isKnownFirmware(String str) {
return str == null || str.equals("") || KNOWN_G5_FIRMWARES.contains(str) || KNOWN_G6_FIRMWARES.contains(str) || KNOWN_ONE_FIRMWARES.contains(str) || KNOWN_ALT_FIRMWARES.contains(str) || KNOWN_G6_REV2_FIRMWARES.contains(str) || KNOWN_G6_PLUS_FIRMWARES.contains(str) || KNOWN_ALT2_FIRMWARES.contains(str);
}
}