From 2fe9ac376360f22dbdd18ca23a950c149e36a2d7 Mon Sep 17 00:00:00 2001 From: michaelt Date: Thu, 20 Apr 2017 06:56:27 -0700 Subject: [PATCH] Add network tester client [android] to be able to test mobile networks in terms of packet size and sending rates. BUG=webrtc:7426 Review-Url: https://codereview.webrtc.org/2787863002 Cr-Commit-Position: refs/heads/master@{#17789} --- webrtc/tools/network_tester/BUILD.gn | 54 ++++++++++++++ .../androidapp/AndroidManifest.xml | 24 +++++++ .../androidapp/res/layout/activity_main.xml | 28 ++++++++ .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10486 bytes .../androidapp/res/values-v17/styles.xml | 8 +++ .../androidapp/res/values-w820dp/dimens.xml | 6 ++ .../androidapp/res/values/colors.xml | 6 ++ .../androidapp/res/values/dimens.xml | 5 ++ .../androidapp/res/values/strings.xml | 6 ++ .../media/networktester/MainActivity.java | 66 ++++++++++++++++++ .../media/networktester/NetworkTester.java | 32 +++++++++ webrtc/tools/network_tester/jni.cpp | 63 +++++++++++++++++ .../tools/network_tester/test_controller.cc | 6 +- 17 files changed, 303 insertions(+), 1 deletion(-) create mode 100755 webrtc/tools/network_tester/androidapp/AndroidManifest.xml create mode 100755 webrtc/tools/network_tester/androidapp/res/layout/activity_main.xml create mode 100644 webrtc/tools/network_tester/androidapp/res/mipmap-hdpi/ic_launcher.png create mode 100644 webrtc/tools/network_tester/androidapp/res/mipmap-mdpi/ic_launcher.png create mode 100644 webrtc/tools/network_tester/androidapp/res/mipmap-xhdpi/ic_launcher.png create mode 100644 webrtc/tools/network_tester/androidapp/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 webrtc/tools/network_tester/androidapp/res/mipmap-xxxhdpi/ic_launcher.png create mode 100755 webrtc/tools/network_tester/androidapp/res/values-v17/styles.xml create mode 100755 webrtc/tools/network_tester/androidapp/res/values-w820dp/dimens.xml create mode 100755 webrtc/tools/network_tester/androidapp/res/values/colors.xml create mode 100755 webrtc/tools/network_tester/androidapp/res/values/dimens.xml create mode 100755 webrtc/tools/network_tester/androidapp/res/values/strings.xml create mode 100644 webrtc/tools/network_tester/androidapp/src/com/google/media/networktester/MainActivity.java create mode 100644 webrtc/tools/network_tester/androidapp/src/com/google/media/networktester/NetworkTester.java create mode 100644 webrtc/tools/network_tester/jni.cpp diff --git a/webrtc/tools/network_tester/BUILD.gn b/webrtc/tools/network_tester/BUILD.gn index 1ba87ac957..1e290f60cf 100644 --- a/webrtc/tools/network_tester/BUILD.gn +++ b/webrtc/tools/network_tester/BUILD.gn @@ -112,3 +112,57 @@ if (rtc_enable_protobuf) { } } } + +if (is_android) { + android_apk("NetworkTesterMobile") { + testonly = true + apk_name = "NetworkTesterMobile" + android_manifest = "androidapp/AndroidManifest.xml" + + deps = [ + ":NetworkTesterMobile_javalib", + ":NetworkTesterMobile_resources", + "//base:base_java", + "//webrtc/base:base_java", + ] + + shared_libraries = [ "//webrtc/tools/network_tester:network_tester_so" ] + } + + android_library("NetworkTesterMobile_javalib") { + testonly = true + android_manifest = "androidapp/AndroidManifest.xml" + + java_files = [ + "androidapp/src/com/google/media/networktester/MainActivity.java", + "androidapp/src/com/google/media/networktester/NetworkTester.java", + ] + + deps = [ + ":NetworkTesterMobile_resources", + "//webrtc/base:base_java", + ] + } + + android_resources("NetworkTesterMobile_resources") { + testonly = true + resource_dirs = [ "androidapp/res" ] + custom_package = "com.google.media.networktester" + } + + rtc_shared_library("network_tester_so") { + sources = [ + "jni.cpp", + ] + + deps = [ + ":network_tester", + "../../system_wrappers:field_trial_default", + ] + + suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ] + configs += [ "//build/config/android:hide_all_but_jni" ] + + output_extension = "so" + } +} diff --git a/webrtc/tools/network_tester/androidapp/AndroidManifest.xml b/webrtc/tools/network_tester/androidapp/AndroidManifest.xml new file mode 100755 index 0000000000..f391063f6d --- /dev/null +++ b/webrtc/tools/network_tester/androidapp/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/webrtc/tools/network_tester/androidapp/res/layout/activity_main.xml b/webrtc/tools/network_tester/androidapp/res/layout/activity_main.xml new file mode 100755 index 0000000000..8839a31003 --- /dev/null +++ b/webrtc/tools/network_tester/androidapp/res/layout/activity_main.xml @@ -0,0 +1,28 @@ + + +