From 6078cfebb074bbd0db504182d12e2774f1000bff Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Thu, 16 Feb 2017 15:31:59 -0800 Subject: [PATCH] Added telephony manager set sim power state API The new API can be used to power up/down the SIM. This is equivalent to inserting and removing the card. Test: Telephony sanity tests bug: 32224755 Change-Id: Ib82ab1eff613946e7c31c9b2131183a40d09af80 --- .../java/android/telephony/TelephonyManager.java | 38 ++++++++++++++++++++++ .../com/android/internal/telephony/ITelephony.aidl | 8 +++++ 2 files changed, 46 insertions(+) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index c2c724fa0fdb..7c9c0e81fbca 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -5522,6 +5522,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 + * + *

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 + * + *

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 e6a6178dbba6..88daf64fb4ad 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1287,4 +1287,12 @@ interface ITelephony { * @hide */ List 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); } -- 2.11.0