Loading telephony/java/android/telephony/SubscriptionInfo.java +2 −1 Original line number Diff line number Diff line Loading @@ -578,7 +578,8 @@ public class SubscriptionInfo implements Parcelable { PackageManager packageManager = context.getPackageManager(); PackageInfo packageInfo; try { packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES); } catch (PackageManager.NameNotFoundException e) { Log.d("SubscriptionInfo", "canManageSubscription: Unknown package: " + packageName, e); return false; Loading telephony/java/android/telephony/SubscriptionManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -2612,7 +2612,8 @@ public class SubscriptionManager { PackageManager packageManager = mContext.getPackageManager(); PackageInfo packageInfo; try { packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES); } catch (PackageManager.NameNotFoundException e) { logd("Unknown package: " + packageName); return false; Loading telephony/java/android/telephony/UiccAccessRule.java +16 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import android.annotation.Nullable; import android.annotation.SystemApi; import android.content.pm.PackageInfo; import android.content.pm.Signature; import android.content.pm.SigningInfo; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; Loading Loading @@ -168,17 +169,28 @@ public final class UiccAccessRule implements Parcelable { * * @param packageInfo package info fetched from * {@link android.content.pm.PackageManager#getPackageInfo}. * {@link android.content.pm.PackageManager#GET_SIGNATURES} must have been passed in. * {@link android.content.pm.PackageManager#GET_SIGNING_CERTIFICATES} must have been * passed in. * @return either {@link TelephonyManager#CARRIER_PRIVILEGE_STATUS_HAS_ACCESS} or * {@link TelephonyManager#CARRIER_PRIVILEGE_STATUS_NO_ACCESS}. */ public int getCarrierPrivilegeStatus(PackageInfo packageInfo) { if (packageInfo.signatures == null || packageInfo.signatures.length == 0) { Signature[] signatures = packageInfo.signatures; SigningInfo sInfo = packageInfo.signingInfo; if (sInfo != null) { signatures = sInfo.getSigningCertificateHistory(); if (sInfo.hasMultipleSigners()) { signatures = sInfo.getApkContentsSigners(); } } if (signatures == null || signatures.length == 0) { throw new IllegalArgumentException( "Must use GET_SIGNATURES when looking up package info"); "Must use GET_SIGNING_CERTIFICATES when looking up package info"); } for (Signature sig : packageInfo.signatures) { for (Signature sig : signatures) { int accessStatus = getCarrierPrivilegeStatus(sig, packageInfo.packageName); if (accessStatus != TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS) { return accessStatus; Loading Loading
telephony/java/android/telephony/SubscriptionInfo.java +2 −1 Original line number Diff line number Diff line Loading @@ -578,7 +578,8 @@ public class SubscriptionInfo implements Parcelable { PackageManager packageManager = context.getPackageManager(); PackageInfo packageInfo; try { packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES); } catch (PackageManager.NameNotFoundException e) { Log.d("SubscriptionInfo", "canManageSubscription: Unknown package: " + packageName, e); return false; Loading
telephony/java/android/telephony/SubscriptionManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -2612,7 +2612,8 @@ public class SubscriptionManager { PackageManager packageManager = mContext.getPackageManager(); PackageInfo packageInfo; try { packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES); } catch (PackageManager.NameNotFoundException e) { logd("Unknown package: " + packageName); return false; Loading
telephony/java/android/telephony/UiccAccessRule.java +16 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import android.annotation.Nullable; import android.annotation.SystemApi; import android.content.pm.PackageInfo; import android.content.pm.Signature; import android.content.pm.SigningInfo; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; Loading Loading @@ -168,17 +169,28 @@ public final class UiccAccessRule implements Parcelable { * * @param packageInfo package info fetched from * {@link android.content.pm.PackageManager#getPackageInfo}. * {@link android.content.pm.PackageManager#GET_SIGNATURES} must have been passed in. * {@link android.content.pm.PackageManager#GET_SIGNING_CERTIFICATES} must have been * passed in. * @return either {@link TelephonyManager#CARRIER_PRIVILEGE_STATUS_HAS_ACCESS} or * {@link TelephonyManager#CARRIER_PRIVILEGE_STATUS_NO_ACCESS}. */ public int getCarrierPrivilegeStatus(PackageInfo packageInfo) { if (packageInfo.signatures == null || packageInfo.signatures.length == 0) { Signature[] signatures = packageInfo.signatures; SigningInfo sInfo = packageInfo.signingInfo; if (sInfo != null) { signatures = sInfo.getSigningCertificateHistory(); if (sInfo.hasMultipleSigners()) { signatures = sInfo.getApkContentsSigners(); } } if (signatures == null || signatures.length == 0) { throw new IllegalArgumentException( "Must use GET_SIGNATURES when looking up package info"); "Must use GET_SIGNING_CERTIFICATES when looking up package info"); } for (Signature sig : packageInfo.signatures) { for (Signature sig : signatures) { int accessStatus = getCarrierPrivilegeStatus(sig, packageInfo.packageName); if (accessStatus != TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS) { return accessStatus; Loading