From ce456d6dcce6e10bd01bda2cb679e36f5b930da8 Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Mon, 12 Sep 2022 17:38:18 +0200 Subject: [PATCH] Fossil Hybrid HR: Allow flick_away as custom event and add move_hands event --- .../assets/fossil_hr/openSourceWatchface.bin | Bin 8466 -> 8528 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 | 6 ++++-- app/src/main/res/values/strings.xml | 1 + .../res/xml/fossil_hr_watchface_settings.xml | 16 ++++++++++++---- external/fossil-hr-watchface | 2 +- 10 files changed, 42 insertions(+), 8 deletions(-) diff --git a/app/src/main/assets/fossil_hr/openSourceWatchface.bin b/app/src/main/assets/fossil_hr/openSourceWatchface.bin index f8af52fdcd1168dc206a6d86c4d6e856d2bb8d77..e17b62ced46c1630571f5c774c6bc2d7e63c0d05 100644 GIT binary patch delta 2789 zcmZ`*Yj6`)6h6C~WRoT>-IBH;lr&A7Zd!(l9h(TP$e^+j9gwQ1s7+G{+iD4wrj?>& z@EKo&!u5gpLLH4(#bOo3$JBAg3C=j`4@Ug$IJ5px$8r4SFTb-(1jcb^zBzZ#IrrS} zo^$TqJ-F`sbsZZ92X6|I^Gq}nNf`3`T8!Gri_yR}2RaTF)fkc0PNc_)DuCVz=+FV> z1Y{RvH?W*YT|rdp!T18`R}vY$@VyB7J|Z&-eF}0Fuo~fIqLsiX@Fehyf_FF3!@!Tg zK2W&PM>_4RA^O-)ba4O#Yl;5Qi0T`NjsSlEhk^*!D2AjR{e6?d@S9PP8a z(ngFo!DYReRbu}!8Q0jRpOjd!v>9s+V%=*I)aOvuuY|2-QDf&{ktE6Ip3jD1EB%agaph{@uj=Br#y-%V~BPe+-}DT z<6yTFG7oHkZWr7qpt}R(NfGnxZQv=DNti)eFCbDu9Q8zscBCny<&sP%Q73*}HW?R2 zvdk-#VIQD`wD3Q6b^3g}(@fY5nu+7v732JYp$XqENe-r6N}Aj!#Z{_iQ>*&$4$Nth zS0fRg%4Os7R7+DWU3pr}s=fA1-Xo{1bSLB<@w*!7;q9Ay&L^cho025O?Y2pwIrJI$ z&4|_B?(n%hb)-qf?m1#*M%?3#Y$@$^7BTLE>Tb-s2fT_X!aleG7ErzyJh1QqAN5{Mf-d6$WbhFi=i7qcv3BfCm!V%l%c2ANg zr4DNw2E4(v&y)7oEF@g1K%zEPH>cPme`?X3lB(Cd3HR}yQ}wn^OEt_XUDD!UsxcHy zHHVr~OG2TO17UOx$6GqA)ef|rSaE9EzpBWv=INJOiziaizBY2l$aPxgVV`_j!IY#D z+oAdTrS_!Ku|U2S^qy{K%B`s0Xq2y>(qqtFUq@N&_4y;lBeN>ymCd`Ehm)S_xN%evv^+&B5$7? z3L)QtZxB*DyAeJU=U;Z1D+6cF6VA_tr1HVRVJOvMBKYxVx#zSiDf^eHNjZ?M)dKxg z*Ci`o$eDu9;eLt+(`|t-PP@8lFuALh`eJj6l;z;x)a#+ZLKk(cIO!PMsV@#= zjE$z&9_vgf3;m=sF&qlQ&j|mLD6;JGdO3k8(X6)G$2qOMi|vWuwC0HM9!AipHE`Gm z%wc>CoAx1lLn79&J7(}JU;*a)a6xlM5x7Gk86#@D8Ah1~e~Sl+a?6XV&L%=T;{o0*z`$Zhw~?p$_qSAKr)vXCT>L_QY7t=-xp b8k@|FOce^d@|oOpE?*D}t*hqiqAuwl?-e(_ delta 2637 zcmZWrTW}L)6h6C~>?X~nO&i(}+B6Mqwkft~H9=aeiqaGWf$CI6qz$$#)lzDk)}o`) zQCY_e1N?YH1`#jOQL%uccq=bX&RIy)Q)e@5Tj05|;dYGgb}c!m4xqzQ)&cg&2|6NR$V(CLm5!08AaS z88QL15EYjYrCW)NHux@u-*wQn!{>S;JqdjZ@Wj_;uoo-VU@i# z)!L3zmSt7_w_KE9c8GR4R%vvi(iH%_4ank6Vw)T7o+Lr8gkgM&#{<3Vq`0i&z)#g1j60K1jg02dDt^z3>CH`(Q(Fi;%`9 z_yhX=umRd;kd(t0(ggDC2WdP2KS0|88&KFn;zh>~)h3#l?uYLH&;dQ9mJts*TT+&3 zD^ZH1Rb^KH6-koZZcb-HUwja0hd>SJ+aLkm5I;KG+YAFN+rb7Dhmql7R5Aj&16U0m zq_GpaF{~dEE$U;H9Ab{cjADzB`h+;8MpTO_E6%H7ACnnbq7~FE&5GaEDwQ>btO#pi zE8OZlisMZBr0CWn|50;tsHe0@gju=c+}ToBOInC30talc2MyV^ZU#>Ns~u@v^=EVC;oCxTOECH~O#y1h7uw4z_dr1Hl*&#o^CZ3GjFDqb=4Dcz zQ(#UhzHI?_r{qs5<+GG?*LI^&{B(O#70nfm^8D$$k*M9?hiM|=3q*e`{?i(`!i%us zdK6xQjAD;3V^0{!(xud$c;18Oz2HG3c)$65cH!oJaAIRAa?L5N!tePhTo74aaQl%$9joP zm(PRh15j2$_aW~CdW#C{j}RBca{wIk8!0OA$G~41eE7-mL3!H8uz6`6X>j7&Oh2Rp z2Cf&MJEI0k!jQEfUWg#v2>x`n%{fxC2ltb_30e6*CHpe|fK!$ZV;Staea%_!27%p4EgGauX&*JoS*OJKXlDcL-OnW_$yHM>qFsJd;Q zCrru2jFM0m1yj@#s!h?7P+f|y2}RCIF>o6VbuMr>%V!$Ikw7Tg+N{iWQX6l$oAB-D ze*lUsJ6ta7tPY6tfeyEIe4n6OqOP(gQapyn<3P1CActOliUXYi@Nz6}7QL0@u_7MR z$I)&;I|1MYjT=O1tW6-jSzM@$_0or}!0w+R*XLjZ@~5!Ih+X~RGC{{5 zC;oH6AFzUo7*wNALw*6>mq_Eq^Jz$&KA*Dr6*x+#{ z9Icv^_K8sNw(8o(s2pmnP1H6)HbKTA<6>8ESqHX5K5GLQbjjnfS~A}b?OSjH+?M~3 zjJOc&YO&^U15!4@H3irCNn<_#sp3CT{5~-ClXot-Ru+3}X3DE*duDWSWT=1ZWH!5V z^yJ3Sr1PXJ5|aELn#g9xv;EoO9YfJ4XgZRdji^6*)GN+0{Ro$!7W|#~_9VPp*wR Gq<;X{i!hu3 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 64c5a84b7..fdbe0bab5 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 @@ -402,6 +402,9 @@ public class HybridHRWatchfaceDesignerActivity extends AbstractGBActivity implem if (watchfaceConfig.has("toggle_backlight_event")) { watchfaceSettings.setToggleBacklightEvent(watchfaceConfig.getString("toggle_backlight_event")); } + if (watchfaceConfig.has("move_hands_event")) { + watchfaceSettings.setMoveHandsEvent(watchfaceConfig.getString("move_hands_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 cef895c0a..cb55791b1 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 @@ -303,6 +303,7 @@ public class HybridHRWatchfaceFactory { config.put("wrist_flick_move_minute", settings.getWristFlickMoveMinute()); config.put("toggle_widgets_event", settings.getToggleWidgetsEvent()); config.put("toggle_backlight_event", settings.getToggleBacklightEvent()); + config.put("move_hands_event", settings.getMoveHandsEvent()); 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 4f947e874..51bfa7df7 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 @@ -27,6 +27,7 @@ public class HybridHRWatchfaceSettings implements Serializable { private int wristFlickMoveMinute = -360; private String toggleWidgetsEvent = ""; private String toggleBacklightEvent = ""; + private String moveHandsEvent = "flick_away"; private boolean powersaveDisplay = false; private boolean powersaveHands = false; private boolean lightUpOnNotification = false; @@ -118,6 +119,14 @@ public class HybridHRWatchfaceSettings implements Serializable { this.toggleBacklightEvent = event; } + public String getMoveHandsEvent() { + return moveHandsEvent; + } + + public void setMoveHandsEvent(String event) { + this.moveHandsEvent = 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 30ffe04d8..dd6ebcf9f 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 @@ -115,6 +115,11 @@ public class HybridHRWatchfaceSettingsActivity extends AbstractSettingsActivity toggle_backlight.setValue(settings.getToggleBacklightEvent()); toggle_backlight.setSummary(toggle_backlight.getEntry()); + ListPreference move_hands = (ListPreference) findPreference("pref_hybridhr_watchface_move_hands"); + move_hands.setOnPreferenceChangeListener(this); + move_hands.setValue(settings.getMoveHandsEvent()); + move_hands.setSummary(move_hands.getEntry()); + SwitchPreference power_saving_display = (SwitchPreference) findPreference("pref_hybridhr_watchface_power_saving_display"); power_saving_display.setOnPreferenceChangeListener(this); power_saving_display.setChecked(settings.getPowersaveDisplay()); @@ -164,6 +169,11 @@ public class HybridHRWatchfaceSettingsActivity extends AbstractSettingsActivity ((ListPreference)preference).setValue(newValue.toString()); preference.setSummary(((ListPreference)preference).getEntry()); break; + case "pref_hybridhr_watchface_move_hands": + settings.setMoveHandsEvent(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 fdda9a68f..c241ea1a2 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 @@ -22,7 +22,7 @@ import java.util.Map; import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; public final class QHybridConstants { - public static final String HYBRIDHR_WATCHFACE_VERSION = "1.6"; + public static final String HYBRIDHR_WATCHFACE_VERSION = "1.7"; 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 9a65ed49f..41d682345 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -2046,21 +2046,23 @@ widget_bg_dashed_circle - + @string/menuitem_nothing @string/pref_title_upper_button_function_short @string/pref_title_upper_button_function_long @string/pref_title_middle_button_function_short @string/pref_title_lower_button_function_short @string/pref_title_lower_button_function_long + @string/watchface_setting_title_wrist_flick - + top_short_press_release top_hold middle_short_press_release bottom_short_press_release bottom_hold + flick_away diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ff9457603..d64be7f0c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1559,6 +1559,7 @@ Custom events Toggle widgets Turn backlight on + Move hands 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 ff3bb4717..5a56feb2b 100644 --- a/app/src/main/res/xml/fossil_hr_watchface_settings.xml +++ b/app/src/main/res/xml/fossil_hr_watchface_settings.xml @@ -51,18 +51,26 @@ android:persistent="false" android:title="@string/watchface_setting_button_toggle_widgets" android:key="pref_hybridhr_watchface_toggle_widgets" - android:entries="@array/pref_hybridhr_watchface_buttonevents_items" - android:entryValues="@array/pref_hybridhr_watchface_buttonevents_values" + android:entries="@array/pref_hybridhr_watchface_events_items" + android:entryValues="@array/pref_hybridhr_watchface_events_values" android:dialogTitle="@string/watchface_setting_button_toggle_widgets" android:negativeButtonText="@string/Cancel"/> + diff --git a/external/fossil-hr-watchface b/external/fossil-hr-watchface index 2cb107b23..a858758bc 160000 --- a/external/fossil-hr-watchface +++ b/external/fossil-hr-watchface @@ -1 +1 @@ -Subproject commit 2cb107b23e26546ab27b8d13eacf8b0852d8b514 +Subproject commit a858758bc9e287c9f902e061511f12aee4870972