Implement new group creation screens behind flag.

This commit is contained in:
Alex Hart
2020-05-13 13:41:36 -03:00
parent ed0825112d
commit ccff7b1148
42 changed files with 1422 additions and 84 deletions

View File

@@ -85,11 +85,15 @@ public class ContactRepository {
@WorkerThread
public Cursor querySignalContacts(@NonNull String query) {
Cursor cursor = TextUtils.isEmpty(query) ? recipientDatabase.getSignalContacts()
: recipientDatabase.querySignalContacts(query);
return querySignalContacts(query, true);
}
@WorkerThread
public Cursor querySignalContacts(@NonNull String query, boolean includeSelf) {
Cursor cursor = TextUtils.isEmpty(query) ? recipientDatabase.getSignalContacts(includeSelf)
: recipientDatabase.querySignalContacts(query, includeSelf);
if (noteToSelfTitle.toLowerCase().contains(query.toLowerCase())) {
if (includeSelf && noteToSelfTitle.toLowerCase().contains(query.toLowerCase())) {
Recipient self = Recipient.self();
boolean nameMatch = self.getDisplayName(context).toLowerCase().contains(query.toLowerCase());
boolean numberMatch = self.getE164().isPresent() && self.requireE164().contains(query);

View File

@@ -250,6 +250,10 @@ public class ContactSelectionListAdapter extends CursorRecyclerViewAdapter<ViewH
return selectedContacts.getContacts();
}
public int getSelectedContactsCount() {
return selectedContacts.size();
}
private CharSequence getSpannedHeaderString(int position) {
final String headerString = getHeaderString(position);
if (isPush(position)) {

View File

@@ -59,7 +59,8 @@ public class ContactsCursorLoader extends CursorLoader {
public static final int FLAG_SMS = 1 << 1;
public static final int FLAG_ACTIVE_GROUPS = 1 << 2;
public static final int FLAG_INACTIVE_GROUPS = 1 << 3;
public static final int FLAG_ALL = FLAG_PUSH | FLAG_SMS | FLAG_ACTIVE_GROUPS | FLAG_INACTIVE_GROUPS;
public static final int FLAG_SELF = 1 << 4;
public static final int FLAG_ALL = FLAG_PUSH | FLAG_SMS | FLAG_ACTIVE_GROUPS | FLAG_INACTIVE_GROUPS | FLAG_SELF;
}
private static final String[] CONTACT_PROJECTION = new String[]{ContactRepository.ID_COLUMN,
@@ -248,7 +249,7 @@ public class ContactsCursorLoader extends CursorLoader {
}
if (pushEnabled(mode)) {
cursorList.add(contactRepository.querySignalContacts(filter));
cursorList.add(contactRepository.querySignalContacts(filter, selfEnabled(mode)));
}
if (pushEnabled(mode) && smsEnabled(mode)) {
@@ -329,6 +330,10 @@ public class ContactsCursorLoader extends CursorLoader {
return sum == 0;
}
private static boolean selfEnabled(int mode) {
return flagSet(mode, DisplayMode.FLAG_SELF);
}
private static boolean pushEnabled(int mode) {
return flagSet(mode, DisplayMode.FLAG_PUSH);
}

View File

@@ -37,6 +37,10 @@ public final class SelectedContactSet {
return new ArrayList<>(contacts);
}
public int size() {
return contacts.size();
}
public void clear() {
contacts.clear();
}