summaryrefslogtreecommitdiff
path: root/android/app/build.gradle.kts
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-08-06 09:31:03 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-08-06 09:31:03 +0000
commit702e0ea04984f203048d9a440bc6e1c8ba8b6d4e (patch)
tree6e789e37a9449972b3aecbc6553adaee343887da /android/app/build.gradle.kts
parentab76bcae1324aadb6d163e565f5994d0db10ca61 (diff)
Widget: ship Material You theming, past-events restructuring, legibility fixes, new settings
This lands the color-theming work that had sat uncommitted since a prior session (2026-07-28) -- every build published in between stripped it out deliberately to avoid shipping unreviewed work -- plus a full round of fixes and new features layered on top since it finally shipped: Theming (WidgetPalette.kt, new): - 5 themes now: NEUTRAL/ACCENT/TONAL (wallpaper-derived via Material You), VIVID (new -- all three text roles pull from a different accent slot instead of anchoring primary to neutral, for real hue variety), CLASSIC (fixed, wallpaper-independent). - Settings picker redesigned to match Android's native wallpaper "Basic colors" circular swatches (bottom half + two top quadrants, filled with each theme's actual buildWidgetPalette() output, not an approximation). - Per-source accent colors (colored checkboxes/bars) fully removed from the grid. Past events (DootWidget.kt, WidgetRows.kt): - Already-ended-today events pulled out of the hourly grid, shown as list rows above it instead (matching how past tasks already float) -- fixes the grid's start hour getting stretched backward by stale events. Legibility (WidgetRows.kt): - ShadowedText upgraded from a single-corner drop shadow to a 4-corner halo/outline (protects all sides of a glyph, not just one). - Halo color now tracks each palette's text luminance (dark halo for light text, light halo for dark text) -- a hardcoded black halo behind already-dark light-mode text was doing essentially nothing. Bumped opacity 0.45/0.55 -> 0.65/0.7 as the cheap, low-risk strength dial. New settings (SettingsActivity.kt, DataStore.kt): - Background transparency slider (0-85%, default 0% unchanged) -- exposed for testing per explicit request, not a default change. - Hide-checkboxes toggle: drops the leading checkbox/dot element entirely (not just hides the icon) so task titles land flush with event titles; tap-to-complete-from-widget trades off for TaskDetailActivity's Complete button. Also: today's moon phase in the TODAY header (moonPhaseEmoji, pure date computation, no network) -- verified against direct calculation before writing test assertions, not hand-computed. Removed the unused glance-material3 dependency (verified zero usages before removing; turned out to save ~2KB, not the ~280KB expected, since material3 itself already pulls the same transitive deps -- noted honestly rather than oversold). Every new pure-logic piece has unit tests (isPastEvent, moonPhaseEmoji, theme construction) -- 59 total, all green. Verified installable and crash-free via a real API 36 emulator launch before each publish, not assumed. Deployed as doot-widget.apk.
Diffstat (limited to 'android/app/build.gradle.kts')
-rw-r--r--android/app/build.gradle.kts6
1 files changed, 5 insertions, 1 deletions
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index 76f5b50..fb31aa8 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -68,7 +68,11 @@ dependencies {
implementation(composeBom)
implementation("androidx.glance:glance-appwidget:1.1.0")
- implementation("androidx.glance:glance-material3:1.1.0")
+ // glance-material3 removed 2026-08-06: zero usages anywhere in this codebase (no
+ // androidx.glance.material3 import, no GlanceTheme call) -- it only pulled in
+ // material-icons-core + material-ripple transitively, which are themselves unused
+ // too (no Compose Material Icons anywhere -- this app uses its own R.drawable
+ // vectors). Verified via `./gradlew :app:dependencies` before removing, not assumed.
implementation("androidx.work:work-runtime-ktx:2.9.0")
implementation("androidx.datastore:datastore-preferences:1.1.1")
implementation("com.squareup.okhttp3:okhttp:4.12.0")