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

Commit df483f37 authored by Guojing Yuan's avatar Guojing Yuan Committed by Automerger Merge Worker
Browse files

Merge "Catch NameNotFoundException during onPackageModified" into tm-qpr-dev...

Merge "Catch NameNotFoundException during onPackageModified" into tm-qpr-dev am: a84c7a7b am: 3bd44bc1

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20091660



Change-Id: I18d13f932bf1884b531b56c66eb1161aa4b71a81
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b7637b71 3bd44bc1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1175,6 +1175,9 @@ public class CompanionDeviceManagerService extends SystemService {
    }

    private void updateSpecialAccessPermissionAsSystem(PackageInfo packageInfo) {
        if (packageInfo == null) {
            return;
        }
        if (containsEither(packageInfo.requestedPermissions,
                android.Manifest.permission.RUN_IN_BACKGROUND,
                android.Manifest.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND)) {
+10 −3
Original line number Diff line number Diff line
@@ -54,12 +54,19 @@ final class PackageUtils {
    private static final String PROPERTY_PRIMARY_TAG =
            "android.companion.PROPERTY_PRIMARY_COMPANION_DEVICE_SERVICE";

    static @Nullable PackageInfo getPackageInfo(@NonNull Context context,
    @Nullable
    static PackageInfo getPackageInfo(@NonNull Context context,
            @UserIdInt int userId, @NonNull String packageName) {
        final PackageManager pm = context.getPackageManager();
        final PackageInfoFlags flags = PackageInfoFlags.of(GET_PERMISSIONS | GET_CONFIGURATIONS);
        return Binder.withCleanCallingIdentity(() ->
                pm.getPackageInfoAsUser(packageName, flags , userId));
        return Binder.withCleanCallingIdentity(() -> {
            try {
                return pm.getPackageInfoAsUser(packageName, flags, userId);
            } catch (PackageManager.NameNotFoundException e) {
                Slog.e(TAG, "Package [" + packageName + "] is not found.");
                return null;
            }
        });
    }

    static void enforceUsesCompanionDeviceFeature(@NonNull Context context,