From 65f006d70becde9779d24ce8d39baf0a85c0c58b Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Sat, 15 May 2021 22:47:38 +0200 Subject: [PATCH] Amazfit GTS/GTR familiy: Allow flashing newer AGPS bundles These are packed uuih files. POC code to generate them: https://codeberg.org/Freeyourgadget/Gadgetbridge-tools --- .../devices/huami/amazfitgtr/AmazfitGTRFirmwareInfo.java | 4 ++++ .../devices/huami/amazfitgtr2/AmazfitGTR2FirmwareInfo.java | 4 ++++ .../devices/huami/amazfitgtr2/AmazfitGTR2eFirmwareInfo.java | 4 ++++ .../devices/huami/amazfitgts/AmazfitGTSFirmwareInfo.java | 4 ++++ .../devices/huami/amazfitgts2/AmazfitGTS2FirmwareInfo.java | 4 ++++ .../huami/amazfitgts2/AmazfitGTS2MiniFirmwareInfo.java | 4 ++++ .../devices/huami/amazfitgts2/AmazfitGTS2eFirmwareInfo.java | 4 ++++ 7 files changed, 28 insertions(+) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr/AmazfitGTRFirmwareInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr/AmazfitGTRFirmwareInfo.java index 2d493bcc5..bfae44a11 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr/AmazfitGTRFirmwareInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr/AmazfitGTRFirmwareInfo.java @@ -95,6 +95,10 @@ public class AmazfitGTRFirmwareInfo extends HuamiFirmwareInfo { return HuamiFirmwareType.GPS_CEP; } + if (ArrayUtils.startsWith(bytes, AGPS_UIHH_HEADER)) { + return HuamiFirmwareType.AGPS_UIHH; + } + for (byte[] gpsHeader : GPS_HEADERS) { if (ArrayUtils.startsWith(bytes, gpsHeader)) { return HuamiFirmwareType.GPS; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2FirmwareInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2FirmwareInfo.java index d3a75c88d..7aa21b7e1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2FirmwareInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2FirmwareInfo.java @@ -96,6 +96,10 @@ public class AmazfitGTR2FirmwareInfo extends HuamiFirmwareInfo { return HuamiFirmwareType.GPS_CEP; } + if (ArrayUtils.startsWith(bytes, AGPS_UIHH_HEADER)) { + return HuamiFirmwareType.AGPS_UIHH; + } + for (byte[] gpsHeader : GPS_HEADERS) { if (ArrayUtils.startsWith(bytes, gpsHeader)) { return HuamiFirmwareType.GPS; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2eFirmwareInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2eFirmwareInfo.java index 498ec103f..4a15708b7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2eFirmwareInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgtr2/AmazfitGTR2eFirmwareInfo.java @@ -96,6 +96,10 @@ public class AmazfitGTR2eFirmwareInfo extends HuamiFirmwareInfo { return HuamiFirmwareType.GPS_CEP; } + if (ArrayUtils.startsWith(bytes, AGPS_UIHH_HEADER)) { + return HuamiFirmwareType.AGPS_UIHH; + } + for (byte[] gpsHeader : GPS_HEADERS) { if (ArrayUtils.startsWith(bytes, gpsHeader)) { return HuamiFirmwareType.GPS; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSFirmwareInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSFirmwareInfo.java index 970c14ce1..bad140478 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSFirmwareInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSFirmwareInfo.java @@ -95,6 +95,10 @@ public class AmazfitGTSFirmwareInfo extends HuamiFirmwareInfo { return HuamiFirmwareType.GPS_CEP; } + if (ArrayUtils.startsWith(bytes, AGPS_UIHH_HEADER)) { + return HuamiFirmwareType.AGPS_UIHH; + } + for (byte[] gpsHeader : GPS_HEADERS) { if (ArrayUtils.startsWith(bytes, gpsHeader)) { return HuamiFirmwareType.GPS; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2FirmwareInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2FirmwareInfo.java index a347c8620..03d6ea9c8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2FirmwareInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2FirmwareInfo.java @@ -96,6 +96,10 @@ public class AmazfitGTS2FirmwareInfo extends HuamiFirmwareInfo { return HuamiFirmwareType.GPS_CEP; } + if (ArrayUtils.startsWith(bytes, AGPS_UIHH_HEADER)) { + return HuamiFirmwareType.AGPS_UIHH; + } + for (byte[] gpsHeader : GPS_HEADERS) { if (ArrayUtils.startsWith(bytes, gpsHeader)) { return HuamiFirmwareType.GPS; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2MiniFirmwareInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2MiniFirmwareInfo.java index c1aecd981..84b15225f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2MiniFirmwareInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2MiniFirmwareInfo.java @@ -96,6 +96,10 @@ public class AmazfitGTS2MiniFirmwareInfo extends HuamiFirmwareInfo { return HuamiFirmwareType.GPS_CEP; } + if (ArrayUtils.startsWith(bytes, AGPS_UIHH_HEADER)) { + return HuamiFirmwareType.AGPS_UIHH; + } + for (byte[] gpsHeader : GPS_HEADERS) { if (ArrayUtils.startsWith(bytes, gpsHeader)) { return HuamiFirmwareType.GPS; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2eFirmwareInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2eFirmwareInfo.java index 36ba8bcfe..3d9f20dbd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2eFirmwareInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts2/AmazfitGTS2eFirmwareInfo.java @@ -96,6 +96,10 @@ public class AmazfitGTS2eFirmwareInfo extends HuamiFirmwareInfo { return HuamiFirmwareType.GPS_CEP; } + if (ArrayUtils.startsWith(bytes, AGPS_UIHH_HEADER)) { + return HuamiFirmwareType.AGPS_UIHH; + } + for (byte[] gpsHeader : GPS_HEADERS) { if (ArrayUtils.startsWith(bytes, gpsHeader)) { return HuamiFirmwareType.GPS;