kopia lustrzana https://github.com/ryukoposting/Signal-Android
rodzic
77ea2deada
commit
14849d6e45
|
@ -231,7 +231,7 @@ public class ContactsCursorLoader extends AbstractContactsCursorLoader {
|
|||
|
||||
private Cursor getGroupsCursor() {
|
||||
MatrixCursor groupContacts = ContactsCursorRows.createMatrixCursor();
|
||||
try (GroupDatabase.Reader reader = SignalDatabase.groups().getGroupsFilteredByTitle(getFilter(), flagSet(mode, DisplayMode.FLAG_INACTIVE_GROUPS), hideGroupsV1(mode), !smsEnabled(mode))) {
|
||||
try (GroupDatabase.Reader reader = SignalDatabase.groups().queryGroupsByTitle(getFilter(), flagSet(mode, DisplayMode.FLAG_INACTIVE_GROUPS), hideGroupsV1(mode), !smsEnabled(mode))) {
|
||||
GroupDatabase.GroupRecord groupRecord;
|
||||
while ((groupRecord = reader.getNext()) != null) {
|
||||
groupContacts.addRow(ContactsCursorRows.forGroup(groupRecord));
|
||||
|
|
|
@ -35,7 +35,7 @@ open class ContactSearchPagedDataSourceRepository(
|
|||
}
|
||||
|
||||
open fun getGroupContacts(section: ContactSearchConfiguration.Section.Groups, query: String?): Cursor? {
|
||||
return SignalDatabase.groups.getGroupsFilteredByTitle(query ?: "", section.includeInactive, !section.includeV1, !section.includeMms).cursor
|
||||
return SignalDatabase.groups.queryGroupsByTitle(query ?: "", section.includeInactive, !section.includeV1, !section.includeMms).cursor
|
||||
}
|
||||
|
||||
open fun getRecents(section: ContactSearchConfiguration.Section.Recents): Cursor? {
|
||||
|
|
|
@ -281,16 +281,18 @@ private static final String[] GROUP_PROJECTION = {
|
|||
return noMetadata && noMembers;
|
||||
}
|
||||
|
||||
public Reader getGroupsFilteredByTitle(String constraint, boolean includeInactive, boolean excludeV1, boolean excludeMms) {
|
||||
public Reader queryGroupsByTitle(String inputQuery, boolean includeInactive, boolean excludeV1, boolean excludeMms) {
|
||||
String query;
|
||||
String[] queryArgs;
|
||||
|
||||
String caseInsensitiveQuery = SqlUtil.buildCaseInsensitiveGlobPattern(inputQuery);
|
||||
|
||||
if (includeInactive) {
|
||||
query = TITLE + " LIKE ? AND (" + ACTIVE + " = ? OR " + RECIPIENT_ID + " IN (SELECT " + ThreadDatabase.RECIPIENT_ID + " FROM " + ThreadDatabase.TABLE_NAME + "))";
|
||||
queryArgs = new String[]{"%" + constraint + "%", "1"};
|
||||
query = TITLE + " GLOB ? AND (" + ACTIVE + " = ? OR " + RECIPIENT_ID + " IN (SELECT " + ThreadDatabase.RECIPIENT_ID + " FROM " + ThreadDatabase.TABLE_NAME + "))";
|
||||
queryArgs = SqlUtil.buildArgs(caseInsensitiveQuery, 1);
|
||||
} else {
|
||||
query = TITLE + " LIKE ? AND " + ACTIVE + " = ?";
|
||||
queryArgs = new String[]{"%" + constraint + "%", "1"};
|
||||
query = TITLE + " GLOB ? AND " + ACTIVE + " = ?";
|
||||
queryArgs = SqlUtil.buildArgs(caseInsensitiveQuery, 1);
|
||||
}
|
||||
|
||||
if (excludeV1) {
|
||||
|
|
|
@ -120,7 +120,7 @@ class CameraContactsRepository {
|
|||
|
||||
List<Recipient> recipients = new ArrayList<>();
|
||||
|
||||
try (GroupDatabase.Reader reader = groupDatabase.getGroupsFilteredByTitle(query, false, true, true)) {
|
||||
try (GroupDatabase.Reader reader = groupDatabase.queryGroupsByTitle(query, false, true, true)) {
|
||||
GroupDatabase.GroupRecord groupRecord;
|
||||
while ((groupRecord = reader.getNext()) != null) {
|
||||
RecipientId recipientId = recipientDatabase.getOrInsertFromGroupId(groupRecord.getId());
|
||||
|
|
|
@ -168,7 +168,7 @@ public class SearchRepository {
|
|||
}
|
||||
|
||||
GroupDatabase.GroupRecord record;
|
||||
try (GroupDatabase.Reader reader = SignalDatabase.groups().getGroupsFilteredByTitle(query, true, false, false)) {
|
||||
try (GroupDatabase.Reader reader = SignalDatabase.groups().queryGroupsByTitle(query, true, false, false)) {
|
||||
while ((record = reader.getNext()) != null) {
|
||||
recipientIds.add(record.getRecipientId());
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue