feat(widgets): open Alarms from the clock widgets, or a tab of your choice

Tapping the digital or analog clock widget now opens Alarms instead of
World clock, and both config screens gain an "On tap" setting (Alarms,
Timers, Stopwatch, World clock) stored per instance next to the style.
Instances placed before the setting existed open Alarms. The analog
config becomes a settings screen like the digital one, with the style
behind a row, to make room for it.

A widget tap sometimes showed whatever the app was last on instead of
its tab, for two reasons. The shell replayed a deep link as a tab tap
with restoreState, so it restored the tab's saved back stack, nested
screen and all (fixed by the pager shell, which pops to the tab). And
the widget intents carried only NEW_TASK, so with a picker or settings
page left on top of MainActivity the task was merely brought forward and
onNewIntent never ran. Every widget that opens the app now builds its
intent in one place with CLEAR_TOP and SINGLE_TOP as well.

Closes #8
This commit is contained in:
makiolaj committed 2026-10-05 19:42:14 +02:00
1 parent be526711d7
commit 462f9f8c9f
18 files changed
+324 -47

No files matched your search

+3
View File
@@ -398,6 +398,9 @@
<string name="widget_config_show_world_clocks">World clocks</string>
<string name="widget_config_show_world_clocks_hint">Up to three cities from your World clock tab</string>
<!-- #8: the tab a clock widget opens when tapped; its options are the tab names -->
<string name="widget_config_on_tap">On tap</string>
<!-- M11: analog clock widget -->
<string name="widget_analog_label">Analog clock</string>
<string name="widget_analog_config_title">Analog clock</string>