Make code more tidy for multiselect

This commit is contained in:
Dominik Schürmann 2014-03-10 17:49:30 +01:00
parent caa0740919
commit 83c346fec4
4 changed files with 10 additions and 44 deletions

View file

@ -171,15 +171,8 @@ public class KeyListPublicFragment extends Fragment implements SearchView.OnQuer
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
Set<Integer> positions = mAdapter.getCurrentCheckedPosition();
// get IDs for checked positions as long array
long[] ids = new long[positions.size()];
int i = 0;
for (int pos : positions) {
ids[i] = mAdapter.getItemId(pos);
i++;
}
// get row ids for checked positions as long array
long[] ids = mStickyList.getCheckedItemIds();
switch (item.getItemId()) {
case R.id.menu_key_list_public_multi_encrypt: {
@ -192,9 +185,8 @@ public class KeyListPublicFragment extends Fragment implements SearchView.OnQuer
}
case R.id.menu_key_list_public_multi_select_all: {
//Select all
int localCount = mStickyList.getCount();
for (int k = 0; k < localCount; k++) {
mStickyList.setItemChecked(k, true);
for (int i = 0; i < mStickyList.getCount(); i++) {
mStickyList.setItemChecked(i, true);
}
break;
}
@ -215,7 +207,7 @@ public class KeyListPublicFragment extends Fragment implements SearchView.OnQuer
} else {
mAdapter.removeSelection(position);
}
int count = mAdapter.getCurrentCheckedPosition().size();
int count = mStickyList.getCheckedItemCount();
String keysSelected = getResources().getQuantityString(
R.plurals.key_list_selected_keys, count, count);
mode.setTitle(keysSelected);

View file

@ -91,15 +91,8 @@ public class KeyListSecretFragment extends ListFragment implements
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
Set<Integer> positions = mAdapter.getCurrentCheckedPosition();
// get IDs for checked positions as long array
long[] ids = new long[positions.size()];
int i = 0;
for (int pos : positions) {
ids[i] = mAdapter.getItemId(pos);
i++;
}
// get row ids for checked positions as long array
long[] ids = getListView().getCheckedItemIds();
switch (item.getItemId()) {
case R.id.menu_key_list_public_multi_delete: {
@ -108,9 +101,8 @@ public class KeyListSecretFragment extends ListFragment implements
}
case R.id.menu_key_list_public_multi_select_all: {
//Select all
int localCount = getListView().getCount();
for (int k = 0; k < localCount; k++) {
getListView().setItemChecked(k, true);
for (int i = 0; i < getListView().getCount(); i++) {
getListView().setItemChecked(i, true);
}
break;
}

View file

@ -192,15 +192,6 @@ public class KeyListPublicAdapter extends HighlightQueryCursorAdapter implements
notifyDataSetChanged();
}
public boolean isPositionChecked(int position) {
Boolean result = mSelection.get(position);
return result == null ? false : result;
}
public Set<Integer> getCurrentCheckedPosition() {
return mSelection.keySet();
}
public void removeSelection(int position) {
mSelection.remove(position);
notifyDataSetChanged();

View file

@ -98,16 +98,7 @@ public class KeyListSecretAdapter extends CursorAdapter {
mSelection.put(position, value);
notifyDataSetChanged();
}
public boolean isPositionChecked(int position) {
Boolean result = mSelection.get(position);
return result == null ? false : result;
}
public Set<Integer> getCurrentCheckedPosition() {
return mSelection.keySet();
}
public void removeSelection(int position) {
mSelection.remove(position);
notifyDataSetChanged();