From: David A. Velasco Date: Tue, 9 Sep 2014 10:23:09 +0000 (+0200) Subject: When an account is clicked, the app immediately shows its contents X-Git-Tag: oc-android-1.7.0_signed~192^2~1 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/a34a2cac8a68446b00d1414c28eb8c032c047543 When an account is clicked, the app immediately shows its contents --- diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index 27113686..be4fa235 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -66,15 +66,12 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa private static final String TAG = "OwnCloudPreferences"; - private static final String PREVIOUS_ACCOUNT_KEY = "ACCOUNT"; - private DbHandler mDbHandler; private CheckBoxPreference pCode; //private CheckBoxPreference pLogging; //private Preference pLoggingHistory; private Preference pAboutApp; - private Account mPreviousAccount = null; private PreferenceCategory mAccountsPrefCategory = null; private final Handler mHandler = new Handler(); private String mAccountName; @@ -92,12 +89,6 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa actionBar.setIcon(DisplayUtils.getSeasonalIconId()); actionBar.setDisplayHomeAsUpEnabled(true); - if (savedInstanceState != null) { - mPreviousAccount = savedInstanceState.getParcelable(PREVIOUS_ACCOUNT_KEY); - } else { - mPreviousAccount = AccountUtils.getCurrentOwnCloudAccount(this); - } - // Load the accounts category for adding the list of accounts mAccountsPrefCategory = (PreferenceCategory) findPreference("accounts_category"); @@ -454,8 +445,23 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa for (Account a : accounts) { CheckBoxPreference p = (CheckBoxPreference) findPreference(a.name); if (key.equals(a.name)) { + boolean accountChanged = !p.isChecked(); p.setChecked(true); - AccountUtils.setCurrentOwnCloudAccount(getApplicationContext(), a.name); + AccountUtils.setCurrentOwnCloudAccount( + getApplicationContext(), + a.name + ); + if (accountChanged) { + // restart the main activity + Intent i = new Intent( + Preferences.this, + FileDisplayActivity.class + ); + i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + startActivity(i); + } else { + finish(); + } } else { p.setChecked(false); } @@ -495,22 +501,4 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa } - @Override - protected void onPause() { - if (this.isFinishing()) { - Account current = AccountUtils.getCurrentOwnCloudAccount(this); - if ((mPreviousAccount == null && current != null) - || (mPreviousAccount != null && !mPreviousAccount.equals(current))) { - // the account set as default changed since this activity was - // created - - // restart the main activity - Intent i = new Intent(this, FileDisplayActivity.class); - i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - startActivity(i); - } - } - super.onPause(); - } - }