Browse Source

Revert "Fix bug: When editing the account, it is possible to include any password. Remove cookies when change password"

This reverts commit 3605bd70da54e8375387ce0c6be4654c768c7c45.
David A. Velasco 10 năm trước cách đây
mục cha
commit
170c041505

+ 13 - 22
src/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -18,14 +18,11 @@
 
 package com.owncloud.android.authentication;
 
-import java.io.IOException;
 import java.security.cert.X509Certificate;
 import java.util.Map;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
-import android.accounts.AuthenticatorException;
-import android.accounts.OperationCanceledException;
 import android.app.Dialog;
 import android.content.ComponentName;
 import android.content.Context;
@@ -67,9 +64,6 @@ import com.actionbarsherlock.app.SherlockDialogFragment;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.SsoWebViewClient.SsoWebViewClientListener;
-import com.owncloud.android.lib.common.OwnCloudAccount;
-import com.owncloud.android.lib.common.OwnCloudClient;
-import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
 import com.owncloud.android.lib.common.accounts.AccountTypeUtils;
 import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
 import com.owncloud.android.lib.common.network.CertificateCombinedException;
@@ -228,8 +222,6 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
             mWaitingForOpId = savedInstanceState.getLong(KEY_WAITING_FOR_OP_ID);
             mIsFirstAuthAttempt = savedInstanceState.getBoolean(KEY_AUTH_IS_FIRST_ATTEMPT_TAG);
         }
-
-
         
         /// load user interface
         setContentView(R.layout.account_setup);
@@ -557,7 +549,7 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
      * intended to defer the processing of the redirection caught in 
      * {@link #onNewIntent(Intent)} until {@link #onResume()} 
      * 
-     * See {@link #onSaveInstanceState(Bundle)}
+     * See {@link #loadSavedInstanceState(Bundle)}
      */
     @Override
     protected void onSaveInstanceState(Bundle outState) {
@@ -886,12 +878,6 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
     }
 
     private void accessRootFolderRemoteOperation(String username, String password) {
-        // delete the account if the token has changed
-        if (mAction == ACTION_UPDATE_TOKEN || mAction == ACTION_UPDATE_EXPIRED_TOKEN) {
-            // Remove the cookies in AccountManager
-            mAccountMgr.setUserData(mAccount, Constants.KEY_COOKIES, null);
-        }
-
         Intent existenceCheckIntent = new Intent();
         existenceCheckIntent.setAction(OperationsService.ACTION_EXISTENCE_CHECK);
         existenceCheckIntent.putExtra(OperationsService.EXTRA_SERVER_URL, mServerInfo.mBaseUrl);
@@ -1032,8 +1018,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
     private void onSamlBasedFederatedSingleSignOnAuthorizationStart(RemoteOperationResult result) {
         mWaitingForOpId = Long.MAX_VALUE;
         dismissDialog(WAIT_DIALOG_TAG);
-
-        if (result.isIdPRedirection()) {
+
+        if (result.isIdPRedirection()) {
             String targetUrl = mServerInfo.mBaseUrl 
                     + AccountUtils.getWebdavPath(mServerInfo.mVersion, mAuthTokenType);
 
@@ -1056,7 +1042,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
     /**
      * Processes the result of the server check performed when the user finishes the enter of the
      * server URL.
-     *
+     * 
+     * @param operation     Server check performed.
      * @param result        Result of the check.
      */
     private void onGetServerInfoFinish(RemoteOperationResult result) {
@@ -1366,7 +1353,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
      * Processes the result of the access check performed to try the user credentials.
      * 
      * Creates a new account through the AccountManager.
-     *
+     * 
+     * @param operation     Access check performed.
      * @param result        Result of the operation.
      */
     private void onAuthorizationCheckFinish(RemoteOperationResult result) {
@@ -1389,7 +1377,7 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
                 finish();
             }
             
-        } else if (result.isServerFail() || result.isException()) {
+        } else if (result.isServerFail() || result.isException()) {
             /// server errors or exceptions in authorization take to requiring a new check of 
             /// the server
             mServerIsChecked = true;
@@ -1519,14 +1507,14 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
                 mAccountMgr.setAuthToken(mAccount, mAuthTokenType, mAuthToken);
             }
             /// add user data to the new account; TODO probably can be done in the last parameter 
-            //      addAccountExplicitly, or in KEY_USERDATA
+            //      addAccountExplicitly, or in KEY_USERDATA
             mAccountMgr.setUserData(
                     mAccount, Constants.KEY_OC_VERSION,    mServerInfo.mVersion.getVersion()
             );
             mAccountMgr.setUserData(
                     mAccount, Constants.KEY_OC_BASE_URL,   mServerInfo.mBaseUrl
             );
-
+
             if (isSaml) {
                 mAccountMgr.setUserData(mAccount, Constants.KEY_SUPPORTS_SAML_WEB_SSO, "TRUE"); 
             } else if (isOAuth) {
@@ -1558,6 +1546,9 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
     /**
      * Updates the content and visibility state of the icon and text associated
      * to the last check on the ownCloud server.
+     * 
+     * @param serverStatusText      Resource identifier of the text to show.
+     * @param serverStatusIcon      Resource identifier of the icon to show.
      */
     private void showServerStatus() {
         if (mServerStatusIcon == 0 && mServerStatusText == 0) {

+ 6 - 5
src/com/owncloud/android/services/OperationsService.java

@@ -435,12 +435,13 @@ public class OperationsService extends Service {
                 mCurrentOperation = next.second;
                 RemoteOperationResult result = null;
                 try {
-                    OwnCloudAccount ocAccount;
                     /// prepare client object to send the request to the ownCloud server
                     if (mLastTarget == null || !mLastTarget.equals(next.first)) {
                         mLastTarget = next.first;
                         if (mLastTarget.mAccount != null) {
-                            ocAccount = new OwnCloudAccount(mLastTarget.mAccount, mService);
+                            OwnCloudAccount ocAccount = new OwnCloudAccount(mLastTarget.mAccount, mService);
+                            mOwnCloudClient = OwnCloudClientManagerFactory.getDefaultSingleton().
+                                    getClientFor(ocAccount, mService);
                             mStorageManager = new FileDataStorageManager(
                                     mLastTarget.mAccount, 
                                     mService.getContentResolver()
@@ -463,12 +464,12 @@ public class OperationsService extends Service {
                                 credentials = OwnCloudCredentialsFactory.newSamlSsoCredentials(
                                         mLastTarget.mCookie); // SAML SSO
                             }
-                            ocAccount = new OwnCloudAccount(
+                            OwnCloudAccount ocAccount = new OwnCloudAccount(
                                     mLastTarget.mServerUrl, credentials);
+                            mOwnCloudClient = OwnCloudClientManagerFactory.getDefaultSingleton().
+                                    getClientFor(ocAccount, mService);
                             mStorageManager = null;
                         }
-                        mOwnCloudClient = OwnCloudClientManagerFactory.getDefaultSingleton().
-                                getClientFor(ocAccount, mService);
                     }
 
                     /// perform the operation