Browse Source

restart weblogin flow if auth failed

tobiasKaminsky 7 years ago
parent
commit
081525bc9e

+ 11 - 0
src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -59,6 +59,7 @@ import android.os.Handler;
 import android.os.IBinder;
 import android.preference.PreferenceManager;
 import android.support.annotation.Nullable;
+import android.support.design.widget.Snackbar;
 import android.support.design.widget.TextInputLayout;
 import android.support.v4.app.DialogFragment;
 import android.support.v4.app.Fragment;
@@ -1791,7 +1792,17 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             if (!webViewLoginMethod) {
                 updateAuthStatusIconAndText(result);
                 showAuthStatus();
+            } else {
+                mLoginWebView = (WebView) findViewById(R.id.login_webview);
+                initWebViewLogin(mServerInfo.mBaseUrl);
             }
+            // reset webview
+            webViewPassword = null;
+            webViewUser = null;
+            deleteCookies();
+
+            Snackbar.make(mLoginWebView, getString(R.string.auth_access_failed) + ": " + result.getLogMessage(),
+                    Snackbar.LENGTH_LONG).show();
             Log_OC.d(TAG, "Access failed: " + result.getLogMessage());
         }
     }

+ 1 - 1
src/main/res/values/strings.xml

@@ -264,7 +264,7 @@
 	<string name="auth_fail_get_user_name">Your server is not returning a correct user ID, please contact an administrator</string>
 	<string name="auth_can_not_auth_against_server">Cannot authenticate to this server</string>
     <string name="auth_account_does_not_exist">Account does not exist on the device yet</string>
-
+    <string name="auth_access_failed">Access failed</string>
 
     <string name="favorite">Set as available offline</string>
     <string name="unfavorite">Unset as available offline</string>