From 7dd50fc31a96ff0fca3a3db9d2c7877584d13863 Mon Sep 17 00:00:00 2001 From: Daniel Dakhno Date: Mon, 26 Oct 2020 03:55:32 +0100 Subject: [PATCH] Fossil Hybrid: added factory reset option --- .../service/devices/qhybrid/QHybridSupport.java | 5 +++++ .../service/devices/qhybrid/adapter/WatchAdapter.java | 3 +++ .../adapter/fossil_hr/FossilHRWatchAdapter.java | 6 ++++++ .../qhybrid/requests/misfit/FactoryResetRequest.java | 10 ++++++++++ 4 files changed, 24 insertions(+) create mode 100644 app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/misfit/FactoryResetRequest.java diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java index 42a2b63238..fbc60c018c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java @@ -524,6 +524,11 @@ public class QHybridSupport extends QHybridBaseSupport { } } + @Override + public void onReset(int flags) { + super.onReset(flags); + this.watchAdapter.factoryReset(); + } public double calculateNotificationProgress() { HashMap configs = new HashMap<>(0); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/WatchAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/WatchAdapter.java index 7bc9f40bdd..38a8d57070 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/WatchAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/WatchAdapter.java @@ -147,4 +147,7 @@ public abstract class WatchAdapter { public void uploadFile(FileHandle handle, String filePath, boolean fileIsEncrypted) { } + + public void factoryReset() { + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil_hr/FossilHRWatchAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil_hr/FossilHRWatchAdapter.java index 0275790cc6..c2bec09746 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil_hr/FossilHRWatchAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil_hr/FossilHRWatchAdapter.java @@ -97,6 +97,7 @@ import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.fos import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.fossil_hr.widget.Widget; import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.fossil_hr.widget.WidgetsPutRequest; import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.misfit.AnimationRequest; +import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.misfit.FactoryResetRequest; import nodomain.freeyourgadget.gadgetbridge.util.FileUtils; import nodomain.freeyourgadget.gadgetbridge.util.GB; import nodomain.freeyourgadget.gadgetbridge.util.Prefs; @@ -906,6 +907,11 @@ public class FossilHRWatchAdapter extends FossilWatchAdapter { } } + @Override + public void factoryReset() { + queueWrite(new FactoryResetRequest()); + } + @Override public void onTestNewFunction() { queueWrite(new TranslationsGetRequest(this){ diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/misfit/FactoryResetRequest.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/misfit/FactoryResetRequest.java new file mode 100644 index 0000000000..61fdd4cb44 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/misfit/FactoryResetRequest.java @@ -0,0 +1,10 @@ +package nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.misfit; + +import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.Request; + +public class FactoryResetRequest extends Request { + @Override + public byte[] getStartSequence() { + return new byte[]{(byte) 0x02, (byte) 0xF1, (byte) 0x23, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF}; + } +}