diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/SelectRecipientsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/SelectRecipientsFragment.kt index 144181dd43..7df4daf6ac 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/SelectRecipientsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/SelectRecipientsFragment.kt @@ -50,11 +50,11 @@ class SelectRecipientsFragment : LoggingFragment(), ContactSelectionListFragment fragment.arguments = Bundle().apply { putInt(ContactSelectionListFragment.DISPLAY_MODE, getDefaultDisplayMode()) putBoolean(ContactSelectionListFragment.REFRESHABLE, false) - putBoolean(ContactSelectionListFragment.RECENTS, false) + putBoolean(ContactSelectionListFragment.RECENTS, true) putParcelable(ContactSelectionListFragment.SELECTION_LIMITS, SelectionLimits.NO_LIMITS) putParcelableArrayList(ContactSelectionListFragment.CURRENT_SELECTION, selectionList) putBoolean(ContactSelectionListFragment.HIDE_COUNT, true) - putBoolean(ContactSelectionListFragment.DISPLAY_CHIPS, false) + putBoolean(ContactSelectionListFragment.DISPLAY_CHIPS, true) putBoolean(ContactSelectionListFragment.CAN_SELECT_SELF, false) putBoolean(ContactSelectionListFragment.RV_CLIP, false) putInt(ContactSelectionListFragment.RV_PADDING_BOTTOM, ViewUtil.dpToPx(60)) @@ -103,7 +103,8 @@ class SelectRecipientsFragment : LoggingFragment(), ContactSelectionListFragment var mode = ContactsCursorLoader.DisplayMode.FLAG_PUSH or ContactsCursorLoader.DisplayMode.FLAG_ACTIVE_GROUPS or ContactsCursorLoader.DisplayMode.FLAG_HIDE_NEW or - ContactsCursorLoader.DisplayMode.FLAG_HIDE_RECENT_HEADER + ContactsCursorLoader.DisplayMode.FLAG_HIDE_RECENT_HEADER or + ContactsCursorLoader.DisplayMode.FLAG_GROUPS_AFTER_CONTACTS if (Util.isDefaultSmsProvider(requireContext())) { mode = mode or ContactsCursorLoader.DisplayMode.FLAG_SMS diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java index 8d8b302893..d3d3d5061e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/ContactsCursorLoader.java @@ -45,16 +45,17 @@ public class ContactsCursorLoader extends AbstractContactsCursorLoader { private static final String TAG = Log.tag(ContactsCursorLoader.class); public static final class DisplayMode { - public static final int FLAG_PUSH = 1; - 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_SELF = 1 << 4; - public static final int FLAG_BLOCK = 1 << 5; - public static final int FLAG_HIDE_GROUPS_V1 = 1 << 5; - public static final int FLAG_HIDE_NEW = 1 << 6; - public static final int FLAG_HIDE_RECENT_HEADER = 1 << 7; - public static final int FLAG_ALL = FLAG_PUSH | FLAG_SMS | FLAG_ACTIVE_GROUPS | FLAG_INACTIVE_GROUPS | FLAG_SELF; + public static final int FLAG_PUSH = 1; + 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_SELF = 1 << 4; + public static final int FLAG_BLOCK = 1 << 5; + public static final int FLAG_HIDE_GROUPS_V1 = 1 << 5; + public static final int FLAG_HIDE_NEW = 1 << 6; + public static final int FLAG_HIDE_RECENT_HEADER = 1 << 7; + public static final int FLAG_GROUPS_AFTER_CONTACTS = 1 << 8; + public static final int FLAG_ALL = FLAG_PUSH | FLAG_SMS | FLAG_ACTIVE_GROUPS | FLAG_INACTIVE_GROUPS | FLAG_SELF; } private static final int RECENT_CONVERSATION_MAX = 25; @@ -86,6 +87,9 @@ public class ContactsCursorLoader extends AbstractContactsCursorLoader { } else { addRecentsSection(cursorList); addContactsSection(cursorList); + if (addGroupsAfterContacts(mode)) { + addGroupsSection(cursorList); + } } return cursorList; @@ -285,6 +289,10 @@ public class ContactsCursorLoader extends AbstractContactsCursorLoader { return flagSet(mode, DisplayMode.FLAG_HIDE_RECENT_HEADER); } + private static boolean addGroupsAfterContacts(int mode) { + return flagSet(mode, DisplayMode.FLAG_GROUPS_AFTER_CONTACTS); + } + private static boolean flagSet(int mode, int flag) { return (mode & flag) > 0; }