From e5225ba858c721f8317cba21bc1d3caa535e7e8b Mon Sep 17 00:00:00 2001 From: Zoey Chen Date: Sat, 24 Jul 2021 09:13:19 +0800 Subject: [PhysicalChannelConfig] UL's frequency should not be same with DL's Bug: 194042135 Test: atset PhysicalChannelConfigTest Change-Id: I1225a1429ff77b33c54af0dfce60a8739494e47a Merged-In: I1225a1429ff77b33c54af0dfce60a8739494e47a --- telephony/java/android/telephony/AccessNetworkUtils.java | 12 ++++++++++++ telephony/java/android/telephony/PhysicalChannelConfig.java | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'telephony') diff --git a/telephony/java/android/telephony/AccessNetworkUtils.java b/telephony/java/android/telephony/AccessNetworkUtils.java index 6b820459be98..b5d97abdd3eb 100644 --- a/telephony/java/android/telephony/AccessNetworkUtils.java +++ b/telephony/java/android/telephony/AccessNetworkUtils.java @@ -567,6 +567,10 @@ public class AccessNetworkUtils { */ public static int getFrequencyFromNrArfcn(int nrArfcn) { + if (nrArfcn == PhysicalChannelConfig.CHANNEL_NUMBER_UNKNOWN) { + return PhysicalChannelConfig.FREQUENCY_UNKNOWN; + } + int globalKhz = 0; int rangeOffset = 0; int arfcnOffset = 0; @@ -632,6 +636,10 @@ public class AccessNetworkUtils { */ public static int getFrequencyFromUarfcn(int band, int uarfcn, boolean isUplink) { + if (uarfcn == PhysicalChannelConfig.CHANNEL_NUMBER_UNKNOWN) { + return PhysicalChannelConfig.FREQUENCY_UNKNOWN; + } + int offsetKhz = 0; for (UtranBandArfcnFrequency uarfcnFrequency : AccessNetworkConstants. UtranBandArfcnFrequency.values()) { @@ -702,6 +710,10 @@ public class AccessNetworkUtils { */ public static int getFrequencyFromArfcn(int band, int arfcn, boolean isUplink) { + if (arfcn == PhysicalChannelConfig.CHANNEL_NUMBER_UNKNOWN) { + return PhysicalChannelConfig.FREQUENCY_UNKNOWN; + } + int uplinkFrequencyFirst = 0; int arfcnOffset = 0; int downlinkOffset = 0; diff --git a/telephony/java/android/telephony/PhysicalChannelConfig.java b/telephony/java/android/telephony/PhysicalChannelConfig.java index 8df41fb6b288..d250088c2f10 100644 --- a/telephony/java/android/telephony/PhysicalChannelConfig.java +++ b/telephony/java/android/telephony/PhysicalChannelConfig.java @@ -338,7 +338,8 @@ public final class PhysicalChannelConfig implements Parcelable { private void setUplinkFrequency() { switch (mNetworkType){ case TelephonyManager.NETWORK_TYPE_NR: - mUplinkFrequency = mDownlinkFrequency; + mUplinkFrequency = AccessNetworkUtils.getFrequencyFromNrArfcn( + mUplinkChannelNumber); break; case TelephonyManager.NETWORK_TYPE_LTE: mUplinkFrequency = AccessNetworkUtils.getFrequencyFromEarfcn( -- cgit v1.2.3