Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6078cfeb authored by Jack Yu's avatar Jack Yu
Browse files

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
parent b327a4a3
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -5521,6 +5521,44 @@ public class TelephonyManager {
                TelephonyProperties.PROPERTY_SIM_STATE, state);
    }

    /**
     * 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.
     *
+8 −0
Original line number Diff line number Diff line
@@ -1287,4 +1287,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);
}