Merge "Fix crashes seen when checking for carrierConfig certificates" into qt-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
848df9895f
@@ -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));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user