Merge "Add System API to indicate whether physical SIM can be disabled." am: 454c0659a6

am: 0b2531862f

Change-Id: If6fe7eabcd6b2bd92c2b516e5083fb3cb558cb09
This commit is contained in:
Xiangyu/Malcolm Chen
2019-12-04 11:48:20 -08:00
committed by android-build-merger
3 changed files with 40 additions and 1 deletions

View File

@@ -8582,6 +8582,7 @@ package android.telephony {
}
public class SubscriptionManager {
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
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);

View File

@@ -3104,7 +3104,11 @@ public class SubscriptionManager {
}
/**
* Enables or disables a subscription. This is currently used in the settings page.
* Enables or disables a subscription. This is currently used in the settings page. It will
* fail and return false if operation is not supported or failed.
*
* To disable an active subscription on a physical (non-Euicc) SIM,
* {@link #canDisablePhysicalSubscription} needs to be true.
*
* <p>
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
@@ -3135,6 +3139,38 @@ public class SubscriptionManager {
return false;
}
/**
* Whether it's supported to disable / re-enable a subscription on a physical (non-euicc) SIM.
*
* Physical SIM refers non-euicc, or aka non-programmable SIM.
*
* It provides whether a physical SIM card can be disabled without taking it out, which is done
* via {@link #setSubscriptionEnabled(int, boolean)} API.
*
* Requires Permission: READ_PRIVILEGED_PHONE_STATE.
*
* @return whether can disable subscriptions on physical SIMs.
*
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean canDisablePhysicalSubscription() {
if (VDBG) {
logd("canDisablePhysicalSubscription");
}
try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
if (iSub != null) {
return iSub.canDisablePhysicalSubscription();
}
} catch (RemoteException ex) {
// ignore it
}
return false;
}
/**
* DO NOT USE.
* This API is designed for features that are not finished at this point. Do not call this API.

View File

@@ -283,4 +283,6 @@ interface ISub {
boolean setAlwaysAllowMmsData(int subId, boolean alwaysAllow);
int getActiveDataSubscriptionId();
boolean canDisablePhysicalSubscription();
}