Make sure to update config when setBubblesAllowed is called for apps

Bug: 130441629
Test: atest PreferencesHelperTest
Change-Id: Ib1558a99b549ae05f2b361259b1fe840b667f12e
This commit is contained in:
Mady Mellor
2019-05-24 09:42:52 -07:00
parent 8af0af88cc
commit 9f29614ea5
2 changed files with 12 additions and 0 deletions

View File

@@ -477,11 +477,16 @@ public class PreferencesHelper implements RankingConfig {
* @param allowed whether bubbles are allowed.
*/
public void setBubblesAllowed(String pkg, int uid, boolean allowed) {
boolean changed = false;
synchronized (mPackagePreferences) {
PackagePreferences p = getOrCreatePackagePreferencesLocked(pkg, uid);
changed = p.allowBubble != allowed;
p.allowBubble = allowed;
p.lockedAppFields = p.lockedAppFields | LockableAppFields.USER_LOCKED_BUBBLE;
}
if (changed) {
updateConfig();
}
}
/**

View File

@@ -2676,4 +2676,11 @@ public class PreferencesHelperTest extends UiServiceTestCase {
assertTrue(mHelper.getNotificationChannel(PKG_O, UID_O, channel1.getId(), false)
.isImportanceLockedByCriticalDeviceFunction());
}
@Test
public void testSetBubblesAllowed_false() {
mHelper.setBubblesAllowed(PKG_O, UID_O, false);
assertFalse(mHelper.areBubblesAllowed(PKG_O, UID_O));
verify(mHandler, times(1)).requestSort();
}
}