diff options
Diffstat (limited to 'third_party/libwebrtc/rtc_tools/network_tester/androidapp/src/com/google')
2 files changed, 94 insertions, 0 deletions
diff --git a/third_party/libwebrtc/rtc_tools/network_tester/androidapp/src/com/google/media/networktester/MainActivity.java b/third_party/libwebrtc/rtc_tools/network_tester/androidapp/src/com/google/media/networktester/MainActivity.java new file mode 100644 index 0000000000..33f442fce2 --- /dev/null +++ b/third_party/libwebrtc/rtc_tools/network_tester/androidapp/src/com/google/media/networktester/MainActivity.java @@ -0,0 +1,62 @@ +/* + * Copyright 2017 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +package com.google.media.networktester; + +import android.app.Activity; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.WindowManager; +import android.widget.Button; + +public class MainActivity extends Activity { + Button startButton; + Button stopButton; + NetworkTester networkTester; + Handler mainThreadHandler; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + startButton = (Button) findViewById(R.id.start_button); + startButton.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + startTest(); + } + }); + stopButton = (Button) findViewById(R.id.stop_button); + stopButton.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + stopTest(); + } + }); + mainThreadHandler = new Handler(); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } + + private void startTest() { + if (networkTester == null) { + networkTester = new NetworkTester(); + networkTester.start(); + } + } + + private void stopTest() { + if (networkTester != null) { + networkTester.interrupt(); + networkTester = null; + } + } +} diff --git a/third_party/libwebrtc/rtc_tools/network_tester/androidapp/src/com/google/media/networktester/NetworkTester.java b/third_party/libwebrtc/rtc_tools/network_tester/androidapp/src/com/google/media/networktester/NetworkTester.java new file mode 100644 index 0000000000..7c08f873bb --- /dev/null +++ b/third_party/libwebrtc/rtc_tools/network_tester/androidapp/src/com/google/media/networktester/NetworkTester.java @@ -0,0 +1,32 @@ +/* + * Copyright 2017 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +package com.google.media.networktester; + +public class NetworkTester extends Thread { + private native static long CreateTestController(); + private native static void TestControllerConnect(long testController); + private native static void TestControllerRun(long testController); + private native static boolean TestControllerIsDone(long testController); + private native static void DestroyTestController(long testController); + static { + System.loadLibrary("network_tester_so"); + } + + @Override + public void run() { + final long testController = CreateTestController(); + TestControllerConnect(testController); + while (!Thread.interrupted() && !TestControllerIsDone(testController)) { + TestControllerRun(testController); + } + DestroyTestController(testController); + } +} |