mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-19 16:39:26 +01:00
Amazfit GTR: FIx firmware flashing on newer firmares
This commit is contained in:
parent
447e9110db
commit
c3b8604338
@ -24,6 +24,9 @@ import java.io.IOException;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiFWHelper;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.amazfitgtr.AmazfitGTRFWHelper;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.amazfitgts.AmazfitGTSSupport;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.operations.UpdateFirmwareOperation;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.operations.UpdateFirmwareOperation2020;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.operations.UpdateFirmwareOperationNew;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.Version;
|
||||
|
||||
public class AmazfitGTRSupport extends AmazfitGTSSupport {
|
||||
@ -33,15 +36,29 @@ public class AmazfitGTRSupport extends AmazfitGTSSupport {
|
||||
return new AmazfitGTRFWHelper(uri, context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateFirmwareOperation createUpdateFirmwareOperation(Uri uri) {
|
||||
Version version = new Version(gbDevice.getFirmwareVersion());
|
||||
if (version.compareTo(new Version("1.3.7.16")) >= 0) {
|
||||
return new UpdateFirmwareOperation2020(uri, this);
|
||||
}
|
||||
|
||||
return new UpdateFirmwareOperationNew(uri, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleDeviceInfo(nodomain.freeyourgadget.gadgetbridge.service.btle.profiles.deviceinfo.DeviceInfo info) {
|
||||
super.handleDeviceInfo(info);
|
||||
if (gbDevice.getFirmwareVersion() != null) {
|
||||
Version version = new Version(gbDevice.getFirmwareVersion());
|
||||
if (version.compareTo(new Version("1.3.5.79")) >= 0 || // For GTR 47mm
|
||||
(version.compareTo(new Version("1.0.0.00")) < 0 && version.compareTo(new Version("0.1.1.15")) >= 0)) { // for GTR 32mm with a different version scheme
|
||||
(!is47mm(version) && version.compareTo(new Version("0.1.1.15")) >= 0)) { // for GTR 32mm with a different version scheme
|
||||
mActivitySampleSize = 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean is47mm(Version version) {
|
||||
return version.compareTo(new Version("1.0.0.00")) >= 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user