Loading src/java/com/android/internal/telephony/data/DataConfigManager.java +518 −74 File changed.Preview size limit exceeded, changes collapsed. Show changes src/java/com/android/internal/telephony/data/DataNetwork.java +15 −24 Original line number Diff line number Diff line Loading @@ -49,7 +49,6 @@ import android.telephony.LinkCapacityEstimate; import android.telephony.NetworkRegistrationInfo; import android.telephony.PreciseDataConnectionState; import android.telephony.ServiceState; import android.telephony.TelephonyDisplayInfo; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import android.telephony.data.DataCallResponse; Loading Loading @@ -422,6 +421,12 @@ public class DataNetwork extends StateMachine { this.downlinkBandwidthKbps = downlinkBandwidthKbps; this.uplinkBandwidthKbps = uplinkBandwidthKbps; } @Override public String toString() { return String.format("NetworkBandwidth=[downlink=%d, uplink=%d]", downlinkBandwidthKbps, uplinkBandwidthKbps); } } /** Loading Loading @@ -1348,26 +1353,21 @@ public class DataNetwork extends StateMachine { * * @return The TCP config string used in {@link LinkProperties#setTcpBufferSizes(String)}. */ private @NonNull String getTcpConfig() { private @Nullable String getTcpConfig() { ServiceState ss = mPhone.getServiceState(); NetworkRegistrationInfo nrs = ss.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, mTransport); int networkType = TelephonyManager.NETWORK_TYPE_UNKNOWN; if (nrs != null) { networkType = nrs.getAccessNetworkTechnology(); if (networkType == TelephonyManager.NETWORK_TYPE_LTE && isNrConnected()) { // Use the 5G SA TCP config for 5G NSA. networkType = TelephonyManager.NETWORK_TYPE_NR; } if (networkType == TelephonyManager.NETWORK_TYPE_LTE && nrs.isUsingCarrierAggregation()) { // Although LTE_CA is not a real RAT, but since LTE CA gernally has higher speed, // so we use a different network type to get a different TCP config for LTE CA. // Although LTE_CA is not a real RAT, but since LTE CA generally has higher speed // we use LTE_CA to get a different TCP config for LTE CA. networkType = TelephonyManager.NETWORK_TYPE_LTE_CA; } } return mDataConfigManager.getTcpConfigString(networkType); return mDataConfigManager.getTcpConfigString(networkType, ss); } /** Loading Loading @@ -1580,13 +1580,8 @@ public class DataNetwork extends StateMachine { private void onBandwidthUpdated(int uplinkBandwidthKbps, int downlinkBandwidthKbps) { log("onBandwidthUpdated: downlinkBandwidthKbps=" + downlinkBandwidthKbps + ", uplinkBandwidthKbps=" + uplinkBandwidthKbps); TelephonyDisplayInfo displayInfo = mPhone.getDisplayInfoController() .getTelephonyDisplayInfo(); NetworkBandwidth bandwidthFromConfig = null; if (displayInfo != null) { bandwidthFromConfig = mDataConfigManager.getBandwidthForNetworkType( getDataNetworkType(), displayInfo.getOverrideNetworkType()); } NetworkBandwidth bandwidthFromConfig = mDataConfigManager.getBandwidthForNetworkType( getDataNetworkType(), mPhone.getServiceState()); if (downlinkBandwidthKbps == LinkCapacityEstimate.INVALID && bandwidthFromConfig != null) { // Fallback to carrier config. Loading Loading @@ -1624,14 +1619,10 @@ public class DataNetwork extends StateMachine { return; } log("updateBandwidthFromDataConfig"); TelephonyDisplayInfo displayInfo = mPhone.getDisplayInfoController() .getTelephonyDisplayInfo(); if (displayInfo != null) { mNetworkBandwidth = mDataConfigManager.getBandwidthForNetworkType( getDataNetworkType(), displayInfo.getOverrideNetworkType()); getDataNetworkType(), mPhone.getServiceState()); updateNetworkCapabilities(); } } /** * @return The unique context id assigned by the data service in Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +3 −6 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ import com.android.internal.telephony.RIL; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.TelephonyStatsLog; import com.android.internal.telephony.data.DataConfigManager; import com.android.internal.telephony.dataconnection.DcTracker.ReleaseNetworkType; import com.android.internal.telephony.dataconnection.DcTracker.RequestNetworkType; import com.android.internal.telephony.metrics.DataCallSessionStats; Loading Loading @@ -1567,12 +1568,8 @@ public class DataConnection extends StateMachine { } private void updateLinkBandwidthsFromCarrierConfig(int rilRat) { String ratName = ServiceState.rilRadioTechnologyToString(rilRat); if (rilRat == ServiceState.RIL_RADIO_TECHNOLOGY_LTE && isNRConnected()) { ratName = mPhone.getServiceState().getNrFrequencyRange() == ServiceState.FREQUENCY_RANGE_MMWAVE ? DctConstants.RAT_NAME_NR_NSA_MMWAVE : DctConstants.RAT_NAME_NR_NSA; } String ratName = DataConfigManager.getDataConfigNetworkType( ServiceState.rilRadioTechnologyToNetworkType(rilRat), mPhone.getServiceState()); if (DBG) log("updateLinkBandwidthsFromCarrierConfig: " + ratName); Loading src/java/com/android/internal/telephony/dataconnection/DcTracker.java +12 −8 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.SettingsObserver; import com.android.internal.telephony.SubscriptionInfoUpdater; import com.android.internal.telephony.data.DataConfigManager; import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataAllowedReasonType; import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataDisallowedReasonType; import com.android.internal.telephony.dataconnection.DataEnabledSettings.DataEnabledChangedReason; Loading Loading @@ -4300,15 +4301,18 @@ public class DcTracker extends Handler { } } if (useLte) { Pair<Integer, Integer> ltePair = temp.get(DctConstants.RAT_NAME_LTE); Pair<Integer, Integer> ltePair = temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_LTE); if (ltePair != null) { if (temp.containsKey(DctConstants.RAT_NAME_NR_NSA)) { temp.put(DctConstants.RAT_NAME_NR_NSA, new Pair<>( temp.get(DctConstants.RAT_NAME_NR_NSA).first, ltePair.second)); if (temp.containsKey(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA)) { temp.put(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA, new Pair<>( temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA).first, ltePair.second)); } if (temp.containsKey(DctConstants.RAT_NAME_NR_NSA_MMWAVE)) { temp.put(DctConstants.RAT_NAME_NR_NSA_MMWAVE, new Pair<>( temp.get(DctConstants.RAT_NAME_NR_NSA_MMWAVE).first, ltePair.second)); if (temp.containsKey(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE)) { temp.put(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE, new Pair<>( temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE) .first, ltePair.second)); } } } Loading Loading @@ -5584,7 +5588,7 @@ public class DcTracker extends Handler { bandwidths = b.getStringArray(CarrierConfigManager.KEY_BANDWIDTH_STRING_ARRAY); } useLte = b.getBoolean(CarrierConfigManager .KEY_BANDWIDTH_NR_NSA_USE_LTE_VALUE_FOR_UPSTREAM_BOOL); .KEY_BANDWIDTH_NR_NSA_USE_LTE_VALUE_FOR_UPLINK_BOOL); mWatchdogTimeMs = b.getLong(CarrierConfigManager.KEY_5G_WATCHDOG_TIME_MS_LONG); mNrNsaAllUnmetered = b.getBoolean(CarrierConfigManager.KEY_UNMETERED_NR_NSA_BOOL); mNrNsaMmwaveUnmetered = b.getBoolean( Loading Loading
src/java/com/android/internal/telephony/data/DataConfigManager.java +518 −74 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/java/com/android/internal/telephony/data/DataNetwork.java +15 −24 Original line number Diff line number Diff line Loading @@ -49,7 +49,6 @@ import android.telephony.LinkCapacityEstimate; import android.telephony.NetworkRegistrationInfo; import android.telephony.PreciseDataConnectionState; import android.telephony.ServiceState; import android.telephony.TelephonyDisplayInfo; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import android.telephony.data.DataCallResponse; Loading Loading @@ -422,6 +421,12 @@ public class DataNetwork extends StateMachine { this.downlinkBandwidthKbps = downlinkBandwidthKbps; this.uplinkBandwidthKbps = uplinkBandwidthKbps; } @Override public String toString() { return String.format("NetworkBandwidth=[downlink=%d, uplink=%d]", downlinkBandwidthKbps, uplinkBandwidthKbps); } } /** Loading Loading @@ -1348,26 +1353,21 @@ public class DataNetwork extends StateMachine { * * @return The TCP config string used in {@link LinkProperties#setTcpBufferSizes(String)}. */ private @NonNull String getTcpConfig() { private @Nullable String getTcpConfig() { ServiceState ss = mPhone.getServiceState(); NetworkRegistrationInfo nrs = ss.getNetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, mTransport); int networkType = TelephonyManager.NETWORK_TYPE_UNKNOWN; if (nrs != null) { networkType = nrs.getAccessNetworkTechnology(); if (networkType == TelephonyManager.NETWORK_TYPE_LTE && isNrConnected()) { // Use the 5G SA TCP config for 5G NSA. networkType = TelephonyManager.NETWORK_TYPE_NR; } if (networkType == TelephonyManager.NETWORK_TYPE_LTE && nrs.isUsingCarrierAggregation()) { // Although LTE_CA is not a real RAT, but since LTE CA gernally has higher speed, // so we use a different network type to get a different TCP config for LTE CA. // Although LTE_CA is not a real RAT, but since LTE CA generally has higher speed // we use LTE_CA to get a different TCP config for LTE CA. networkType = TelephonyManager.NETWORK_TYPE_LTE_CA; } } return mDataConfigManager.getTcpConfigString(networkType); return mDataConfigManager.getTcpConfigString(networkType, ss); } /** Loading Loading @@ -1580,13 +1580,8 @@ public class DataNetwork extends StateMachine { private void onBandwidthUpdated(int uplinkBandwidthKbps, int downlinkBandwidthKbps) { log("onBandwidthUpdated: downlinkBandwidthKbps=" + downlinkBandwidthKbps + ", uplinkBandwidthKbps=" + uplinkBandwidthKbps); TelephonyDisplayInfo displayInfo = mPhone.getDisplayInfoController() .getTelephonyDisplayInfo(); NetworkBandwidth bandwidthFromConfig = null; if (displayInfo != null) { bandwidthFromConfig = mDataConfigManager.getBandwidthForNetworkType( getDataNetworkType(), displayInfo.getOverrideNetworkType()); } NetworkBandwidth bandwidthFromConfig = mDataConfigManager.getBandwidthForNetworkType( getDataNetworkType(), mPhone.getServiceState()); if (downlinkBandwidthKbps == LinkCapacityEstimate.INVALID && bandwidthFromConfig != null) { // Fallback to carrier config. Loading Loading @@ -1624,14 +1619,10 @@ public class DataNetwork extends StateMachine { return; } log("updateBandwidthFromDataConfig"); TelephonyDisplayInfo displayInfo = mPhone.getDisplayInfoController() .getTelephonyDisplayInfo(); if (displayInfo != null) { mNetworkBandwidth = mDataConfigManager.getBandwidthForNetworkType( getDataNetworkType(), displayInfo.getOverrideNetworkType()); getDataNetworkType(), mPhone.getServiceState()); updateNetworkCapabilities(); } } /** * @return The unique context id assigned by the data service in Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +3 −6 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ import com.android.internal.telephony.RIL; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.TelephonyStatsLog; import com.android.internal.telephony.data.DataConfigManager; import com.android.internal.telephony.dataconnection.DcTracker.ReleaseNetworkType; import com.android.internal.telephony.dataconnection.DcTracker.RequestNetworkType; import com.android.internal.telephony.metrics.DataCallSessionStats; Loading Loading @@ -1567,12 +1568,8 @@ public class DataConnection extends StateMachine { } private void updateLinkBandwidthsFromCarrierConfig(int rilRat) { String ratName = ServiceState.rilRadioTechnologyToString(rilRat); if (rilRat == ServiceState.RIL_RADIO_TECHNOLOGY_LTE && isNRConnected()) { ratName = mPhone.getServiceState().getNrFrequencyRange() == ServiceState.FREQUENCY_RANGE_MMWAVE ? DctConstants.RAT_NAME_NR_NSA_MMWAVE : DctConstants.RAT_NAME_NR_NSA; } String ratName = DataConfigManager.getDataConfigNetworkType( ServiceState.rilRadioTechnologyToNetworkType(rilRat), mPhone.getServiceState()); if (DBG) log("updateLinkBandwidthsFromCarrierConfig: " + ratName); Loading
src/java/com/android/internal/telephony/dataconnection/DcTracker.java +12 −8 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.telephony.SettingsObserver; import com.android.internal.telephony.SubscriptionInfoUpdater; import com.android.internal.telephony.data.DataConfigManager; import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataAllowedReasonType; import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataDisallowedReasonType; import com.android.internal.telephony.dataconnection.DataEnabledSettings.DataEnabledChangedReason; Loading Loading @@ -4300,15 +4301,18 @@ public class DcTracker extends Handler { } } if (useLte) { Pair<Integer, Integer> ltePair = temp.get(DctConstants.RAT_NAME_LTE); Pair<Integer, Integer> ltePair = temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_LTE); if (ltePair != null) { if (temp.containsKey(DctConstants.RAT_NAME_NR_NSA)) { temp.put(DctConstants.RAT_NAME_NR_NSA, new Pair<>( temp.get(DctConstants.RAT_NAME_NR_NSA).first, ltePair.second)); if (temp.containsKey(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA)) { temp.put(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA, new Pair<>( temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA).first, ltePair.second)); } if (temp.containsKey(DctConstants.RAT_NAME_NR_NSA_MMWAVE)) { temp.put(DctConstants.RAT_NAME_NR_NSA_MMWAVE, new Pair<>( temp.get(DctConstants.RAT_NAME_NR_NSA_MMWAVE).first, ltePair.second)); if (temp.containsKey(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE)) { temp.put(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE, new Pair<>( temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE) .first, ltePair.second)); } } } Loading Loading @@ -5584,7 +5588,7 @@ public class DcTracker extends Handler { bandwidths = b.getStringArray(CarrierConfigManager.KEY_BANDWIDTH_STRING_ARRAY); } useLte = b.getBoolean(CarrierConfigManager .KEY_BANDWIDTH_NR_NSA_USE_LTE_VALUE_FOR_UPSTREAM_BOOL); .KEY_BANDWIDTH_NR_NSA_USE_LTE_VALUE_FOR_UPLINK_BOOL); mWatchdogTimeMs = b.getLong(CarrierConfigManager.KEY_5G_WATCHDOG_TIME_MS_LONG); mNrNsaAllUnmetered = b.getBoolean(CarrierConfigManager.KEY_UNMETERED_NR_NSA_BOOL); mNrNsaMmwaveUnmetered = b.getBoolean( Loading