# Consumer R8/ProGuard rules for the transfer-notice plugin. Inert unless the # consuming app minifies, and only the `release` build type does, so the # debug APK the deploy pipeline builds is untouched by this file. # # TransferNoticePlugin is found by the string # "com/soulstream/transfernotice/TransferNoticePlugin" # (register_android_plugin → FindClass), constructed through # "(Landroid/app/Activity;)V", and its two @Command methods — update and # clear — are dispatched by NAME through PluginHandle's commands map. # NoticeArgs is filled by Jackson field by field. Rename any of it and a Save # runs to completion with no notice in the shade at all. # # The notice's own Cancel and Open come back as the plugin event "action", # which the WebView subscribes to through Plugin.registerListener — declared # on tauri's base class, which no rule of tauri's own names. See # src-tauri/android/proguard-soulstream.pro. # # TransferService is declared in this module's AndroidManifest.xml, so AGP's # own merged-manifest keep rules hold it by name. Not repeated here: one # place decides it. -keep class com.soulstream.transfernotice.TransferNoticePlugin { *; } -keep class com.soulstream.transfernotice.NoticeArgs { *; }