diff --git a/src/main/java/fr/unix_experience/owncloud_sms/activities/LoginActivity.java b/src/main/java/fr/unix_experience/owncloud_sms/activities/LoginActivity.java index efddf0b..0fcbf16 100644 --- a/src/main/java/fr/unix_experience/owncloud_sms/activities/LoginActivity.java +++ b/src/main/java/fr/unix_experience/owncloud_sms/activities/LoginActivity.java @@ -31,6 +31,7 @@ import android.os.Bundle; import android.provider.Settings; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; +import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; @@ -231,6 +232,7 @@ public class LoginActivity extends AppCompatActivity { public class UserLoginTask extends AsyncTask { UserLoginTask(String serverURI, String login, String password) { + Log.d(TAG, "_serverURI = " + serverURI); _serverURI = Uri.parse(serverURI); _login = login; _password = password; @@ -315,6 +317,10 @@ public class LoginActivity extends AppCompatActivity { _serverView.setError(getString(R.string.error_connection_failed)); _serverView.requestFocus(); break; + case CONN_FAILED_NOT_FOUND: + _serverView.setError(getString(R.string.error_connection_failed_not_found)); + _serverView.requestFocus(); + break; case INVALID_LOGIN: _passwordView.setError(getString(R.string.error_invalid_login)); _passwordView.requestFocus(); @@ -346,5 +352,6 @@ public class LoginActivity extends AppCompatActivity { private LoginReturnCode _returnCode; public static final String PARAM_AUTHTOKEN_TYPE = "auth.token"; + private final String TAG = UserLoginTask.class.getCanonicalName(); } } diff --git a/src/main/java/fr/unix_experience/owncloud_sms/authenticators/OwnCloudAuthenticator.java b/src/main/java/fr/unix_experience/owncloud_sms/authenticators/OwnCloudAuthenticator.java index abbf346..8e7deae 100644 --- a/src/main/java/fr/unix_experience/owncloud_sms/authenticators/OwnCloudAuthenticator.java +++ b/src/main/java/fr/unix_experience/owncloud_sms/authenticators/OwnCloudAuthenticator.java @@ -136,7 +136,7 @@ public class OwnCloudAuthenticator extends AbstractAccountAuthenticator { } try { - if(isSuccess(status)) { + if(OwnCloudAuthenticator.isSuccess(status)) { String response = get.getResponseBodyAsString(); Log.d(OwnCloudAuthenticator.TAG, "Successful response: " + response); @@ -159,7 +159,11 @@ public class OwnCloudAuthenticator extends AbstractAccountAuthenticator { Log.e(OwnCloudAuthenticator.TAG, "*** status code: " + status); } - bRet = (status == 401) ? LoginReturnCode.INVALID_LOGIN : LoginReturnCode.UNKNOWN_ERROR; + switch (status) { + case 401: bRet = LoginReturnCode.INVALID_LOGIN; break; + case 404: bRet = LoginReturnCode.CONN_FAILED_NOT_FOUND; break; + default: bRet = LoginReturnCode.UNKNOWN_ERROR; break; + } } } catch (Exception e) { @@ -172,7 +176,7 @@ public class OwnCloudAuthenticator extends AbstractAccountAuthenticator { return bRet; } - private boolean isSuccess(int status) { + private static boolean isSuccess(int status) { return (status == HttpStatus.SC_OK); } diff --git a/src/main/java/fr/unix_experience/owncloud_sms/enums/LoginReturnCode.java b/src/main/java/fr/unix_experience/owncloud_sms/enums/LoginReturnCode.java index 78ebcce..fd174e7 100644 --- a/src/main/java/fr/unix_experience/owncloud_sms/enums/LoginReturnCode.java +++ b/src/main/java/fr/unix_experience/owncloud_sms/enums/LoginReturnCode.java @@ -30,6 +30,8 @@ public enum LoginReturnCode { INVALID_ADDR, HTTP_CONN_FAILED, CONN_FAILED, + CONN_FAILED_NOT_FOUND, INVALID_LOGIN, UNKNOWN_ERROR, } + diff --git a/src/main/res/values-en/strings.xml b/src/main/res/values-en/strings.xml index 7c03d25..649555d 100644 --- a/src/main/res/values-en/strings.xml +++ b/src/main/res/values-en/strings.xml @@ -170,5 +170,6 @@ App Infos and permissions Restore all messages Account actions + Connection failed, the server returns 404 NOT FOUND. Ensure you set the correct path for your ownCloud instance. diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml index ded36ae..f59536e 100644 --- a/src/main/res/values-fr/strings.xml +++ b/src/main/res/values-fr/strings.xml @@ -155,4 +155,5 @@ Infos et permissions Restaurer tous les messages Actions du compte + Echec de connexion, le serveur a retourné 404 NON TROUVE. Assurez vous d\'avoir spécifié la bonne URL. diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index bef407d..af32d5c 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -205,4 +205,5 @@ App Infos and permissions Restore all messages Account actions + Connection failed, the server returns 404 NOT FOUND. Ensure you set the correct path for your ownCloud instance.