-keepattributes EnclosingMethod
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# Room builds its generated *_Impl reflectively, so the no-arg constructor has no
# caller R8 can see. room-runtime 2.2.5 (pulled in transitively: Glance -> WorkManager
# -> Room) ships the old consumer rule "-keep class * extends androidx.room.RoomDatabase",
# which keeps the class but NOT its members, so R8 dropped WorkDatabase_Impl.<init>().
# Room then failed to instantiate it, androidx.startup.InitializationProvider blew up, and
# every release build crashed on launch before reaching any of our code. Debug builds are
# not minified, which is why this only ever showed up in the wild.
# Newer Room ships this exact rule itself; keep it here until the dependency catches up.
-keep class * extends androidx.room.RoomDatabase {
    <init>();
}
# Glance builds an ActionCallback reflectively when a widget button is tapped, so its no-arg
# constructor has no caller R8 can see. glance-appwidget 1.1.1 ships
# "-keep public class * extends androidx.glance.appwidget.action.ActionCallback", which keeps the
# class but NOT its members, exactly like the Room rule above. R8 dropped
# AddUseActionCallback.<init>(), so tapping "Add a copy of my last use" threw
# NoSuchMethodException and silently did nothing. Only release builds are minified, which is why
# the button worked in every debug test and failed for everyone who installed the app.
-keep class * implements androidx.glance.appwidget.action.ActionCallback {
    <init>();
}
-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}
-dontwarn android.media.LoudnessCodecController$OnLoudnessCodecUpdateListener
-dontwarn android.media.LoudnessCodecController
-dontwarn androidx.window.extensions.area.ExtensionWindowAreaPresentation
-dontwarn androidx.window.extensions.core.util.function.Consumer
-dontwarn androidx.window.extensions.core.util.function.Function
-dontwarn androidx.window.extensions.core.util.function.Predicate