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

Commit 5b44f9b4 authored by Holly Jiuyu Sun's avatar Holly Jiuyu Sun
Browse files

Allow privileged carrier app to update subscription nickname.

Make EuiccManager#updateSubscriptionNickname as public API to allow
carrier app to call it.
Only a privileged app of the given subscription can update the
subscription nickname.
Refresh cached subscription list after the nickname is successfully
updated.

Bug: 122597547
Test: test on phone
Change-Id: I63c5ec4366f32735a54adf40b9cc0b47af681736
parent 12cd0e44
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -44847,6 +44847,7 @@ package android.telephony.euicc {
    method public boolean isEnabled();
    method public void startResolutionActivity(android.app.Activity, int, android.content.Intent, android.app.PendingIntent) throws android.content.IntentSender.SendIntentException;
    method public void switchToSubscription(int, android.app.PendingIntent);
    method public void updateSubscriptionNickname(int, java.lang.String, android.app.PendingIntent);
    field public static final java.lang.String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
    field public static final java.lang.String ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE = "android.telephony.euicc.action.NOTIFY_CARRIER_SETUP_INCOMPLETE";
    field public static final int EMBEDDED_SUBSCRIPTION_RESULT_ERROR = 2; // 0x2
+4 −5
Original line number Diff line number Diff line
@@ -616,14 +616,13 @@ public class EuiccManager {
    /**
     * Update the nickname for the given subscription.
     *
     * <p>Requires that the calling app has the
     * {@link android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission. This is for
     * internal system use only.
     * <p>Requires that the calling app has carrier privileges according to the metadata of the
     * profile to be updated, or the
     * {@code android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission.
     *
     * @param subscriptionId the ID of the subscription to update.
     * @param nickname the new nickname to apply.
     * @param callbackIntent a PendingIntent to launch when the operation completes.
     * @hide
     */
    @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS)
    public void updateSubscriptionNickname(
@@ -634,7 +633,7 @@ public class EuiccManager {
        }
        try {
            getIEuiccController().updateSubscriptionNickname(
                    subscriptionId, nickname, callbackIntent);
                    subscriptionId, nickname, mContext.getOpPackageName(), callbackIntent);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ interface IEuiccController {
    oneway void switchToSubscription(int subscriptionId, String callingPackage,
        in PendingIntent callbackIntent);
    oneway void updateSubscriptionNickname(int subscriptionId, String nickname,
        in PendingIntent callbackIntent);
        String callingPackage, in PendingIntent callbackIntent);
    oneway void eraseSubscriptions(in PendingIntent callbackIntent);
    oneway void retainSubscriptionsForFactoryReset(in PendingIntent callbackIntent);
}
 No newline at end of file