From 9e78ec75d198e9c2e02c538f9006bd68ce23dd65 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Thu, 21 May 2020 16:42:43 -0400 Subject: [PATCH] Update conversation-related strings Test: atest Bug: 157215227 Change-Id: Iba279bb285e53918a1e1b43c04d6ec7576cd48a0 --- ...notif_priority_conversation_preference.xml | 4 +-- res/values/strings.xml | 27 ++++++++++--------- .../AllConversationsPreferenceController.java | 9 +++++++ .../ConversationListPreferenceController.java | 13 +++++++-- ...validConversationPreferenceController.java | 3 +-- .../NoConversationsPreferenceController.java | 5 ++++ ...rityConversationsPreferenceController.java | 9 +++++++ ...versationListPreferenceControllerTest.java | 6 +++++ 8 files changed, 58 insertions(+), 18 deletions(-) diff --git a/res/layout/notif_priority_conversation_preference.xml b/res/layout/notif_priority_conversation_preference.xml index 981cd693cfc..f68dbdef8ff 100644 --- a/res/layout/notif_priority_conversation_preference.xml +++ b/res/layout/notif_priority_conversation_preference.xml @@ -61,7 +61,7 @@ android:clickable="false" android:focusable="false" android:ellipsize="end" - android:maxLines="2" + android:maxLines="3" android:layout_below="@id/priority_icon" android:textAppearance="@style/TextAppearance.NotificationImportanceDetail" android:visibility="gone" /> @@ -143,7 +143,7 @@ - Notifications on lockscreen + Notifications on lock screen - Show alerting and silent notifications + Show conversations, default, and silent - Show alerting notifications only + Hide silent conversations and notifications - Don\u2019t show notifications + Don\u2019t show any notifications Sensitive notifications @@ -8395,7 +8395,7 @@ Conversation section - Allow %1$s to appear in the conversation section + Allow app to use conversation section "%1$s%2$s" @@ -8434,7 +8434,7 @@ Show at top of conversation section - Modified conversations + Other conversations Conversations you\u2019ve made changes to @@ -8494,7 +8494,7 @@ Silent - Alerting + Default Allow interruptions @@ -8506,9 +8506,9 @@ Priority - Shows at top of conversation section and appears as a bubble + Shows at top of conversation section, appears as floating bubble, displays profile picture on lock screen - %1$s does not support conversation-specific settings. + %1$s doesn\u2019t support most conversation features. You can’t set a conversation as priority, and conversations won’t appear as floating bubbles. @@ -8516,10 +8516,13 @@ In the pull-down shade, collapse notifications to one line - Helps you focus without sound or vibration + No sound or vibration + + + No sound or vibration and appears lower in conversation section - Gets your attention with sound or vibration + May ring or vibrate based on phone settings When device is unlocked, show notifications as a banner across the top of the screen @@ -8850,7 +8853,7 @@ Sound - Important + Priority Add to home diff --git a/src/com/android/settings/notification/app/AllConversationsPreferenceController.java b/src/com/android/settings/notification/app/AllConversationsPreferenceController.java index 8a0d7b8a18d..4b28b111024 100644 --- a/src/com/android/settings/notification/app/AllConversationsPreferenceController.java +++ b/src/com/android/settings/notification/app/AllConversationsPreferenceController.java @@ -23,6 +23,7 @@ import android.service.notification.ConversationChannelWrapper; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; +import com.android.settings.R; import com.android.settings.notification.NotificationBackend; import java.util.Collections; @@ -49,6 +50,14 @@ public class AllConversationsPreferenceController extends ConversationListPrefer return true; } + @Override + Preference getSummaryPreference() { + Preference pref = new Preference(mContext); + pref.setOrder(1); + pref.setSummary(R.string.other_conversations_summary); + return pref; + } + @Override boolean matchesFilter(ConversationChannelWrapper conversation) { return !conversation.getNotificationChannel().isImportantConversation(); diff --git a/src/com/android/settings/notification/app/ConversationListPreferenceController.java b/src/com/android/settings/notification/app/ConversationListPreferenceController.java index 57cbe6a4ad7..afb965f2477 100644 --- a/src/com/android/settings/notification/app/ConversationListPreferenceController.java +++ b/src/com/android/settings/notification/app/ConversationListPreferenceController.java @@ -73,24 +73,33 @@ public abstract class ConversationListPreferenceController extends AbstractPrefe containerGroup.setVisible(false); } else { containerGroup.setVisible(true); + Preference summaryPref = getSummaryPreference(); + if (summaryPref != null) { + containerGroup.addPreference(summaryPref); + } } } + abstract Preference getSummaryPreference(); + abstract boolean matchesFilter(ConversationChannelWrapper conversation); protected void populateConversations(List conversations, PreferenceGroup containerGroup) { + int order = 100; for (ConversationChannelWrapper conversation : conversations) { if (conversation.getNotificationChannel().isDemoted() || !matchesFilter(conversation)) { continue; } - containerGroup.addPreference(createConversationPref(conversation)); + containerGroup.addPreference(createConversationPref(conversation, order++)); } } - protected Preference createConversationPref(final ConversationChannelWrapper conversation) { + protected Preference createConversationPref(final ConversationChannelWrapper conversation, + int order) { Preference pref = new Preference(mContext); + pref.setOrder(order); pref.setTitle(getTitle(conversation)); pref.setSummary(getSummary(conversation)); diff --git a/src/com/android/settings/notification/app/InvalidConversationPreferenceController.java b/src/com/android/settings/notification/app/InvalidConversationPreferenceController.java index 74f5773efda..cf66474afc8 100644 --- a/src/com/android/settings/notification/app/InvalidConversationPreferenceController.java +++ b/src/com/android/settings/notification/app/InvalidConversationPreferenceController.java @@ -59,8 +59,7 @@ public class InvalidConversationPreferenceController extends NotificationPrefere pref.setDisabledByAdmin(mAdmin); pref.setEnabled(!pref.isDisabledByAdmin()); pref.setChecked(!mBackend.hasUserDemotedInvalidMsgApp(mAppRow.pkg, mAppRow.uid)); - preference.setSummary(mContext.getString( - R.string.conversation_section_switch_summary, mAppRow.label)); + preference.setSummary(mContext.getString(R.string.conversation_section_switch_summary)); } @Override diff --git a/src/com/android/settings/notification/app/NoConversationsPreferenceController.java b/src/com/android/settings/notification/app/NoConversationsPreferenceController.java index 7b626f6a631..40faadcaec6 100644 --- a/src/com/android/settings/notification/app/NoConversationsPreferenceController.java +++ b/src/com/android/settings/notification/app/NoConversationsPreferenceController.java @@ -50,6 +50,11 @@ public class NoConversationsPreferenceController extends ConversationListPrefere return true; } + @Override + Preference getSummaryPreference() { + return null; + } + @Override boolean matchesFilter(ConversationChannelWrapper conversation) { return false; diff --git a/src/com/android/settings/notification/app/PriorityConversationsPreferenceController.java b/src/com/android/settings/notification/app/PriorityConversationsPreferenceController.java index ae20d12d945..5533912d85b 100644 --- a/src/com/android/settings/notification/app/PriorityConversationsPreferenceController.java +++ b/src/com/android/settings/notification/app/PriorityConversationsPreferenceController.java @@ -23,6 +23,7 @@ import android.service.notification.ConversationChannelWrapper; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; +import com.android.settings.R; import com.android.settings.notification.NotificationBackend; import java.util.Collections; @@ -49,6 +50,14 @@ public class PriorityConversationsPreferenceController extends return true; } + @Override + Preference getSummaryPreference() { + Preference pref = new Preference(mContext); + pref.setOrder(1); + pref.setSummary(R.string.important_conversations_summary_bubbles); + return pref; + } + @Override boolean matchesFilter(ConversationChannelWrapper conversation) { return conversation.getNotificationChannel().isImportantConversation(); diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationListPreferenceControllerTest.java index 8672afb0617..6714031e73a 100644 --- a/tests/robotests/src/com/android/settings/notification/app/ConversationListPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/app/ConversationListPreferenceControllerTest.java @@ -34,6 +34,7 @@ import android.os.Bundle; import android.provider.Settings; import android.service.notification.ConversationChannelWrapper; +import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -225,5 +226,10 @@ public class ConversationListPreferenceControllerTest { public String getPreferenceKey() { return "test"; } + + @Override + Preference getSummaryPreference() { + return null; + } } }