diff options
| author | 2017-02-16 15:31:59 -0800 | |
|---|---|---|
| committer | 2017-02-21 17:36:45 -0800 | |
| commit | e25a4dfb6a047bd2c937f033482a551842a7870d (patch) | |
| tree | 977e385c3fe53b7679221df9c4fe0c9d1439f25c | |
| parent | 5e2a2ee39e4837169ee0d91ccb9481020896959e (diff) | |
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
| -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); } |