X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/622523b3e3ed1d5f5f9030c4323dedb28d582d16..da876348045ca0b0c66e79ca2a7b7dd7d141cad7:/src/com/owncloud/android/authentication/SsoWebViewClient.java diff --git a/src/com/owncloud/android/authentication/SsoWebViewClient.java b/src/com/owncloud/android/authentication/SsoWebViewClient.java index 685fb1e4..b90ab85b 100644 --- a/src/com/owncloud/android/authentication/SsoWebViewClient.java +++ b/src/com/owncloud/android/authentication/SsoWebViewClient.java @@ -24,17 +24,16 @@ import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; -import android.app.AlertDialog; -import android.app.AlertDialog.Builder; +import com.owncloud.android.lib.common.network.NetworkUtils; +import com.owncloud.android.lib.common.utils.Log_OC; + import android.content.Context; -import android.content.DialogInterface; import android.graphics.Bitmap; import android.net.http.SslCertificate; import android.net.http.SslError; import android.os.Bundle; import android.os.Handler; import android.os.Message; -import android.text.InputType; import android.view.KeyEvent; import android.view.View; import android.webkit.CookieManager; @@ -43,13 +42,6 @@ import android.webkit.SslErrorHandler; import android.webkit.WebResourceResponse; import android.webkit.WebView; import android.webkit.WebViewClient; -import android.widget.EditText; -import android.widget.LinearLayout; -import android.widget.Toast; - -import com.owncloud.android.R; -import com.owncloud.android.lib.common.network.NetworkUtils; -import com.owncloud.android.utils.Log_OC; /** @@ -75,7 +67,6 @@ public class SsoWebViewClient extends WebViewClient { private String mTargetUrl; private String mLastReloadedUrlAtError; - private boolean mIsFirstAttempt; public SsoWebViewClient (Context context, Handler listenerHandler, SsoWebViewClientListener listener) { mContext = context; @@ -83,7 +74,6 @@ public class SsoWebViewClient extends WebViewClient { mListenerRef = new WeakReference(listener); mTargetUrl = "fake://url.to.be.set"; mLastReloadedUrlAtError = null; - mIsFirstAttempt = true; } public String getTargetUrl() { @@ -97,6 +87,7 @@ public class SsoWebViewClient extends WebViewClient { @Override public void onPageStarted (WebView view, String url, Bitmap favicon) { Log_OC.d(TAG, "onPageStarted : " + url); + view.clearCache(true); super.onPageStarted(view, url, favicon); } @@ -207,13 +198,7 @@ public class SsoWebViewClient extends WebViewClient { public void onReceivedHttpAuthRequest (WebView view, HttpAuthHandler handler, String host, String realm) { Log_OC.d(TAG, "onReceivedHttpAuthRequest : " + host); - createAuthenticationDialog(view, handler); - - if (!mIsFirstAttempt) { - Toast.makeText(mContext, mContext.getText(R.string.saml_authentication_wrong_pass), Toast.LENGTH_LONG).show(); - } else { - mIsFirstAttempt = false; - } + ((AuthenticatorActivity)mContext).createAuthenticationDialog(view, handler); } @Override @@ -248,60 +233,4 @@ public class SsoWebViewClient extends WebViewClient { Log_OC.d(TAG, "shouldOverrideKeyEvent : " + event); return false; } - - /** - * Create dialog for request authentication to the user - * @param webView - * @param handler - */ - private void createAuthenticationDialog(WebView webView, HttpAuthHandler handler) { - final WebView mWebView = webView; - final HttpAuthHandler mHandler = handler; - - // Create field for username - final EditText usernameET = new EditText(mContext); - usernameET.setHint(mContext.getText(R.string.auth_username)); - - // Create field for password - final EditText passwordET = new EditText(mContext); - passwordET.setHint(mContext.getText(R.string.auth_password)); - passwordET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); - - // Prepare LinearLayout for dialog - LinearLayout ll = new LinearLayout(mContext); - ll.setOrientation(LinearLayout.VERTICAL); - ll.addView(usernameET); - ll.addView(passwordET); - - Builder authDialog = new AlertDialog - .Builder(mContext) - .setTitle(mContext.getText(R.string.saml_authentication_required_text)) - .setView(ll) - .setCancelable(false) - .setPositiveButton(mContext.getText(R.string.common_ok), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - - String username = usernameET.getText().toString().trim(); - String password = passwordET.getText().toString().trim(); - - // Proceed with the authentication - mHandler.proceed(username, password); - dialog.dismiss(); - } - }) - .setNegativeButton(mContext.getText(R.string.common_cancel), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dialog.dismiss(); - mWebView.stopLoading(); - mIsFirstAttempt = true; - } - }); - - if (mWebView!=null) { - authDialog.show(); - } - - } }