diff options
author | Mark Chang <changmark@google.com> | 2023-05-12 07:40:31 +0000 |
---|---|---|
committer | Mark Chang <changmark@google.com> | 2023-05-12 07:40:31 +0000 |
commit | 24d91936aa28b6266f5007534a6b722181403a20 (patch) | |
tree | 972b56335b352dc4793abb6e97c22f8278aefe8e /android | |
parent | 24f527b4e971249eef0fcd97c1f0a0d15bd99d63 (diff) | |
download | walt-android14-qpr2-s4-release.tar.gz |
Revise calling API for Android U.android-14.0.0_r37android-14.0.0_r36android-14.0.0_r35android-14.0.0_r34android-14.0.0_r33android-14.0.0_r32android-14.0.0_r31android-14.0.0_r30android-14.0.0_r29android14-qpr2-s5-releaseandroid14-qpr2-s4-releaseandroid14-qpr2-s3-releaseandroid14-qpr2-s2-releaseandroid14-qpr2-s1-releaseandroid14-qpr2-release
Bug: 282117475
Test: Manual, WALT drag test is working.
Change-Id: Iabc61a3a2d982af20f66d959713f92a5b7f12532
Signed-off-by: Mark Chang <changmark@google.com>
Diffstat (limited to 'android')
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 |