Fixed visibility of server-check button on orientation changes when check was previou...
authorDavid A. Velasco <dvelasco@solidgear.es>
Thu, 16 May 2013 17:07:44 +0000 (19:07 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Thu, 16 May 2013 17:07:44 +0000 (19:07 +0200)
src/com/owncloud/android/authentication/AuthenticatorActivity.java

index bf88837..80cf894 100644 (file)
@@ -87,7 +87,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private static final String KEY_HOST_URL_TEXT = "HOST_URL_TEXT";\r
     private static final String KEY_OC_VERSION = "OC_VERSION";\r
     private static final String KEY_ACCOUNT = "ACCOUNT";\r
     private static final String KEY_HOST_URL_TEXT = "HOST_URL_TEXT";\r
     private static final String KEY_OC_VERSION = "OC_VERSION";\r
     private static final String KEY_ACCOUNT = "ACCOUNT";\r
-    private static final String KEY_SERVER_CHECKED_AND_VALID = "SERVER_CHECKED_AND_VALID";\r
+    private static final String KEY_SERVER_VALID = "SERVER_VALID";\r
+    private static final String KEY_SERVER_CHECKED = "SERVER_CHECKED";\r
     private static final String KEY_SERVER_CHECK_IN_PROGRESS = "SERVER_CHECK_IN_PROGRESS"; \r
     private static final String KEY_SERVER_STATUS_TEXT = "SERVER_STATUS_TEXT";\r
     private static final String KEY_SERVER_STATUS_ICON = "SERVER_STATUS_ICON";\r
     private static final String KEY_SERVER_CHECK_IN_PROGRESS = "SERVER_CHECK_IN_PROGRESS"; \r
     private static final String KEY_SERVER_STATUS_TEXT = "SERVER_STATUS_TEXT";\r
     private static final String KEY_SERVER_STATUS_ICON = "SERVER_STATUS_ICON";\r
@@ -112,7 +113,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private OwnCloudVersion mDiscoveredVersion;\r
     \r
     private int mServerStatusText, mServerStatusIcon;\r
     private OwnCloudVersion mDiscoveredVersion;\r
     \r
     private int mServerStatusText, mServerStatusIcon;\r
-    private boolean mServerCheckedAndValid, mIsSslConn;\r
+    private boolean mServerIsChecked, mServerIsValid, mIsSslConn;\r
     private int mAuthStatusText, mAuthStatusIcon;    \r
     \r
     private final Handler mHandler = new Handler();\r
     private int mAuthStatusText, mAuthStatusIcon;    \r
     \r
     private final Handler mHandler = new Handler();\r
@@ -179,7 +180,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         if (savedInstanceState == null) {\r
             /// connection state and info\r
             mServerStatusText = mServerStatusIcon = 0;\r
         if (savedInstanceState == null) {\r
             /// connection state and info\r
             mServerStatusText = mServerStatusIcon = 0;\r
-            mServerCheckedAndValid = false;\r
+            mServerIsValid = false;\r
+            mServerIsChecked = false;\r
             mIsSslConn = false;\r
             mAuthStatusText = mAuthStatusIcon = 0;\r
             \r
             mIsSslConn = false;\r
             mAuthStatusText = mAuthStatusIcon = 0;\r
             \r
@@ -205,7 +207,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
 \r
         } else {\r
             /// connection state and info\r
 \r
         } else {\r
             /// connection state and info\r
-            mServerCheckedAndValid = savedInstanceState.getBoolean(KEY_SERVER_CHECKED_AND_VALID);\r
+            mServerIsValid = savedInstanceState.getBoolean(KEY_SERVER_VALID);\r
+            mServerIsChecked = savedInstanceState.getBoolean(KEY_SERVER_CHECKED);\r
             mServerStatusText = savedInstanceState.getInt(KEY_SERVER_STATUS_TEXT);\r
             mServerStatusIcon = savedInstanceState.getInt(KEY_SERVER_STATUS_ICON);\r
             mIsSslConn = savedInstanceState.getBoolean(KEY_IS_SSL_CONN);\r
             mServerStatusText = savedInstanceState.getInt(KEY_SERVER_STATUS_TEXT);\r
             mServerStatusIcon = savedInstanceState.getInt(KEY_SERVER_STATUS_ICON);\r
             mIsSslConn = savedInstanceState.getBoolean(KEY_IS_SSL_CONN);\r
@@ -231,6 +234,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         \r
         showServerStatus();\r
         showAuthStatus();\r
         \r
         showServerStatus();\r
         showAuthStatus();\r
+        if (mServerIsChecked && !mServerIsValid) showRefreshButton();\r
+        mOkButton.setEnabled(mServerIsValid); // state not automatically recovered in configuration changes\r
         \r
         if (!OAUTH_MODE_OPTIONAL.equals(getString(R.string.oauth2_mode))) {\r
             mOAuth2Check.setVisibility(View.GONE);\r
         \r
         if (!OAUTH_MODE_OPTIONAL.equals(getString(R.string.oauth2_mode))) {\r
             mOAuth2Check.setVisibility(View.GONE);\r
@@ -241,7 +246,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             mHostUrlInput.setEnabled(false);\r
             mUsernameInput.setEnabled(false);\r
             mOAuth2Check.setVisibility(View.GONE);\r
             mHostUrlInput.setEnabled(false);\r
             mUsernameInput.setEnabled(false);\r
             mOAuth2Check.setVisibility(View.GONE);\r
-            if (!mServerCheckedAndValid && mOcServerChkOperation == null) {\r
+            if (!mServerIsValid && mOcServerChkOperation == null) {\r
                 checkOcServer(); \r
             }\r
         }\r
                 checkOcServer(); \r
             }\r
         }\r
@@ -278,8 +283,9 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         /// connection state and info\r
         outState.putInt(KEY_SERVER_STATUS_TEXT, mServerStatusText);\r
         outState.putInt(KEY_SERVER_STATUS_ICON, mServerStatusIcon);\r
         /// connection state and info\r
         outState.putInt(KEY_SERVER_STATUS_TEXT, mServerStatusText);\r
         outState.putInt(KEY_SERVER_STATUS_ICON, mServerStatusIcon);\r
-        outState.putBoolean(KEY_SERVER_CHECKED_AND_VALID, mServerCheckedAndValid);\r
-        outState.putBoolean(KEY_SERVER_CHECK_IN_PROGRESS, (!mServerCheckedAndValid && mOcServerChkOperation != null));\r
+        outState.putBoolean(KEY_SERVER_VALID, mServerIsValid);\r
+        outState.putBoolean(KEY_SERVER_CHECKED, mServerIsChecked);\r
+        outState.putBoolean(KEY_SERVER_CHECK_IN_PROGRESS, (!mServerIsValid && mOcServerChkOperation != null));\r
         outState.putBoolean(KEY_IS_SSL_CONN, mIsSslConn);\r
         outState.putInt(KEY_AUTH_STATUS_ICON, mAuthStatusIcon);\r
         outState.putInt(KEY_AUTH_STATUS_TEXT, mAuthStatusText);\r
         outState.putBoolean(KEY_IS_SSL_CONN, mIsSslConn);\r
         outState.putInt(KEY_AUTH_STATUS_ICON, mAuthStatusIcon);\r
         outState.putInt(KEY_AUTH_STATUS_TEXT, mAuthStatusText);\r
@@ -396,7 +402,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
 \r
     private void checkOcServer() {\r
         String uri = mHostUrlInput.getText().toString().trim();\r
 \r
     private void checkOcServer() {\r
         String uri = mHostUrlInput.getText().toString().trim();\r
-        mServerCheckedAndValid = false;\r
+        mServerIsValid = false;\r
+        mServerIsChecked = false;\r
         mOkButton.setEnabled(false);\r
         mDiscoveredVersion = null;\r
         hideRefreshButton();\r
         mOkButton.setEnabled(false);\r
         mDiscoveredVersion = null;\r
         hideRefreshButton();\r
@@ -567,12 +574,13 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private void onOcServerCheckFinish(OwnCloudServerCheckOperation operation, RemoteOperationResult result) {\r
         if (operation.equals(mOcServerChkOperation)) {\r
             /// save result state\r
     private void onOcServerCheckFinish(OwnCloudServerCheckOperation operation, RemoteOperationResult result) {\r
         if (operation.equals(mOcServerChkOperation)) {\r
             /// save result state\r
-            mServerCheckedAndValid = result.isSuccess();\r
+            mServerIsChecked = true;\r
+            mServerIsValid = result.isSuccess();\r
             mIsSslConn = (result.getCode() == ResultCode.OK_SSL);\r
             mOcServerChkOperation = null;\r
             \r
             /// update status icon and text\r
             mIsSslConn = (result.getCode() == ResultCode.OK_SSL);\r
             mOcServerChkOperation = null;\r
             \r
             /// update status icon and text\r
-            if (mServerCheckedAndValid) {\r
+            if (mServerIsValid) {\r
                 hideRefreshButton();\r
             } else {\r
                 showRefreshButton();\r
                 hideRefreshButton();\r
             } else {\r
                 showRefreshButton();\r
@@ -591,7 +599,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             mHostBaseUrl = normalizeUrl(mHostUrlInput.getText().toString());\r
             \r
             /// allow or not the user try to access the server\r
             mHostBaseUrl = normalizeUrl(mHostUrlInput.getText().toString());\r
             \r
             /// allow or not the user try to access the server\r
-            mOkButton.setEnabled(mServerCheckedAndValid);\r
+            mOkButton.setEnabled(mServerIsValid);\r
             \r
         }   // else nothing ; only the last check operation is considered; \r
             // multiple can be triggered if the user amends a URL before a previous check can be triggered\r
             \r
         }   // else nothing ; only the last check operation is considered; \r
             // multiple can be triggered if the user amends a URL before a previous check can be triggered\r