From f4274ed03e87c30883f482b0c5f74e2ac59adabb Mon Sep 17 00:00:00 2001 From: Thibault Nocchi <1619359+ThibaultNocchi@users.noreply.github.com> Date: Tue, 7 Jul 2020 21:55:14 +0200 Subject: [PATCH 1/3] Fixed app crash when trying to connect without server address --- .../ui/activities/LoginActivity.java | 44 ++++++++++++------- app/src/main/res/values-fr/strings.xml | 2 + app/src/main/res/values/strings.xml | 2 + 3 files changed, 31 insertions(+), 17 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 aa28b59c..064d12cb 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 @@ -101,27 +101,37 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen credentialProvider = new AndroidCredentialProvider(jsonSerializer, this, logger); ConnectionManager connectionManager = App.getConnectionManager(context, jsonSerializer, logger, httpClient); - connectionManager.Connect(server.getText().toString(), new Response() { - @Override - public void onResponse(ConnectionResult result) { - App.setApiClient(result.getApiClient()); - ServerCredentials serverCredentials = new ServerCredentials(); - List servers = result.getServers(); - if (servers.size() < 1) { - return; - } + try { + connectionManager.Connect(server.getText().toString(), new Response() { + @Override + public void onResponse(ConnectionResult result) { + App.setApiClient(result.getApiClient()); + ServerCredentials serverCredentials = new ServerCredentials(); + List servers = result.getServers(); - serverCredentials.AddOrUpdateServer(servers.get(0)); - App.getApiClient().AuthenticateUserAsync(username.getText().toString(), password.getText().toString(), new Response() { - @Override - public void onResponse(AuthenticationResult result) { - if (result.getAccessToken() == null) return; - check(context, serverCredentials, result); + 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) { + if (result.getAccessToken() == null) return; + check(context, serverCredentials, result); + } + }); + } + }); + } catch (IllegalArgumentException e) { + if (e.getMessage().equals("address")) { + Toast.makeText(context, context.getResources().getString(R.string.error_login_empty_addr), Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(context, context.getResources().getString(R.string.error_unexpected), Toast.LENGTH_SHORT).show(); } - }); + } + } } diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 9f2b09eb..2038ef44 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -149,4 +149,6 @@ Artiste Album Année + Veuillez saisir l\'adresse du serveur. + Une erreur inattendue s\'est produite. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1872ae32..2da38af5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -214,5 +214,7 @@ Cancel current timer Sleep timer canceled. Sleep timer set for %d minutes from now. + Please fill in the server address. + An unexpected error occurred. From 3bd4f3fe3acefdfcdfadeb389bc6af0c6a378b78 Mon Sep 17 00:00:00 2001 From: Thibault Nocchi <1619359+ThibaultNocchi@users.noreply.github.com> Date: Wed, 8 Jul 2020 22:27:48 +0200 Subject: [PATCH 2/3] Better check of empty address field instead of try catch --- .../ui/activities/LoginActivity.java | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 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 064d12cb..0929e77d 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 @@ -102,36 +102,34 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen credentialProvider = new AndroidCredentialProvider(jsonSerializer, this, logger); ConnectionManager connectionManager = App.getConnectionManager(context, jsonSerializer, logger, httpClient); - try { - connectionManager.Connect(server.getText().toString(), new Response() { - @Override - public void onResponse(ConnectionResult result) { - App.setApiClient(result.getApiClient()); - ServerCredentials serverCredentials = new ServerCredentials(); - 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) { - if (result.getAccessToken() == null) return; - check(context, serverCredentials, result); - } - }); - } - }); - } catch (IllegalArgumentException e) { - if (e.getMessage().equals("address")) { - Toast.makeText(context, context.getResources().getString(R.string.error_login_empty_addr), Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(context, context.getResources().getString(R.string.error_unexpected), Toast.LENGTH_SHORT).show(); - } + if (server.getText().toString().trim().length() == 0) { + Toast.makeText(context, context.getResources().getString(R.string.error_login_empty_addr), Toast.LENGTH_SHORT).show(); + return; } + connectionManager.Connect(server.getText().toString(), new Response() { + @Override + public void onResponse(ConnectionResult result) { + App.setApiClient(result.getApiClient()); + ServerCredentials serverCredentials = new ServerCredentials(); + 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) { + if (result.getAccessToken() == null) return; + check(context, serverCredentials, result); + } + }); + } + }); + + } } From 2ea2f82449a8a5f33c5923fb06fac390c7f47fbe Mon Sep 17 00:00:00 2001 From: Thibault <1619359+ThibaultNocchi@users.noreply.github.com> Date: Fri, 10 Jul 2020 08:31:05 +0200 Subject: [PATCH 3/3] Removed blank lines --- .../com/dkanada/gramophone/ui/activities/LoginActivity.java | 2 -- 1 file changed, 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 0929e77d..9fc694b8 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 @@ -128,8 +128,6 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen }); } }); - - } }