Expose setUiccApplicationsEnabled as @SystemApi for eSIM to call upon slot mapping change.

am: 4ece3db113

Change-Id: I06d6c9bf6dfda3a7a95de3d70220ea9d838e4916
This commit is contained in:
Malcolm Chen
2020-01-08 16:08:17 -08:00
committed by android-build-merger
3 changed files with 31 additions and 0 deletions

View File

@@ -8927,6 +8927,7 @@ package android.telephony {
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(boolean, int);
field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
field public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff

View File

@@ -3166,6 +3166,34 @@ public class SubscriptionManager {
return false;
}
/**
* Set uicc applications being enabled or disabled.
* The value will be remembered on the subscription and will be applied whenever it's present.
* If the subscription in currently present, it will also apply the setting to modem
* immediately.
*
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
*
* @param enabled whether uicc applications are enabled or disabled.
* @param subscriptionId which subscription to operate on.
* @hide
*/
@SystemApi
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
public void setUiccApplicationsEnabled(boolean enabled, int subscriptionId) {
if (VDBG) {
logd("setUiccApplicationsEnabled subId= " + subscriptionId + " enable " + enabled);
}
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
iSub.setUiccApplicationsEnabled(enabled, subscriptionId);
}
} catch (RemoteException ex) {
// ignore it
}
}
/**
* Whether it's supported to disable / re-enable a subscription on a physical (non-euicc) SIM.
*

View File

@@ -285,4 +285,6 @@ interface ISub {
int getActiveDataSubscriptionId();
boolean canDisablePhysicalSubscription();
int setUiccApplicationsEnabled(boolean enabled, int subscriptionId);
}