diff options
| -rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 38 | ||||
| -rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 8 |
2 files changed, 46 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index faeeded50d17..ddf5230e0073 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -5333,6 +5333,44 @@ public class TelephonyManager { } /** + * Set SIM card power state. Request is equivalent to inserting or removing the card. + * + * @param powerUp True if powering up the SIM, otherwise powering down + * + * <p>Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * + * @hide + **/ + public void setSimPowerState(boolean powerUp) { + setSimPowerStateForSlot(getDefaultSim(), powerUp); + } + + /** + * Set SIM card power state. Request is equivalent to inserting or removing the card. + * + * @param slotId SIM slot id + * @param powerUp True if powering up the SIM, otherwise powering down + * + * <p>Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * + * @hide + **/ + public void setSimPowerStateForSlot(int slotId, boolean powerUp) { + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + telephony.setSimPowerStateForSlot(slotId, powerUp); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelephony#setSimPowerStateForSlot", e); + } catch (SecurityException e) { + Log.e(TAG, "Permission error calling ITelephony#setSimPowerStateForSlot", e); + } + } + + /** * Set baseband version for the default phone. * * @param version baseband version diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index f89c82ba8289..42a80b77f907 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1227,4 +1227,12 @@ interface ITelephony { * @hide */ List<ClientRequestStats> getClientRequestStats(String callingPackage, int subid); + + /** + * Set SIM card power state. Request is equivalent to inserting or removing the card. + * @param slotId SIM slot id + * @param powerUp True if powering up the SIM, otherwise powering down + * @hide + * */ + void setSimPowerStateForSlot(int slotId, boolean powerUp); } |