|
@@ -66,15 +66,12 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
|
|
|
|
|
|
private static final String TAG = "OwnCloudPreferences";
|
|
private static final String TAG = "OwnCloudPreferences";
|
|
|
|
|
|
- private static final String PREVIOUS_ACCOUNT_KEY = "ACCOUNT";
|
|
|
|
-
|
|
|
|
private DbHandler mDbHandler;
|
|
private DbHandler mDbHandler;
|
|
private CheckBoxPreference pCode;
|
|
private CheckBoxPreference pCode;
|
|
//private CheckBoxPreference pLogging;
|
|
//private CheckBoxPreference pLogging;
|
|
//private Preference pLoggingHistory;
|
|
//private Preference pLoggingHistory;
|
|
private Preference pAboutApp;
|
|
private Preference pAboutApp;
|
|
|
|
|
|
- private Account mPreviousAccount = null;
|
|
|
|
private PreferenceCategory mAccountsPrefCategory = null;
|
|
private PreferenceCategory mAccountsPrefCategory = null;
|
|
private final Handler mHandler = new Handler();
|
|
private final Handler mHandler = new Handler();
|
|
private String mAccountName;
|
|
private String mAccountName;
|
|
@@ -91,13 +88,8 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
|
|
ActionBar actionBar = getSherlock().getActionBar();
|
|
ActionBar actionBar = getSherlock().getActionBar();
|
|
actionBar.setIcon(DisplayUtils.getSeasonalIconId());
|
|
actionBar.setIcon(DisplayUtils.getSeasonalIconId());
|
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
|
|
|
+ actionBar.setTitle(R.string.actionbar_settings);
|
|
|
|
|
|
- if (savedInstanceState != null) {
|
|
|
|
- mPreviousAccount = savedInstanceState.getParcelable(PREVIOUS_ACCOUNT_KEY);
|
|
|
|
- } else {
|
|
|
|
- mPreviousAccount = AccountUtils.getCurrentOwnCloudAccount(this);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
// Load the accounts category for adding the list of accounts
|
|
// Load the accounts category for adding the list of accounts
|
|
mAccountsPrefCategory = (PreferenceCategory) findPreference("accounts_category");
|
|
mAccountsPrefCategory = (PreferenceCategory) findPreference("accounts_category");
|
|
|
|
|
|
@@ -454,8 +446,23 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
|
|
for (Account a : accounts) {
|
|
for (Account a : accounts) {
|
|
CheckBoxPreference p = (CheckBoxPreference) findPreference(a.name);
|
|
CheckBoxPreference p = (CheckBoxPreference) findPreference(a.name);
|
|
if (key.equals(a.name)) {
|
|
if (key.equals(a.name)) {
|
|
|
|
+ boolean accountChanged = !p.isChecked();
|
|
p.setChecked(true);
|
|
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 {
|
|
} else {
|
|
p.setChecked(false);
|
|
p.setChecked(false);
|
|
}
|
|
}
|
|
@@ -495,22 +502,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();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
}
|
|
}
|