浏览代码

Merge branch 'login_view_layout_improvements' into login_toggle_password_icon

David A. Velasco 11 年之前
父节点
当前提交
dcae1fe167

+ 1 - 1
oc_jb_workaround/.classpath

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
-	<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="gen"/>
 	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>

+ 124 - 120
src/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -76,7 +76,7 @@ import eu.alefzero.webdav.WebdavClient;
  * @author David A. Velasco
  */
 public class AuthenticatorActivity extends AccountAuthenticatorActivity
-        implements  OnRemoteOperationListener, OnSslValidatorListener, OnFocusChangeListener, OnEditorActionListener {
+implements  OnRemoteOperationListener, OnSslValidatorListener, OnFocusChangeListener, OnEditorActionListener {
 
     private static final String TAG = AuthenticatorActivity.class.getSimpleName();
 
@@ -84,7 +84,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     public static final String EXTRA_USER_NAME = "USER_NAME";
     public static final String EXTRA_HOST_NAME = "HOST_NAME";
     public static final String EXTRA_ACTION = "ACTION";
-    
+
     private static final String KEY_HOST_URL_TEXT = "HOST_URL_TEXT";
     private static final String KEY_OC_VERSION = "OC_VERSION";
     private static final String KEY_ACCOUNT = "ACCOUNT";
@@ -97,7 +97,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private static final String KEY_PASSWORD_VISIBLE = "PASSWORD_VISIBLE";
     private static final String KEY_AUTH_STATUS_TEXT = "AUTH_STATUS_TEXT";
     private static final String KEY_AUTH_STATUS_ICON = "AUTH_STATUS_ICON";
-    
+
     private static final String OAUTH_MODE_ON = "on";
     private static final String OAUTH_MODE_OFF = "off";
     private static final String OAUTH_MODE_OPTIONAL = "optional";
@@ -110,14 +110,14 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     public static final byte ACTION_CREATE = 0;
     public static final byte ACTION_UPDATE_TOKEN = 1;
 
-    
+
     private String mHostBaseUrl;
     private OwnCloudVersion mDiscoveredVersion;
-    
+
     private int mServerStatusText, mServerStatusIcon;
     private boolean mServerIsChecked, mServerIsValid, mIsSslConn;
     private int mAuthStatusText, mAuthStatusIcon;    
-    
+
     private final Handler mHandler = new Handler();
     private Thread mOperationThread;
     private OwnCloudServerCheckOperation mOcServerChkOperation;
@@ -125,12 +125,12 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private RemoteOperationResult mLastSslUntrustedServerResult;
 
     private Uri mNewCapturedUriFromOAuth2Redirection;
-    
+
     private AccountManager mAccountMgr;
     private boolean mJustCreated;
     private byte mAction;
     private Account mAccount;
-    
+
     private EditText mHostUrlInput;
     private EditText mUsernameInput;
     private EditText mPasswordInput;
@@ -138,11 +138,11 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private String mOAuthAccessToken;
     private View mOkButton;
     private TextView mAuthStatusLayout;
-    
+
     private TextView mOAuthAuthEndpointText;
     private TextView mOAuthTokenEndpointText;
 
-    
+
     /**
      * {@inheritDoc}
      * 
@@ -152,7 +152,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         getWindow().requestFeature(Window.FEATURE_NO_TITLE);
-        
+
         /// set view and get references to view elements
         setContentView(R.layout.account_setup);
         mHostUrlInput = (EditText) findViewById(R.id.hostUrlInput);
@@ -163,7 +163,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         mOAuth2Check = (CheckBox) findViewById(R.id.oauth_onOff_check);
         mOkButton = findViewById(R.id.buttonOK);
         mAuthStatusLayout = (TextView) findViewById(R.id.auth_status_text); 
-        
+
         /// complete label for 'register account' button
         Button b = (Button) findViewById(R.id.account_register);
         if (b != null) {
@@ -184,11 +184,11 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             mServerIsChecked = false;
             mIsSslConn = false;
             mAuthStatusText = mAuthStatusIcon = 0;
-            
+
             /// retrieve extras from intent
             String tokenType = getIntent().getExtras().getString(AccountAuthenticator.KEY_AUTH_TOKEN_TYPE);
             boolean oAuthRequired = AccountAuthenticator.AUTH_TOKEN_TYPE_ACCESS_TOKEN.equals(tokenType) || OAUTH_MODE_ON.equals(getString(R.string.oauth2_mode));
-            
+
             mAccount = getIntent().getExtras().getParcelable(EXTRA_ACCOUNT);
             if (mAccount != null) {
                 String ocVersion = mAccountMgr.getUserData(mAccount, AccountAuthenticator.KEY_OC_VERSION);
@@ -203,7 +203,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             }
             mOAuth2Check.setChecked(oAuthRequired);
             changeViewByOAuth2Check(oAuthRequired);
-            
+
 
         } else {
             /// connection state and info
@@ -224,26 +224,26 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 mDiscoveredVersion = new OwnCloudVersion(ocVersion);
             }
             mHostBaseUrl = savedInstanceState.getString(KEY_HOST_URL_TEXT);
-            
+
             // account data, if updating
             mAccount = savedInstanceState.getParcelable(KEY_ACCOUNT);
-            
+
             // check if server check was interrupted by a configuration change
             if (savedInstanceState.getBoolean(KEY_SERVER_CHECK_IN_PROGRESS, false)) {
                 checkOcServer();
             }
-            
+
         }
-        
+
         showServerStatus();
         showAuthStatus();
         if (mServerIsChecked && !mServerIsValid) showRefreshButton();
         mOkButton.setEnabled(mServerIsValid); // state not automatically recovered in configuration changes
-        
+
         if (!OAUTH_MODE_OPTIONAL.equals(getString(R.string.oauth2_mode))) {
             mOAuth2Check.setVisibility(View.GONE);
         }
-        
+
         if (mAction == ACTION_UPDATE_TOKEN) {
             /// lock things that should not change
             mHostUrlInput.setEnabled(false);
@@ -253,10 +253,10 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 checkOcServer(); 
             }
         }
-        
+
         mPasswordInput.setText("");     // clean password to avoid social hacking (disadvantage: password in removed if the device is turned aside)
         mJustCreated = true;
-        
+
         /// bind view elements to listeners
         mHostUrlInput.setOnFocusChangeListener(this);
         mHostUrlInput.setOnTouchListener(new RightDrawableOnTouchListener() {
@@ -282,7 +282,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
 
             @Override
             public void onTextChanged(CharSequence s, int start, int before, int count) {}
-            
+
         });
         mPasswordInput.setOnFocusChangeListener(this);
         mPasswordInput.setImeOptions(EditorInfo.IME_ACTION_DONE);
@@ -297,7 +297,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             }
         });
     }
-    
+
     /**
      * Saves relevant state before {@link #onPause()}
      * 
@@ -309,7 +309,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
-        
+
         /// connection state and info
         outState.putInt(KEY_SERVER_STATUS_TEXT, mServerStatusText);
         outState.putInt(KEY_SERVER_STATUS_ICON, mServerStatusIcon);
@@ -320,18 +320,18 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         outState.putBoolean(KEY_PASSWORD_VISIBLE, isPasswordVisible());
         outState.putInt(KEY_AUTH_STATUS_ICON, mAuthStatusIcon);
         outState.putInt(KEY_AUTH_STATUS_TEXT, mAuthStatusText);
-        
+
         /// server data
         if (mDiscoveredVersion != null) {
             outState.putString(KEY_OC_VERSION, mDiscoveredVersion.toString());
         }
         outState.putString(KEY_HOST_URL_TEXT, mHostBaseUrl);
-        
+
         /// account data, if updating
         if (mAccount != null) {
             outState.putParcelable(KEY_ACCOUNT, mAccount);
         }
-        
+
     }
 
 
@@ -351,7 +351,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         }
     }
 
-    
+
     /**
      * The redirection triggered by the OAuth authentication server as response to the GET AUTHORIZATION, and 
      * deferred in {@link #onNewIntent(Intent)}, is processed here.
@@ -367,15 +367,15 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             else
                 Toast.makeText(this, R.string.auth_expired_basic_auth_toast, Toast.LENGTH_LONG).show();
         }
-        
+
         if (mNewCapturedUriFromOAuth2Redirection != null) {
             getOAuth2AccessTokenFromCapturedRedirection();            
         }
-        
+
         mJustCreated = false;
     }
-    
-    
+
+
     /**
      * Parses the redirection with the response to the GET AUTHORIZATION request to the 
      * oAuth server and requests for the access token (GET ACCESS TOKEN)
@@ -384,34 +384,39 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         /// Parse data from OAuth redirection
         String queryParameters = mNewCapturedUriFromOAuth2Redirection.getQuery();
         mNewCapturedUriFromOAuth2Redirection = null;
-        
+
         /// Showing the dialog with instructions for the user.
         showDialog(DIALOG_OAUTH2_LOGIN_PROGRESS);
 
         /// GET ACCESS TOKEN to the oAuth server 
         RemoteOperation operation = new OAuth2GetAccessToken(   getString(R.string.oauth2_client_id), 
-                                                                getString(R.string.oauth2_redirect_uri),       
-                                                                getString(R.string.oauth2_grant_type),
-                                                                queryParameters);
+                getString(R.string.oauth2_redirect_uri),       
+                getString(R.string.oauth2_grant_type),
+                queryParameters);
         //WebdavClient client = OwnCloudClientUtils.createOwnCloudClient(Uri.parse(getString(R.string.oauth2_url_endpoint_access)), getApplicationContext());
         WebdavClient client = OwnCloudClientUtils.createOwnCloudClient(Uri.parse(mOAuthTokenEndpointText.getText().toString().trim()), getApplicationContext());
         operation.execute(client, this, mHandler);
     }
-    
 
-    
+
+
     /**
      * Handles the change of focus on the text inputs for the server URL and the password
      */
     public void onFocusChange(View view, boolean hasFocus) {
-        if (view.getId() == R.id.hostUrlInput && !hasFocus) {
-            onUrlInputFocusLost((TextView) view);
-            
+        if (view.getId() == R.id.hostUrlInput) {   
+            if (!hasFocus) {
+                onUrlInputFocusLost((TextView) view);
+            }
+            else {
+                hideRefreshButton();
+            }
+
         } else if (view.getId() == R.id.account_password) {
             onPasswordFocusChanged((TextView) view, hasFocus);
         }
     }
-    
+
 
     /**
      * Handles changes in focus on the text input for the server URL.
@@ -517,9 +522,9 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         setResult(RESULT_CANCELED);     // TODO review how is this related to AccountAuthenticator (debugging)
         finish();
     }
-    
-    
-    
+
+
+
     /**
      * Checks the credentials of the user in the root of the ownCloud server
      * before creating a new local account.
@@ -544,16 +549,16 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             Log_OC.wtf(TAG,  "The user was allowed to click 'connect' to an unchecked server!!");
             return;
         }
-        
+
         if (mOAuth2Check.isChecked()) {
             startOauthorization();
-            
+
         } else {
             checkBasicAuthorization();
         }
     }
-    
-    
+
+
     /**
      * Tests the credentials entered by the user performing a check of existence on 
      * the root folder of the ownCloud server.
@@ -561,14 +566,14 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private void checkBasicAuthorization() {
         /// get the path to the root folder through WebDAV from the version server
         String webdav_path = AccountUtils.getWebdavPath(mDiscoveredVersion, false);
-        
+
         /// get basic credentials entered by user
         String username = mUsernameInput.getText().toString();
         String password = mPasswordInput.getText().toString();
-        
+
         /// be gentle with the user
         showDialog(DIALOG_LOGIN_PROGRESS);
-        
+
         /// test credentials accessing the root folder
         mAuthCheckOperation = new  ExistenceCheckOperation("", this, false);
         WebdavClient client = OwnCloudClientUtils.createOwnCloudClient(Uri.parse(mHostBaseUrl + webdav_path), this);
@@ -586,7 +591,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         mAuthStatusIcon = R.drawable.progress_small;
         mAuthStatusText = R.string.oauth_login_connection;
         showAuthStatus();
-        
+
         // GET AUTHORIZATION request
         //Uri uri = Uri.parse(getString(R.string.oauth2_url_endpoint_auth));
         Uri uri = Uri.parse(mOAuthAuthEndpointText.getText().toString().trim());
@@ -602,7 +607,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         startActivity(i);
     }
 
-    
+
     /**
      * Callback method invoked when a RemoteOperation executed by this Activity finishes.
      * 
@@ -613,16 +618,16 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
 
         if (operation instanceof OwnCloudServerCheckOperation) {
             onOcServerCheckFinish((OwnCloudServerCheckOperation) operation, result);
-            
+
         } else if (operation instanceof OAuth2GetAccessToken) {
             onGetOAuthAccessTokenFinish((OAuth2GetAccessToken)operation, result);
-                
+
         } else if (operation instanceof ExistenceCheckOperation)  {
             onAuthorizationCheckFinish((ExistenceCheckOperation)operation, result);
-                
+
         }
     }
-    
+
 
     /**
      * Processes the result of the server check performed when the user finishes the enter of the
@@ -638,7 +643,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             mServerIsValid = result.isSuccess();
             mIsSslConn = (result.getCode() == ResultCode.OK_SSL);
             mOcServerChkOperation = null;
-            
+
             /// update status icon and text
             if (mServerIsValid) {
                 hideRefreshButton();
@@ -647,22 +652,22 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             }
             updateServerStatusIconAndText(result);
             showServerStatus();
-    
+
             /// very special case (TODO: move to a common place for all the remote operations)
             if (result.getCode() == ResultCode.SSL_RECOVERABLE_PEER_UNVERIFIED) {
                 mLastSslUntrustedServerResult = result;
                 showDialog(DIALOG_SSL_VALIDATOR); 
             }
-            
+
             /// retrieve discovered version and normalize server URL
             mDiscoveredVersion = operation.getDiscoveredVersion();
             mHostBaseUrl = normalizeUrl(mHostUrlInput.getText().toString());
-            
+
             /// allow or not the user try to access the server
             mOkButton.setEnabled(mServerIsValid);
-            
+
         }   // else nothing ; only the last check operation is considered; 
-            // multiple can be triggered if the user amends a URL before a previous check can be triggered
+        // multiple can be triggered if the user amends a URL before a previous check can be triggered
     }
 
 
@@ -676,7 +681,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 } else {
                     url = "http://" + url;
                 }
-                
+
             }
             if (url.endsWith("/")) {
                 url = url.substring(0, url.length() - 1);
@@ -698,7 +703,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             mServerStatusIcon = android.R.drawable.ic_secure;
             mServerStatusText = R.string.auth_secure_connection;
             break;
-            
+
         case OK_NO_SSL:
         case OK:
             if (mHostUrlInput.getText().toString().trim().toLowerCase().startsWith("http://") ) {
@@ -709,12 +714,12 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 mServerStatusIcon = android.R.drawable.ic_partial_secure;
             }
             break;
-            
+
         case NO_NETWORK_CONNECTION:
             mServerStatusIcon = R.drawable.no_network;
             mServerStatusText = R.string.auth_no_net_conn_title;
             break;
-            
+
         case SSL_RECOVERABLE_PEER_UNVERIFIED:
             mServerStatusText = R.string.auth_ssl_unverified_server_title;
             break;
@@ -775,7 +780,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             mAuthStatusIcon = android.R.drawable.ic_secure;
             mAuthStatusText = R.string.auth_secure_connection;
             break;
-            
+
         case OK_NO_SSL:
         case OK:
             if (mHostUrlInput.getText().toString().trim().toLowerCase().startsWith("http://") ) {
@@ -786,12 +791,12 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 mAuthStatusIcon = android.R.drawable.ic_partial_secure;
             }
             break;
-            
+
         case NO_NETWORK_CONNECTION:
             mAuthStatusIcon = R.drawable.no_network;
             mAuthStatusText = R.string.auth_no_net_conn_title;
             break;
-            
+
         case SSL_RECOVERABLE_PEER_UNVERIFIED:
             mAuthStatusText = R.string.auth_ssl_unverified_server_title;
             break;
@@ -857,7 +862,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         if (result.isSuccess() && webdav_path != null) {
             /// be gentle with the user
             showDialog(DIALOG_LOGIN_PROGRESS);
-            
+
             /// time to test the retrieved access token on the ownCloud server
             mOAuthAccessToken = ((OAuth2GetAccessToken)operation).getResultTokenMap().get(OAuth2Constants.KEY_ACCESS_TOKEN);
             Log_OC.d(TAG, "Got ACCESS TOKEN: " + mOAuthAccessToken);
@@ -865,7 +870,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             WebdavClient client = OwnCloudClientUtils.createOwnCloudClient(Uri.parse(mHostBaseUrl + webdav_path), this);
             client.setBearerCredentials(mOAuthAccessToken);
             mAuthCheckOperation.execute(client, this, mHandler);
-            
+
         } else {
             updateAuthStatusIconAndText(result);
             showAuthStatus();
@@ -873,7 +878,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         }
     }
 
-    
+
     /**
      * Processes the result of the access check performed to try the user credentials.
      * 
@@ -888,19 +893,19 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         } catch (IllegalArgumentException e) {
             // NOTHING TO DO ; can't find out what situation that leads to the exception in this code, but user logs signal that it happens
         }
-        
+
         if (result.isSuccess()) {
             Log_OC.d(TAG, "Successful access - time to save the account");
 
             if (mAction == ACTION_CREATE) {
                 createAccount();
-                
+
             } else {
                 updateToken();
             }
-            
+
             finish();
-            
+
         } else {
             updateAuthStatusIconAndText(result);
             showAuthStatus();
@@ -908,7 +913,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         }
     }
 
-    
+
     /**
      * Sets the proper response to get that the Account Authenticator that started this activity saves 
      * a new authorization token for mAccount.
@@ -940,7 +945,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private void createAccount() {
         /// create and save new ownCloud account
         boolean isOAuth = mOAuth2Check.isChecked();
-        
+
         Uri uri = Uri.parse(mHostBaseUrl);
         String username = mUsernameInput.getText().toString().trim();
         if (isOAuth) {
@@ -982,10 +987,10 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         mAccountMgr.setUserData(mAccount, AccountAuthenticator.KEY_OC_BASE_URL,   mHostBaseUrl);
         if (isOAuth)
             mAccountMgr.setUserData(mAccount, AccountAuthenticator.KEY_SUPPORTS_OAUTH2, "TRUE");  // TODO this flag should be unnecessary
-    
+
         setAccountAuthenticatorResult(intent.getExtras());
         setResult(RESULT_OK, intent);
-        
+
         /// immediately request for the synchronization of the new account
         Bundle bundle = new Bundle();
         bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
@@ -1016,7 +1021,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         }
     }
 
-    
+
     /**
      * {@inheritDoc}
      */
@@ -1031,17 +1036,17 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             working_dialog.setIndeterminate(true);
             working_dialog.setCancelable(true);
             working_dialog
-                    .setOnCancelListener(new DialogInterface.OnCancelListener() {
-                        @Override
-                        public void onCancel(DialogInterface dialog) {
-                            /// TODO study if this is enough
-                            Log_OC.i(TAG, "Login canceled");
-                            if (mOperationThread != null) {
-                                mOperationThread.interrupt();
-                                finish();
-                            }
-                        }
-                    });
+            .setOnCancelListener(new DialogInterface.OnCancelListener() {
+                @Override
+                public void onCancel(DialogInterface dialog) {
+                    /// TODO study if this is enough
+                    Log_OC.i(TAG, "Login canceled");
+                    if (mOperationThread != null) {
+                        mOperationThread.interrupt();
+                        finish();
+                    }
+                }
+            });
             dialog = working_dialog;
             break;
         }
@@ -1071,11 +1076,11 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             builder.setMessage(getResources().getString(R.string.ssl_validator_not_saved));
             builder.setCancelable(false);
             builder.setPositiveButton(R.string.common_ok, new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        dialog.dismiss();
-                    };
-                });
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+                    dialog.dismiss();
+                };
+            });
             dialog = builder.create();
             break;
         }
