Set first account checked as default when the current used account is removed and added some comments into the code

This commit is contained in:
jabarros 2014-08-07 16:02:51 +02:00
parent 7dfa955a03
commit d3b07add37

View file

@ -108,6 +108,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
ListView listView = (ListView) parent;
ListAdapter listAdapter = listView.getAdapter();
Object obj = listAdapter.getItem(position);
if (obj != null && obj instanceof LongClickableCheckBoxPreference) {
mShowContextMenu = true;
mAccountName = obj.toString();
@ -121,6 +122,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
}
});
// Register context menu for list of preferences.
registerForContextMenu(getListView());
pCode = (CheckBoxPreference) findPreference("set_pincode");
@ -302,6 +304,9 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// Filter for only showing contextual menu when long press on the
// accounts
if (mShowContextMenu) {
getMenuInflater().inflate(R.menu.account_picker_long_click, menu);
mShowContextMenu = false;
@ -323,6 +328,8 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
for (Account a : accounts) {
if (a.name.equals(mAccountName)) {
if (item.getItemId() == R.id.change_password) {
// Change account password
Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a);
updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION,
@ -330,6 +337,8 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
startActivity(updateAccountCredentials);
} else if (item.getItemId() == R.id.delete_account) {
// Remove account
am.removeAccount(a, this, mHandler);
}
}
@ -349,7 +358,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
accountName = accounts[0].name;
AccountUtils.setCurrentOwnCloudAccount(this, accountName);
}
createAccountsCheckboxPreferences();
addAccountsCheckboxPreferences();
}
}
@ -361,7 +370,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
pCode.setChecked(state);
// Populate the accounts category with the list of accounts
createAccountsCheckboxPreferences();
addAccountsCheckboxPreferences();
}
@Override
@ -403,7 +412,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
* Create the list of accounts that has been added into the app
*/
@SuppressWarnings("deprecation")
private void createAccountsCheckboxPreferences() {
private void addAccountsCheckboxPreferences() {
// Remove accounts in case list is refreshing for avoiding to have
// duplicate items
@ -427,6 +436,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
LongClickableCheckBoxPreference accountPreference = new LongClickableCheckBoxPreference(this);
accountPreference.setKey(a.name);
accountPreference.setTitle(a.name);
mAccountsPrefCategory.addPreference(accountPreference);
// Check the current account that is being used
if (a.name.equals(currentAccount.name)) {
@ -454,7 +464,6 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
}
});
mAccountsPrefCategory.addPreference(accountPreference);
}
// Add Create Account preference at the end of account list if