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

Commit 9073f557 authored by Rambo Wang's avatar Rambo Wang
Browse files

Support multiple RANs in one request for setSignalStrengthReportingCriteria

- Move AccessNetwork (RAN) into SignalThresholdInfo to be better organized
- Support specifying multiple RANs and measurement types in one request

Bug: 200055871
Test: m -j
Change-Id: Ic6762e8ca488a119b1103319e7443c4342530f8c
parent 2dd3a354
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -64,7 +64,7 @@ interface IRadioNetwork {
  oneway void setNetworkSelectionModeManual(in int serial, in String operatorNumeric, in android.hardware.radio.AccessNetwork ran);
  oneway void setNetworkSelectionModeManual(in int serial, in String operatorNumeric, in android.hardware.radio.AccessNetwork ran);
  oneway void setNrDualConnectivityState(in int serial, in android.hardware.radio.network.NrDualConnectivityState nrDualConnectivityState);
  oneway void setNrDualConnectivityState(in int serial, in android.hardware.radio.network.NrDualConnectivityState nrDualConnectivityState);
  oneway void setResponseFunctions(in android.hardware.radio.network.IRadioNetworkResponse radioNetworkResponse, in android.hardware.radio.network.IRadioNetworkIndication radioNetworkIndication);
  oneway void setResponseFunctions(in android.hardware.radio.network.IRadioNetworkResponse radioNetworkResponse, in android.hardware.radio.network.IRadioNetworkIndication radioNetworkIndication);
  oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.network.SignalThresholdInfo signalThresholdInfo, in android.hardware.radio.AccessNetwork accessNetwork);
  oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.network.SignalThresholdInfo[] signalThresholdInfos);
  oneway void setSuppServiceNotifications(in int serial, in boolean enable);
  oneway void setSuppServiceNotifications(in int serial, in boolean enable);
  oneway void setSystemSelectionChannels(in int serial, in boolean specifyChannels, in android.hardware.radio.network.RadioAccessSpecifier[] specifiers);
  oneway void setSystemSelectionChannels(in int serial, in boolean specifyChannels, in android.hardware.radio.network.RadioAccessSpecifier[] specifiers);
  oneway void startNetworkScan(in int serial, in android.hardware.radio.network.NetworkScanRequest request);
  oneway void startNetworkScan(in int serial, in android.hardware.radio.network.NetworkScanRequest request);
