diff --git a/app/build.gradle b/app/build.gradle index 63d2b94..f9fa6e6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "eu.rickvanschijndel.solargraph" minSdkVersion 16 targetSdkVersion 27 - versionCode 8 - versionName "1.7" + versionCode 9 + versionName "1.7.2" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 58d7787..c8a0189 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -46,3 +46,25 @@ -keepattributes Signature # Retain declared checked exceptions for use by a Proxy instance. -keepattributes Exceptions + +## GSON +# Gson uses generic type information stored in a class file when working with fields. Proguard +# removes such information by default, so configure it to keep all of it. +-keepattributes Signature + +# For using GSON @Expose annotation +-keepattributes *Annotation* + +# Gson specific classes +-dontwarn sun.misc.** +#-keep class com.google.gson.stream.** { *; } + +# Application classes that will be serialized/deserialized over Gson +-keep class eu.rickvanschijndel.solargraph.models.** { *; } + +# Prevent proguard from stripping interface information from TypeAdapterFactory, +# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) +-keep class * implements com.google.gson.TypeAdapterFactory +-keep class * implements com.google.gson.JsonSerializer +-keep class * implements com.google.gson.JsonDeserializer +