aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-05-29 21:07:56 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-05-29 21:07:56 +0200
commitc9f9af660345632426662363754af3f656f2f7e6 (patch)
tree50fe3da7fcab8398b72b26b483bd0e0d75ac32e8 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java
parentdd94c70fbe92e8b2f578b93da428dc9c7d728d84 (diff)
downloadopen-keychain-c9f9af660345632426662363754af3f656f2f7e6.tar.gz
open-keychain-c9f9af660345632426662363754af3f656f2f7e6.tar.bz2
open-keychain-c9f9af660345632426662363754af3f656f2f7e6.zip
preserve state in CertifyKeyFragment
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java
index 028f0fc9c..6b16e8445 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/MultiUserIdsAdapter.java
@@ -40,20 +40,19 @@ public class MultiUserIdsAdapter extends CursorAdapter {
private LayoutInflater mInflater;
private final ArrayList<Boolean> mCheckStates;
- public MultiUserIdsAdapter(Context context, Cursor c, int flags) {
+ public MultiUserIdsAdapter(Context context, Cursor c, int flags, ArrayList<Boolean> preselectStates) {
super(context, c, flags);
mInflater = LayoutInflater.from(context);
- mCheckStates = new ArrayList<>();
+ mCheckStates = preselectStates == null ? new ArrayList<Boolean>() : preselectStates;
}
@Override
public Cursor swapCursor(Cursor newCursor) {
- mCheckStates.clear();
if (newCursor != null) {
int count = newCursor.getCount();
mCheckStates.ensureCapacity(count);
- // initialize to true (use case knowledge: we usually want to sign all uids)
- for (int i = 0; i < count; i++) {
+ // initialize new fields to true (use case knowledge: we usually want to sign all uids)
+ for (int i = mCheckStates.size(); i < count; i++) {
mCheckStates.add(true);
}
}
@@ -151,6 +150,10 @@ public class MultiUserIdsAdapter extends CursorAdapter {
}
+ public ArrayList<Boolean> getCheckStates() {
+ return mCheckStates;
+ }
+
public ArrayList<CertifyAction> getSelectedCertifyActions() {
LongSparseArray<CertifyAction> actions = new LongSparseArray<>();
for (int i = 0; i < mCheckStates.size(); i++) {