From 2066829b726464ad370146182b372e976870bbc9 Mon Sep 17 00:00:00 2001 From: Lyubo Date: Sat, 8 Jun 2019 18:01:26 -0400 Subject: Messaging: Handle multiple participants in custom notifications * Fixes: https://gitlab.com/LineageOS/issues/android/issues/695 * Sets the conversation title in 'conversation notifications settings' as a string of comma separated participants names Change-Id: If900fc4c84de0ac036ecf6b0c346bd9eaccb0916 --- .../ui/conversationsettings/PeopleAndOptionsFragment.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java b/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java index 56ff4b0..147a673 100644 --- a/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java +++ b/src/com/android/messaging/ui/conversationsettings/PeopleAndOptionsFragment.java @@ -64,6 +64,7 @@ public class PeopleAndOptionsFragment extends Fragment private ListView mListView; private OptionsListAdapter mOptionsListAdapter; private PeopleListAdapter mPeopleListAdapter; + private List mOtherParticipants; private final Binding mBinding = BindingBase.createBinding(this); @@ -114,6 +115,7 @@ public class PeopleAndOptionsFragment extends Fragment final List participants) { mBinding.ensureBound(data); mPeopleListAdapter.updateParticipants(participants); + mOtherParticipants = participants; final ParticipantData otherParticipant = participants.size() == 1 ? participants.get(0) : null; mOptionsListAdapter.setOtherParticipant(otherParticipant); @@ -123,12 +125,16 @@ public class PeopleAndOptionsFragment extends Fragment public void onOptionsItemViewClicked(final PeopleOptionsItemData item) { switch (item.getItemId()) { case PeopleOptionsItemData.SETTING_NOTIFICATION: + ArrayList participantsNames = new ArrayList(); + for (ParticipantData participant : mOtherParticipants) { + participantsNames.add(participant.getDisplayName(true)); + } NotifUtils.createNotificationChannelGroup(getActivity(), NotifUtils.CONVERSATION_GROUP_NAME, R.string.notification_channel_messages_title); NotifUtils.createNotificationChannel(getActivity(), mBinding.getData().getConversationId(), - item.getOtherParticipant().getDisplayName(true), + String.join(", ", participantsNames), NotificationManager.IMPORTANCE_DEFAULT, NotifUtils.CONVERSATION_GROUP_NAME); Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS); -- cgit v1.2.3