From 5f4d3f441f5a0758c2f44f9c7c7daf48e6e2edc2 Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Mon, 1 Aug 2022 17:21:55 +0200 Subject: [PATCH] Fossil Hybrid HR: Add toggling of backlight with physical button event --- .../assets/fossil_hr/openSourceWatchface.bin | Bin 8326 -> 8398 bytes .../HybridHRWatchfaceDesignerActivity.java | 3 +++ .../qhybrid/HybridHRWatchfaceFactory.java | 1 + .../qhybrid/HybridHRWatchfaceSettings.java | 9 +++++++++ .../HybridHRWatchfaceSettingsActivity.java | 10 ++++++++++ .../devices/qhybrid/QHybridConstants.java | 2 +- app/src/main/res/values/arrays.xml | 4 ++-- app/src/main/res/values/strings.xml | 5 +++-- .../res/xml/fossil_hr_watchface_settings.xml | 14 +++++++++++--- external/fossil-hr-watchface | 2 +- 10 files changed, 41 insertions(+), 9 deletions(-) diff --git a/app/src/main/assets/fossil_hr/openSourceWatchface.bin b/app/src/main/assets/fossil_hr/openSourceWatchface.bin index f73d261b0ae180bdcdc4c34f89bdd5f1b5aff696..481534f58b9212ee66e2d1264bcc291a00c2111f 100644 GIT binary patch delta 2232 zcmZXWU2GIp6vyw*ZfDxvwy@i!)D2nd_G6%g8mlbY)(R@@f&#UgDu_@(7!VACrBsM6 ziZa9xB3}F=ir6TFLGh!;2tLRYi#!-jj2NDb4^H9}CO-IN{GFLy!LZ3c=iYP9J?DSU z+%vQL7ks~U zjhu;`1-g{-XDd~hqm1{7A z>s?44{LG-J8pAM5^FP9naC>#m$fcYk5fWMgxTVS#k`8ZgN4(V(| z_XO+hI%Dom$q{!4X2|+T`$>J=%$h-@QGLP8G)ORKRH=S7GxDwe(QGnBQy$fED-#?K zIuAL?Wbf2@EBimSBuBl`%4Q|1bX+=H?P|5_&Q3jH^#mt{o>W^HLyqa+t*j}`?Oi%v zn`x9F@(BH1sK#|qZC55xEe#L(+vx!hLk_#+daO1(TzD!pS-Vl~;ndSmcm}r;ZomW1 zUe?bdX-^p`A!HP*9hWX!`|#nRc}RO$|4}DerKJ=pIGBM}%XXtlSQn zRrh`TC-ifTyGwFUC5%5oCAn0}IX|>Zmd34ITh$#dq`>|wi zJm7qi?MZzq*_`!0CM9K9aZrNhC!9KkWa|A@`nTkcoX6Js6gN-?7H=MUrL51;30CQ` zRIYSOaB&kVmay&W8{5TP{+vi(5OI>oU&4*6a`hY8C7ir<<+~|w=CVm>*w{>18Gq-i zuy9{wV^~|^YhqMt^;uK<^k9?=XV@^p(lzP2yGM65?Tj4K$C~=GxwclLrESKn8STh+ zWCyYX*@^7be>TnQr7YDDP9Xmj5{aNSm9~_LZGS_2`f=?g(W}z~UBS&8By|UFdFrX$ tEz!&W2Kk>L_uI86&!t<8RI?i0<~Un7tXa2q{g$npolT>Yzcin!`xkWN)ph^? delta 2244 zcmZ{mYitx%6vyw(K4!Pu7IwRo+TdEYWd~ZQQei8#Rx84+R;yM-9wLa)!T91Kk5pw5 z42!5JTtw7p5RHSV_^2=ZpoSQyCWiRI1V8g-jUS9L#?SuFY?p_`CjXp!?|J>txo7V7 zbpP)Dwp)gVmNu!%-*0K943@I*V>MO9SoI9)0DDuNEe*P@a$oWaT)3M>if)GjU3C7eVyKCX7bMUEN`GXQ0m9(M)vc; zO;ksBJfuaw60jC>?qKWav*xm9ufWmG75B18RATB3=*6MFMo~+2G4Tgj-zrh{@lf^> zRq3`sbvBeO`h(=UoxFDdx+GNHJMkVu-o@D>10Ogml-?EovC*Q5{t9eY0@~#uODpy2NP9j|tx_tlj0H78 z|3ijh#N(3Ax}UJC3I710fwu+;ytVpNq^q;MmMFtSb1_>-h6iEy5K=(v+=nrLgtNz3 zuh-e=NJ?C+4X7dRBE1dzL^M+jB5hQv!!XqtcOrk`fJ~T`X-bAN`d&5N`1XJF&Zdj? zm0_Y7hDqWFHzxgqormoV!%P>#p@NEx=>aPlP^;QV1>Pq8sFlfxt6ZC0PxWf5S6AMo zk6T@Vr_?Ad^B+fU)_+);PAT8pd@(7jQj}qYB9VX;!{KhhZj0`TwKreL(_K%is9qvk zTlMx>X0gAulBBeaqY=EGfY*~;!c&+5dpmpJ7m+mH*-;50A9(dH<^D=fW5YPuJBhJK z{}tO(Oa{baW;mQm1y`Rz#rH20Des3&qKA2T7p?INXUw{ zw8)q3JwvkDm1Nd#2<+iOYW+L-l%2ik7(C}W|bF2B9dN8z4lAv z2DG?dah|K6Rm5THtr+6N$`_i-&y>&zF&O zDeyj2Ar_G04u!~fG+f>v`;|)KfDmNmEfB&bzRAj^=uGXtMtK$j{&4njaSkI7>r=H~ zMQ8qZ+YhEHxqs^qC$|e_a=L40?zNTJ+4nD8#DI%q@WC|hA8qSeSjB`FW+6R&D6%M z{UIvg1Lp*5p0E~LU1IGEmgz&OY_Tht--HS$a=Gf$Z+(Qz$3*&s$e$7!{P$^>XI!3d z`SG<0?MEwYJYEN96y0Z}qHykbfm)dac~(Kj|iOG&lKJ{9kMKw}=1$ diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceDesignerActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceDesignerActivity.java index 6e18fd2f5..0cdf0edd7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceDesignerActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceDesignerActivity.java @@ -399,6 +399,9 @@ public class HybridHRWatchfaceDesignerActivity extends AbstractGBActivity implem if (watchfaceConfig.has("toggle_widgets_event")) { watchfaceSettings.setToggleWidgetsEvent(watchfaceConfig.getString("toggle_widgets_event")); } + if (watchfaceConfig.has("toggle_backlight_event")) { + watchfaceSettings.setToggleBacklightEvent(watchfaceConfig.getString("toggle_backlight_event")); + } if (watchfaceConfig.has("powersave_display")) { watchfaceSettings.setPowersaveDisplay(watchfaceConfig.getBoolean("powersave_display")); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceFactory.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceFactory.java index 6e85ead4c..cef895c0a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceFactory.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceFactory.java @@ -302,6 +302,7 @@ public class HybridHRWatchfaceFactory { config.put("wrist_flick_move_hour", settings.getWristFlickMoveHour()); config.put("wrist_flick_move_minute", settings.getWristFlickMoveMinute()); config.put("toggle_widgets_event", settings.getToggleWidgetsEvent()); + config.put("toggle_backlight_event", settings.getToggleBacklightEvent()); config.put("powersave_display", settings.getPowersaveDisplay()); config.put("powersave_hands", settings.getPowersaveHands()); config.put("light_up_on_notification", settings.getLightUpOnNotification()); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettings.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettings.java index c11309f42..4f947e874 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettings.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettings.java @@ -26,6 +26,7 @@ public class HybridHRWatchfaceSettings implements Serializable { private int wristFlickMoveHour = 360; private int wristFlickMoveMinute = -360; private String toggleWidgetsEvent = ""; + private String toggleBacklightEvent = ""; private boolean powersaveDisplay = false; private boolean powersaveHands = false; private boolean lightUpOnNotification = false; @@ -109,6 +110,14 @@ public class HybridHRWatchfaceSettings implements Serializable { this.toggleWidgetsEvent = event; } + public String getToggleBacklightEvent() { + return toggleBacklightEvent; + } + + public void setToggleBacklightEvent(String event) { + this.toggleBacklightEvent = event; + } + public boolean getPowersaveDisplay() { return powersaveDisplay; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettingsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettingsActivity.java index 82d3e22b9..30ffe04d8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettingsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/HybridHRWatchfaceSettingsActivity.java @@ -110,6 +110,11 @@ public class HybridHRWatchfaceSettingsActivity extends AbstractSettingsActivity toggle_widgets.setValue(settings.getToggleWidgetsEvent()); toggle_widgets.setSummary(toggle_widgets.getEntry()); + ListPreference toggle_backlight = (ListPreference) findPreference("pref_hybridhr_watchface_toggle_backlight"); + toggle_backlight.setOnPreferenceChangeListener(this); + toggle_backlight.setValue(settings.getToggleBacklightEvent()); + toggle_backlight.setSummary(toggle_backlight.getEntry()); + SwitchPreference power_saving_display = (SwitchPreference) findPreference("pref_hybridhr_watchface_power_saving_display"); power_saving_display.setOnPreferenceChangeListener(this); power_saving_display.setChecked(settings.getPowersaveDisplay()); @@ -154,6 +159,11 @@ public class HybridHRWatchfaceSettingsActivity extends AbstractSettingsActivity ((ListPreference)preference).setValue(newValue.toString()); preference.setSummary(((ListPreference)preference).getEntry()); break; + case "pref_hybridhr_watchface_toggle_backlight": + settings.setToggleBacklightEvent(newValue.toString()); + ((ListPreference)preference).setValue(newValue.toString()); + preference.setSummary(((ListPreference)preference).getEntry()); + break; case "pref_hybridhr_watchface_power_saving_display": settings.setPowersaveDisplay((boolean) newValue); break; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConstants.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConstants.java index 36e90b1e2..b00cd0f09 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConstants.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConstants.java @@ -20,7 +20,7 @@ import java.util.HashMap; import java.util.Map; public final class QHybridConstants { - public static final String HYBRIDHR_WATCHFACE_VERSION = "1.3"; + public static final String HYBRIDHR_WATCHFACE_VERSION = "1.4"; public static final int HYBRID_HR_WATCHFACE_WIDGET_SIZE = 76; public static Map KNOWN_WAPP_VERSIONS = new HashMap() { diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 40ced400d..85de64751 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1824,7 +1824,7 @@ widget_bg_dashed_circle - + @string/menuitem_nothing @string/pref_title_upper_button_function_short @string/pref_title_upper_button_function_long @@ -1832,7 +1832,7 @@ @string/pref_title_lower_button_function_short @string/pref_title_lower_button_function_long - + top_short_press_release top_hold diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 387055622..7209b5a2d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1472,8 +1472,9 @@ Hour hand (-360 to 360) Minute hand (-360 to 360) Duration (in ms) - Toggle widgets - Button action + Custom events + Toggle widgets + Turn backlight on A watchface with this name already exists in the cache. Do you want to overwrite it? Upload of the watchface failed. Please try again. Battery diff --git a/app/src/main/res/xml/fossil_hr_watchface_settings.xml b/app/src/main/res/xml/fossil_hr_watchface_settings.xml index d6d47fd82..ff3bb4717 100644 --- a/app/src/main/res/xml/fossil_hr_watchface_settings.xml +++ b/app/src/main/res/xml/fossil_hr_watchface_settings.xml @@ -45,16 +45,24 @@ + android:title="@string/watchface_setting_title_custom_events"> + diff --git a/external/fossil-hr-watchface b/external/fossil-hr-watchface index 0e2551757..6b3754690 160000 --- a/external/fossil-hr-watchface +++ b/external/fossil-hr-watchface @@ -1 +1 @@ -Subproject commit 0e2551757d8c70031c2533d3d94a0f284c05ca9f +Subproject commit 6b3754690359b8ae964d73d18e607d4631e1eaf2