Loading core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -43827,6 +43827,7 @@ package android.telephony { public final class SignalThresholdInfo implements android.os.Parcelable { method public int describeContents(); method public int getHysteresisDb(); method public static int getMaximumNumberOfThresholdsAllowed(); method public static int getMinimumNumberOfThresholdsAllowed(); method public int getRadioAccessNetworkType(); Loading @@ -43849,6 +43850,7 @@ package android.telephony { public static final class SignalThresholdInfo.Builder { ctor public SignalThresholdInfo.Builder(); method @NonNull public android.telephony.SignalThresholdInfo build(); method @NonNull public android.telephony.SignalThresholdInfo.Builder setHysteresisDb(@IntRange(from=0) int); method @NonNull public android.telephony.SignalThresholdInfo.Builder setRadioAccessNetworkType(int); method @NonNull public android.telephony.SignalThresholdInfo.Builder setSignalMeasurementType(int); method @NonNull public android.telephony.SignalThresholdInfo.Builder setThresholds(@NonNull int[]); telephony/java/android/telephony/CarrierConfigManager.java +104 −0 Original line number Diff line number Diff line Loading @@ -2989,6 +2989,39 @@ public class CarrierConfigManager { public static final String KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY = "5g_nr_sssinr_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_SSRSRP} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_NGRAN_SSRSRP_HYSTERESIS_DB_INT = "ngran_ssrsrp_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_SSRSRQ} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. *@hide */ public static final String KEY_NGRAN_SSRSRQ_HYSTERESIS_DB_INT = "ngran_ssrsrq_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_SSSINR} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_NGRAN_SSSINR_HYSTERESIS_DB_INT = "ngran_sssinr_hysteresis_db_int"; /** * Bit-field integer to determine whether to use SS reference signal received power (SSRSRP), * SS reference signal received quality (SSRSRQ), or/and SS signal-to-noise and interference Loading Loading @@ -3325,6 +3358,38 @@ public class CarrierConfigManager { public static final String KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY = "lte_rssnr_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSRP} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_EUTRAN_RSRP_HYSTERESIS_DB_INT = "eutran_rsrp_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSRQ} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_EUTRAN_RSRQ_HYSTERESIS_DB_INT = "eutran_rsrq_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSSNR} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_EUTRAN_RSSNR_HYSTERESIS_DB_INT = "eutran_rssnr_hysteresis_db_int"; /** * Decides when clients try to bind to iwlan network service, which package name will * the binding intent go to. Loading Loading @@ -3401,6 +3466,26 @@ public class CarrierConfigManager { public static final String KEY_WCDMA_ECNO_THRESHOLDS_INT_ARRAY = "wcdma_ecno_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSCP} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_UTRAN_RSCP_HYSTERESIS_DB_INT = "utran_rscp_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_ECNO} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_UTRAN_ECNO_HYSTERESIS_DB_INT = "utran_ecno_hysteresis_db_int"; /** * The default measurement to use for signal strength reporting. If this is not specified, the * RSSI is used. Loading Loading @@ -8685,6 +8770,16 @@ public class CarrierConfigManager { public static final String KEY_GSM_RSSI_THRESHOLDS_INT_ARRAY = "gsm_rssi_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSSI} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_GERAN_RSSI_HYSTERESIS_DB_INT = "geran_rssi_hysteresis_db_int"; /** * Determines whether Wireless Priority Service call is supported over IMS. * Loading Loading @@ -9666,6 +9761,15 @@ public class CarrierConfigManager { 15, /* SIGNAL_STRENGTH_GOOD */ 30 /* SIGNAL_STRENGTH_GREAT */ }); sDefaults.putInt(KEY_GERAN_RSSI_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_UTRAN_RSCP_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_EUTRAN_RSRP_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_EUTRAN_RSRQ_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_EUTRAN_RSSNR_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_NGRAN_SSRSRP_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_NGRAN_SSRSRQ_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_NGRAN_SSSINR_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_UTRAN_ECNO_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_PARAMETERS_USE_FOR_5G_NR_SIGNAL_BAR_INT, CellSignalStrengthNr.USE_SSRSRP); sDefaults.putBoolean(KEY_SIGNAL_STRENGTH_NR_NSA_USE_LTE_AS_PRIMARY_BOOL, true); Loading telephony/java/android/telephony/SignalThresholdInfo.java +49 −20 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.telephony; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -169,11 +170,18 @@ public final class SignalThresholdInfo implements Parcelable { public static final int HYSTERESIS_MS_DISABLED = 0; /** * Indicates the hysteresisDb is disabled. * Indicates the default hysteresis value in dB. * * @hide */ public static final int HYSTERESIS_DB_DISABLED = 0; private static final int HYSTERESIS_DB_DEFAULT = 2; /** * Indicates the hysteresisDb value is not set and to be initialised to default value. * * @hide */ public static final int HYSTERESIS_DB_MINIMUM = 0; /** * Minimum valid value for {@link #SIGNAL_MEASUREMENT_TYPE_RSSI}. Loading Loading @@ -339,7 +347,7 @@ public final class SignalThresholdInfo implements Parcelable { mRan = ran; mSignalMeasurementType = signalMeasurementType; mHysteresisMs = hysteresisMs < 0 ? HYSTERESIS_MS_DISABLED : hysteresisMs; mHysteresisDb = hysteresisDb < 0 ? HYSTERESIS_DB_DISABLED : hysteresisDb; mHysteresisDb = hysteresisDb; mThresholds = thresholds; mIsEnabled = isEnabled; } Loading @@ -351,7 +359,7 @@ public final class SignalThresholdInfo implements Parcelable { private int mRan = AccessNetworkConstants.AccessNetworkType.UNKNOWN; private int mSignalMeasurementType = SIGNAL_MEASUREMENT_TYPE_UNKNOWN; private int mHysteresisMs = HYSTERESIS_MS_DISABLED; private int mHysteresisDb = HYSTERESIS_DB_DISABLED; private int mHysteresisDb = HYSTERESIS_DB_DEFAULT; private int[] mThresholds = null; private boolean mIsEnabled = false; Loading @@ -361,7 +369,8 @@ public final class SignalThresholdInfo implements Parcelable { * @param ran The radio access network type * @return the builder to facilitate the chaining */ public @NonNull Builder setRadioAccessNetworkType( @NonNull public Builder setRadioAccessNetworkType( @AccessNetworkConstants.RadioAccessNetworkType int ran) { mRan = ran; return this; Loading @@ -373,7 +382,8 @@ public final class SignalThresholdInfo implements Parcelable { * @param signalMeasurementType The signal measurement type * @return the builder to facilitate the chaining */ public @NonNull Builder setSignalMeasurementType( @NonNull public Builder setSignalMeasurementType( @SignalMeasurementType int signalMeasurementType) { mSignalMeasurementType = signalMeasurementType; return this; Loading @@ -387,20 +397,27 @@ public final class SignalThresholdInfo implements Parcelable { * @return the builder to facilitate the chaining * @hide */ public @NonNull Builder setHysteresisMs(int hysteresisMs) { @NonNull public Builder setHysteresisMs(int hysteresisMs) { mHysteresisMs = hysteresisMs; return this; } /** * Set the interval in dB defining the required magnitude change between reports. A value of * zero disabled dB-based hysteresis restrictions. * Set the interval in dB defining the required minimum magnitude change to report a * signal strength change. A value of zero disables dB-based hysteresis restrictions. * Note: * <p>Default hysteresis db value is 2. Minimum hysteresis db value allowed to set is 0. * If hysteresis db value is not set, default hysteresis db value of 2 will be used. * * @param hysteresisDb the interval in dB * @return the builder to facilitate the chaining * @hide */ public @NonNull Builder setHysteresisDb(int hysteresisDb) { @NonNull public Builder setHysteresisDb(@IntRange(from = 0) int hysteresisDb) { if (hysteresisDb < 0) { throw new IllegalArgumentException("hysteresis db value should not be less than 0"); } mHysteresisDb = hysteresisDb; return this; } Loading Loading @@ -428,7 +445,8 @@ public final class SignalThresholdInfo implements Parcelable { * @see #SIGNAL_MEASUREMENT_TYPE_ECNO * @see #getThresholds() for more details on signal strength thresholds */ public @NonNull Builder setThresholds(@NonNull int[] thresholds) { @NonNull public Builder setThresholds(@NonNull int[] thresholds) { return setThresholds(thresholds, false /*isSystem*/); } Loading @@ -442,7 +460,8 @@ public final class SignalThresholdInfo implements Parcelable { * * @hide */ public @NonNull Builder setThresholds(@NonNull int[] thresholds, boolean isSystem) { @NonNull public Builder setThresholds(@NonNull int[] thresholds, boolean isSystem) { Objects.requireNonNull(thresholds, "thresholds must not be null"); if (!isSystem && (thresholds.length < MINIMUM_NUMBER_OF_THRESHOLDS_ALLOWED Loading @@ -465,7 +484,8 @@ public final class SignalThresholdInfo implements Parcelable { * @return the builder to facilitate the chaining * @hide */ public @NonNull Builder setIsEnabled(boolean isEnabled) { @NonNull public Builder setIsEnabled(boolean isEnabled) { mIsEnabled = isEnabled; return this; } Loading @@ -479,7 +499,8 @@ public final class SignalThresholdInfo implements Parcelable { * the thresholds is out of range, or the RAN is not allowed to set with the signal * measurement type */ public @NonNull SignalThresholdInfo build() { @NonNull public SignalThresholdInfo build() { return new SignalThresholdInfo( mRan, mSignalMeasurementType, Loading @@ -495,7 +516,8 @@ public final class SignalThresholdInfo implements Parcelable { * * @return radio access network type */ public @AccessNetworkConstants.RadioAccessNetworkType int getRadioAccessNetworkType() { @AccessNetworkConstants.RadioAccessNetworkType public int getRadioAccessNetworkType() { return mRan; } Loading @@ -504,7 +526,8 @@ public final class SignalThresholdInfo implements Parcelable { * * @return the SignalMeasurementType value */ public @SignalMeasurementType int getSignalMeasurementType() { @SignalMeasurementType public int getSignalMeasurementType() { return mSignalMeasurementType; } Loading @@ -513,7 +536,11 @@ public final class SignalThresholdInfo implements Parcelable { return mHysteresisMs; } /** @hide */ /** * Get measurement hysteresis db. * * @return hysteresis db value */ public int getHysteresisDb() { return mHysteresisDb; } Loading Loading @@ -544,7 +571,8 @@ public final class SignalThresholdInfo implements Parcelable { * @see #SIGNAL_MEASUREMENT_TYPE_SSSINR * @see #SIGNAL_MEASUREMENT_TYPE_ECNO */ public @NonNull int[] getThresholds() { @NonNull public int[] getThresholds() { return mThresholds.clone(); } Loading Loading @@ -618,7 +646,8 @@ public final class SignalThresholdInfo implements Parcelable { mIsEnabled); } public static final @NonNull Parcelable.Creator<SignalThresholdInfo> CREATOR = @NonNull public static final Parcelable.Creator<SignalThresholdInfo> CREATOR = new Parcelable.Creator<SignalThresholdInfo>() { @Override public SignalThresholdInfo createFromParcel(Parcel in) { Loading Loading
core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -43827,6 +43827,7 @@ package android.telephony { public final class SignalThresholdInfo implements android.os.Parcelable { method public int describeContents(); method public int getHysteresisDb(); method public static int getMaximumNumberOfThresholdsAllowed(); method public static int getMinimumNumberOfThresholdsAllowed(); method public int getRadioAccessNetworkType(); Loading @@ -43849,6 +43850,7 @@ package android.telephony { public static final class SignalThresholdInfo.Builder { ctor public SignalThresholdInfo.Builder(); method @NonNull public android.telephony.SignalThresholdInfo build(); method @NonNull public android.telephony.SignalThresholdInfo.Builder setHysteresisDb(@IntRange(from=0) int); method @NonNull public android.telephony.SignalThresholdInfo.Builder setRadioAccessNetworkType(int); method @NonNull public android.telephony.SignalThresholdInfo.Builder setSignalMeasurementType(int); method @NonNull public android.telephony.SignalThresholdInfo.Builder setThresholds(@NonNull int[]);
telephony/java/android/telephony/CarrierConfigManager.java +104 −0 Original line number Diff line number Diff line Loading @@ -2989,6 +2989,39 @@ public class CarrierConfigManager { public static final String KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY = "5g_nr_sssinr_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_SSRSRP} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_NGRAN_SSRSRP_HYSTERESIS_DB_INT = "ngran_ssrsrp_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_SSRSRQ} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. *@hide */ public static final String KEY_NGRAN_SSRSRQ_HYSTERESIS_DB_INT = "ngran_ssrsrq_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_SSSINR} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_NGRAN_SSSINR_HYSTERESIS_DB_INT = "ngran_sssinr_hysteresis_db_int"; /** * Bit-field integer to determine whether to use SS reference signal received power (SSRSRP), * SS reference signal received quality (SSRSRQ), or/and SS signal-to-noise and interference Loading Loading @@ -3325,6 +3358,38 @@ public class CarrierConfigManager { public static final String KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY = "lte_rssnr_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSRP} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_EUTRAN_RSRP_HYSTERESIS_DB_INT = "eutran_rsrp_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSRQ} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_EUTRAN_RSRQ_HYSTERESIS_DB_INT = "eutran_rsrq_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSSNR} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_EUTRAN_RSSNR_HYSTERESIS_DB_INT = "eutran_rssnr_hysteresis_db_int"; /** * Decides when clients try to bind to iwlan network service, which package name will * the binding intent go to. Loading Loading @@ -3401,6 +3466,26 @@ public class CarrierConfigManager { public static final String KEY_WCDMA_ECNO_THRESHOLDS_INT_ARRAY = "wcdma_ecno_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSCP} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_UTRAN_RSCP_HYSTERESIS_DB_INT = "utran_rscp_hysteresis_db_int"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_ECNO} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_UTRAN_ECNO_HYSTERESIS_DB_INT = "utran_ecno_hysteresis_db_int"; /** * The default measurement to use for signal strength reporting. If this is not specified, the * RSSI is used. Loading Loading @@ -8685,6 +8770,16 @@ public class CarrierConfigManager { public static final String KEY_GSM_RSSI_THRESHOLDS_INT_ARRAY = "gsm_rssi_thresholds_int_array"; /** * An interval in dB for {@link SignalThresholdInfo#SIGNAL_MEASUREMENT_TYPE_RSSI} measurement * type defining the required magnitude change between reports. * * <p>The default value is 2 and the minimum allowed value is 0. If no value or negative value * is set, the default value 2 is used. * @hide */ public static final String KEY_GERAN_RSSI_HYSTERESIS_DB_INT = "geran_rssi_hysteresis_db_int"; /** * Determines whether Wireless Priority Service call is supported over IMS. * Loading Loading @@ -9666,6 +9761,15 @@ public class CarrierConfigManager { 15, /* SIGNAL_STRENGTH_GOOD */ 30 /* SIGNAL_STRENGTH_GREAT */ }); sDefaults.putInt(KEY_GERAN_RSSI_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_UTRAN_RSCP_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_EUTRAN_RSRP_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_EUTRAN_RSRQ_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_EUTRAN_RSSNR_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_NGRAN_SSRSRP_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_NGRAN_SSRSRQ_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_NGRAN_SSSINR_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_UTRAN_ECNO_HYSTERESIS_DB_INT, 2); sDefaults.putInt(KEY_PARAMETERS_USE_FOR_5G_NR_SIGNAL_BAR_INT, CellSignalStrengthNr.USE_SSRSRP); sDefaults.putBoolean(KEY_SIGNAL_STRENGTH_NR_NSA_USE_LTE_AS_PRIMARY_BOOL, true); Loading
telephony/java/android/telephony/SignalThresholdInfo.java +49 −20 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.telephony; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -169,11 +170,18 @@ public final class SignalThresholdInfo implements Parcelable { public static final int HYSTERESIS_MS_DISABLED = 0; /** * Indicates the hysteresisDb is disabled. * Indicates the default hysteresis value in dB. * * @hide */ public static final int HYSTERESIS_DB_DISABLED = 0; private static final int HYSTERESIS_DB_DEFAULT = 2; /** * Indicates the hysteresisDb value is not set and to be initialised to default value. * * @hide */ public static final int HYSTERESIS_DB_MINIMUM = 0; /** * Minimum valid value for {@link #SIGNAL_MEASUREMENT_TYPE_RSSI}. Loading Loading @@ -339,7 +347,7 @@ public final class SignalThresholdInfo implements Parcelable { mRan = ran; mSignalMeasurementType = signalMeasurementType; mHysteresisMs = hysteresisMs < 0 ? HYSTERESIS_MS_DISABLED : hysteresisMs; mHysteresisDb = hysteresisDb < 0 ? HYSTERESIS_DB_DISABLED : hysteresisDb; mHysteresisDb = hysteresisDb; mThresholds = thresholds; mIsEnabled = isEnabled; } Loading @@ -351,7 +359,7 @@ public final class SignalThresholdInfo implements Parcelable { private int mRan = AccessNetworkConstants.AccessNetworkType.UNKNOWN; private int mSignalMeasurementType = SIGNAL_MEASUREMENT_TYPE_UNKNOWN; private int mHysteresisMs = HYSTERESIS_MS_DISABLED; private int mHysteresisDb = HYSTERESIS_DB_DISABLED; private int mHysteresisDb = HYSTERESIS_DB_DEFAULT; private int[] mThresholds = null; private boolean mIsEnabled = false; Loading @@ -361,7 +369,8 @@ public final class SignalThresholdInfo implements Parcelable { * @param ran The radio access network type * @return the builder to facilitate the chaining */ public @NonNull Builder setRadioAccessNetworkType( @NonNull public Builder setRadioAccessNetworkType( @AccessNetworkConstants.RadioAccessNetworkType int ran) { mRan = ran; return this; Loading @@ -373,7 +382,8 @@ public final class SignalThresholdInfo implements Parcelable { * @param signalMeasurementType The signal measurement type * @return the builder to facilitate the chaining */ public @NonNull Builder setSignalMeasurementType( @NonNull public Builder setSignalMeasurementType( @SignalMeasurementType int signalMeasurementType) { mSignalMeasurementType = signalMeasurementType; return this; Loading @@ -387,20 +397,27 @@ public final class SignalThresholdInfo implements Parcelable { * @return the builder to facilitate the chaining * @hide */ public @NonNull Builder setHysteresisMs(int hysteresisMs) { @NonNull public Builder setHysteresisMs(int hysteresisMs) { mHysteresisMs = hysteresisMs; return this; } /** * Set the interval in dB defining the required magnitude change between reports. A value of * zero disabled dB-based hysteresis restrictions. * Set the interval in dB defining the required minimum magnitude change to report a * signal strength change. A value of zero disables dB-based hysteresis restrictions. * Note: * <p>Default hysteresis db value is 2. Minimum hysteresis db value allowed to set is 0. * If hysteresis db value is not set, default hysteresis db value of 2 will be used. * * @param hysteresisDb the interval in dB * @return the builder to facilitate the chaining * @hide */ public @NonNull Builder setHysteresisDb(int hysteresisDb) { @NonNull public Builder setHysteresisDb(@IntRange(from = 0) int hysteresisDb) { if (hysteresisDb < 0) { throw new IllegalArgumentException("hysteresis db value should not be less than 0"); } mHysteresisDb = hysteresisDb; return this; } Loading Loading @@ -428,7 +445,8 @@ public final class SignalThresholdInfo implements Parcelable { * @see #SIGNAL_MEASUREMENT_TYPE_ECNO * @see #getThresholds() for more details on signal strength thresholds */ public @NonNull Builder setThresholds(@NonNull int[] thresholds) { @NonNull public Builder setThresholds(@NonNull int[] thresholds) { return setThresholds(thresholds, false /*isSystem*/); } Loading @@ -442,7 +460,8 @@ public final class SignalThresholdInfo implements Parcelable { * * @hide */ public @NonNull Builder setThresholds(@NonNull int[] thresholds, boolean isSystem) { @NonNull public Builder setThresholds(@NonNull int[] thresholds, boolean isSystem) { Objects.requireNonNull(thresholds, "thresholds must not be null"); if (!isSystem && (thresholds.length < MINIMUM_NUMBER_OF_THRESHOLDS_ALLOWED Loading @@ -465,7 +484,8 @@ public final class SignalThresholdInfo implements Parcelable { * @return the builder to facilitate the chaining * @hide */ public @NonNull Builder setIsEnabled(boolean isEnabled) { @NonNull public Builder setIsEnabled(boolean isEnabled) { mIsEnabled = isEnabled; return this; } Loading @@ -479,7 +499,8 @@ public final class SignalThresholdInfo implements Parcelable { * the thresholds is out of range, or the RAN is not allowed to set with the signal * measurement type */ public @NonNull SignalThresholdInfo build() { @NonNull public SignalThresholdInfo build() { return new SignalThresholdInfo( mRan, mSignalMeasurementType, Loading @@ -495,7 +516,8 @@ public final class SignalThresholdInfo implements Parcelable { * * @return radio access network type */ public @AccessNetworkConstants.RadioAccessNetworkType int getRadioAccessNetworkType() { @AccessNetworkConstants.RadioAccessNetworkType public int getRadioAccessNetworkType() { return mRan; } Loading @@ -504,7 +526,8 @@ public final class SignalThresholdInfo implements Parcelable { * * @return the SignalMeasurementType value */ public @SignalMeasurementType int getSignalMeasurementType() { @SignalMeasurementType public int getSignalMeasurementType() { return mSignalMeasurementType; } Loading @@ -513,7 +536,11 @@ public final class SignalThresholdInfo implements Parcelable { return mHysteresisMs; } /** @hide */ /** * Get measurement hysteresis db. * * @return hysteresis db value */ public int getHysteresisDb() { return mHysteresisDb; } Loading Loading @@ -544,7 +571,8 @@ public final class SignalThresholdInfo implements Parcelable { * @see #SIGNAL_MEASUREMENT_TYPE_SSSINR * @see #SIGNAL_MEASUREMENT_TYPE_ECNO */ public @NonNull int[] getThresholds() { @NonNull public int[] getThresholds() { return mThresholds.clone(); } Loading Loading @@ -618,7 +646,8 @@ public final class SignalThresholdInfo implements Parcelable { mIsEnabled); } public static final @NonNull Parcelable.Creator<SignalThresholdInfo> CREATOR = @NonNull public static final Parcelable.Creator<SignalThresholdInfo> CREATOR = new Parcelable.Creator<SignalThresholdInfo>() { @Override public SignalThresholdInfo createFromParcel(Parcel in) { Loading