@@ -1085,7 +1090,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         return dialog;
     }
 
-    
+
     /**
      * Starts and activity to open the 'new account' page in the ownCloud web site
      * 
@@ -1097,7 +1102,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         startActivity(register);
     }
 
-    
+
     /**
      * Updates the content and visibility state of the icon and text associated
      * to the last check on the ownCloud server.
@@ -1107,16 +1112,16 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
 
         if (mServerStatusIcon == 0 && mServerStatusText == 0) {
             tv.setVisibility(View.INVISIBLE);
-            
+
         } else {
             tv.setText(mServerStatusText);
             tv.setCompoundDrawablesWithIntrinsicBounds(mServerStatusIcon, 0, 0, 0);
             tv.setVisibility(View.VISIBLE);
         }
-        
+
     }
-    
-    
+
+
     /**
      * Updates the content and visibility state of the icon and text associated
      * to the interactions with the OAuth authorization server.
@@ -1124,7 +1129,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private void showAuthStatus() {
         if (mAuthStatusIcon == 0 && mAuthStatusText == 0) {
             mAuthStatusLayout.setVisibility(View.INVISIBLE);
-            
+
         } else {
             mAuthStatusLayout.setText(mAuthStatusText);
             mAuthStatusLayout.setCompoundDrawablesWithIntrinsicBounds(mAuthStatusIcon, 0, 0, 0);
@@ -1132,15 +1137,15 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         }
     }     
 
-    
+
     private void showRefreshButton() {
         mHostUrlInput.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_action_refresh_black, 0);
     }
-    
+
     private void hideRefreshButton() {
         mHostUrlInput.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
     }
-    
+
     /**
      * Called when the refresh button in the input field for ownCloud host is clicked.
      * 
@@ -1153,7 +1158,6 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     }
     
     
-    
     /**
      * Called when the eye icon in the password field is clicked.
      * 
@@ -1169,8 +1173,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         }
         mPasswordInput.setSelection(selectionStart, selectionEnd);
     }    
-    
-    
+
+
     /**
      * Called when the checkbox for OAuth authorization is clicked.
      * 
@@ -1183,7 +1187,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         changeViewByOAuth2Check(oAuth2Check.isChecked());
 
     }
-    
+
     /**
      * Changes the visibility of input elements depending upon the kind of authorization
      * chosen by the user: basic or OAuth
@@ -1191,7 +1195,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
      * @param checked       'True' when OAuth is selected.
      */
     public void changeViewByOAuth2Check(Boolean checked) {
-        
+
         if (checked) {
             mOAuthAuthEndpointText.setVisibility(View.VISIBLE);
             mOAuthTokenEndpointText.setVisibility(View.VISIBLE);
@@ -1205,7 +1209,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         }     
 
     }    
-    
+
     /**
      * Called from SslValidatorDialog when a new server certificate was correctly saved.
      */
@@ -1239,7 +1243,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         return false;   // always return false to grant that the software keyboard is hidden anyway
     }
 
-    
+
     private abstract static class RightDrawableOnTouchListener implements OnTouchListener  {
 
         private int fuzz = 75;
@@ -1268,8 +1272,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             }
             return false;
         }
-        
+
         public abstract boolean onDrawableTouch(final MotionEvent event);
     }
-    
+
 }

+ 7 - 0
tests/.settings/org.eclipse.jdt.core.prefs

@@ -1,4 +1,11 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.6