feat(settings): call the app "Clock" and add an app icon picker

The launcher and system label is now a plain, translatable "Clock"; the
brand name Clockula stays on the About card and in crash reports via an
untranslated app_brand_name string.

Settings → Appearance → App icon chooses between the bloom mark and a new
plain clock icon (the same dial and hands without the badge). The launcher
entry moves off MainActivity onto two <activity-alias> components, exactly
one enabled at a time, as Calendula does for its launcher name. The
component-enabled state is the single source of truth, and switching
enables the target before disabling the other so the launcher never sees
zero entries.
This commit is contained in:
makiolaj committed 2026-10-02 20:55:09 +02:00
1 parent f37c5f2f84
commit a8bc652b22
15 files changed
+510 -8

No files matched your search

+29 -1
View File
@@ -77,11 +77,39 @@
android:exported="true"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize">
<!-- The MAIN/LAUNCHER entry lives on the two <activity-alias>
below, so the launcher icon can be switched at runtime. -->
</activity>
<!-- The launcher entry, once per icon: exactly one alias is enabled at a
time, toggled from Settings → Appearance → App icon
(LauncherIconManager). The bloom is the manifest default. -->
<activity-alias
android:name=".BloomIconAlias"
android:enabled="true"
android:exported="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</activity-alias>
<activity-alias
android:name=".PlainIconAlias"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_launcher_plain"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_plain_round"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<!-- The one exported door for android.provider.AlarmClock: every other
app on the device drives Clockula through it. Guarded by the