diff --git a/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java b/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java index 0ac469c1de..dbea840710 100644 --- a/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java +++ b/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java @@ -50,6 +50,7 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver { CONNECTION_UNKNOWN, CONNECTION_ETHERNET, CONNECTION_WIFI, + CONNECTION_5G, CONNECTION_4G, CONNECTION_3G, CONNECTION_2G, @@ -798,6 +799,7 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver { case TelephonyManager.NETWORK_TYPE_CDMA: case TelephonyManager.NETWORK_TYPE_1xRTT: case TelephonyManager.NETWORK_TYPE_IDEN: + case TelephonyManager.NETWORK_TYPE_GSM: return ConnectionType.CONNECTION_2G; case TelephonyManager.NETWORK_TYPE_UMTS: case TelephonyManager.NETWORK_TYPE_EVDO_0: @@ -808,9 +810,13 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver { case TelephonyManager.NETWORK_TYPE_EVDO_B: case TelephonyManager.NETWORK_TYPE_EHRPD: case TelephonyManager.NETWORK_TYPE_HSPAP: + case TelephonyManager.NETWORK_TYPE_TD_SCDMA: return ConnectionType.CONNECTION_3G; case TelephonyManager.NETWORK_TYPE_LTE: + case TelephonyManager.NETWORK_TYPE_IWLAN: return ConnectionType.CONNECTION_4G; + case TelephonyManager.NETWORK_TYPE_NR: + return ConnectionType.CONNECTION_5G; default: return ConnectionType.CONNECTION_UNKNOWN_CELLULAR; } diff --git a/sdk/android/src/jni/android_network_monitor.cc b/sdk/android/src/jni/android_network_monitor.cc index 0b1a4432ed..0f02d179e7 100644 --- a/sdk/android/src/jni/android_network_monitor.cc +++ b/sdk/android/src/jni/android_network_monitor.cc @@ -48,6 +48,9 @@ static NetworkType GetNetworkTypeFromJava( if (enum_name == "CONNECTION_WIFI") { return NetworkType::NETWORK_WIFI; } + if (enum_name == "CONNECTION_5G") { + return NetworkType::NETWORK_5G; + } if (enum_name == "CONNECTION_4G") { return NetworkType::NETWORK_4G; } @@ -81,6 +84,7 @@ static rtc::AdapterType AdapterTypeFromNetworkType(NetworkType network_type) { return rtc::ADAPTER_TYPE_ETHERNET; case NETWORK_WIFI: return rtc::ADAPTER_TYPE_WIFI; + case NETWORK_5G: case NETWORK_4G: case NETWORK_3G: case NETWORK_2G: diff --git a/sdk/android/src/jni/android_network_monitor.h b/sdk/android/src/jni/android_network_monitor.h index 81647bd307..ee84588d7e 100644 --- a/sdk/android/src/jni/android_network_monitor.h +++ b/sdk/android/src/jni/android_network_monitor.h @@ -31,6 +31,7 @@ enum NetworkType { NETWORK_UNKNOWN, NETWORK_ETHERNET, NETWORK_WIFI, + NETWORK_5G, NETWORK_4G, NETWORK_3G, NETWORK_2G,