diff --git a/dependencies.gradle b/dependencies.gradle index ae3e47e9..d53fc384 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,6 +1,6 @@ ext.versions = [ - versionCode : 64, - versionName : "2.3.0", + versionCode : 66, + 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 diff --git a/ultrasonic/src/main/res/values-pt-rBR/strings.xml b/ultrasonic/src/main/res/values-pt-rBR/strings.xml index ad8364ba..a6085eda 100644 --- a/ultrasonic/src/main/res/values-pt-rBR/strings.xml +++ b/ultrasonic/src/main/res/values-pt-rBR/strings.xml @@ -250,7 +250,7 @@ 3 músicas 5 músicas Ilimitado - Currículo na inserção de fone de ouvido + Retomar ao Inserir Fone de Ouvido O aplicativo retomará a reprodução em pausa na inserção dos fones de ouvido no dispositivo. Manter a tela ligada enquanto baixando aumenta a velocidade de download. Manter a Tela Ligada @@ -282,7 +282,7 @@ Senha Excluir Servidor Baixa imagens reduzidas do servidor ao invés do tamanho completo (economiza banda) - Reduzir Arte dos álbuns + Reduzir Arte dos Álbuns Não usado Login Servidores @@ -306,9 +306,9 @@ Permitir o certificado HTTPS auto-assinado Ative o suporte para usuários LDAP Isso força o aplicativo a enviar sempre a senha de forma antiga, - porque o Subsonic api não suporta nova autorização para usuários LDAP. - Pasta para Nome do Artista - Assume que a pasta mais acima é o nome do artista + porque a api Subsonic não suporta a nova autorização para usuários LDAP. + Usar Pasta para Nome do Artista + Assumir que a pasta mais acima é o nome do artista Navegar Usando Etiquetas ID3 Usa as etiquetas ID3 ao invés do sistema de arquivos Vídeo @@ -324,7 +324,7 @@ 4 segundos 4.5 segundos 5 segundos - Somente faz stream de mídia se estiver conectado ao Wi-Fi + Somente fazer stream de mídia se conectado por Wi-Fi Streaming Somente por Wi-Fi %1$s%2$s %d kbps diff --git a/ultrasonic/src/main/res/values-pt/strings.xml b/ultrasonic/src/main/res/values-pt/strings.xml index 15e827a1..d5f1fcaf 100644 --- a/ultrasonic/src/main/res/values-pt/strings.xml +++ b/ultrasonic/src/main/res/values-pt/strings.xml @@ -250,8 +250,8 @@ 3 músicas 5 músicas Ilimitado - Currículo na inserção de fone de ouvido - O aplicativo retomará a reprodução em pausa na inserção dos fones de ouvido no dispositivo. + Retomar ao inserir Auscultadores + O aplicativo retomará a reprodução em pausa na inserção dos auscultadores no dispositivo. Manter o ecrã ligado enquanto descarrega aumenta a velocidade de download. Manter o Ecrã Ligado Lembre-se de definir seu usuário e senha do Last.fm no servidor Subsonic @@ -282,7 +282,7 @@ Senha Apagar Servidor Descarrega imagens reduzidas do servidor ao invés do tamanho completo (economiza banda) - Reduzir Arte dos álbuns + Reduzir Arte dos Álbuns Não usado Login Servidores @@ -306,9 +306,9 @@ Permitir o certificado HTTPS auto-assinado Ative o suporte para usuários LDAP Isso força o aplicativo a enviar sempre a senha de forma antiga, - porque o Subsonic api não suporta nova autorização para usuários LDAP. - Pasta para Nome do Artista - Assume que a pasta mais acima é o nome do artista + porque a api Subsonic não suporta a nova autorização para usuários LDAP. + Usar Pasta para Nome do Artista + Assumir que a pasta mais acima é o nome do artista Navegar Usando Etiquetas ID3 Usa as etiquetas ID3 ao invés do sistema de ficheiros Vídeo @@ -324,7 +324,7 @@ 4 segundos 4.5 segundos 5 segundos - Somente faz stream de mídia se estiver conectado ao Wi-Fi + Somente fazer stream de mídia se conectado por Wi-Fi Streaming Somente por Wi-Fi %1$s%2$s %d kbps