Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35b24922 authored by Malcolm Chen's avatar Malcolm Chen
Browse files

[Mainline] Make canManageSubscription(SubscriptionInfo, String)

System API.

Bug: 146900942
Test: Build flash and bootup
Change-Id: I824582f9203b950d1153091181de345629adfe65
parent 032c3aa7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9880,6 +9880,7 @@ package android.telephony {
  public class SubscriptionManager {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
    method public boolean canManageSubscription(@Nullable android.telephony.SubscriptionInfo, @Nullable String);
    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
+5 −6
Original line number Diff line number Diff line
@@ -2655,8 +2655,7 @@ public class SubscriptionManager {

    /**
     * Checks whether the app with the given context is authorized to manage the given subscription
     * according to its metadata. Only supported for embedded subscriptions (if
     * {@code SubscriptionInfo#isEmbedded} returns true).
     * according to its metadata.
     *
     * @param info The subscription to check.
     * @return whether the app is authorized to manage this subscription per its metadata.
@@ -2669,16 +2668,16 @@ public class SubscriptionManager {
     * Checks whether the given app is authorized to manage the given subscription. An app can only
     * be authorized if it is included in the {@link android.telephony.UiccAccessRule} of the
     * {@link android.telephony.SubscriptionInfo} with the access status.
     * Only supported for embedded subscriptions (if {@link SubscriptionInfo#isEmbedded}
     * returns true).
     *
     * @param info The subscription to check.
     * @param packageName Package name of the app to check.
     * @return whether the app is authorized to manage this subscription per its access rules.
     * @hide
     */
    public boolean canManageSubscription(SubscriptionInfo info, String packageName) {
        if (info == null || info.getAllAccessRules() == null) {
    @SystemApi
    public boolean canManageSubscription(@Nullable SubscriptionInfo info,
            @Nullable String packageName) {
        if (info == null || info.getAllAccessRules() == null || packageName == null) {
            return false;
        }
        PackageManager packageManager = mContext.getPackageManager();