diff --git a/dependencies.gradle b/dependencies.gradle index ae3e47e9..5c5c5923 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,6 +1,6 @@ ext.versions = [ versionCode : 64, - versionName : "2.3.0", + versionName : "2.3.1", minSdk : 14, targetSdk : 22, diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index 27ecb88d..c2912a95 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -21,16 +21,19 @@ android { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), + 'minify/proguard-main.pro', 'minify/proguard-okhttp.pro', 'minify/proguard-retrofit.pro', - 'minify/proguard-jackson.pro' + 'minify/proguard-jackson.pro', + 'minify/proguard-kotlin-reflect.pro', + 'minify/proguard-kotlin.pro' } debug { minifyEnabled false testCoverageEnabled true + applicationIdSuffix ".debug" } } - sourceSets { main.java.srcDirs += "${projectDir}/src/main/kotlin" test.java.srcDirs += "${projectDir}/src/test/kotlin" diff --git a/ultrasonic/minify/proguard-jackson.pro b/ultrasonic/minify/proguard-jackson.pro index e5caeef8..865b1091 100644 --- a/ultrasonic/minify/proguard-jackson.pro +++ b/ultrasonic/minify/proguard-jackson.pro @@ -9,3 +9,13 @@ } -dontwarn com.fasterxml.jackson.databind.** -keep class org.codehaus.** { *; } +-keepclassmembers class * extends com.fasterxml.jackson.databind.JsonDeserializer { + *; +} + +-keepclassmembers public class * { + @com.fasterxml.jackson.annotation.JsonCreator *; + @com.fasterxml.jackson.annotation.JsonProperty *; + @com.fasterxml.jackson.databind.annotation.JsonDeserialize *; +} + diff --git a/ultrasonic/minify/proguard-kotlin-reflect.pro b/ultrasonic/minify/proguard-kotlin-reflect.pro new file mode 100644 index 00000000..b41d2485 --- /dev/null +++ b/ultrasonic/minify/proguard-kotlin-reflect.pro @@ -0,0 +1,12 @@ +-keep class kotlin.Metadata { *; } +-keep class kotlin.reflect.** { *; } + +-keepclassmembers public class com.company[obfuscated].domain.api.models.** { + public synthetic ; +} + +-keep class org.jetbrains.kotlin.** { *; } +-keep class org.jetbrains.annotations.** { *; } +-keepclassmembers class ** { + @org.jetbrains.annotations.ReadOnly public *; +} diff --git a/ultrasonic/minify/proguard-kotlin.pro b/ultrasonic/minify/proguard-kotlin.pro new file mode 100644 index 00000000..257b07fa --- /dev/null +++ b/ultrasonic/minify/proguard-kotlin.pro @@ -0,0 +1,4 @@ +-dontwarn kotlin.** +-keepclassmembers class **$WhenMappings { + ; +} diff --git a/ultrasonic/minify/proguard-main.pro b/ultrasonic/minify/proguard-main.pro new file mode 100644 index 00000000..e8026c1a --- /dev/null +++ b/ultrasonic/minify/proguard-main.pro @@ -0,0 +1,4 @@ +-dontobfuscate + +### Don't remove subsonic api serializers/entities +-keep class org.moire.ultrasonic.api.subsonic.response.** { *; } diff --git a/ultrasonic/src/main/res/layout/download_playlist.xml b/ultrasonic/src/main/res/layout/download_playlist.xml index 6502ff20..a0a43e19 100644 --- a/ultrasonic/src/main/res/layout/download_playlist.xml +++ b/ultrasonic/src/main/res/layout/download_playlist.xml @@ -2,6 +2,7 @@ + app:drag_handle_id="@+id/song_drag" + app:remove_enabled="true" + app:remove_mode="flingRemove" + app:fling_handle_id="@+id/song_drag" + app:drag_start_mode="onMove" + app:float_background_color="?attr/color_background" + app:float_alpha="0.7" /> \ No newline at end of file