Add System API to indicate whether physical SIM can be disabled.
Bug: 133379187 Test: build Change-Id: I764f344b0d430cb49ccccc9f402139ea32e70c92
This commit is contained in:
@@ -8657,6 +8657,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);
|
||||
|
||||
@@ -3110,7 +3110,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
|
||||
@@ -3141,6 +3145,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.
|
||||
|
||||
@@ -298,4 +298,6 @@ interface ISub {
|
||||
boolean setAlwaysAllowMmsData(int subId, boolean alwaysAllow);
|
||||
|
||||
int getActiveDataSubscriptionId();
|
||||
|
||||
boolean canDisablePhysicalSubscription();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user