Merge "Fix crashes seen when checking for carrierConfig certificates" into qt-qpr1-dev

This commit is contained in:
Nazanin Bakhshi
2019-08-30 19:17:57 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 4 deletions

View File

@@ -580,7 +580,8 @@ public class SubscriptionInfo implements Parcelable {
try {
packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
} catch (PackageManager.NameNotFoundException e) {
throw new IllegalArgumentException("Unknown package: " + packageName, e);
Log.d("SubscriptionInfo", "canManageSubscription: Unknown package: " + packageName, e);
return false;
}
for (UiccAccessRule rule : allAccessRules) {
if (rule.getCarrierPrivilegeStatus(packageInfo)
@@ -612,7 +613,9 @@ public class SubscriptionInfo implements Parcelable {
*/
public @Nullable List<UiccAccessRule> getAllAccessRules() {
List<UiccAccessRule> merged = new ArrayList<>();
if (mNativeAccessRules != null) merged.addAll(getAccessRules());
if (mNativeAccessRules != null) {
merged.addAll(getAccessRules());
}
if (mCarrierConfigAccessRules != null) {
merged.addAll(Arrays.asList(mCarrierConfigAccessRules));
}

View File

@@ -2606,7 +2606,7 @@ public class SubscriptionManager {
* @hide
*/
public boolean canManageSubscription(SubscriptionInfo info, String packageName) {
if (info.getAllAccessRules() == null) {
if (info == null || info.getAllAccessRules() == null) {
return false;
}
PackageManager packageManager = mContext.getPackageManager();
@@ -2614,7 +2614,8 @@ public class SubscriptionManager {
try {
packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
} catch (PackageManager.NameNotFoundException e) {
throw new IllegalArgumentException("Unknown package: " + packageName, e);
logd("Unknown package: " + packageName);
return false;
}
for (UiccAccessRule rule : info.getAllAccessRules()) {
if (rule.getCarrierPrivilegeStatus(packageInfo)