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 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
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
\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
\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
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
/// 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
\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
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
- if (mServerCheckedAndValid) {\r
+ if (mServerIsValid) {\r
hideRefreshButton();\r
} else {\r
showRefreshButton();\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