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 { try {
packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
} catch (PackageManager.NameNotFoundException e) { } 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) { for (UiccAccessRule rule : allAccessRules) {
if (rule.getCarrierPrivilegeStatus(packageInfo) if (rule.getCarrierPrivilegeStatus(packageInfo)
@@ -612,7 +613,9 @@ public class SubscriptionInfo implements Parcelable {
*/ */
public @Nullable List<UiccAccessRule> getAllAccessRules() { public @Nullable List<UiccAccessRule> getAllAccessRules() {
List<UiccAccessRule> merged = new ArrayList<>(); List<UiccAccessRule> merged = new ArrayList<>();
if (mNativeAccessRules != null) merged.addAll(getAccessRules()); if (mNativeAccessRules != null) {
merged.addAll(getAccessRules());
}
if (mCarrierConfigAccessRules != null) { if (mCarrierConfigAccessRules != null) {
merged.addAll(Arrays.asList(mCarrierConfigAccessRules)); merged.addAll(Arrays.asList(mCarrierConfigAccessRules));
} }

View File

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