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

Commit e273f08c authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Add method to get blocked app count

So we can sure it in settings

Test: runtest systemui-notification
Bug: 73018368
Change-Id: Ib0185e97f8e1cec1864ca1e4efb23bf8db097901
parent eac2da20
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ interface INotificationManager
    ParceledListSlice getNotificationChannelGroups(String pkg);
    boolean onlyHasDefaultChannel(String pkg, int uid);
    ParceledListSlice getRecentNotifyingAppsForUser(int userId);
    int getBlockedAppCount(int userId);

    // TODO: Remove this when callers have been migrated to the equivalent
    // INotificationListener method.
+6 −0
Original line number Diff line number Diff line
@@ -2393,6 +2393,12 @@ public class NotificationManagerService extends SystemService {
            }
        }

        @Override
        public int getBlockedAppCount(int userId) {
            checkCallerIsSystem();
            return mRankingHelper.getBlockedAppCount(userId);
        }

        @Override
        public void clearData(String packageName, int uid, boolean fromApp) throws RemoteException {
            checkCallerIsSystem();
+15 −0
Original line number Diff line number Diff line
@@ -1011,6 +1011,21 @@ public class RankingHelper implements RankingConfig {
        return blockedCount;
    }

    public int getBlockedAppCount(int userId) {
        int count = 0;
        synchronized (mRecords) {
            final int N = mRecords.size();
            for (int i = 0; i < N; i++) {
                final Record r = mRecords.valueAt(i);
                if (userId == UserHandle.getUserId(r.uid)
                        && r.importance == IMPORTANCE_NONE) {
                    count++;
                }
            }
        }
        return count;
    }

    /**
     * Sets importance.
     */
+20 −0
Original line number Diff line number Diff line
@@ -1733,4 +1733,24 @@ public class RankingHelperTest extends UiServiceTestCase {
        mHelper.createNotificationChannel(PKG, 1000, update, true, false);
        assertFalse(mHelper.getNotificationChannel(PKG, 1000, "A", false).canBypassDnd());
    }

    @Test
    public void testGetBlockedAppCount_noApps() {
        assertEquals(0, mHelper.getBlockedAppCount(0));
    }

    @Test
    public void testGetBlockedAppCount_noAppsForUserId() {
        mHelper.setEnabled(PKG, 100, false);
        assertEquals(0, mHelper.getBlockedAppCount(9));
    }

    @Test
    public void testGetBlockedAppCount_appsForUserId() {
        mHelper.setEnabled(PKG, 1020, false);
        mHelper.setEnabled(PKG, 1030, false);
        mHelper.setEnabled(PKG, 1060, false);
        mHelper.setEnabled(PKG, 1000, true);
        assertEquals(3, mHelper.getBlockedAppCount(0));
    }
}