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

Commit bfba9d48 authored by Tony Mak's avatar Tony Mak
Browse files

Disallow user to block notification from OobConfig

Change-Id: Ifb2ea790559fc91f88b38ecf29a2b0a7949aeabb
Fix: 29632126
parent 1eb8c69b
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ public class Utils {
     * Determine whether a package is a "system package", in which case certain things (like
     * disabling notifications or disabling the package altogether) should be disallowed.
     */
    public static boolean isSystemPackage(PackageManager pm, PackageInfo pkg) {
    public static boolean isSystemPackage(Resources resources, PackageManager pm, PackageInfo pkg) {
        if (sSystemSignature == null) {
            sSystemSignature = new Signature[]{ getSystemSignature(pm) };
        }
@@ -187,7 +187,8 @@ public class Utils {
                || pkg.packageName.equals(sPermissionControllerPackageName)
                || pkg.packageName.equals(sServicesSystemSharedLibPackageName)
                || pkg.packageName.equals(sSharedSystemSharedLibPackageName)
                || pkg.packageName.equals(PrintManager.PRINT_SPOOLER_PACKAGE_NAME);
                || pkg.packageName.equals(PrintManager.PRINT_SPOOLER_PACKAGE_NAME)
                || isDeviceProvisioningPackage(resources, pkg.packageName);
    }

    private static Signature getFirstSignature(PackageInfo pkg) {
@@ -205,4 +206,14 @@ public class Utils {
        }
        return null;
    }

    /**
     * Returns {@code true} if the supplied package is the device provisioning app. Otherwise,
     * returns {@code false}.
     */
    public static boolean isDeviceProvisioningPackage(Resources resources, String packageName) {
        String deviceProvisioningPackage = resources.getString(
                com.android.internal.R.string.config_deviceProvisioningPackage);
        return deviceProvisioningPackage != null && deviceProvisioningPackage.equals(packageName);
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -186,7 +186,7 @@ public class NotificationGuts extends LinearLayout implements TunerService.Tunab
        try {
            final PackageInfo info =
                    pm.getPackageInfo(sbn.getPackageName(), PackageManager.GET_SIGNATURES);
            systemApp = Utils.isSystemPackage(pm, info);
            systemApp = Utils.isSystemPackage(getResources(), pm, info);
        } catch (PackageManager.NameNotFoundException e) {
            // unlikely.
        }