Four bug fixes for 2.17.0 (#89, #81, #79, #77) (#101)

Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/101
This commit is contained in:
Jean-Luc Makiola
2026-07-30 16:18:46 +02:00
parent 1d07b64a28
commit 36bbb3ff2e
14 changed files with 333 additions and 68 deletions

View File

@@ -38,3 +38,15 @@
# SessionWorker never ran, and widgets were stuck on their loading layout
# (a blank spinner) in release builds. Keep every InputMerger's name + ctor.
-keep class * extends androidx.work.InputMerger { <init>(...); }
# Glance identifies a widget by its GlanceAppWidget subclass's *canonical name*:
# GlanceAppWidgetManager persists a providerName -> receivers map under that
# string, and `updateAll` looks the widget's app-widget ids up through it. Under
# R8 full mode (AGP 9 default) MonthWidget and AgendaWidget — same supertype,
# same overrides, no distinguishing members — were horizontally merged into one
# class, so both receivers registered under the *same* provider name and
# `AgendaWidget().updateAll()` resolved the month widget's id too, redrawing a
# placed month widget as the agenda one on the next data change (#89). Keeping
# the real names also survives app updates, which would otherwise renumber the
# obfuscated name and orphan the stored mapping.
-keep class * extends androidx.glance.appwidget.GlanceAppWidget