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

Commit 2d56f107 authored by Hai Zhang's avatar Hai Zhang
Browse files

Fix NPE in pm reset-permissions.

Skip packages that don't have an app ID.

Fixes: 346404508
Test: adb shell pm reset-permissions
Change-Id: I3915a715b8775908cdc1ff7a3ebb79357f4b1a7b
parent 27ff767b
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -336,8 +336,13 @@ public class LegacyPermissionManagerService extends ILegacyPermissionManager.Stu
            final PermissionManagerServiceInternal permissionManagerInternal =
                    LocalServices.getService(PermissionManagerServiceInternal.class);
            for (final int userId : UserManagerService.getInstance().getUserIds()) {
                packageManagerInternal.forEachPackage(pkg ->
                        permissionManagerInternal.resetRuntimePermissions(pkg, userId));
                packageManagerInternal.forEachPackage(pkg -> {
                    // Filter out packages that don't have app IDs which means they don't have
                    // permission states either.
                    if (pkg.getUid() != -1) {
                        permissionManagerInternal.resetRuntimePermissions(pkg, userId);
                    }
                });
            }
        }