mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 10:20:25 +01:00
Update Mention UI/UX to match latest designs.
This commit is contained in:
committed by
Greyson Parrelli
parent
d63e5165eb
commit
724f3e872b
@@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.contacts.ContactsCursorLoader;
|
||||
import org.thoughtcrime.securesms.database.MediaDatabase;
|
||||
import org.thoughtcrime.securesms.database.MentionUtil;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
||||
import org.thoughtcrime.securesms.database.loaders.MediaLoader;
|
||||
import org.thoughtcrime.securesms.database.loaders.ThreadMediaLoader;
|
||||
import org.thoughtcrime.securesms.groups.GroupAccessControl;
|
||||
@@ -261,7 +260,7 @@ public class ManageGroupViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
void handleMentionNotificationSelection() {
|
||||
manageGroupRepository.getRecipient(r -> GroupMentionSettingDialog.show(context, r.getMentionSetting(), mentionSetting -> manageGroupRepository.setMentionSetting(mentionSetting)));
|
||||
manageGroupRepository.getRecipient(r -> GroupMentionSettingDialog.show(context, r.getMentionSetting(), manageGroupRepository::setMentionSetting));
|
||||
}
|
||||
|
||||
private void onBlockAndLeaveConfirmed() {
|
||||
|
||||
@@ -14,7 +14,6 @@ import androidx.core.util.Consumer;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.MentionSetting;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
|
||||
public final class GroupMentionSettingDialog {
|
||||
|
||||
@@ -32,31 +31,24 @@ public final class GroupMentionSettingDialog {
|
||||
@SuppressLint("InflateParams")
|
||||
private static View getView(@NonNull Context context, @NonNull MentionSetting mentionSetting, @NonNull SelectionCallback selectionCallback) {
|
||||
View root = LayoutInflater.from(context).inflate(R.layout.group_mention_setting_dialog, null, false);
|
||||
CheckedTextView defaultOption = root.findViewById(R.id.group_mention_setting_default);
|
||||
CheckedTextView alwaysNotify = root.findViewById(R.id.group_mention_setting_always_notify);
|
||||
CheckedTextView dontNotify = root.findViewById(R.id.group_mention_setting_dont_notify);
|
||||
|
||||
defaultOption.setText(SignalStore.notificationSettings().isMentionNotifiesMeEnabled() ? R.string.GroupMentionSettingDialog_default_notify_me
|
||||
: R.string.GroupMentionSettingDialog_default_dont_notify_me);
|
||||
|
||||
View.OnClickListener listener = (v) -> {
|
||||
defaultOption.setChecked(defaultOption == v);
|
||||
alwaysNotify.setChecked(alwaysNotify == v);
|
||||
dontNotify.setChecked(dontNotify == v);
|
||||
|
||||
if (defaultOption.isChecked()) selectionCallback.selection = MentionSetting.GLOBAL;
|
||||
else if (alwaysNotify.isChecked()) selectionCallback.selection = MentionSetting.ALWAYS_NOTIFY;
|
||||
else if (dontNotify.isChecked()) selectionCallback.selection = MentionSetting.DO_NOT_NOTIFY;
|
||||
if (alwaysNotify.isChecked()) {
|
||||
selectionCallback.selection = MentionSetting.ALWAYS_NOTIFY;
|
||||
} else if (dontNotify.isChecked()) {
|
||||
selectionCallback.selection = MentionSetting.DO_NOT_NOTIFY;
|
||||
}
|
||||
};
|
||||
|
||||
defaultOption.setOnClickListener(listener);
|
||||
alwaysNotify.setOnClickListener(listener);
|
||||
dontNotify.setOnClickListener(listener);
|
||||
|
||||
switch (mentionSetting) {
|
||||
case GLOBAL:
|
||||
listener.onClick(defaultOption);
|
||||
break;
|
||||
case ALWAYS_NOTIFY:
|
||||
listener.onClick(alwaysNotify);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user