diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 4abcee7..ebb6b91 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,12 +1,3 @@ -# Keep the WeatherResponse and its nested classes --keep class com.github.droidworksstudio.launcher.helper.weather.WeatherResponse { *; } --keep class com.github.droidworksstudio.launcher.helper.weather.Wind { *; } --keep class com.github.droidworksstudio.launcher.helper.weather.Main { *; } --keep class com.github.droidworksstudio.launcher.helper.weather.Weather { *; } - -# Keep all model classes and their fields that Gson might use for serialization/deserialization --keep class com.github.droidworksstudio.launcher.helper.weather.** { *; } - # Keep Gson specific annotations -keepattributes Signature -keepattributes *Annotation* @@ -15,3 +6,25 @@ -keepclassmembers class com.github.droidworksstudio.launcher.helper.weather.** { public (...); } + +# Preserve generic type information used in Gson TypeToken +-keep class com.google.gson.reflect.TypeToken {*;} +-keepattributes Signature + +# Preserve classes used by Gson +-keep class com.google.gson.** { *; } + +# Preserve your package classes, replace 'my.package.name' with your actual package name +-keep class com.github.droidworksstudio.** { *; } + +# Keep PreferenceHelper class if it uses Gson serialization/deserialization +-keep class com.github.droidworksstudio.launcher.helper.PreferenceHelper { *; } + +# Keep the WeatherResponse and its nested classes +-keep class com.github.droidworksstudio.launcher.helper.weather.WeatherResponse { *; } +-keep class com.github.droidworksstudio.launcher.helper.weather.Wind { *; } +-keep class com.github.droidworksstudio.launcher.helper.weather.Main { *; } +-keep class com.github.droidworksstudio.launcher.helper.weather.Weather { *; } + +# Keep all model classes and their fields that Gson might use for serialization/deserialization +-keep class com.github.droidworksstudio.launcher.helper.weather.** { *; } diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/activities/MainActivity.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/activities/MainActivity.kt index baff33a..675c961 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/activities/MainActivity.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/activities/MainActivity.kt @@ -305,7 +305,7 @@ class MainActivity : AppCompatActivity() { when (requestCode) { Constants.BACKUP_READ -> { data?.data?.also { uri -> - applicationContext.contentResolver.openInputStream(uri).use { inputStream -> + applicationContext.contentResolver.openInputStream(uri)?.use { inputStream -> val stringBuilder = StringBuilder() BufferedReader(InputStreamReader(inputStream)).use { reader -> var line: String? = reader.readLine()