Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4767922d authored by Beverly's avatar Beverly
Browse files

Allow updates to importance of default apps

As long as it's not IMPORTANCE_NONE

Test: manual
    1. Messages app > Settings > Notifications
    2. Change behavior from Prioritized to Gentle
    3. Back
    4. Click on Notifications again
    5. Observe: setting was changed to Gentle
Test: atest PreferencesHelperTest
Fixes: 131893709
Change-Id: I1710435e9dfa741b14a8de3da07bff1d17e884b8
parent 687ee8d6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -736,7 +736,8 @@ public class PreferencesHelper implements RankingConfig {
            }
            updatedChannel.setImportanceLockedByCriticalDeviceFunction(
                    r.defaultAppLockedImportance);
            if (updatedChannel.isImportanceLockedByCriticalDeviceFunction()) {
            if (updatedChannel.isImportanceLockedByCriticalDeviceFunction()
                    && updatedChannel.getImportance() == IMPORTANCE_NONE) {
                updatedChannel.setImportance(channel.getImportance());
            }

+9 −6
Original line number Diff line number Diff line
@@ -66,6 +66,9 @@ import android.util.ArraySet;
import android.util.Pair;
import android.util.Xml;

import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;

import com.android.internal.util.FastXmlSerializer;
import com.android.server.UiServiceTestCase;

@@ -90,9 +93,6 @@ import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ThreadLocalRandom;

import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;

@SmallTest
@RunWith(AndroidJUnit4.class)
public class PreferencesHelperTest extends UiServiceTestCase {
@@ -2520,7 +2520,6 @@ public class PreferencesHelperTest extends UiServiceTestCase {
        toAdd.add(new Pair(PKG_O, UID_O));
        mHelper.updateDefaultApps(UserHandle.getUserId(UID_O), null, toAdd);


        assertTrue(mHelper.getNotificationChannel(PKG_O, UID_O, a.getId(), false)
                .isImportanceLockedByCriticalDeviceFunction());
        assertFalse(mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, b.getId(), false)
@@ -2623,16 +2622,20 @@ public class PreferencesHelperTest extends UiServiceTestCase {
        update.setAllowBubbles(false);

        mHelper.updateNotificationChannel(PKG_O, UID_O, update, true);

        assertEquals(IMPORTANCE_HIGH,
                mHelper.getNotificationChannel(PKG_O, UID_O, a.getId(), false).getImportance());
        assertEquals(false,
                mHelper.getNotificationChannel(PKG_O, UID_O, a.getId(), false).canBubble());

        mHelper.updateNotificationChannel(PKG_O, UID_O, update, false);

        assertEquals(IMPORTANCE_HIGH,
                mHelper.getNotificationChannel(PKG_O, UID_O, a.getId(), false).getImportance());

        NotificationChannel updateImportanceLow = new NotificationChannel("a", "a",
                IMPORTANCE_LOW);
        mHelper.updateNotificationChannel(PKG_O, UID_O, updateImportanceLow, true);
        assertEquals(IMPORTANCE_LOW,
                mHelper.getNotificationChannel(PKG_O, UID_O, a.getId(), false).getImportance());
    }

    @Test