- ProGuard keep rule for dk.haugesenspil.metweather.** (R8 was obfuscating the
Gson DTOs -> ClassCastException, weather glyph vanished).
- Home current-weather now shows 'current -> ~4h' (nearest MET hourly point),
cached in met_weather_prefs.
release build v0.3.8
- Replace internal MetApiService/MetForecastResponse + Retrofit MET fetch in
AppHelper with dk.haugesenspil:met-weather (Gitea maven).
- fetchMetWeather now delegates to MetWeatherClient; 15-min cache kept.
- Drop MetApiService.kt and MetForecastResponse.kt.
release build v0.3.7
- NotificationBadgeService: re-posted notifications update the stored
badge number instead of being dropped; flag changes (clearable ->
ongoing) remove the entry; exclude group summaries (AOSP Launcher3
does too) and USER_ALL (-1) records; log each counts publish.
- HomeFragment: register the badge collector once in onViewCreated
instead of every onResume (collector leak); rebind the visible home
rows immediately when the notification-dots toggle flips.
- NotificationDotHelper: plain red dot without the white outline;
position tangent to the top-right corner so the circle is never
clipped by the icon bitmap.
NotificationBadgeService now sums Notification.number (or 1 when unset)
per package across counted notifications, matching Launcher3 badge
behavior. A single K-9 notification with number=14 (unread count) now
yields a dot, not just one notification = one dot.
The Yr app (no.nrk.yr) exposes no data to third parties; its backend,
api.met.no locationforecast 2.0, works with no API key (User-Agent header
only). New toggle 'Show Current Weather' under Display, right after 'Show
App Icons'. The home element is formatted exactly like the daily word and
shows a nerd-font weather glyph (nf-weather-*, from the installed
JetBrainsMonoNerdFont) plus the temperature in Celsius, e.g. '\uE312 16°'.
A 95KB subset of JetBrainsMonoNerdFont (ASCII + weather glyphs, OFL) is
bundled as R.font.jetbrains_mono_nf_weather so the glyphs render even if
the launcher font setting changes.
Uses the launcher's existing saved location (lat/lon prefs).
New NotificationBadgeService (NotificationListenerService) tracks pending,
dismissible notifications per app. Home, favorite, and drawer icons get a
red dot in the top-right corner when the app has active notifications.
Settings: 'Notification Dots' toggle under Display features; enabling it
opens the system notification-access screen when permission is missing.
Dots update live via a StateFlow observed by the fragments.
DrawFragment: app-list touch area now forwards vertical drags/flings to the
drawer RecyclerView, so the list scrolls even when grabbing empty space
right of the app names. OnSwipeTouchListener gained no-op vertical scroll
and fling hooks.
When animations are disabled, drop the RecyclerView item animator so
DiffUtil search updates no longer pan entries up into place.
- Updated compileSdk and targetSdk to 36
- Updated Gradle wrapper to version 8.13
- Updated various library dependencies to their latest versions, including:
- Android Gradle Plugin (AGP) to 8.11.1
- Kotlin to 2.2.0
- Core KTX to 1.16.0
- AppCompat to 1.7.1
- ConstraintLayout to 2.2.1
- Navigation to 2.9.1
- Lifecycle to 2.9.1
- Dagger to 2.56.2
- WorkManager to 2.10.2
- RecyclerView to 1.4.0
- Retrofit to 3.0.0
- Room to 2.7.2
- Compose to 1.8.3