Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(238)

Unified Diff: webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java

Issue 1992213002: Replace LooperExecutor with built-in class in Android AppRTC Demo (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java
index 9f604fdbe86f2ee32a6b9c8f651f05d1cd7a2029..33cf7f7af4e8d27d5830755f3ecc31557312c233 100644
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java
@@ -23,8 +23,9 @@ import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
-
-import org.appspot.apprtc.util.LooperExecutor;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
/**
* Simple CPU monitor. The caller creates a CpuMonitor object which can then
@@ -85,7 +86,7 @@ class CpuMonitor {
// CPU frequency in percentage from maximum.
private final MovingAverage frequencyScale;
- private LooperExecutor executor;
+ private ScheduledExecutorService executor;
private long lastStatLogTimeMs;
private long[] cpuFreqMax;
private int cpusPresent;
@@ -159,33 +160,21 @@ class CpuMonitor {
frequencyScale = new MovingAverage(MOVING_AVERAGE_SAMPLES);
lastStatLogTimeMs = SystemClock.elapsedRealtime();
- executor = new LooperExecutor();
- executor.requestStart();
scheduleCpuUtilizationTask();
}
- public void release() {
- if (executor != null) {
- Log.d(TAG, "release");
- executor.cancelScheduledTasks();
- executor.requestStop();
- executor = null;
- }
- }
-
public void pause() {
if (executor != null) {
Log.d(TAG, "pause");
- executor.cancelScheduledTasks();
+ executor.shutdownNow();
+ executor = null;
}
}
public void resume() {
- if (executor != null) {
- Log.d(TAG, "resume");
- resetStat();
- scheduleCpuUtilizationTask();
- }
+ Log.d(TAG, "resume");
+ resetStat();
+ scheduleCpuUtilizationTask();
}
public synchronized void reset() {
@@ -209,13 +198,18 @@ class CpuMonitor {
}
private void scheduleCpuUtilizationTask() {
- executor.cancelScheduledTasks();
+ if (executor != null) {
+ executor.shutdownNow();
+ executor = null;
+ }
+
+ executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
cpuUtilizationTask();
}
- }, CPU_STAT_SAMPLE_PERIOD_MS);
+ }, 0, CPU_STAT_SAMPLE_PERIOD_MS, TimeUnit.MILLISECONDS);
}
private void cpuUtilizationTask() {

Powered by Google App Engine
This is Rietveld 408576698