Published to Google Play Store. - Detail screen: prev/next bottom nav bar, delete navigates to next item with undo snackbar - Delete auto-fires app's Delete action button if available (like Gmail delete) - New app_actions table: captures notification action buttons per app (DB migration 7→8) - Filter rule editor: shows known action buttons for selected app (excluding reply actions) - Filter rule editor: dynamic placeholder text based on match field, auto-fill from source notification - Filter rule editor: "Create filter" button added to detail screen - Filter UX: renamed "tap" → "hit" action button, clearer dropdown labels throughout - Filter UX: long text auto-shortened for patterns, URL-safe sentence detection - Filter UX: frequency limiter now supports up to 24 hours - Bookmark icon: orange badge style, visible on both items and collapsed group headers - Read/unread: Gmail-style — bold text + dot + tinted background for unread, normal for read - Pro mode defaults to true on debug builds - Rule name auto-generates on save (app name + action + pattern) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
47 lines
1.4 KiB
Prolog
47 lines
1.4 KiB
Prolog
# === Obfuscation ===
|
|
-repackageclasses ""
|
|
-allowaccessmodification
|
|
-overloadaggressively
|
|
-dontnote **
|
|
|
|
# Strip source file names and line numbers
|
|
-renamesourcefileattribute ""
|
|
|
|
# Google Tink (used by EncryptedSharedPreferences)
|
|
-dontwarn com.google.errorprone.annotations.CanIgnoreReturnValue
|
|
-dontwarn com.google.errorprone.annotations.CheckReturnValue
|
|
-dontwarn com.google.errorprone.annotations.Immutable
|
|
-dontwarn com.google.errorprone.annotations.RestrictedApi
|
|
|
|
# Firebase Crashlytics — keep exceptions readable
|
|
-keep public class * extends java.lang.Exception
|
|
|
|
# Room
|
|
-keep class * extends androidx.room.RoomDatabase
|
|
-keep @androidx.room.Entity class *
|
|
|
|
# Hilt
|
|
-keep class dagger.hilt.** { *; }
|
|
-keep class * extends dagger.hilt.android.lifecycle.HiltViewModel
|
|
|
|
# WorkManager + Hilt Workers
|
|
-keep class * extends androidx.work.ListenableWorker
|
|
|
|
# Kotlin Serialization
|
|
-keepattributes *Annotation*, InnerClasses
|
|
-dontnote kotlinx.serialization.AnnotationsKt
|
|
-keepclassmembers class kotlinx.serialization.json.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class kotlinx.serialization.json.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
# Keep @Serializable classes
|
|
-keep,includedescriptorclasses class com.roundingmobile.sni.**$$serializer { *; }
|
|
-keepclassmembers class com.roundingmobile.sni.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class com.roundingmobile.sni.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|