kopia lustrzana https://github.com/ryukoposting/Signal-Android
Do not include self in recents list for gift badging.
rodzic
b3086e595f
commit
25788ef751
|
@ -55,6 +55,7 @@ class GiftFlowRecipientSelectionFragment : Fragment(R.layout.gift_flow_recipient
|
||||||
if (query.isNullOrEmpty()) {
|
if (query.isNullOrEmpty()) {
|
||||||
addSection(
|
addSection(
|
||||||
ContactSearchConfiguration.Section.Recents(
|
ContactSearchConfiguration.Section.Recents(
|
||||||
|
includeSelf = false,
|
||||||
includeHeader = true,
|
includeHeader = true,
|
||||||
mode = ContactSearchConfiguration.Section.Recents.Mode.INDIVIDUALS
|
mode = ContactSearchConfiguration.Section.Recents.Mode.INDIVIDUALS
|
||||||
)
|
)
|
||||||
|
|
|
@ -188,7 +188,7 @@ public class ContactsCursorLoader extends AbstractContactsCursorLoader {
|
||||||
ThreadDatabase threadDatabase = SignalDatabase.threads();
|
ThreadDatabase threadDatabase = SignalDatabase.threads();
|
||||||
|
|
||||||
MatrixCursor recentConversations = ContactsCursorRows.createMatrixCursor(RECENT_CONVERSATION_MAX);
|
MatrixCursor recentConversations = ContactsCursorRows.createMatrixCursor(RECENT_CONVERSATION_MAX);
|
||||||
try (Cursor rawConversations = threadDatabase.getRecentConversationList(RECENT_CONVERSATION_MAX, flagSet(mode, DisplayMode.FLAG_INACTIVE_GROUPS), false, groupsOnly, hideGroupsV1(mode), !smsEnabled(mode))) {
|
try (Cursor rawConversations = threadDatabase.getRecentConversationList(RECENT_CONVERSATION_MAX, flagSet(mode, DisplayMode.FLAG_INACTIVE_GROUPS), false, groupsOnly, hideGroupsV1(mode), !smsEnabled(mode), false)) {
|
||||||
ThreadDatabase.Reader reader = threadDatabase.readerFor(rawConversations);
|
ThreadDatabase.Reader reader = threadDatabase.readerFor(rawConversations);
|
||||||
ThreadRecord threadRecord;
|
ThreadRecord threadRecord;
|
||||||
while ((threadRecord = reader.getNext()) != null) {
|
while ((threadRecord = reader.getNext()) != null) {
|
||||||
|
|
|
@ -34,6 +34,7 @@ class ContactSearchConfiguration private constructor(
|
||||||
val includeInactiveGroups: Boolean = false,
|
val includeInactiveGroups: Boolean = false,
|
||||||
val includeGroupsV1: Boolean = false,
|
val includeGroupsV1: Boolean = false,
|
||||||
val includeSms: Boolean = false,
|
val includeSms: Boolean = false,
|
||||||
|
val includeSelf: Boolean = false,
|
||||||
override val includeHeader: Boolean,
|
override val includeHeader: Boolean,
|
||||||
override val expandConfig: ExpandConfig? = null
|
override val expandConfig: ExpandConfig? = null
|
||||||
) : Section(SectionKey.RECENTS) {
|
) : Section(SectionKey.RECENTS) {
|
||||||
|
|
|
@ -45,7 +45,8 @@ open class ContactSearchPagedDataSourceRepository(
|
||||||
section.mode == ContactSearchConfiguration.Section.Recents.Mode.INDIVIDUALS,
|
section.mode == ContactSearchConfiguration.Section.Recents.Mode.INDIVIDUALS,
|
||||||
section.mode == ContactSearchConfiguration.Section.Recents.Mode.GROUPS,
|
section.mode == ContactSearchConfiguration.Section.Recents.Mode.GROUPS,
|
||||||
!section.includeGroupsV1,
|
!section.includeGroupsV1,
|
||||||
!section.includeSms
|
!section.includeSms,
|
||||||
|
!section.includeSelf
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -594,10 +594,10 @@ public class ThreadDatabase extends Database {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Cursor getRecentConversationList(int limit, boolean includeInactiveGroups, boolean hideV1Groups) {
|
public Cursor getRecentConversationList(int limit, boolean includeInactiveGroups, boolean hideV1Groups) {
|
||||||
return getRecentConversationList(limit, includeInactiveGroups, false, false, hideV1Groups, false);
|
return getRecentConversationList(limit, includeInactiveGroups, false, false, hideV1Groups, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Cursor getRecentConversationList(int limit, boolean includeInactiveGroups, boolean individualsOnly, boolean groupsOnly, boolean hideV1Groups, boolean hideSms) {
|
public Cursor getRecentConversationList(int limit, boolean includeInactiveGroups, boolean individualsOnly, boolean groupsOnly, boolean hideV1Groups, boolean hideSms, boolean hideSelf) {
|
||||||
SQLiteDatabase db = databaseHelper.getSignalReadableDatabase();
|
SQLiteDatabase db = databaseHelper.getSignalReadableDatabase();
|
||||||
String query = !includeInactiveGroups ? MEANINGFUL_MESSAGES + " != 0 AND (" + GroupDatabase.TABLE_NAME + "." + GroupDatabase.ACTIVE + " IS NULL OR " + GroupDatabase.TABLE_NAME + "." + GroupDatabase.ACTIVE + " = 1)"
|
String query = !includeInactiveGroups ? MEANINGFUL_MESSAGES + " != 0 AND (" + GroupDatabase.TABLE_NAME + "." + GroupDatabase.ACTIVE + " IS NULL OR " + GroupDatabase.TABLE_NAME + "." + GroupDatabase.ACTIVE + " = 1)"
|
||||||
: MEANINGFUL_MESSAGES + " != 0";
|
: MEANINGFUL_MESSAGES + " != 0";
|
||||||
|
@ -620,6 +620,10 @@ public class ThreadDatabase extends Database {
|
||||||
query += " AND " + RecipientDatabase.TABLE_NAME + "." + RecipientDatabase.FORCE_SMS_SELECTION + " = 0";
|
query += " AND " + RecipientDatabase.TABLE_NAME + "." + RecipientDatabase.FORCE_SMS_SELECTION + " = 0";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (hideSelf) {
|
||||||
|
query += " AND " + RECIPIENT_ID + " != " + Recipient.self().getId().toLong();
|
||||||
|
}
|
||||||
|
|
||||||
query += " AND " + ARCHIVED + " = 0";
|
query += " AND " + ARCHIVED + " = 0";
|
||||||
|
|
||||||
if (SignalStore.releaseChannelValues().getReleaseChannelRecipientId() != null) {
|
if (SignalStore.releaseChannelValues().getReleaseChannelRecipientId() != null) {
|
||||||
|
|
|
@ -68,7 +68,7 @@ public class ConversationShortcutUpdateJob extends BaseJob {
|
||||||
int maxShortcuts = ConversationUtil.getMaxShortcuts(context);
|
int maxShortcuts = ConversationUtil.getMaxShortcuts(context);
|
||||||
List<Recipient> ranked = new ArrayList<>(maxShortcuts);
|
List<Recipient> ranked = new ArrayList<>(maxShortcuts);
|
||||||
|
|
||||||
try (ThreadDatabase.Reader reader = threadDatabase.readerFor(threadDatabase.getRecentConversationList(maxShortcuts, false, false, false, true, !Util.isDefaultSmsProvider(context)))) {
|
try (ThreadDatabase.Reader reader = threadDatabase.readerFor(threadDatabase.getRecentConversationList(maxShortcuts, false, false, false, true, !Util.isDefaultSmsProvider(context), false))) {
|
||||||
ThreadRecord record;
|
ThreadRecord record;
|
||||||
while ((record = reader.getNext()) != null) {
|
while ((record = reader.getNext()) != null) {
|
||||||
ranked.add(record.getRecipient().resolve());
|
ranked.add(record.getRecipient().resolve());
|
||||||
|
|
Ładowanie…
Reference in New Issue