Merge "Add a null check for the result of nullable API." into udc-dev am: 93b38f5b31 am: ea77b55560

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

Change-Id: I00a122be19e1df82ded83fe5f37337d1dc1c9032
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Alex Buynytskyy
2023-06-07 15:29:19 +00:00
committed by Automerger Merge Worker
2 changed files with 22 additions and 6 deletions

View File

@@ -3742,11 +3742,16 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile
if (parser.getName().equals(TAG_PERMISSIONS)) {
final LegacyPermissionState legacyState;
if (ps.hasSharedUser()) {
legacyState = getSettingLPr(ps.getSharedUserAppId()).getLegacyPermissionState();
final SettingBase sharedUserSettings = getSettingLPr(
ps.getSharedUserAppId());
legacyState = sharedUserSettings != null
? sharedUserSettings.getLegacyPermissionState() : null;
} else {
legacyState = ps.getLegacyPermissionState();
}
readInstallPermissionsLPr(parser, legacyState, users);
if (legacyState != null) {
readInstallPermissionsLPr(parser, legacyState, users);
}
} else if (parser.getName().equals(TAG_USES_STATIC_LIB)) {
readUsesStaticLibLPw(parser, ps);
} else if (parser.getName().equals(TAG_USES_SDK_LIB)) {

View File

@@ -140,6 +140,7 @@ import com.android.server.pm.parsing.pkg.AndroidPackageUtils;
import com.android.server.pm.pkg.AndroidPackage;
import com.android.server.pm.pkg.PackageState;
import com.android.server.pm.pkg.PackageStateInternal;
import com.android.server.pm.pkg.SharedUserApi;
import com.android.server.pm.pkg.component.ComponentMutateUtils;
import com.android.server.pm.pkg.component.ParsedPermission;
import com.android.server.pm.pkg.component.ParsedPermissionGroup;
@@ -4446,8 +4447,13 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
final int appId = ps.getAppId();
final LegacyPermissionState legacyState;
if (ps.hasSharedUser()) {
legacyState = mPackageManagerInt.getSharedUserApi(
ps.getSharedUserAppId()).getSharedUserLegacyPermissionState();
final int sharedUserId = ps.getSharedUserAppId();
SharedUserApi sharedUserApi = mPackageManagerInt.getSharedUserApi(sharedUserId);
if (sharedUserApi == null) {
Slog.wtf(TAG, "Missing shared user Api for " + sharedUserId);
return;
}
legacyState = sharedUserApi.getSharedUserLegacyPermissionState();
} else {
legacyState = ps.getLegacyPermissionState();
}
@@ -4492,8 +4498,13 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
ps.setInstallPermissionsFixed(false);
final LegacyPermissionState legacyState;
if (ps.hasSharedUser()) {
legacyState = mPackageManagerInt.getSharedUserApi(
ps.getSharedUserAppId()).getSharedUserLegacyPermissionState();
final int sharedUserId = ps.getSharedUserAppId();
SharedUserApi sharedUserApi = mPackageManagerInt.getSharedUserApi(sharedUserId);
if (sharedUserApi == null) {
Slog.wtf(TAG, "Missing shared user Api for " + sharedUserId);
return;
}
legacyState = sharedUserApi.getSharedUserLegacyPermissionState();
} else {
legacyState = ps.getLegacyPermissionState();
}