Only return non demoted conversations
Demoted conversations should enver display in a conversation space Test: atest Bug: 150791002 Change-Id: Icf7d6e7e2a22f14c47f30e625767ed71c4f993b8
This commit is contained in:
@@ -1255,6 +1255,7 @@ public class PreferencesHelper implements RankingConfig {
|
||||
for (int i = 0; i < N; i++) {
|
||||
final NotificationChannel nc = p.channels.valueAt(i);
|
||||
if (!TextUtils.isEmpty(nc.getConversationId()) && !nc.isDeleted()
|
||||
&& !nc.isDemoted()
|
||||
&& (nc.isImportantConversation() || !onlyImportant)) {
|
||||
ConversationChannelWrapper conversation = new ConversationChannelWrapper();
|
||||
conversation.setPkg(p.pkg);
|
||||
|
||||
@@ -3141,6 +3141,44 @@ public class PreferencesHelperTest extends UiServiceTestCase {
|
||||
assertTrue(conversationWrapperContainsChannel(convos, channel2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetConversations_notDemoted() {
|
||||
String convoId = "convo";
|
||||
NotificationChannel messages =
|
||||
new NotificationChannel("messages", "Messages", IMPORTANCE_DEFAULT);
|
||||
mHelper.createNotificationChannel(PKG_O, UID_O, messages, true, false);
|
||||
NotificationChannel calls =
|
||||
new NotificationChannel("calls", "Calls", IMPORTANCE_DEFAULT);
|
||||
mHelper.createNotificationChannel(PKG_O, UID_O, calls, true, false);
|
||||
NotificationChannel p =
|
||||
new NotificationChannel("p calls", "Calls", IMPORTANCE_DEFAULT);
|
||||
mHelper.createNotificationChannel(PKG_P, UID_P, p, true, false);
|
||||
|
||||
NotificationChannel channel =
|
||||
new NotificationChannel("A person msgs", "messages from A", IMPORTANCE_DEFAULT);
|
||||
channel.setConversationId(messages.getId(), convoId);
|
||||
mHelper.createNotificationChannel(PKG_O, UID_O, channel, true, false);
|
||||
|
||||
NotificationChannel diffConvo =
|
||||
new NotificationChannel("B person msgs", "messages from B", IMPORTANCE_DEFAULT);
|
||||
diffConvo.setConversationId(p.getId(), "different convo");
|
||||
diffConvo.setDemoted(true);
|
||||
mHelper.createNotificationChannel(PKG_P, UID_P, diffConvo, true, false);
|
||||
|
||||
NotificationChannel channel2 =
|
||||
new NotificationChannel("A person calls", "calls from A", IMPORTANCE_DEFAULT);
|
||||
channel2.setConversationId(calls.getId(), convoId);
|
||||
channel2.setImportantConversation(true);
|
||||
mHelper.createNotificationChannel(PKG_O, UID_O, channel2, true, false);
|
||||
|
||||
List<ConversationChannelWrapper> convos = mHelper.getConversations(false);
|
||||
|
||||
assertEquals(2, convos.size());
|
||||
assertTrue(conversationWrapperContainsChannel(convos, channel));
|
||||
assertFalse(conversationWrapperContainsChannel(convos, diffConvo));
|
||||
assertTrue(conversationWrapperContainsChannel(convos, channel2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetConversations_onlyImportant() {
|
||||
String convoId = "convo";
|
||||
|
||||
Reference in New Issue
Block a user