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

Commit f1f7f8a0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add Setting API to set/get enriched calling with call composer user option"

parents a6c4b351 ccc5af20
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -42296,6 +42296,7 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean doesSwitchMultiSimConfigTriggerReboot();
    method public int getActiveModemCount();
    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public java.util.List<android.telephony.CellInfo> getAllCellInfo();
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getCallComposerStatus();
    method public int getCallState();
    method public int getCardIdForDefaultEuicc();
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @WorkerThread public android.os.PersistableBundle getCarrierConfig();
@@ -42392,6 +42393,7 @@ package android.telephony {
    method @Deprecated public String sendEnvelopeWithStatus(String);
    method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
    method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallComposerStatus(int);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledForReason(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
@@ -42432,6 +42434,8 @@ package android.telephony {
    field public static final int APPTYPE_USIM = 2; // 0x2
    field public static final int AUTHTYPE_EAP_AKA = 129; // 0x81
    field public static final int AUTHTYPE_EAP_SIM = 128; // 0x80
    field public static final int CALL_COMPOSER_STATUS_OFF = 0; // 0x0
    field public static final int CALL_COMPOSER_STATUS_ON = 1; // 0x1
    field public static final int CALL_STATE_IDLE = 0; // 0x0
    field public static final int CALL_STATE_OFFHOOK = 2; // 0x2
    field public static final int CALL_STATE_RINGING = 1; // 0x1
+71 −0
Original line number Diff line number Diff line
@@ -8671,6 +8671,77 @@ public class TelephonyManager {
        return Collections.EMPTY_LIST;
    }
    /**
     * Call composer status OFF from user setting.
     */
    public static final int CALL_COMPOSER_STATUS_OFF = 0;
    /**
     * Call composer status ON from user setting.
     */
    public static final int CALL_COMPOSER_STATUS_ON = 1;
    /** @hide */
    @IntDef(prefix = {"CALL_COMPOSER_STATUS_"},
            value = {
                CALL_COMPOSER_STATUS_ON,
                CALL_COMPOSER_STATUS_OFF,
            })
    public @interface CallComposerStatus {}
    /**
     * Set the user-set status for enriched calling with call composer.
     *
     * @param status user-set status for enriched calling with call composer;
     *               it must be a value of either {@link #CALL_COMPOSER_STATUS_ON}
     *               or {@link #CALL_COMPOSER_STATUS_OFF}.
     *
     * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the
     * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultSubscriptionId()}
     *
     * @throws IllegalArgumentException if requested state is invalid.
     * @throws SecurityException if the caller does not have the permission.
     */
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public void setCallComposerStatus(@CallComposerStatus int status) {
        if (status != CALL_COMPOSER_STATUS_ON && status != CALL_COMPOSER_STATUS_OFF) {
            throw new IllegalArgumentException("requested status is invalid");
        }
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                telephony.setCallComposerStatus(getSubId(), status);
            }
        } catch (RemoteException ex) {
            Log.e(TAG, "Error calling ITelephony#setCallComposerStatus", ex);
            ex.rethrowFromSystemServer();
        }
    }
    /**
     * Get the user-set status for enriched calling with call composer.
     *
     * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the
     * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultSubscriptionId()}
     *
     * @throws SecurityException if the caller does not have the permission.
     *
     * @return the user-set status for enriched calling with call composer either
     * {@link #CALL_COMPOSER_STATUS_ON} or {@link #CALL_COMPOSER_STATUS_OFF}.
     */
    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public @CallComposerStatus int getCallComposerStatus() {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.getCallComposerStatus(getSubId());
            }
        } catch (RemoteException ex) {
            Log.e(TAG, "Error calling ITelephony#getCallComposerStatus", ex);
            ex.rethrowFromSystemServer();
        }
        return CALL_COMPOSER_STATUS_OFF;
    }
    /** @hide */
    @SystemApi
+9 −0
Original line number Diff line number Diff line
@@ -128,6 +128,15 @@ interface ITelephony {
     */
    boolean isRadioOnForSubscriberWithFeature(int subId, String callingPackage, String callingFeatureId);

    /**
     * Set the user-set status for enriched calling with call composer.
     */
    void setCallComposerStatus(int subId, int status);

    /**
     * Get the user-set status for enriched calling with call composer.
     */
    int getCallComposerStatus(int subId);

    /**
     * Supply a pin to unlock the SIM for particular subId.