Loading telephony/java/android/telephony/CarrierConfigManager.java +22 −2 Original line number Diff line number Diff line Loading @@ -2604,14 +2604,32 @@ public class CarrierConfigManager { /** * List of EARFCN (E-UTRA Absolute Radio Frequency Channel Number, * Reference: 3GPP TS 36.104 5.4.3) inclusive ranges on which lte_rsrp_boost_int * will be applied. Format of the String array is expected to be {"erafcn1_start-earfcn1_end", * Reference: 3GPP TS 36.104 5.4.3) inclusive ranges on which lte_earfcns_rsrp_boost_int * will be applied. Format of the String array is expected to be {"earfcn1_start-earfcn1_end", * "earfcn2_start-earfcn2_end" ... } * @hide */ public static final String KEY_BOOSTED_LTE_EARFCNS_STRING_ARRAY = "boosted_lte_earfcns_string_array"; /** * Offset to be reduced from rsrp threshold while calculating signal strength level. * @hide */ public static final String KEY_NRARFCNS_RSRP_BOOST_INT_ARRAY = "nrarfcns_rsrp_boost_int_array"; /** * List of NR ARFCN (5G Absolute Radio Frequency Channel Number, * Reference: 3GPP TS 36.108) inclusive ranges on which corresponding * nrarfcns_rsrp_boost_int_array will be applied. The size of this array and * nrarfcns_rsrp_boost_int_array must be the same. * Format of the String array is expected to be {"nrarfcn1_start-nrarfcn1_end", * "nrarfcn2_start-nrarfcn2_end" ... } * @hide */ public static final String KEY_BOOSTED_NRARFCNS_STRING_ARRAY = "boosted_nrarfcns_string_array"; /** * Determine whether to use only RSRP for the number of LTE signal bars. * @hide Loading Loading @@ -4780,6 +4798,8 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_SUPPORT_IMS_CALL_FORWARDING_WHILE_ROAMING_BOOL, true); sDefaults.putInt(KEY_LTE_EARFCNS_RSRP_BOOST_INT, 0); sDefaults.putStringArray(KEY_BOOSTED_LTE_EARFCNS_STRING_ARRAY, null); sDefaults.putIntArray(KEY_NRARFCNS_RSRP_BOOST_INT_ARRAY, null); sDefaults.putStringArray(KEY_BOOSTED_NRARFCNS_STRING_ARRAY, null); sDefaults.putBoolean(KEY_USE_ONLY_RSRP_FOR_LTE_SIGNAL_BAR_BOOL, false); sDefaults.putBoolean(KEY_DISABLE_VOICE_BARRING_NOTIFICATION_BOOL, false); sDefaults.putInt(IMSI_KEY_AVAILABILITY_INT, 0); Loading telephony/java/android/telephony/CellSignalStrengthLte.java +1 −1 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ public final class CellSignalStrengthLte extends CellSignalStrength implements P int rsrpBoost = 0; if (ss != null) { rsrpBoost = ss.getLteEarfcnRsrpBoost(); rsrpBoost = ss.getArfcnRsrpBoost(); } int rsrp = inRangeOrUnavailable(mRsrp + rsrpBoost, MIN_LTE_RSRP, MAX_LTE_RSRP); Loading telephony/java/android/telephony/CellSignalStrengthNr.java +5 −1 Original line number Diff line number Diff line Loading @@ -419,7 +419,11 @@ public final class CellSignalStrengthNr extends CellSignalStrength implements Pa int ssRsrqLevel = SignalStrength.INVALID; int ssSinrLevel = SignalStrength.INVALID; if (isLevelForParameter(USE_SSRSRP)) { ssRsrpLevel = updateLevelWithMeasure(mSsRsrp, mSsRsrpThresholds); int rsrpBoost = 0; if (ss != null) { rsrpBoost = ss.getArfcnRsrpBoost(); } ssRsrpLevel = updateLevelWithMeasure(mSsRsrp + rsrpBoost, mSsRsrpThresholds); if (VDBG) { Rlog.i(TAG, "Updated 5G NR SSRSRP Level: " + ssRsrpLevel); } Loading telephony/java/android/telephony/ServiceState.java +16 −14 Original line number Diff line number Diff line Loading @@ -353,9 +353,11 @@ public class ServiceState implements Parcelable { private int mChannelNumber; private int[] mCellBandwidths = new int[0]; /* EARFCN stands for E-UTRA Absolute Radio Frequency Channel Number, * Reference: 3GPP TS 36.104 5.4.3 */ private int mLteEarfcnRsrpBoost = 0; /** * ARFCN stands for Absolute Radio Frequency Channel Number. This field is current used for * LTE where it represents the boost for EARFCN (Reference: 3GPP TS 36.104 5.4.3) and for NR * where it's for NR ARFCN (Reference: 3GPP TS 36.108) */ private int mArfcnRsrpBoost = 0; private final List<NetworkRegistrationInfo> mNetworkRegistrationInfos = new ArrayList<>(); Loading Loading @@ -439,7 +441,7 @@ public class ServiceState implements Parcelable { mChannelNumber = s.mChannelNumber; mCellBandwidths = s.mCellBandwidths == null ? null : Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length); mLteEarfcnRsrpBoost = s.mLteEarfcnRsrpBoost; mArfcnRsrpBoost = s.mArfcnRsrpBoost; synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); mNetworkRegistrationInfos.addAll(s.getNetworkRegistrationInfoList()); Loading Loading @@ -473,7 +475,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex = in.readInt(); mCdmaEriIconMode = in.readInt(); mIsEmergencyOnly = in.readInt() != 0; mLteEarfcnRsrpBoost = in.readInt(); mArfcnRsrpBoost = in.readInt(); synchronized (mNetworkRegistrationInfos) { in.readList(mNetworkRegistrationInfos, NetworkRegistrationInfo.class.getClassLoader()); } Loading Loading @@ -501,7 +503,7 @@ public class ServiceState implements Parcelable { out.writeInt(mCdmaEriIconIndex); out.writeInt(mCdmaEriIconMode); out.writeInt(mIsEmergencyOnly ? 1 : 0); out.writeInt(mLteEarfcnRsrpBoost); out.writeInt(mArfcnRsrpBoost); synchronized (mNetworkRegistrationInfos) { out.writeList(mNetworkRegistrationInfos); } Loading Loading @@ -890,7 +892,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex, mCdmaEriIconMode, mIsEmergencyOnly, mLteEarfcnRsrpBoost, mArfcnRsrpBoost, mNetworkRegistrationInfos, mNrFrequencyRange, mOperatorAlphaLongRaw, Loading Loading @@ -1101,7 +1103,7 @@ public class ServiceState implements Parcelable { .append(", mCdmaDefaultRoamingIndicator=").append(mCdmaDefaultRoamingIndicator) .append(", mIsEmergencyOnly=").append(mIsEmergencyOnly) .append(", isUsingCarrierAggregation=").append(isUsingCarrierAggregation()) .append(", mLteEarfcnRsrpBoost=").append(mLteEarfcnRsrpBoost) .append(", mArfcnRsrpBoost=").append(mArfcnRsrpBoost) .append(", mNetworkRegistrationInfos=").append(mNetworkRegistrationInfos) .append(", mNrFrequencyRange=").append(Build.IS_DEBUGGABLE ? mNrFrequencyRange : FREQUENCY_RANGE_UNKNOWN) Loading Loading @@ -1132,7 +1134,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex = -1; mCdmaEriIconMode = -1; mIsEmergencyOnly = false; mLteEarfcnRsrpBoost = 0; mArfcnRsrpBoost = 0; mNrFrequencyRange = FREQUENCY_RANGE_UNKNOWN; synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); Loading Loading @@ -1364,7 +1366,7 @@ public class ServiceState implements Parcelable { m.putBoolean("emergencyOnly", mIsEmergencyOnly); m.putBoolean("isDataRoamingFromRegistration", getDataRoamingFromRegistration()); m.putBoolean("isUsingCarrierAggregation", isUsingCarrierAggregation()); m.putInt("LteEarfcnRsrpBoost", mLteEarfcnRsrpBoost); m.putInt("ArfcnRsrpBoost", mArfcnRsrpBoost); m.putInt("ChannelNumber", mChannelNumber); m.putIntArray("CellBandwidths", mCellBandwidths); m.putInt("mNrFrequencyRange", mNrFrequencyRange); Loading Loading @@ -1455,13 +1457,13 @@ public class ServiceState implements Parcelable { } /** @hide */ public int getLteEarfcnRsrpBoost() { return mLteEarfcnRsrpBoost; public int getArfcnRsrpBoost() { return mArfcnRsrpBoost; } /** @hide */ public void setLteEarfcnRsrpBoost(int LteEarfcnRsrpBoost) { mLteEarfcnRsrpBoost = LteEarfcnRsrpBoost; public void setArfcnRsrpBoost(int arfcnRsrpBoost) { mArfcnRsrpBoost = arfcnRsrpBoost; } /** @hide */ Loading Loading
telephony/java/android/telephony/CarrierConfigManager.java +22 −2 Original line number Diff line number Diff line Loading @@ -2604,14 +2604,32 @@ public class CarrierConfigManager { /** * List of EARFCN (E-UTRA Absolute Radio Frequency Channel Number, * Reference: 3GPP TS 36.104 5.4.3) inclusive ranges on which lte_rsrp_boost_int * will be applied. Format of the String array is expected to be {"erafcn1_start-earfcn1_end", * Reference: 3GPP TS 36.104 5.4.3) inclusive ranges on which lte_earfcns_rsrp_boost_int * will be applied. Format of the String array is expected to be {"earfcn1_start-earfcn1_end", * "earfcn2_start-earfcn2_end" ... } * @hide */ public static final String KEY_BOOSTED_LTE_EARFCNS_STRING_ARRAY = "boosted_lte_earfcns_string_array"; /** * Offset to be reduced from rsrp threshold while calculating signal strength level. * @hide */ public static final String KEY_NRARFCNS_RSRP_BOOST_INT_ARRAY = "nrarfcns_rsrp_boost_int_array"; /** * List of NR ARFCN (5G Absolute Radio Frequency Channel Number, * Reference: 3GPP TS 36.108) inclusive ranges on which corresponding * nrarfcns_rsrp_boost_int_array will be applied. The size of this array and * nrarfcns_rsrp_boost_int_array must be the same. * Format of the String array is expected to be {"nrarfcn1_start-nrarfcn1_end", * "nrarfcn2_start-nrarfcn2_end" ... } * @hide */ public static final String KEY_BOOSTED_NRARFCNS_STRING_ARRAY = "boosted_nrarfcns_string_array"; /** * Determine whether to use only RSRP for the number of LTE signal bars. * @hide Loading Loading @@ -4780,6 +4798,8 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_SUPPORT_IMS_CALL_FORWARDING_WHILE_ROAMING_BOOL, true); sDefaults.putInt(KEY_LTE_EARFCNS_RSRP_BOOST_INT, 0); sDefaults.putStringArray(KEY_BOOSTED_LTE_EARFCNS_STRING_ARRAY, null); sDefaults.putIntArray(KEY_NRARFCNS_RSRP_BOOST_INT_ARRAY, null); sDefaults.putStringArray(KEY_BOOSTED_NRARFCNS_STRING_ARRAY, null); sDefaults.putBoolean(KEY_USE_ONLY_RSRP_FOR_LTE_SIGNAL_BAR_BOOL, false); sDefaults.putBoolean(KEY_DISABLE_VOICE_BARRING_NOTIFICATION_BOOL, false); sDefaults.putInt(IMSI_KEY_AVAILABILITY_INT, 0); Loading
telephony/java/android/telephony/CellSignalStrengthLte.java +1 −1 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ public final class CellSignalStrengthLte extends CellSignalStrength implements P int rsrpBoost = 0; if (ss != null) { rsrpBoost = ss.getLteEarfcnRsrpBoost(); rsrpBoost = ss.getArfcnRsrpBoost(); } int rsrp = inRangeOrUnavailable(mRsrp + rsrpBoost, MIN_LTE_RSRP, MAX_LTE_RSRP); Loading
telephony/java/android/telephony/CellSignalStrengthNr.java +5 −1 Original line number Diff line number Diff line Loading @@ -419,7 +419,11 @@ public final class CellSignalStrengthNr extends CellSignalStrength implements Pa int ssRsrqLevel = SignalStrength.INVALID; int ssSinrLevel = SignalStrength.INVALID; if (isLevelForParameter(USE_SSRSRP)) { ssRsrpLevel = updateLevelWithMeasure(mSsRsrp, mSsRsrpThresholds); int rsrpBoost = 0; if (ss != null) { rsrpBoost = ss.getArfcnRsrpBoost(); } ssRsrpLevel = updateLevelWithMeasure(mSsRsrp + rsrpBoost, mSsRsrpThresholds); if (VDBG) { Rlog.i(TAG, "Updated 5G NR SSRSRP Level: " + ssRsrpLevel); } Loading
telephony/java/android/telephony/ServiceState.java +16 −14 Original line number Diff line number Diff line Loading @@ -353,9 +353,11 @@ public class ServiceState implements Parcelable { private int mChannelNumber; private int[] mCellBandwidths = new int[0]; /* EARFCN stands for E-UTRA Absolute Radio Frequency Channel Number, * Reference: 3GPP TS 36.104 5.4.3 */ private int mLteEarfcnRsrpBoost = 0; /** * ARFCN stands for Absolute Radio Frequency Channel Number. This field is current used for * LTE where it represents the boost for EARFCN (Reference: 3GPP TS 36.104 5.4.3) and for NR * where it's for NR ARFCN (Reference: 3GPP TS 36.108) */ private int mArfcnRsrpBoost = 0; private final List<NetworkRegistrationInfo> mNetworkRegistrationInfos = new ArrayList<>(); Loading Loading @@ -439,7 +441,7 @@ public class ServiceState implements Parcelable { mChannelNumber = s.mChannelNumber; mCellBandwidths = s.mCellBandwidths == null ? null : Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length); mLteEarfcnRsrpBoost = s.mLteEarfcnRsrpBoost; mArfcnRsrpBoost = s.mArfcnRsrpBoost; synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); mNetworkRegistrationInfos.addAll(s.getNetworkRegistrationInfoList()); Loading Loading @@ -473,7 +475,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex = in.readInt(); mCdmaEriIconMode = in.readInt(); mIsEmergencyOnly = in.readInt() != 0; mLteEarfcnRsrpBoost = in.readInt(); mArfcnRsrpBoost = in.readInt(); synchronized (mNetworkRegistrationInfos) { in.readList(mNetworkRegistrationInfos, NetworkRegistrationInfo.class.getClassLoader()); } Loading Loading @@ -501,7 +503,7 @@ public class ServiceState implements Parcelable { out.writeInt(mCdmaEriIconIndex); out.writeInt(mCdmaEriIconMode); out.writeInt(mIsEmergencyOnly ? 1 : 0); out.writeInt(mLteEarfcnRsrpBoost); out.writeInt(mArfcnRsrpBoost); synchronized (mNetworkRegistrationInfos) { out.writeList(mNetworkRegistrationInfos); } Loading Loading @@ -890,7 +892,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex, mCdmaEriIconMode, mIsEmergencyOnly, mLteEarfcnRsrpBoost, mArfcnRsrpBoost, mNetworkRegistrationInfos, mNrFrequencyRange, mOperatorAlphaLongRaw, Loading Loading @@ -1101,7 +1103,7 @@ public class ServiceState implements Parcelable { .append(", mCdmaDefaultRoamingIndicator=").append(mCdmaDefaultRoamingIndicator) .append(", mIsEmergencyOnly=").append(mIsEmergencyOnly) .append(", isUsingCarrierAggregation=").append(isUsingCarrierAggregation()) .append(", mLteEarfcnRsrpBoost=").append(mLteEarfcnRsrpBoost) .append(", mArfcnRsrpBoost=").append(mArfcnRsrpBoost) .append(", mNetworkRegistrationInfos=").append(mNetworkRegistrationInfos) .append(", mNrFrequencyRange=").append(Build.IS_DEBUGGABLE ? mNrFrequencyRange : FREQUENCY_RANGE_UNKNOWN) Loading Loading @@ -1132,7 +1134,7 @@ public class ServiceState implements Parcelable { mCdmaEriIconIndex = -1; mCdmaEriIconMode = -1; mIsEmergencyOnly = false; mLteEarfcnRsrpBoost = 0; mArfcnRsrpBoost = 0; mNrFrequencyRange = FREQUENCY_RANGE_UNKNOWN; synchronized (mNetworkRegistrationInfos) { mNetworkRegistrationInfos.clear(); Loading Loading @@ -1364,7 +1366,7 @@ public class ServiceState implements Parcelable { m.putBoolean("emergencyOnly", mIsEmergencyOnly); m.putBoolean("isDataRoamingFromRegistration", getDataRoamingFromRegistration()); m.putBoolean("isUsingCarrierAggregation", isUsingCarrierAggregation()); m.putInt("LteEarfcnRsrpBoost", mLteEarfcnRsrpBoost); m.putInt("ArfcnRsrpBoost", mArfcnRsrpBoost); m.putInt("ChannelNumber", mChannelNumber); m.putIntArray("CellBandwidths", mCellBandwidths); m.putInt("mNrFrequencyRange", mNrFrequencyRange); Loading Loading @@ -1455,13 +1457,13 @@ public class ServiceState implements Parcelable { } /** @hide */ public int getLteEarfcnRsrpBoost() { return mLteEarfcnRsrpBoost; public int getArfcnRsrpBoost() { return mArfcnRsrpBoost; } /** @hide */ public void setLteEarfcnRsrpBoost(int LteEarfcnRsrpBoost) { mLteEarfcnRsrpBoost = LteEarfcnRsrpBoost; public void setArfcnRsrpBoost(int arfcnRsrpBoost) { mArfcnRsrpBoost = arfcnRsrpBoost; } /** @hide */ Loading