aboutsummaryrefslogtreecommitdiff
path: root/android/WALT/app/src/main/java/org/chromium/latency/walt/ScreenResponseFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/WALT/app/src/main/java/org/chromium/latency/walt/ScreenResponseFragment.java')
-rw-r--r--android/WALT/app/src/main/java/org/chromium/latency/walt/ScreenResponseFragment.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/android/WALT/app/src/main/java/org/chromium/latency/walt/ScreenResponseFragment.java b/android/WALT/app/src/main/java/org/chromium/latency/walt/ScreenResponseFragment.java
index cfe6a53..629ed7d 100644
--- a/android/WALT/app/src/main/java/org/chromium/latency/walt/ScreenResponseFragment.java
+++ b/android/WALT/app/src/main/java/org/chromium/latency/walt/ScreenResponseFragment.java
@@ -53,7 +53,8 @@ import static org.chromium.latency.walt.Utils.getIntPreference;
/**
* Measurement of screen response time when switching between black and white.
*/
-public class ScreenResponseFragment extends Fragment implements View.OnClickListener {
+public class ScreenResponseFragment extends Fragment
+ implements View.OnClickListener, RobotAutomationListener {
private static final int CURVE_TIMEOUT = 1000; // milliseconds
private static final int CURVE_BLINK_TIME = 250; // milliseconds
@@ -248,14 +249,13 @@ public class ScreenResponseFragment extends Fragment implements View.OnClickList
Choreographer.getInstance().postFrameCallback(new Choreographer.FrameCallback() {
@Override
public void doFrame(long frameTimeNanos) {
- // frameTimeNanos is he time in nanoseconds when the frame started being
+ // frameTimeNanos is the time in nanoseconds when the frame started being
// rendered, in the nanoTime() timebase.
lastFrameStartTime = frameTimeNanos / 1000 - waltDevice.clock.baseTime;
lastFrameCallbackTime = System.nanoTime() / 1000 - waltDevice.clock.baseTime;
}
});
-
// Repost doBlink to some far away time to blink again even if nothing arrives from
// Teensy. This callback will almost always get cancelled by onIncomingTimestamp()
handler.postDelayed(doBlinkRunnable, 550 + (long) (Math.random()*100));
@@ -290,9 +290,9 @@ public class ScreenResponseFragment extends Fragment implements View.OnClickList
}
}
- final long startTimeMicros = lastFrameStartTime + waltDevice.clock.baseTime;
- final long finishTimeMicros = tmsg.t + waltDevice.clock.baseTime;
if (traceLogger != null) {
+ final long startTimeMicros = lastFrameStartTime + waltDevice.clock.baseTime;
+ final long finishTimeMicros = tmsg.t + waltDevice.clock.baseTime;
traceLogger.log(startTimeMicros, finishTimeMicros,
isBoxWhite ? "Black-to-white" : "White-to-black",
"Bar starts at beginning of frame and ends when photosensor detects blink");
@@ -423,6 +423,18 @@ public class ScreenResponseFragment extends Fragment implements View.OnClickList
}
}
+ public void onRobotAutomationEvent(String event) {
+ // Never show the latency chart during automated runs.
+ shouldShowLatencyChart = false;
+ // Disable full-screen mode to prevent modal user dialog.
+ enableFullScreen = false;
+ if (event.equals(RobotAutomationListener.RESTART_EVENT)) {
+ onClick(stopButton);
+ } else if (event.equals(RobotAutomationListener.START_EVENT)) {
+ onClick(startButton);
+ }
+ }
+
private WaltDevice.TriggerHandler brightnessTriggerHandler = new WaltDevice.TriggerHandler() {
@Override
public void onReceive(WaltDevice.TriggerMessage tmsg) {