Add System API to enable / disable a logical modem.
Bug: 122926141 Test: unittest Change-Id: Ifeb3b135ba9ecba8982a911f369fa266468d2e45
This commit is contained in:
@@ -6827,6 +6827,7 @@ package android.telephony {
|
||||
method public void dial(java.lang.String);
|
||||
method public boolean disableDataConnectivity();
|
||||
method public boolean enableDataConnectivity();
|
||||
method public boolean enableModemForSlot(int, boolean);
|
||||
method public void enableVideoCalling(boolean);
|
||||
method public java.lang.String getAidForAppType(int);
|
||||
method public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
|
||||
|
||||
@@ -9972,4 +9972,33 @@ public class TelephonyManager {
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable a logical modem stack. When a logical modem is disabled, the corresponding
|
||||
* SIM will still be visible to the user but its mapping modem will not have any radio activity.
|
||||
* For example, we will disable a modem when user or system believes the corresponding SIM
|
||||
* is temporarily not needed (e.g. out of coverage), and will enable it back on when needed.
|
||||
*
|
||||
* Requires that the calling app has permission
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
|
||||
* @param slotIndex which corresponding modem will operate on.
|
||||
* @param enable whether to enable or disable the modem stack.
|
||||
* @return whether the operation is successful.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
||||
public boolean enableModemForSlot(int slotIndex, boolean enable) {
|
||||
boolean ret = false;
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null) {
|
||||
ret = telephony.enableModemForSlot(slotIndex, enable);
|
||||
}
|
||||
} catch (RemoteException ex) {
|
||||
Log.e(TAG, "enableModem RemoteException", ex);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1787,4 +1787,9 @@ interface ITelephony {
|
||||
* Get the full emergency number list for Test Mode.
|
||||
*/
|
||||
List<String> getEmergencyNumberListTestMode();
|
||||
|
||||
/**
|
||||
* Enable or disable a logical modem stack associated with the slotIndex.
|
||||
*/
|
||||
boolean enableModemForSlot(int slotIndex, boolean enable);
|
||||
}
|
||||
|
||||
@@ -489,6 +489,7 @@ public interface RILConstants {
|
||||
int RIL_REQUEST_STOP_NETWORK_SCAN = 143;
|
||||
int RIL_REQUEST_START_KEEPALIVE = 144;
|
||||
int RIL_REQUEST_STOP_KEEPALIVE = 145;
|
||||
int RIL_REQUEST_ENABLE_MODEM = 146;
|
||||
|
||||
/* The following requests are not defined in RIL.h */
|
||||
int RIL_REQUEST_HAL_NON_RIL_BASE = 200;
|
||||
|
||||
Reference in New Issue
Block a user