diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiFirmwareType.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiFirmwareType.java index 932d87113..d343a6e7d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiFirmwareType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiFirmwareType.java @@ -20,12 +20,13 @@ public enum HuamiFirmwareType { FIRMWARE((byte) 0), FONT((byte) 1), RES((byte) 2), - RES_COMPRESSED((byte)130), + RES_COMPRESSED((byte) 130), GPS((byte) 3), GPS_CEP((byte) 4), - GPS_ALMANAC((byte)5), - WATCHFACE((byte)8), - FONT_LATIN((byte)11), + GPS_CEP_NEW((byte) -4), + GPS_ALMANAC((byte) 5), + WATCHFACE((byte) 8), + FONT_LATIN((byte) 11), INVALID(Byte.MIN_VALUE); private final byte value; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiMenuType.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiMenuType.java index 982c102d0..33aa387a4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiMenuType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiMenuType.java @@ -37,6 +37,7 @@ class HuamiMenuType { put("mutephone", 0x0f); put("nfc", 0x10); put("alipay", 0x11); + put("watchface", 0x12); put("settings", 0x13); put("activity", 0x14); put("eventreminder", 0x15); @@ -50,7 +51,11 @@ class HuamiMenuType { put("sleep", 0x23); put("spo2", 0x24); put("breathing",0x33); + put("steps",0x34); + put("distance",0x35); + put("calories",0x36); put("pomodoro", 0x38); put("alexa", 0x39); + put("battery", 0x3a); }}; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java index dc07dbfe2..03c0d8786 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java @@ -2442,7 +2442,7 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport { return this; } - protected HuamiSupport setDisplayItemsNew(TransactionBuilder builder, boolean isShortcuts, int defaultSettings) { + protected HuamiSupport setDisplayItemsNew(TransactionBuilder builder, boolean isShortcuts, boolean forceWatchface, int defaultSettings) { SharedPreferences prefs = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()); String pages; List enabledList; @@ -2461,19 +2461,16 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport { } else { enabledList = Arrays.asList(pages.split(",")); } + if (forceWatchface) { + enabledList.add(0, "watchface"); + } LOG.info("enabled items" + enabledList); - - byte[] command = new byte[(enabledList.size() + 1) * 4 + 1]; + byte[] command = new byte[enabledList.size() * 4 + 1]; command[0] = 0x1e; int pos = 1; int index = 0; - command[pos++] = (byte) index++; - command[pos++] = 0x00; - command[pos++] = menuType; - command[pos++] = 0x12; - for (String key : enabledList) { Integer id = HuamiMenuType.idLookup.get(key); if (id != null) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitband5/AmazfitBand5Support.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitband5/AmazfitBand5Support.java index 778e3e079..a828b6a51 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitband5/AmazfitBand5Support.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitband5/AmazfitBand5Support.java @@ -35,13 +35,13 @@ public class AmazfitBand5Support extends MiBand5Support { @Override protected AmazfitBand5Support setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_amazfitband5_display_items_default); + setDisplayItemsNew(builder, false, true, R.array.pref_amazfitband5_display_items_default); return this; } @Override protected AmazfitBand5Support setShortcuts(TransactionBuilder builder) { - setDisplayItemsNew(builder, true, R.array.pref_amazfitband5_shortcuts_default); + setDisplayItemsNew(builder, true, true, R.array.pref_amazfitband5_shortcuts_default); return this; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitbips/AmazfitBipSSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitbips/AmazfitBipSSupport.java index ab232f511..bd7528d23 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitbips/AmazfitBipSSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitbips/AmazfitBipSSupport.java @@ -83,13 +83,13 @@ public class AmazfitBipSSupport extends AmazfitBipSupport { @Override protected AmazfitBipSSupport setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_bips_display_items_default); + setDisplayItemsNew(builder, false, true, R.array.pref_bips_display_items_default); return this; } @Override protected AmazfitBipSSupport setShortcuts(TransactionBuilder builder) { - setDisplayItemsNew(builder, true, R.array.pref_bips_display_items_default); + setDisplayItemsNew(builder, true, true, R.array.pref_bips_display_items_default); return this; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSSupport.java index 503953622..11b789220 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitgts/AmazfitGTSSupport.java @@ -71,7 +71,7 @@ public class AmazfitGTSSupport extends AmazfitBipSupport { @Override protected AmazfitGTSSupport setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_gts_display_items_default); + setDisplayItemsNew(builder, false, true, R.array.pref_gts_display_items_default); return this; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitneo/AmazfitNeoSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitneo/AmazfitNeoSupport.java index 1ca9ae1f5..5421b8550 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitneo/AmazfitNeoSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitneo/AmazfitNeoSupport.java @@ -16,16 +16,10 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.service.devices.huami.amazfitneo; -import android.content.Context; -import android.net.Uri; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; - import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiFWHelper; //import nodomain.freeyourgadget.gadgetbridge.devices.huami.amazfitneo.AmazfitBand5FWHelper; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.miband5.MiBand5Support; @@ -35,16 +29,10 @@ public class AmazfitNeoSupport extends MiBand5Support { @Override protected AmazfitNeoSupport setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_neo_display_items_default); + setDisplayItemsNew(builder, false, false, R.array.pref_neo_display_items_default); return this; } - //@Override - //protected AmazfitNeoSupport setShortcuts(TransactionBuilder builder) { - // setDisplayItemsNew(builder, true, R.array.pref_amazfitband5_shortcuts_default); - // return this; - //} - //@Override //public HuamiFWHelper createFWHelper(Uri uri, Context context) throws IOException { // return new AmazfitBand5FWHelper(uri, context); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfittrex/AmazfitTRexSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfittrex/AmazfitTRexSupport.java index 0d8ffcc28..c95351177 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfittrex/AmazfitTRexSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfittrex/AmazfitTRexSupport.java @@ -25,7 +25,6 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiFWHelper; import nodomain.freeyourgadget.gadgetbridge.devices.huami.amazfittrex.AmazfitTRexFWHelper; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.amazfitbips.AmazfitBipSSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.amazfitgts.AmazfitGTSSupport; public class AmazfitTRexSupport extends AmazfitGTSSupport { @@ -37,7 +36,7 @@ public class AmazfitTRexSupport extends AmazfitGTSSupport { @Override protected AmazfitTRexSupport setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_trex_display_items_default); + setDisplayItemsNew(builder, false, true, R.array.pref_trex_display_items_default); return this; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitvergel/AmazfitVergeLSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitvergel/AmazfitVergeLSupport.java index d9950008d..3170481f6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitvergel/AmazfitVergeLSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitvergel/AmazfitVergeLSupport.java @@ -32,7 +32,6 @@ import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.amazfitbip.Ama import nodomain.freeyourgadget.gadgetbridge.devices.huami.amazfitvergel.AmazfitVergeLFWHelper; 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; public class AmazfitVergeLSupport extends AmazfitBipSupport { private static final Logger LOG = LoggerFactory.getLogger(AmazfitVergeLSupport.class); @@ -49,7 +48,7 @@ public class AmazfitVergeLSupport extends AmazfitBipSupport { @Override protected AmazfitVergeLSupport setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_gts_display_items_values); + setDisplayItemsNew(builder, false, true, R.array.pref_gts_display_items_values); return this; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitx/AmazfitXSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitx/AmazfitXSupport.java index 50a069a96..76a96ad9a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitx/AmazfitXSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/amazfitx/AmazfitXSupport.java @@ -35,13 +35,13 @@ public class AmazfitXSupport extends MiBand5Support { @Override protected AmazfitXSupport setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_amazfitband5_display_items_default); + setDisplayItemsNew(builder, false, true, R.array.pref_amazfitband5_display_items_default); return this; } @Override protected AmazfitXSupport setShortcuts(TransactionBuilder builder) { - setDisplayItemsNew(builder, true, R.array.pref_amazfitband5_shortcuts_default); + setDisplayItemsNew(builder, true, true, R.array.pref_amazfitband5_shortcuts_default); return this; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/miband5/MiBand5Support.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/miband5/MiBand5Support.java index c673ca73e..1cdaee46b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/miband5/MiBand5Support.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/miband5/MiBand5Support.java @@ -35,13 +35,13 @@ public class MiBand5Support extends MiBand4Support { @Override protected MiBand5Support setDisplayItems(TransactionBuilder builder) { - setDisplayItemsNew(builder, false, R.array.pref_miband5_display_items_default); + setDisplayItemsNew(builder, false, true, R.array.pref_miband5_display_items_default); return this; } @Override protected MiBand5Support setShortcuts(TransactionBuilder builder) { - setDisplayItemsNew(builder, true, R.array.pref_miband5_shortcuts_default); + setDisplayItemsNew(builder, true, true, R.array.pref_miband5_shortcuts_default); return this; } diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index c89723fa2..79d7b92d0 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -415,9 +415,10 @@ @string/menuitem_weather @string/menuitem_stopwatch @string/menuitem_alarm - @string/menuitem_worldclock - @string/menuitem_activity - @string/menuitem_goal + @string/chart_steps + @string/distance + @string/calories + @string/battery @@ -427,9 +428,10 @@ @string/p_menuitem_weather @string/p_menuitem_stopwatch @string/p_menuitem_alarm - @string/p_menuitem_worldclock - @string/p_menuitem_activity - @string/p_menuitem_goal + @string/p_steps + @string/p_distance + @string/p_calories + @string/p_battery diff --git a/app/src/main/res/xml/devicesettings_amazfitneo.xml b/app/src/main/res/xml/devicesettings_amazfitneo.xml index 1772e7b1f..38b0ee543 100644 --- a/app/src/main/res/xml/devicesettings_amazfitneo.xml +++ b/app/src/main/res/xml/devicesettings_amazfitneo.xml @@ -10,15 +10,7 @@ android:persistent="true" android:summary="@string/mi2_prefs_display_items_summary" android:title="@string/mi2_prefs_display_items" /> - + - - - \ No newline at end of file