diff --git a/app/src/main/java/com/github/gotify/login/LoginActivity.java b/app/src/main/java/com/github/gotify/login/LoginActivity.java
index 708dd20..235d96f 100644
--- a/app/src/main/java/com/github/gotify/login/LoginActivity.java
+++ b/app/src/main/java/com/github/gotify/login/LoginActivity.java
@@ -115,11 +115,23 @@ public class LoginActivity extends AppCompatActivity {
checkUrlProgress.setVisibility(View.VISIBLE);
checkUrlButton.setVisibility(View.GONE);
- final String fixedUrl = url.endsWith("/") ? url.substring(0, url.length() - 1) : url;
+ final String trimmedUrl = url.trim();
+ final String fixedUrl =
+ trimmedUrl.endsWith("/")
+ ? trimmedUrl.substring(0, trimmedUrl.length() - 1)
+ : trimmedUrl;
- ClientFactory.versionApi(fixedUrl, tempSSLSettings())
- .getVersion()
- .enqueue(callInUI(this, onValidUrl(fixedUrl), onInvalidUrl(fixedUrl)));
+ try {
+ ClientFactory.versionApi(fixedUrl, tempSSLSettings())
+ .getVersion()
+ .enqueue(callInUI(this, onValidUrl(fixedUrl), onInvalidUrl(fixedUrl)));
+ } catch (Exception e) {
+ checkUrlProgress.setVisibility(View.GONE);
+ checkUrlButton.setVisibility(View.VISIBLE);
+ String errorMsg =
+ getString(R.string.version_failed, fixedUrl + "/version", e.getMessage());
+ Utils.showSnackBar(LoginActivity.this, errorMsg);
+ }
}
public void showHttpWarning() {
@@ -301,7 +313,7 @@ public class LoginActivity extends AppCompatActivity {
}
private String versionError(String url, ApiException exception) {
- return getString(R.string.version_failed, url + "/version", exception.code());
+ return getString(R.string.version_failed_status_code, url + "/version", exception.code());
}
private SSLSettings tempSSLSettings() {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bb40d50..d6d881c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -4,7 +4,8 @@
Close navigation drawer
Navigation header
Found Gotify v%s
- Request to \'%s\' failed with status code %d
+ Request to \'%s\' failed with status code %d
+ Request to \'%s\' failed. %s.
There is no user with this username and password
Client Name
Chose a name for your session