1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-28 16:00:12 +02:00
Gadgetbridge/app/proguard-rules.pro
Marc Nause 677d8503d9 Added rule to keep static members of CallSpec class
The support class for BangleJS devices uses reflection to retrieve an array of the fields and used them to generate JSON which is sent to the devices. Without the new rule ProGuard breaks alerts for incoming calls in release builds.

See also: https://github.com/espruino/BangleApps/issues/976
2022-03-22 19:50:53 +01:00

58 lines
1.8 KiB
Prolog

# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/andi/Android/Sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
-dontobfuscate
# Pebble BG-JS
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
-keepclassmembers class nodomain.freeyourgadget.gadgetbridge.service.devices.pebble.webview.JSInterface {
public *;
}
# Required for refection in BangleJSDeviceSupport
-keepclassmembers class nodomain.freeyourgadget.gadgetbridge.model.CallSpec {
public static *;
}
-keepattributes JavascriptInterface
# https://github.com/tony19/logback-android/issues/29
-dontwarn javax.mail.**, javax.naming.Context, javax.naming.InitialContext
# To avoid any stacktrace ambiguity
-keepattributes SourceFile,LineNumberTable
# GreenDAO 2 - http://greenrobot.org/greendao/documentation/technical-faq/
-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties
-keep class **$Properties { *; }
# Keep database migration classes accessed trough reflection
-keep class **.gadgetbridge.database.schema.* { *; }
# Keep Nordic DFU library
-keep class no.nordicsemi.android.dfu.** { *; }
# Keep dependency android-emojify (io.wax911.emojify) uses
-keep class org.hamcrest.** { *; }
# Keep logback classes
-keep class ch.qos.** { *; }
-keep class org.slf4j.** { *; }
# Keep data classes
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}