From 789ef65e6937cb6cbbe1fd5667bb7fa738250796 Mon Sep 17 00:00:00 2001 From: Maxr1998 Date: Tue, 19 May 2020 12:23:00 +0200 Subject: [PATCH 1/3] Fix crash when entering wrong IP --- .../gramophone/ui/activities/LoginActivity.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java index c284eaf2..172f2732 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java @@ -11,10 +11,10 @@ import android.widget.EditText; import androidx.annotation.NonNull; import androidx.appcompat.widget.Toolbar; -import com.kabouzeid.appthemehelper.ThemeStore; import com.dkanada.gramophone.App; import com.dkanada.gramophone.R; import com.dkanada.gramophone.ui.activities.base.AbsBaseActivity; +import com.kabouzeid.appthemehelper.ThemeStore; import org.jellyfin.apiclient.interaction.AndroidCredentialProvider; import org.jellyfin.apiclient.interaction.ConnectionResult; @@ -24,11 +24,14 @@ import org.jellyfin.apiclient.interaction.connectionmanager.ConnectionManager; import org.jellyfin.apiclient.interaction.http.IAsyncHttpClient; import org.jellyfin.apiclient.logging.AndroidLogger; import org.jellyfin.apiclient.model.apiclient.ServerCredentials; +import org.jellyfin.apiclient.model.apiclient.ServerInfo; import org.jellyfin.apiclient.model.logging.ILogger; import org.jellyfin.apiclient.model.serialization.GsonJsonSerializer; import org.jellyfin.apiclient.model.serialization.IJsonSerializer; import org.jellyfin.apiclient.model.users.AuthenticationResult; +import java.util.List; + import butterknife.BindView; import butterknife.ButterKnife; @@ -99,7 +102,12 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen public void onResponse(ConnectionResult result) { App.setApiClient(result.getApiClient()); ServerCredentials serverCredentials = new ServerCredentials(); - serverCredentials.AddOrUpdateServer(result.getServers().get(0)); + List servers = result.getServers(); + + if (servers.size() < 1) + return; + + serverCredentials.AddOrUpdateServer(servers.get(0)); App.getApiClient().AuthenticateUserAsync(username.getText().toString(), password.getText().toString(), new Response() { @Override public void onResponse(AuthenticationResult result) { From f054724453cee13053c40ce6c7dc11b7332674a5 Mon Sep 17 00:00:00 2001 From: Maxr1998 Date: Tue, 19 May 2020 12:31:30 +0200 Subject: [PATCH 2/3] Fix crashes in release due to ProGuard --- app/build.gradle | 1 + app/proguard-rules.pro | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 app/proguard-rules.pro diff --git a/app/build.gradle b/app/build.gradle index 49bf64cf..0d8dfc1d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,6 +20,7 @@ android { release { minifyEnabled true shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 00000000..ba874020 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,31 @@ +-dontwarn +-ignorewarnings + +# RetroFit +-dontwarn retrofit.** +-keep class retrofit.** { *; } +-keepattributes Signature +-keepattributes Exceptions + +# Glide +-keep public class * implements com.bumptech.glide.module.GlideModule +-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { + **[] $VALUES; + public *; +} + +# ButterKnife +-keep class butterknife.** { *; } +-dontwarn butterknife.internal.** +-keep class **$$ViewBinder { *; } +-keepclasseswithmembernames class * { + @butterknife.* ; +} +-keepclasseswithmembernames class * { + @butterknife.* ; +} + +-keep class !android.support.v7.internal.view.menu.**,** {*;} + +# Jellyfin API models +-keepclasseswithmembers class org.jellyfin.apiclient.model.**.* { *; } \ No newline at end of file From 34938d13d04d99eb8195f49aaf58b19da8632c93 Mon Sep 17 00:00:00 2001 From: Maxr1998 Date: Tue, 19 May 2020 20:21:42 +0200 Subject: [PATCH 3/3] Add brackets for if block --- .../com/dkanada/gramophone/ui/activities/LoginActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java index 172f2732..df79c117 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java @@ -104,8 +104,9 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen ServerCredentials serverCredentials = new ServerCredentials(); List servers = result.getServers(); - if (servers.size() < 1) + if (servers.size() < 1) { return; + } serverCredentials.AddOrUpdateServer(servers.get(0)); App.getApiClient().AuthenticateUserAsync(username.getText().toString(), password.getText().toString(), new Response() {