aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2024-03-06 09:29:57 -0800
committerXin Li <delphij@google.com>2024-03-06 09:29:57 -0800
commit2cb5a7281a8e71b7b7d21294ee2dbd523ba91533 (patch)
tree972b56335b352dc4793abb6e97c22f8278aefe8e
parent24f527b4e971249eef0fcd97c1f0a0d15bd99d63 (diff)
parentdc02379d3d9d9ebf64b1f7a0a1171f0e25cf6d19 (diff)
downloadwalt-2cb5a7281a8e71b7b7d21294ee2dbd523ba91533.tar.gz
Merge Android 14 QPR2 to AOSP mainHEADmastermain
Bug: 319669529 Merged-In: I4b2711b4392ca6ddd1609bb765b9c3ca0773da35 Change-Id: If2fbd5179ab679a94935ffbc8cd24c6b26b48d57
-rw-r--r--android/WALT/app/build.gradle4
-rw-r--r--android/WALT/app/src/main/java/org/chromium/latency/walt/TouchCatcherView.java8
-rw-r--r--android/WALT/app/src/main/java/org/chromium/latency/walt/UsMotionEvent.java51
-rw-r--r--android/WALT/app/src/main/res/values/strings.xml2
4 files changed, 48 insertions, 17 deletions
diff --git a/android/WALT/app/build.gradle b/android/WALT/app/build.gradle
index d3fd5ae..98c9f23 100644
--- a/android/WALT/app/build.gradle
+++ b/android/WALT/app/build.gradle
@@ -9,8 +9,8 @@ android {
applicationId "org.chromium.latency.walt"
minSdkVersion 21
targetSdkVersion 29
- versionCode 9
- versionName "0.1.9"
+ versionCode 10
+ versionName "0.1.10"
}
externalNativeBuild.ndkBuild {
diff --git a/android/WALT/app/src/main/java/org/chromium/latency/walt/TouchCatcherView.java b/android/WALT/app/src/main/java/org/chromium/latency/walt/TouchCatcherView.java
index 9e04056..7683612 100644
--- a/android/WALT/app/src/main/java/org/chromium/latency/walt/TouchCatcherView.java
+++ b/android/WALT/app/src/main/java/org/chromium/latency/walt/TouchCatcherView.java
@@ -28,6 +28,7 @@ import android.view.View;
public class TouchCatcherView extends View {
private Paint linePaint = new Paint();
+ private Paint centerLinePaint = new Paint(); // for positioning the laser
private WaltDevice waltDevice;
private boolean isAnimated = false;
@@ -54,8 +55,11 @@ public class TouchCatcherView extends View {
private void initialisePaint() {
float density = getResources().getDisplayMetrics().density;
float lineWidth = 10f * density;
+ float centerLineWidth = 3f * density;
linePaint.setColor(Color.GREEN);
linePaint.setStrokeWidth(lineWidth);
+ centerLinePaint.setColor(Color.GREEN);
+ centerLinePaint.setStrokeWidth(centerLineWidth);
}
public static double markerPosition(long t_us, int period_us) {
@@ -88,11 +92,15 @@ public class TouchCatcherView extends View {
int h = getHeight();
double normPos = markerPosition(waltDevice.clock.micros(), animationPeriod_us);
int pos = (int) (h * (0.5 + animationAmplitude * normPos));
+ int centerPos = (int) (h * 0.5);
// Log.i("AnimatedView", "Pos is " + pos);
int w = getWidth();
int lineStart = (int) (w * (1 - lineLength) / 2);
int lineEnd = (int) (w * (1 + lineLength) / 2);
+
+ canvas.drawLine(0, centerPos, lineStart, centerPos, centerLinePaint);
+ canvas.drawLine(lineEnd, centerPos, w - 1, centerPos, centerLinePaint);
canvas.drawLine(lineStart, pos, lineEnd, pos, linePaint);
// Run every frame
diff --git a/android/WALT/app/src/main/java/org/chromium/latency/walt/UsMotionEvent.java b/android/WALT/app/src/main/java/org/chromium/latency/walt/UsMotionEvent.java
index f68e461..2882ca0 100644
--- a/android/WALT/app/src/main/java/org/chromium/latency/walt/UsMotionEvent.java
+++ b/android/WALT/app/src/main/java/org/chromium/latency/walt/UsMotionEvent.java
@@ -108,6 +108,31 @@ public class UsMotionEvent {
return "UNKNOWN_ACTION";
}
+ private long getEventTimeNanos(MotionEvent event, boolean preAndroidU) {
+ long t_nanos = -1;
+ final String methodName = preAndroidU ? "getEventTimeNano" : "getEventTimeNanos";
+ try {
+ Class<?> cls = Class.forName("android.view.MotionEvent");
+ Method myTimeGetter = cls.getMethod(methodName);
+ t_nanos = (long) myTimeGetter.invoke(event);
+ } catch (Exception e) {
+ }
+ return t_nanos;
+ }
+
+ private long getHistoricalEventTimeNanos(MotionEvent event, int pos, boolean preAndroidU) {
+ long t_nanos = -1;
+ final String methodName =
+ preAndroidU ? "getHistoricalEventTimeNano" : "getHistoricalEventTimeNanos";
+ try {
+ Class<?> cls = Class.forName("android.view.MotionEvent");
+ Method myTimeGetter = cls.getMethod(methodName, new Class[]{int.class});
+ t_nanos = (long) myTimeGetter.invoke(event, new Object[]{pos});
+ } catch (Exception e) {
+ }
+ return t_nanos;
+ }
+
/**
MotionEvent.getEventTime() function only provides millisecond resolution.
There is a MotionEvent.getEventTimeNano() function but for some reason it
@@ -119,27 +144,25 @@ public class UsMotionEvent {
*/
private long getEventTimeMicro(MotionEvent event) {
long t_nanos = -1;
- try {
- Class<?> cls = Class.forName("android.view.MotionEvent");
- Method myTimeGetter = cls.getMethod("getEventTimeNano");
- t_nanos = (long) myTimeGetter.invoke(event);
- } catch (Exception e) {
- Log.i("WALT.MsMotionEvent", e.getMessage());
+ t_nanos = getEventTimeNanos(event, false);
+ if (t_nanos == -1) {
+ t_nanos = getEventTimeNanos(event, true);
+ if (t_nanos == -1) {
+ Log.i("WALT.UsMotionEvent", "getEventTimeNanos failed.");
+ }
}
-
return t_nanos / 1000;
}
private long getHistoricalEventTimeMicro(MotionEvent event, int pos) {
long t_nanos = -1;
- try {
- Class<?> cls = Class.forName("android.view.MotionEvent");
- Method myTimeGetter = cls.getMethod("getHistoricalEventTimeNano", new Class[] {int.class});
- t_nanos = (long) myTimeGetter.invoke(event, new Object[]{pos});
- } catch (Exception e) {
- Log.i("WALT.MsMotionEvent", e.getMessage());
+ t_nanos = getHistoricalEventTimeNanos(event, pos, false);
+ if (t_nanos == -1) {
+ t_nanos = getHistoricalEventTimeNanos(event, pos, true);
+ if (t_nanos == -1) {
+ Log.i("WALT.UsMotionEvent", "getHistoricalEventTimeNanos failed.");
+ }
}
-
return t_nanos / 1000;
}
diff --git a/android/WALT/app/src/main/res/values/strings.xml b/android/WALT/app/src/main/res/values/strings.xml
index bc83273..1b453bf 100644
--- a/android/WALT/app/src/main/res/values/strings.xml
+++ b/android/WALT/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
<resources>
- <string name="app_name">WALT</string>
+ <string name="app_name">WALT v0.1.10</string>
<string name="title_activity_crash_log">Crash Log</string>
<string name="protocol_version_mismatch">WALT reports protocol version %1$s, which is not