Fixes NPE and adds @Nullable to PackageSetting.pkg
This change addresses an NPE encountered when a package setting refers to an unavailable package and is thus null. It adds a @Nullable annotation to the field to hopefully catch more of this type of error going forward. Fixes: 153007501 Test: atest AppEnumerationTests PackageManagerTest Change-Id: I0ffe1f488d69d45893c96c755e48e19de43fcdf2
This commit is contained in:
@@ -674,7 +674,8 @@ public class AppsFilter {
|
||||
Trace.endSection();
|
||||
|
||||
if (callingPkgSetting != null) {
|
||||
if (!mFeatureConfig.packageIsEnabled(callingPkgSetting.pkg)) {
|
||||
if (callingPkgSetting.pkg != null
|
||||
&& !mFeatureConfig.packageIsEnabled(callingPkgSetting.pkg)) {
|
||||
if (DEBUG_LOGGING) {
|
||||
log(callingSetting, targetPkgSetting, "DISABLED");
|
||||
}
|
||||
@@ -682,7 +683,8 @@ public class AppsFilter {
|
||||
}
|
||||
} else {
|
||||
for (int i = callingSharedPkgSettings.size() - 1; i >= 0; i--) {
|
||||
if (!mFeatureConfig.packageIsEnabled(callingSharedPkgSettings.valueAt(i).pkg)) {
|
||||
final AndroidPackage pkg = callingSharedPkgSettings.valueAt(i).pkg;
|
||||
if (pkg != null && !mFeatureConfig.packageIsEnabled(pkg)) {
|
||||
if (DEBUG_LOGGING) {
|
||||
log(callingSetting, targetPkgSetting, "DISABLED");
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ import java.util.Set;
|
||||
public class PackageSetting extends PackageSettingBase {
|
||||
int appId;
|
||||
|
||||
@Nullable
|
||||
public AndroidPackage pkg;
|
||||
/**
|
||||
* WARNING. The object reference is important. We perform integer equality and NOT
|
||||
|
||||
Reference in New Issue
Block a user