ListView listView = (ListView) parent;
ListAdapter listAdapter = listView.getAdapter();
Object obj = listAdapter.getItem(position);
+
if (obj != null && obj instanceof LongClickableCheckBoxPreference) {
mShowContextMenu = true;
mAccountName = obj.toString();
}
});
+ // Register context menu for list of preferences.
registerForContextMenu(getListView());
pCode = (CheckBoxPreference) findPreference("set_pincode");
@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;
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,
startActivity(updateAccountCredentials);
} else if (item.getItemId() == R.id.delete_account) {
+
+ // Remove account
am.removeAccount(a, this, mHandler);
}
}
accountName = accounts[0].name;
AccountUtils.setCurrentOwnCloudAccount(this, accountName);
}
- createAccountsCheckboxPreferences();
+ addAccountsCheckboxPreferences();
}
}
pCode.setChecked(state);
// Populate the accounts category with the list of accounts
- createAccountsCheckboxPreferences();
+ addAccountsCheckboxPreferences();
}
@Override
* 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
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)) {
}
});
- mAccountsPrefCategory.addPreference(accountPreference);
}
// Add Create Account preference at the end of account list if