Merge "Catch NameNotFoundException during onPackageModified" into tm-qpr-dev
This commit is contained in:
@@ -1152,6 +1152,9 @@ public class CompanionDeviceManagerService extends SystemService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateSpecialAccessPermissionAsSystem(PackageInfo packageInfo) {
|
private void updateSpecialAccessPermissionAsSystem(PackageInfo packageInfo) {
|
||||||
|
if (packageInfo == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (containsEither(packageInfo.requestedPermissions,
|
if (containsEither(packageInfo.requestedPermissions,
|
||||||
android.Manifest.permission.RUN_IN_BACKGROUND,
|
android.Manifest.permission.RUN_IN_BACKGROUND,
|
||||||
android.Manifest.permission.REQUEST_COMPANION_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 =
|
private static final String PROPERTY_PRIMARY_TAG =
|
||||||
"android.companion.PROPERTY_PRIMARY_COMPANION_DEVICE_SERVICE";
|
"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) {
|
@UserIdInt int userId, @NonNull String packageName) {
|
||||||
final PackageManager pm = context.getPackageManager();
|
final PackageManager pm = context.getPackageManager();
|
||||||
final PackageInfoFlags flags = PackageInfoFlags.of(GET_PERMISSIONS | GET_CONFIGURATIONS);
|
final PackageInfoFlags flags = PackageInfoFlags.of(GET_PERMISSIONS | GET_CONFIGURATIONS);
|
||||||
return Binder.withCleanCallingIdentity(() ->
|
return Binder.withCleanCallingIdentity(() -> {
|
||||||
pm.getPackageInfoAsUser(packageName, flags , userId));
|
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,
|
static void enforceUsesCompanionDeviceFeature(@NonNull Context context,
|
||||||
|
|||||||
Reference in New Issue
Block a user