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

Commit 03664c94 authored by Jack Yu's avatar Jack Yu Committed by Gerrit Code Review
Browse files

Merge "Added indication update mode support"

parents 2cd2a6ae 7ae19636
Loading
Loading
Loading
Loading
+79 −0
Original line number Original line Diff line number Diff line
@@ -7465,4 +7465,83 @@ public class TelephonyManager {
            Log.e(TAG, "Error calling ITelephony#setUserDataEnabled", e);
            Log.e(TAG, "Error calling ITelephony#setUserDataEnabled", e);
        }
        }
    }
    }

    /**
     * In this mode, modem will not send specified indications when screen is off.
     * @hide
     */
    public static final int INDICATION_UPDATE_MODE_NORMAL                   = 1;

    /**
     * In this mode, modem will still send specified indications when screen is off.
     * @hide
     */
    public static final int INDICATION_UPDATE_MODE_IGNORE_SCREEN_OFF        = 2;

    /** @hide */
    @IntDef(prefix = { "INDICATION_UPDATE_MODE_" }, value = {
            INDICATION_UPDATE_MODE_NORMAL,
            INDICATION_UPDATE_MODE_IGNORE_SCREEN_OFF
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface IndicationUpdateMode{}

    /**
     * The indication for signal strength update.
     * @hide
     */
    public static final int INDICATION_FILTER_SIGNAL_STRENGTH               = 0x1;

    /**
     * The indication for full network state update.
     * @hide
     */
    public static final int INDICATION_FILTER_FULL_NETWORK_STATE            = 0x2;

    /**
     * The indication for data call dormancy changed update.
     * @hide
     */
    public static final int INDICATION_FILTER_DATA_CALL_DORMANCY_CHANGED    = 0x4;

    /** @hide */
    @IntDef(flag = true, prefix = { "INDICATION_FILTER_" }, value = {
            INDICATION_FILTER_SIGNAL_STRENGTH,
            INDICATION_FILTER_FULL_NETWORK_STATE,
            INDICATION_FILTER_DATA_CALL_DORMANCY_CHANGED
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface IndicationFilters{}

    /**
     * Sets radio indication update mode. This can be used to control the behavior of indication
     * update from modem to Android frameworks. For example, by default several indication updates
     * are turned off when screen is off, but in some special cases (e.g. carkit is connected but
     * screen is off) we want to turn on those indications even when the screen is off.
     *
     * <p>Requires Permission:
     *   {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
     *
     * @param filters Indication filters. Should be a bitmask of INDICATION_FILTER_XXX.
     * @see #INDICATION_FILTER_SIGNAL_STRENGTH
     * @see #INDICATION_FILTER_FULL_NETWORK_STATE
     * @see #INDICATION_FILTER_DATA_CALL_DORMANCY_CHANGED
     * @param updateMode The voice activation state
     * @see #INDICATION_UPDATE_MODE_NORMAL
     * @see #INDICATION_UPDATE_MODE_IGNORE_SCREEN_OFF
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public void setRadioIndicationUpdateMode(@IndicationFilters int filters,
                                             @IndicationUpdateMode int updateMode) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                telephony.setRadioIndicationUpdateMode(getSubId(), filters, updateMode);
            }
        } catch (RemoteException ex) {
            // This could happen if binder process crashes.
            ex.rethrowAsRuntimeException();
        }
    }
}
}
+8 −0
Original line number Original line Diff line number Diff line
@@ -1479,4 +1479,12 @@ interface ITelephony {
     * @return boolean Return true if the switch succeeds, false if the switch fails.
     * @return boolean Return true if the switch succeeds, false if the switch fails.
     */
     */
    boolean switchSlots(in int[] physicalSlots);
    boolean switchSlots(in int[] physicalSlots);

    /**
     * Sets radio indication update mode. This can be used to control the behavior of indication
     * update from modem to Android frameworks. For example, by default several indication updates
     * are turned off when screen is off, but in some special cases (e.g. carkit is connected but
     * screen is off) we want to turn on those indications even when the screen is off.
     */
    void setRadioIndicationUpdateMode(int subId, int filters, int mode);
}
}