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

Commit c616be6f authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Check distraction flags in addition to suspension state" into...

Merge "Merge "Check distraction flags in addition to suspension state" into qt-qpr1-dev am: ad7f37d4" into qt-qpr1-dev-plus-aosp
parents bdb2f1c3 ab1a7672
Loading
Loading
Loading
Loading
+15 −17
Original line number Diff line number Diff line
@@ -2266,7 +2266,7 @@ public class NotificationManagerService extends SystemService {
            final int callingUid = Binder.getCallingUid();
            final boolean isSystemToast = isCallerSystemOrPhone()
                    || PackageManagerService.PLATFORM_PACKAGE_NAME.equals(pkg);
            final boolean isPackageSuspended = isPackageSuspendedForUser(pkg, callingUid);
            final boolean isPackageSuspended = isPackagePaused(pkg);
            final boolean notificationsDisabledForPackage = !areNotificationsEnabledForPackage(pkg,
                    callingUid);

@@ -4120,17 +4120,7 @@ public class NotificationManagerService extends SystemService {
            Preconditions.checkNotNull(pkg);
            checkCallerIsSameApp(pkg);

            boolean isPaused;

            final PackageManagerInternal pmi = LocalServices.getService(
                    PackageManagerInternal.class);
            int flags = pmi.getDistractingPackageRestrictions(
                    pkg, Binder.getCallingUserHandle().getIdentifier());
            isPaused = ((flags & PackageManager.RESTRICTION_HIDE_NOTIFICATIONS) != 0);

            isPaused |= isPackageSuspendedForUser(pkg, Binder.getCallingUid());

            return isPaused;
            return isPackagePausedOrSuspended(pkg, Binder.getCallingUid());
        }

        private void verifyPrivilegedListener(INotificationListener token, UserHandle user,
@@ -5352,11 +5342,18 @@ public class NotificationManagerService extends SystemService {
    }

    @GuardedBy("mNotificationLock")
    private boolean isPackageSuspendedLocked(NotificationRecord r) {
        final String pkg = r.sbn.getPackageName();
        final int callingUid = r.sbn.getUid();
    boolean isPackagePausedOrSuspended(String pkg, int uid) {
        boolean isPaused;

        final PackageManagerInternal pmi = LocalServices.getService(
                PackageManagerInternal.class);
        int flags = pmi.getDistractingPackageRestrictions(
                pkg, Binder.getCallingUserHandle().getIdentifier());
        isPaused = ((flags & PackageManager.RESTRICTION_HIDE_NOTIFICATIONS) != 0);

        return isPackageSuspendedForUser(pkg, callingUid);
        isPaused |= isPackageSuspendedForUser(pkg, uid);

        return isPaused;
    }

    protected class PostNotificationRunnable implements Runnable {
@@ -5389,7 +5386,8 @@ public class NotificationManagerService extends SystemService {
                        return;
                    }

                    final boolean isPackageSuspended = isPackageSuspendedLocked(r);
                    final boolean isPackageSuspended =
                            isPackagePausedOrSuspended(r.sbn.getPackageName(), r.getUid());
                    r.setHidden(isPackageSuspended);
                    if (isPackageSuspended) {
                        mUsageStats.registerSuspendedByAdmin(r);