Merge "Catch NameNotFoundException during onPackageModified" into tm-qpr-dev am: a84c7a7b5f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20091660 Change-Id: Ica336ac33419c681f3d6320ddaa94fc336da30a5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1152,6 +1152,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)) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user