Add APIs to get/set if usage of multiple SIMs is restricted.
Add API that indicates if the usage of multiple SIMs at the same time is allowed or restricted in order to support requirements from carriers for dual SIM devices Bug: 123537730 Test: Verified with test application. Change-Id: I5e3e5ff41927e43ead4a30988630cf9125d5a048
This commit is contained in:
@@ -7802,6 +7802,7 @@ package android.telephony {
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCurrentPotentialEmergencyNumber(@NonNull String);
|
||||
method public boolean isDataConnectivityPossible();
|
||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMultisimCarrierRestricted();
|
||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
|
||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
|
||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
|
||||
@@ -7818,6 +7819,7 @@ package android.telephony {
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultisimCarrierRestriction(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmap(int);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
|
||||
|
||||
@@ -10156,4 +10156,52 @@ public class TelephonyManager {
|
||||
*/
|
||||
public static final String EXTRA_NETWORK_COUNTRY =
|
||||
"android.telephony.extra.NETWORK_COUNTRY";
|
||||
|
||||
/**
|
||||
* Indicate if the user is allowed to use multiple SIM cards at the same time to register
|
||||
* on the network (e.g. Dual Standby or Dual Active) when the device supports it, or if the
|
||||
* usage is restricted. This API is used to prevent usage of multiple SIM card, based on
|
||||
* policies of the carrier.
|
||||
* <p>Note: the API does not prevent access to the SIM cards for operations that don't require
|
||||
* access to the network.
|
||||
*
|
||||
* @param isMultisimCarrierRestricted true if usage of multiple SIMs is restricted, false
|
||||
* otherwise.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
||||
public void setMultisimCarrierRestriction(boolean isMultisimCarrierRestricted) {
|
||||
try {
|
||||
ITelephony service = getITelephony();
|
||||
if (service != null) {
|
||||
service.setMultisimCarrierRestriction(isMultisimCarrierRestricted);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "setMultisimCarrierRestriction RemoteException", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the usage of multiple SIM cards at the same time to register on the network
|
||||
* (e.g. Dual Standby or Dual Active) is restricted.
|
||||
*
|
||||
* @return true if usage of multiple SIMs is restricted, false otherwise.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||
public boolean isMultisimCarrierRestricted() {
|
||||
try {
|
||||
ITelephony service = getITelephony();
|
||||
if (service != null) {
|
||||
return service.isMultisimCarrierRestricted();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "isMultisimCarrierRestricted RemoteException", e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1816,4 +1816,16 @@ interface ITelephony {
|
||||
* Enable or disable a logical modem stack associated with the slotIndex.
|
||||
*/
|
||||
boolean enableModemForSlot(int slotIndex, boolean enable);
|
||||
|
||||
/**
|
||||
* Indicate if the enablement of multi SIM functionality is restricted.
|
||||
* @hide
|
||||
*/
|
||||
void setMultisimCarrierRestriction(boolean isMultisimCarrierRestricted);
|
||||
|
||||
/**
|
||||
* Returns if the usage of multiple SIM cards at the same time is restricted.
|
||||
* @hide
|
||||
*/
|
||||
boolean isMultisimCarrierRestricted();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user