Do not include self in recents list for gift badging.

fork-5.53.8
Alex Hart 2022-05-16 09:47:41 -03:00 zatwierdzone przez Cody Henthorne
rodzic b3086e595f
commit 25788ef751
6 zmienionych plików z 12 dodań i 5 usunięć

Wyświetl plik

@ -55,6 +55,7 @@ class GiftFlowRecipientSelectionFragment : Fragment(R.layout.gift_flow_recipient
if (query.isNullOrEmpty()) {
addSection(
ContactSearchConfiguration.Section.Recents(
includeSelf = false,
includeHeader = true,
mode = ContactSearchConfiguration.Section.Recents.Mode.INDIVIDUALS
)

Wyświetl plik

@ -188,7 +188,7 @@ public class ContactsCursorLoader extends AbstractContactsCursorLoader {
ThreadDatabase threadDatabase = SignalDatabase.threads();
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);
ThreadRecord threadRecord;
while ((threadRecord = reader.getNext()) != null) {

Wyświetl plik

@ -34,6 +34,7 @@ class ContactSearchConfiguration private constructor(
val includeInactiveGroups: Boolean = false,
val includeGroupsV1: Boolean = false,
val includeSms: Boolean = false,
val includeSelf: Boolean = false,
override val includeHeader: Boolean,
override val expandConfig: ExpandConfig? = null
) : Section(SectionKey.RECENTS) {

Wyświetl plik

@ -45,7 +45,8 @@ open class ContactSearchPagedDataSourceRepository(
section.mode == ContactSearchConfiguration.Section.Recents.Mode.INDIVIDUALS,
section.mode == ContactSearchConfiguration.Section.Recents.Mode.GROUPS,
!section.includeGroupsV1,
!section.includeSms
!section.includeSms,
!section.includeSelf
)
}

Wyświetl plik

@ -594,10 +594,10 @@ public class ThreadDatabase extends Database {
}
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();
String query = !includeInactiveGroups ? MEANINGFUL_MESSAGES + " != 0 AND (" + GroupDatabase.TABLE_NAME + "." + GroupDatabase.ACTIVE + " IS NULL OR " + GroupDatabase.TABLE_NAME + "." + GroupDatabase.ACTIVE + " = 1)"
: MEANINGFUL_MESSAGES + " != 0";
@ -620,6 +620,10 @@ public class ThreadDatabase extends Database {
query += " AND " + RecipientDatabase.TABLE_NAME + "." + RecipientDatabase.FORCE_SMS_SELECTION + " = 0";
}
if (hideSelf) {
query += " AND " + RECIPIENT_ID + " != " + Recipient.self().getId().toLong();
}
query += " AND " + ARCHIVED + " = 0";
if (SignalStore.releaseChannelValues().getReleaseChannelRecipientId() != null) {

Wyświetl plik

@ -68,7 +68,7 @@ public class ConversationShortcutUpdateJob extends BaseJob {
int maxShortcuts = ConversationUtil.getMaxShortcuts(context);
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;
while ((record = reader.getNext()) != null) {
ranked.add(record.getRecipient().resolve());