+1 −0
Original line number Original line Diff line number Diff line
@@ -39,6 +39,7 @@ parcelable SignalThresholdInfo {
  int hysteresisDb;
  int hysteresisDb;
  int[] thresholds;
  int[] thresholds;
  boolean isEnabled;
  boolean isEnabled;
  android.hardware.radio.AccessNetwork ran;
  const int SIGNAL_MEASUREMENT_TYPE_RSSI = 1;
  const int SIGNAL_MEASUREMENT_TYPE_RSSI = 1;
  const int SIGNAL_MEASUREMENT_TYPE_RSCP = 2;
  const int SIGNAL_MEASUREMENT_TYPE_RSCP = 2;
  const int SIGNAL_MEASUREMENT_TYPE_RSRP = 3;
  const int SIGNAL_MEASUREMENT_TYPE_RSRP = 3;
+13 −20
Original line number Original line Diff line number Diff line
@@ -364,29 +364,22 @@ oneway interface IRadioNetwork {
            in IRadioNetworkIndication radioNetworkIndication);
            in IRadioNetworkIndication radioNetworkIndication);


    /**
    /**
     * Sets the signal strength reporting criteria. The resulting reporting rules are the AND of all
     * Sets or clears the signal strength reporting criteria for multiple RANs in one request.
     * the supplied criteria. For each RAN the hysteresisDb and thresholds apply to only the
     *
     * following measured quantities:
     * The reporting criteria are set individually for each combination of RAN and measurement type.
     * -GERAN    - RSSI
     * For each RAN type, if no reporting criteria are set, then the reporting of SignalStrength for
     * -CDMA2000 - RSSI
     * that RAN is implementation-defined. If any criteria are supplied for a RAN type, then
     * -UTRAN    - RSCP
     * SignalStrength is only reported as specified by those criteria. For any RAN types not defined
     * -EUTRAN   - RSRP/RSRQ/RSSNR
     * by this HAL, reporting is implementation-defined.
     * -NGRAN    - SSRSRP/SSRSRQ/SSSINR
     *
     * Note that reporting criteria must be individually set for each RAN. For each RAN, if none of
     * @param serial Serial number of request.
     * reporting criteria of any measurement is set enabled (see SignalThresholdInfo.isEnabled),
     * @param signalThresholdInfos Collection of SignalThresholdInfo specifying the reporting
     * the reporting criteria for this RAN is implementation-defined. For each RAN, if any reporting
     *        criteria. See SignalThresholdInfo for details.
     * criteria of any measure is set enabled, the reporting criteria of the other measures in this
     * RAN are set disabled (see SignalThresholdInfo.isEnabled) until they are set enabled.
     *
     * @param serial Serial number of request.
     * @param signalThresholdInfo Signal threshold info including the threshold values,
     *        hysteresisDb, hysteresisMs and isEnabled. See SignalThresholdInfo for details.
     * @param accessNetwork The type of network for which to apply these thresholds.
     *
     *
     * Response function is IRadioNetworkResponse.setSignalStrengthReportingCriteriaResponse()
     * Response function is IRadioNetworkResponse.setSignalStrengthReportingCriteriaResponse()
     */
     */
    void setSignalStrengthReportingCriteria(in int serial,
    void setSignalStrengthReportingCriteria(
            in SignalThresholdInfo signalThresholdInfo, in AccessNetwork accessNetwork);
            in int serial, in SignalThresholdInfo[] signalThresholdInfos);


    /**
    /**
     * Enables/disables supplementary service related notifications from the network.
     * Enables/disables supplementary service related notifications from the network.
+14 −6
Original line number Original line Diff line number Diff line
@@ -16,6 +16,8 @@


package android.hardware.radio.network;
package android.hardware.radio.network;


import android.hardware.radio.AccessNetwork;

/**
/**
 * Contains the threshold values of each signal measurement type.
 * Contains the threshold values of each signal measurement type.
 */
 */
@@ -86,18 +88,20 @@ parcelable SignalThresholdInfo {
     */
     */
    int signalMeasurement;
    int signalMeasurement;
    /**
    /**
     * A hysteresis time in milliseconds to prevent flapping. A value of 0 disables hysteresis.
     * A hysteresis time in milliseconds for current signal measurement type to prevent flapping.
     * A value of 0 disables hysteresis.
     */
     */
    int hysteresisMs;
    int hysteresisMs;
    /**
    /**
     * An interval in dB defining the required magnitude change between reports. This must be
     * An interval in dB for current signal measurement type defining the required magnitude change
     * smaller than the smallest threshold delta. An interval value of 0 disables hysteresis.
     * between reports. This must be smaller than the smallest threshold delta. An interval value of
     * 0 disables hysteresis.
     */
     */
    int hysteresisDb;
    int hysteresisDb;
    /**
    /**
     * List of threshold values. Range and unit must reference specific SignalMeasurementType.
     * List of threshold values for current signal measurement type. Range and unit must reference
     * The threshold values for which to apply criteria. A vector size of 0 disables the use of
     * specific SignalMeasurementType. The threshold values for which to apply criteria. A vector
     * thresholds for reporting.
     * size of 0 disables the use of thresholds for reporting.
     */
     */
    int[] thresholds;
    int[] thresholds;
    /**
    /**
@@ -106,4 +110,8 @@ parcelable SignalThresholdInfo {
     * If disabled, modem must not trigger the report based on the criteria.
     * If disabled, modem must not trigger the report based on the criteria.
     */
     */
    boolean isEnabled;
    boolean isEnabled;
    /**
     * The Radio Access Network for current threshold info.
     */
    AccessNetwork ran;
}
}