Allow multiple select over accounts

This commit is contained in:
M66B
2019-01-20 12:23:23 +00:00
parent c74a94fa45
commit 28047e3f05
3 changed files with 34 additions and 29 deletions

View File

@@ -25,25 +25,18 @@ import androidx.recyclerview.widget.RecyclerView;
public class SelectionPredicateMessage extends SelectionTracker.SelectionPredicate<Long> {
private RecyclerView recyclerView;
private long account = -1;
SelectionPredicateMessage(RecyclerView recyclerView) {
this.recyclerView = recyclerView;
}
void clearAccount() {
account = -1;
}
@Override
public boolean canSetStateForKey(@NonNull Long key, boolean nextState) {
AdapterMessage adapter = (AdapterMessage) recyclerView.getAdapter();
TupleMessageEx message = adapter.getItemForKey(key);
if (message != null && message.uid != null && (account < 0 || account == message.account)) {
account = message.account;
if (message != null && message.uid != null)
return true;
}
return false;
}
@@ -53,10 +46,8 @@ public class SelectionPredicateMessage extends SelectionTracker.SelectionPredica
AdapterMessage adapter = (AdapterMessage) recyclerView.getAdapter();
TupleMessageEx message = adapter.getItemAtPosition(position);
if (message != null && message.uid != null && (account < 0 || account == message.account)) {
account = message.account;
if (message != null && message.uid != null)
return true;
}
return false;
}