Merge "Trace Redaction - Bit index-out-of-bounds bike mask error" into main
diff --git a/protos/perfetto/trace/android/android_input_event.proto b/protos/perfetto/trace/android/android_input_event.proto
index 4dc3979..85a89c0 100644
--- a/protos/perfetto/trace/android/android_input_event.proto
+++ b/protos/perfetto/trace/android/android_input_event.proto
@@ -22,6 +22,9 @@
 
 // A representation of an Android MotionEvent.
 // See: https://developer.android.com/reference/android/view/MotionEvent
+//
+// The timestamp of the TracePacket that contains this event corresponds to the time at which
+// this event was processed by InputDispatcher.
 message AndroidMotionEvent {
   // A representation of one pointer inside a MotionEvent.
   // Each Pointer contains the values present in its corresponding
@@ -72,6 +75,9 @@
 
 // A representation of an Android KeyEvent.
 // See: https://developer.android.com/reference/android/view/KeyEvent
+//
+// The timestamp of the TracePacket that contains this event corresponds to the time at which
+// this event was processed by InputDispatcher.
 message AndroidKeyEvent {
   // The randomly-generated ID used to track the event through the pipeline.
   optional fixed32 event_id = 1;
@@ -93,6 +99,9 @@
 }
 
 // An event that traces an input event being dispatched by the system to one window.
+//
+// The timestamp of the TracePacket that contains this event corresponds to the time at which
+// this event was dispatched to the target window by InputDispatcher, also known as "delivery time".
 message AndroidWindowInputDispatchEvent {
   // Stores x/y values for each pointer sent to the window for events
   // that are dispatched to a certain location on the screen. This is not relevant
@@ -122,6 +131,9 @@
   optional uint32 resolved_flags = 5;
 }
 
+// A wrapper type for input tracing on Android.
+// The meaning of the timestamp of the TracePacket that contains this message will depend on
+// the event that this message contains.
 message AndroidInputEvent {
   oneof event {
     // Traces input events received by or generated by InputDispatcher
diff --git a/src/trace_processor/importers/proto/winscope/android_input_event_parser.cc b/src/trace_processor/importers/proto/winscope/android_input_event_parser.cc
index 566ab8c..03bf5ad 100644
--- a/src/trace_processor/importers/proto/winscope/android_input_event_parser.cc
+++ b/src/trace_processor/importers/proto/winscope/android_input_event_parser.cc
@@ -79,7 +79,7 @@
   AndroidMotionEvent::Decoder event_proto(bytes);
   tables::AndroidMotionEventsTable::Row event_row;
   event_row.event_id = event_proto.event_id();
-  event_row.ts = event_proto.event_time_nanos();
+  event_row.ts = packet_ts;
 
   auto event_row_id = context_.storage->mutable_android_motion_events_table()
                           ->Insert(event_row)
@@ -100,7 +100,7 @@
   AndroidKeyEvent::Decoder event_proto(bytes);
   tables::AndroidKeyEventsTable::Row event_row;
   event_row.event_id = event_proto.event_id();
-  event_row.ts = event_proto.event_time_nanos();
+  event_row.ts = packet_ts;
 
   auto event_row_id = context_.storage->mutable_android_key_events_table()
                           ->Insert(event_row)
diff --git a/src/trace_processor/perfetto_sql/stdlib/android/input.sql b/src/trace_processor/perfetto_sql/stdlib/android/input.sql
index 5ac6c74..0079d72 100644
--- a/src/trace_processor/perfetto_sql/stdlib/android/input.sql
+++ b/src/trace_processor/perfetto_sql/stdlib/android/input.sql
@@ -138,7 +138,7 @@
   -- The randomly-generated ID associated with each input event processed
   -- by Android Framework, used to track the event through the input pipeline
   event_id INT,
-  -- The timestamp associated with the input event
+  -- The timestamp of when the input event was processed by the system
   ts INT,
   -- Details of the input event parsed from the proto message
   arg_set_id INT
@@ -157,7 +157,7 @@
   -- The randomly-generated ID associated with each input event processed
   -- by Android Framework, used to track the event through the input pipeline
   event_id INT,
-  -- The timestamp associated with the input event
+  -- The timestamp of when the input event was processed by the system
   ts INT,
   -- Details of the input event parsed from the proto message
   arg_set_id INT
diff --git a/src/trace_processor/tables/android_tables.py b/src/trace_processor/tables/android_tables.py
index ba200ef..e086d3d 100644
--- a/src/trace_processor/tables/android_tables.py
+++ b/src/trace_processor/tables/android_tables.py
@@ -175,7 +175,7 @@
                     by Android Framework, used to track the event through the input pipeline.
                 ''',
             'ts':
-                '''The timestamp associated with the input event.''',
+                '''The timestamp of when the input event was processed by the system.''',
             'arg_set_id':
                 ColumnDoc(
                     doc='Details of the motion event parsed from the proto message.',
@@ -201,7 +201,7 @@
                     by Android Framework, used to track the event through the input pipeline.
                 ''',
             'ts':
-                '''The timestamp associated with the input event.''',
+                '''The timestamp of when the input event was processed by the system.''',
             'arg_set_id':
                 ColumnDoc(
                     doc='Details of the key event parsed from the proto message.',
diff --git a/src/trace_redaction/BUILD.gn b/src/trace_redaction/BUILD.gn
index 39179b0..e9e0737 100644
--- a/src/trace_redaction/BUILD.gn
+++ b/src/trace_redaction/BUILD.gn
@@ -90,6 +90,7 @@
   testonly = true
   sources = [
     "boardphase_packet_filter_integrationtest.cc",
+    "collect_frame_cookies_integrationtest.cc",
     "filter_sched_waking_events_integrationtest.cc",
     "filter_task_rename_integrationtest.cc",
     "process_thread_timeline_integrationtest.cc",
diff --git a/src/trace_redaction/collect_frame_cookies_integrationtest.cc b/src/trace_redaction/collect_frame_cookies_integrationtest.cc
new file mode 100644
index 0000000..577ecc7
--- /dev/null
+++ b/src/trace_redaction/collect_frame_cookies_integrationtest.cc
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "perfetto/trace_processor/trace_processor.h"
+#include "src/base/test/status_matchers.h"
+#include "src/trace_redaction/trace_redaction_integration_fixture.h"
+#include "test/gtest_and_gmock.h"
+
+namespace perfetto::trace_redaction {
+namespace {
+constexpr auto kTrace = "test/data/trace-redaction-api-capture.pftrace";
+
+constexpr auto kPackageName = "com.prefabulated.touchlatency";
+constexpr auto kPid = 4524;
+}  // namespace
+
+class CollectFrameCookiesIntegrationTest
+    : public testing::Test,
+      protected TraceRedactionIntegrationFixure {
+ protected:
+  void SetUp() override {
+    SetSourceTrace(kTrace);
+
+    trace_processor::Config tp_config;
+    trace_processor_ =
+        trace_processor::TraceProcessor::CreateInstance(tp_config);
+
+    TraceRedactor::Config tr_config;
+    auto trace_redactor = TraceRedactor::CreateInstance(tr_config);
+
+    Context context;
+    context.package_name = kPackageName;
+
+    ASSERT_OK(Redact(*trace_redactor, &context));
+
+    auto raw = LoadRedacted();
+    ASSERT_OK(raw);
+
+    auto read_buffer = std::make_unique<uint8_t[]>(raw->size());
+    memcpy(read_buffer.get(), raw->data(), raw->size());
+
+    ASSERT_OK(trace_processor_->Parse(std::move(read_buffer), raw->size()));
+    trace_processor_->NotifyEndOfFile();
+  }
+
+  std::unique_ptr<trace_processor::TraceProcessor> trace_processor_;
+};
+
+TEST_F(CollectFrameCookiesIntegrationTest, OnlyRetainsTargetActualFrames) {
+  auto query =
+      " SELECT pid"
+      "   FROM process"
+      "   WHERE upid IN ("
+      "     SELECT DISTINCT upid FROM actual_frame_timeline_slice)";
+
+  auto rows = trace_processor_->ExecuteQuery(query);
+
+  ASSERT_TRUE(rows.Next());
+  ASSERT_EQ(rows.Get(0).AsLong(), kPid);
+
+  ASSERT_FALSE(rows.Next());
+  ASSERT_OK(rows.Status());
+}
+
+TEST_F(CollectFrameCookiesIntegrationTest, OnlyRetainsTargetExpectedFrames) {
+  auto query =
+      " SELECT pid"
+      "   FROM process"
+      "   WHERE upid IN ("
+      "     SELECT DISTINCT upid FROM expected_frame_timeline_slice)";
+
+  auto row = trace_processor_->ExecuteQuery(query);
+
+  ASSERT_TRUE(row.Next());
+  ASSERT_EQ(row.Get(0).AsLong(), kPid);
+
+  ASSERT_FALSE(row.Next());
+  ASSERT_OK(row.Status());
+}
+
+// The target package has two overlapping timelines. So both tracks should exist
+// under one pid.
+TEST_F(CollectFrameCookiesIntegrationTest,
+       RetainsOverlappingExpectedFrameEvents) {
+  auto query =
+      " SELECT DISTINCT track_id, pid"
+      "   FROM expected_frame_timeline_slice"
+      "     JOIN process USING (upid)";
+
+  auto rows = trace_processor_->ExecuteQuery(query);
+
+  ASSERT_TRUE(rows.Next());
+  ASSERT_EQ(rows.Get(1).AsLong(), kPid);
+
+  ASSERT_TRUE(rows.Next());
+  ASSERT_EQ(rows.Get(1).AsLong(), kPid);
+
+  ASSERT_FALSE(rows.Next());
+  ASSERT_OK(rows.Status());
+}
+
+}  // namespace perfetto::trace_redaction
diff --git a/test/trace_processor/diff_tests/parser/android/input_event_trace.textproto b/test/trace_processor/diff_tests/parser/android/input_event_trace.textproto
index 2cb52b8..ac125c1 100644
--- a/test/trace_processor/diff_tests/parser/android/input_event_trace.textproto
+++ b/test/trace_processor/diff_tests/parser/android/input_event_trace.textproto
@@ -3,27 +3,27 @@
     primary_trace_clock: BUILTIN_CLOCK_BOOTTIME
     clocks {
       clock_id: 6
-      timestamp: 178674061789798
+      timestamp: 674770590741767
     }
     clocks {
       clock_id: 2
-      timestamp: 1715375168889637820
+      timestamp: 1718386902201012395
     }
     clocks {
       clock_id: 4
-      timestamp: 64176147060835
+      timestamp: 517479917684233
     }
     clocks {
       clock_id: 1
-      timestamp: 1715375168892622806
+      timestamp: 1718386902204523056
     }
     clocks {
       clock_id: 3
-      timestamp: 64176150045943
+      timestamp: 517479921194975
     }
     clocks {
       clock_id: 5
-      timestamp: 64176150046147
+      timestamp: 517479921195099
     }
   }
   trusted_uid: 9999
@@ -34,27 +34,27 @@
     primary_trace_clock: BUILTIN_CLOCK_BOOTTIME
     clocks {
       clock_id: 6
-      timestamp: 178674061806929
+      timestamp: 674770590825792
     }
     clocks {
       clock_id: 2
-      timestamp: 1715375168889637820
+      timestamp: 1718386902201012395
     }
     clocks {
       clock_id: 4
-      timestamp: 64176147060835
+      timestamp: 517479917684233
     }
     clocks {
       clock_id: 1
-      timestamp: 1715375168892639855
+      timestamp: 1718386902204607000
     }
     clocks {
       clock_id: 3
-      timestamp: 64176150062992
+      timestamp: 517479921278919
     }
     clocks {
       clock_id: 5
-      timestamp: 64176150063155
+      timestamp: 517479921279042
     }
   }
   trusted_uid: 9999
@@ -86,38 +86,38 @@
     statsd_metadata {
     }
     statsd_logging: STATSD_LOGGING_DISABLED
-    trace_uuid_msb: 6148766808500972866
-    trace_uuid_lsb: -1402094119056663186
+    trace_uuid_msb: 8003899888869335060
+    trace_uuid_lsb: -5519492449794714505
   }
 }
 packet {
   trusted_uid: 9999
   trusted_packet_sequence_id: 1
   trace_uuid {
-    lsb: -1402094119056663186
-    msb: 6148766808500972866
+    lsb: -5519492449794714505
+    msb: 8003899888869335060
   }
 }
 packet {
   system_info {
-    tracing_service_version: "Perfetto v44.0 (N/A)"
-    timezone_off_mins: 0
+    tracing_service_version: "Perfetto v45.0 (N/A)"
+    timezone_off_mins: -240
     utsname {
       sysname: "Linux"
-      version: "#1 SMP PREEMPT Thu Mar 28 12:45:51 UTC 2024"
+      version: "#1 SMP PREEMPT Thu May 23 13:08:51 UTC 2024"
       machine: "aarch64"
-      release: "5.10.209-android13-4-02808-g9f408f561c85-ab11640454"
+      release: "5.10.209-android13-4-02835-gce4db2481eb5-ab11882700"
     }
     page_size: 4096
     num_cpus: 8
-    android_build_fingerprint: "google/tangorpro/tangorpro:VanillaIceCream/MAIN/eng.prabir.20240508.183909:eng/dev-keys"
+    android_build_fingerprint: "google/tangorpro/tangorpro:VanillaIceCream/MAIN/eng.prabir.20240606.172326:eng/dev-keys"
     android_sdk_version: 35
   }
   trusted_uid: 9999
   trusted_packet_sequence_id: 1
 }
 packet {
-  timestamp: 178674061798587
+  timestamp: 674770590804552
   trusted_uid: 9999
   trusted_packet_sequence_id: 1
   service_event {
@@ -125,7 +125,7 @@
   }
 }
 packet {
-  timestamp: 178674065835493
+  timestamp: 674770593089261
   trusted_uid: 9999
   trusted_packet_sequence_id: 1
   service_event {
@@ -133,7 +133,7 @@
   }
 }
 packet {
-  timestamp: 178683982315600
+  timestamp: 674775802354888
   trusted_uid: 9999
   trusted_packet_sequence_id: 1
   service_event {
@@ -141,7 +141,7 @@
   }
 }
 packet {
-  timestamp: 178683984185189
+  timestamp: 674775804499013
   trusted_uid: 9999
   trusted_packet_sequence_id: 1
   service_event {
@@ -150,18 +150,20 @@
 }
 packet {
   first_packet_on_sequence: true
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_motion_event {
-        event_id: 104114844
-        event_time_nanos: 64179212500000
-        down_time_nanos: 64179212500000
+        event_id: 330184796
+        event_time_nanos: 517481507875000
+        down_time_nanos: 517481507875000
         source: 4098
         action: 0
         device_id: 4
         display_id: 0
         classification: 0
-        flags: 0
+        flags: 128
         policy_flags: 1644167168
         cursor_position_x: nan
         cursor_position_y: nan
@@ -171,39 +173,39 @@
           tool_type: 1
           axis_value {
             axis: 0
-            value: 580.000000
+            value: 431.000000
           }
           axis_value {
             axis: 1
-            value: 798.000000
+            value: 624.000000
           }
           axis_value {
             axis: 2
-            value: 1.003906
+            value: 1.324219
           }
           axis_value {
             axis: 3
-            value: 0.033998
+            value: 0.039273
           }
           axis_value {
             axis: 4
-            value: 92.000000
+            value: 110.000000
           }
           axis_value {
             axis: 5
-            value: 82.000000
+            value: 91.000000
           }
           axis_value {
             axis: 6
-            value: 92.000000
+            value: 110.000000
           }
           axis_value {
             axis: 7
-            value: 82.000000
+            value: 91.000000
           }
           axis_value {
             axis: 8
-            value: 0.983282
+            value: 1.120190
           }
         }
       }
@@ -211,22 +213,24 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
   previous_packet_dropped: true
 }
 packet {
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_motion_event {
-        event_id: 1141228253
-        event_time_nanos: 64179212500000
-        down_time_nanos: 64179212500000
+        event_id: 1327679296
+        event_time_nanos: 517481507875000
+        down_time_nanos: 517481507875000
         source: 4098
         action: 4
         device_id: 4
         display_id: 0
         classification: 0
-        flags: 0
+        flags: 128
         policy_flags: 1644167168
         cursor_position_x: nan
         cursor_position_y: nan
@@ -236,39 +240,39 @@
           tool_type: 1
           axis_value {
             axis: 0
-            value: 580.000000
+            value: 431.000000
           }
           axis_value {
             axis: 1
-            value: 798.000000
+            value: 624.000000
           }
           axis_value {
             axis: 2
-            value: 1.003906
+            value: 1.324219
           }
           axis_value {
             axis: 3
-            value: 0.033998
+            value: 0.039273
           }
           axis_value {
             axis: 4
-            value: 92.000000
+            value: 110.000000
           }
           axis_value {
             axis: 5
-            value: 82.000000
+            value: 91.000000
           }
           axis_value {
             axis: 6
-            value: 92.000000
+            value: 110.000000
           }
           axis_value {
             axis: 7
-            value: 82.000000
+            value: 91.000000
           }
           axis_value {
             axis: 8
-            value: 0.983282
+            value: 1.120190
           }
         }
       }
@@ -276,31 +280,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 1141228253
-        vsync_id: 182239
-        window_id: 105
-        resolved_flags: 0
+        event_id: 1327679296
+        vsync_id: 89110
+        window_id: 98
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: -681.000000
+            value: -830.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.554132
+            value: -0.450654
           }
         }
       }
@@ -308,31 +314,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 104114844
-        vsync_id: 182239
-        window_id: 181
-        resolved_flags: 0
+        event_id: 330184796
+        vsync_id: 89110
+        window_id: 212
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.554157
+            value: -0.450638
           }
         }
       }
@@ -340,31 +348,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 104114844
-        vsync_id: 182239
-        window_id: 58
-        resolved_flags: 3
+        event_id: 330184796
+        vsync_id: 89110
+        window_id: 64
+        resolved_flags: 131
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1718.181641
+            value: 1876.363281
           }
           axis_value_in_window {
             axis: 1
-            value: 600.000000
+            value: 464.545898
           }
           axis_value_in_window {
             axis: 8
-            value: 2.554074
+            value: -0.450681
           }
         }
       }
@@ -372,31 +382,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 104114844
-        vsync_id: 182239
-        window_id: 76
-        resolved_flags: 0
+        event_id: 330184796
+        vsync_id: 89110
+        window_id: 82
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.554157
+            value: -0.450638
           }
         }
       }
@@ -404,31 +416,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 104114844
-        vsync_id: 182239
-        window_id: 68
-        resolved_flags: 0
+        event_id: 330184796
+        vsync_id: 89110
+        window_id: 75
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.554157
+            value: -0.450638
           }
         }
       }
@@ -436,31 +450,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481517002349
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 104114844
+        event_id: 330184796
         vsync_id: 0
         window_id: 0
-        resolved_flags: 0
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.554157
+            value: -0.450638
           }
         }
       }
@@ -468,21 +484,23 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481538183257
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_motion_event {
-        event_id: 843076721
-        event_time_nanos: 64179262122000
-        down_time_nanos: 64179212500000
+        event_id: 557261353
+        event_time_nanos: 517481533371000
+        down_time_nanos: 517481507875000
         source: 4098
         action: 2
         device_id: 4
         display_id: 0
         classification: 1
-        flags: 0
+        flags: 128
         policy_flags: 1644167168
         cursor_position_x: nan
         cursor_position_y: nan
@@ -492,11 +510,483 @@
           tool_type: 1
           axis_value {
             axis: 0
-            value: 580.000000
+            value: 431.000000
           }
           axis_value {
             axis: 1
-            value: 798.000000
+            value: 624.000000
+          }
+          axis_value {
+            axis: 2
+            value: 1.320312
+          }
+          axis_value {
+            axis: 3
+            value: 0.039273
+          }
+          axis_value {
+            axis: 4
+            value: 110.000000
+          }
+          axis_value {
+            axis: 5
+            value: 91.000000
+          }
+          axis_value {
+            axis: 6
+            value: 110.000000
+          }
+          axis_value {
+            axis: 7
+            value: 91.000000
+          }
+          axis_value {
+            axis: 8
+            value: 1.120190
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481538183257
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 557261353
+        vsync_id: 89110
+        window_id: 212
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.450638
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481538183257
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 557261353
+        vsync_id: 89110
+        window_id: 64
+        resolved_flags: 131
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1876.363281
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 464.545898
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.450681
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481538183257
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 557261353
+        vsync_id: 89110
+        window_id: 82
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.450638
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481538183257
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 557261353
+        vsync_id: 89110
+        window_id: 75
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.450638
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481538183257
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 557261353
+        vsync_id: 0
+        window_id: 0
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.450638
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481543976511
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_motion_event {
+        event_id: 106022695
+        event_time_nanos: 517481540876000
+        down_time_nanos: 517481507875000
+        source: 4098
+        action: 2
+        device_id: 4
+        display_id: 0
+        classification: 1
+        flags: 128
+        policy_flags: 1644167168
+        cursor_position_x: nan
+        cursor_position_y: nan
+        meta_state: 0
+        pointer {
+          pointer_id: 0
+          tool_type: 1
+          axis_value {
+            axis: 0
+            value: 431.000000
+          }
+          axis_value {
+            axis: 1
+            value: 624.000000
+          }
+          axis_value {
+            axis: 2
+            value: 1.105469
+          }
+          axis_value {
+            axis: 3
+            value: 0.035952
+          }
+          axis_value {
+            axis: 4
+            value: 101.000000
+          }
+          axis_value {
+            axis: 5
+            value: 83.000000
+          }
+          axis_value {
+            axis: 6
+            value: 101.000000
+          }
+          axis_value {
+            axis: 7
+            value: 83.000000
+          }
+          axis_value {
+            axis: 8
+            value: 1.175413
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481543976511
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 106022695
+        vsync_id: 89110
+        window_id: 212
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.395468
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481543976511
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 106022695
+        vsync_id: 89110
+        window_id: 64
+        resolved_flags: 131
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1876.363281
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 464.545898
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.395334
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481543976511
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 106022695
+        vsync_id: 89110
+        window_id: 82
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.395468
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481543976511
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 106022695
+        vsync_id: 89110
+        window_id: 75
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.395468
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481543976511
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_window_dispatch_event {
+        event_id: 106022695
+        vsync_id: 0
+        window_id: 0
+        resolved_flags: 128
+        dispatched_pointer {
+          pointer_id: 0
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
+          axis_value_in_window {
+            axis: 0
+            value: 1936.000000
+          }
+          axis_value_in_window {
+            axis: 1
+            value: 431.000000
+          }
+          axis_value_in_window {
+            axis: 8
+            value: -0.395468
+          }
+        }
+      }
+    }
+  }
+  trusted_uid: 1000
+  trusted_packet_sequence_id: 2
+  trusted_pid: 31778
+}
+packet {
+  timestamp: 517481553353301
+  timestamp_clock_id: 3
+  winscope_extensions {
+    [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
+      dispatcher_motion_event {
+        event_id: 313395000
+        event_time_nanos: 517481550152000
+        down_time_nanos: 517481507875000
+        source: 4098
+        action: 2
+        device_id: 4
+        display_id: 0
+        classification: 1
+        flags: 128
+        policy_flags: 1644167168
+        cursor_position_x: nan
+        cursor_position_y: nan
+        meta_state: 0
+        pointer {
+          pointer_id: 0
+          tool_type: 1
+          axis_value {
+            axis: 0
+            value: 431.000000
+          }
+          axis_value {
+            axis: 1
+            value: 624.000000
           }
           axis_value {
             axis: 2
@@ -524,7 +1014,7 @@
           }
           axis_value {
             axis: 8
-            value: 0.912335
+            value: 1.175413
           }
         }
       }
@@ -532,31 +1022,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481553353301
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 843076721
-        vsync_id: 182239
-        window_id: 181
-        resolved_flags: 0
+        event_id: 313395000
+        vsync_id: 89110
+        window_id: 212
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -564,31 +1056,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481553353301
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 843076721
-        vsync_id: 182239
-        window_id: 58
-        resolved_flags: 3
+        event_id: 313395000
+        vsync_id: 89110
+        window_id: 64
+        resolved_flags: 131
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1718.181641
+            value: 1876.363281
           }
           axis_value_in_window {
             axis: 1
-            value: 600.000000
+            value: 464.545898
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483237
+            value: -0.395334
           }
         }
       }
@@ -596,31 +1090,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481553353301
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 843076721
-        vsync_id: 182239
-        window_id: 76
-        resolved_flags: 0
+        event_id: 313395000
+        vsync_id: 89110
+        window_id: 82
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -628,31 +1124,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481553353301
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 843076721
-        vsync_id: 182239
-        window_id: 68
-        resolved_flags: 0
+        event_id: 313395000
+        vsync_id: 89110
+        window_id: 75
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -660,31 +1158,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481553353301
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 843076721
+        event_id: 313395000
         vsync_id: 0
         window_id: 0
-        resolved_flags: 0
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -692,21 +1192,23 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481558399200
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_motion_event {
-        event_id: 744146837
-        event_time_nanos: 64179268985000
-        down_time_nanos: 64179212500000
+        event_id: 436499943
+        event_time_nanos: 517481557012000
+        down_time_nanos: 517481507875000
         source: 4098
         action: 1
         device_id: 4
         display_id: 0
         classification: 1
-        flags: 0
+        flags: 128
         policy_flags: 1644167168
         cursor_position_x: nan
         cursor_position_y: nan
@@ -716,11 +1218,11 @@
           tool_type: 1
           axis_value {
             axis: 0
-            value: 580.000000
+            value: 431.000000
           }
           axis_value {
             axis: 1
-            value: 798.000000
+            value: 624.000000
           }
           axis_value {
             axis: 2
@@ -748,7 +1250,7 @@
           }
           axis_value {
             axis: 8
-            value: 0.912335
+            value: 1.175413
           }
         }
       }
@@ -756,31 +1258,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481558399200
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 744146837
-        vsync_id: 182239
-        window_id: 181
-        resolved_flags: 0
+        event_id: 436499943
+        vsync_id: 89110
+        window_id: 212
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -788,31 +1292,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481558399200
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 744146837
-        vsync_id: 182239
-        window_id: 58
-        resolved_flags: 3
+        event_id: 436499943
+        vsync_id: 89110
+        window_id: 64
+        resolved_flags: 131
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1718.181641
+            value: 1876.363281
           }
           axis_value_in_window {
             axis: 1
-            value: 600.000000
+            value: 464.545898
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483237
+            value: -0.395334
           }
         }
       }
@@ -820,31 +1326,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481558399200
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 744146837
-        vsync_id: 182239
-        window_id: 76
-        resolved_flags: 0
+        event_id: 436499943
+        vsync_id: 89110
+        window_id: 82
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -852,31 +1360,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481558399200
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 744146837
-        vsync_id: 182239
-        window_id: 68
-        resolved_flags: 0
+        event_id: 436499943
+        vsync_id: 89110
+        window_id: 75
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -884,31 +1394,33 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517481558399200
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 744146837
+        event_id: 436499943
         vsync_id: 0
         window_id: 0
-        resolved_flags: 0
+        resolved_flags: 128
         dispatched_pointer {
           pointer_id: 0
-          x_in_display: 1762.000000
-          y_in_display: 580.000000
+          x_in_display: 1936.000000
+          y_in_display: 431.000000
           axis_value_in_window {
             axis: 0
-            value: 1762.000000
+            value: 1936.000000
           }
           axis_value_in_window {
             axis: 1
-            value: 580.000000
+            value: 431.000000
           }
           axis_value_in_window {
             axis: 8
-            value: 2.483198
+            value: -0.395468
           }
         }
       }
@@ -916,15 +1428,17 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517482831698151
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_key_event {
-        event_id: 324105269
-        event_time_nanos: 64182660299000
-        down_time_nanos: 64182660299000
+        event_id: 759309047
+        event_time_nanos: 517482680619000
+        down_time_nanos: 517482680619000
         source: 257
         action: 0
         device_id: 2
@@ -932,36 +1446,40 @@
         repeat_count: 0
         flags: 8
         policy_flags: 1644167168
-        key_code: 25
-        scan_code: 114
+        key_code: 24
+        scan_code: 115
         meta_state: 0
       }
     }
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517482831698151
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 324105269
-        vsync_id: 182239
-        window_id: 181
+        event_id: 759309047
+        vsync_id: 89110
+        window_id: 212
         resolved_flags: 8
       }
     }
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517482831698151
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 324105269
+        event_id: 759309047
         vsync_id: 0
         window_id: 0
         resolved_flags: 8
@@ -970,15 +1488,17 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517482839729238
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_key_event {
-        event_id: 60594531
-        event_time_nanos: 64182816340000
-        down_time_nanos: 64182660299000
+        event_id: 894093732
+        event_time_nanos: 517482832173000
+        down_time_nanos: 517482680619000
         source: 257
         action: 1
         device_id: 2
@@ -986,36 +1506,40 @@
         repeat_count: 0
         flags: 8
         policy_flags: 1644167168
-        key_code: 25
-        scan_code: 114
+        key_code: 24
+        scan_code: 115
         meta_state: 0
       }
     }
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517482839729238
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 60594531
-        vsync_id: 182239
-        window_id: 181
+        event_id: 894093732
+        vsync_id: 89110
+        window_id: 212
         resolved_flags: 8
       }
     }
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
+  timestamp: 517482839729238
+  timestamp_clock_id: 3
   winscope_extensions {
     [perfetto.protos.WinscopeExtensionsImpl.android_input_event] {
       dispatcher_window_dispatch_event {
-        event_id: 60594531
+        event_id: 894093732
         vsync_id: 0
         window_id: 0
         resolved_flags: 8
@@ -1024,10 +1548,10 @@
   }
   trusted_uid: 1000
   trusted_packet_sequence_id: 2
-  trusted_pid: 1722
+  trusted_pid: 31778
 }
 packet {
-  timestamp: 178683985660693
+  timestamp: 674775805961781
   trusted_uid: 9999
   trusted_packet_sequence_id: 1
   service_event {
@@ -1043,13 +1567,13 @@
       bytes_written: 4096
       chunks_written: 1
     }
-    producers_connected: 13
-    producers_seen: 16
-    data_sources_registered: 40
-    data_sources_seen: 13
+    producers_connected: 18
+    producers_seen: 838
+    data_sources_registered: 51
+    data_sources_seen: 197
     tracing_sessions: 2
     total_buffers: 4
-    chunks_discarded: 7
+    chunks_discarded: 78
     patches_discarded: 0
     invalid_packets: 0
     flushes_requested: 1
@@ -1057,4 +1581,4 @@
     flushes_failed: 0
     final_flush_outcome: FINAL_FLUSH_UNSPECIFIED
   }
-}
+}
\ No newline at end of file
diff --git a/test/trace_processor/diff_tests/parser/android/tests_android_input_event.py b/test/trace_processor/diff_tests/parser/android/tests_android_input_event.py
index 30ac616..c7c8e96 100644
--- a/test/trace_processor/diff_tests/parser/android/tests_android_input_event.py
+++ b/test/trace_processor/diff_tests/parser/android/tests_android_input_event.py
@@ -32,8 +32,8 @@
         """,
       out=Csv("""
         "event_id","ts"
-        324105269,64182660299000
-        60594531,64182816340000
+        759309047,674773501245024
+        894093732,674773509276111
         """))
 
   def test_key_events_args(self):
@@ -45,7 +45,7 @@
           args.key, args.display_value
         FROM
           android_key_events AS e JOIN args ON e.arg_set_id = args.arg_set_id
-        WHERE e.event_id = 60594531
+        WHERE e.event_id = 894093732
         ORDER BY args.key;
         """,
       out=Csv("""
@@ -53,15 +53,15 @@
         "action","1"
         "device_id","2"
         "display_id","-1"
-        "down_time_nanos","64182660299000"
-        "event_id","60594531"
-        "event_time_nanos","64182816340000"
+        "down_time_nanos","517482680619000"
+        "event_id","894093732"
+        "event_time_nanos","517482832173000"
         "flags","8"
-        "key_code","25"
+        "key_code","24"
         "meta_state","0"
         "policy_flags","1644167168"
         "repeat_count","0"
-        "scan_code","114"
+        "scan_code","115"
         "source","257"
         """))
 
@@ -77,10 +77,12 @@
         """,
       out=Csv("""
         "event_id","ts"
-        104114844,64179212500000
-        1141228253,64179212500000
-        843076721,64179262122000
-        744146837,64179268985000
+        330184796,674772186549222
+        1327679296,674772186549222
+        557261353,674772207730130
+        106022695,674772213523384
+        313395000,674772222900174
+        436499943,674772227946073
         """))
 
   def test_motion_events_args(self):
@@ -92,40 +94,40 @@
           args.key, args.display_value
         FROM
           android_motion_events AS e JOIN args ON e.arg_set_id = args.arg_set_id
-        WHERE e.event_id = 1141228253
+        WHERE e.event_id = 557261353
         ORDER BY args.key;
         """,
       out=Csv("""
         "key","display_value"
-        "action","4"
-        "classification","0"
+        "action","2"
+        "classification","1"
         "cursor_position_x","[NULL]"
         "cursor_position_y","[NULL]"
         "device_id","4"
         "display_id","0"
-        "down_time_nanos","64179212500000"
-        "event_id","1141228253"
-        "event_time_nanos","64179212500000"
-        "flags","0"
+        "down_time_nanos","517481507875000"
+        "event_id","557261353"
+        "event_time_nanos","517481533371000"
+        "flags","128"
         "meta_state","0"
         "pointer[0].axis_value[0].axis","0"
-        "pointer[0].axis_value[0].value","580.0"
+        "pointer[0].axis_value[0].value","431.0"
         "pointer[0].axis_value[1].axis","1"
-        "pointer[0].axis_value[1].value","798.0"
+        "pointer[0].axis_value[1].value","624.0"
         "pointer[0].axis_value[2].axis","2"
-        "pointer[0].axis_value[2].value","1.00390601158142"
+        "pointer[0].axis_value[2].value","1.32031202316284"
         "pointer[0].axis_value[3].axis","3"
-        "pointer[0].axis_value[3].value","0.0339980013668537"
+        "pointer[0].axis_value[3].value","0.0392730012536049"
         "pointer[0].axis_value[4].axis","4"
-        "pointer[0].axis_value[4].value","92.0"
+        "pointer[0].axis_value[4].value","110.0"
         "pointer[0].axis_value[5].axis","5"
-        "pointer[0].axis_value[5].value","82.0"
+        "pointer[0].axis_value[5].value","91.0"
         "pointer[0].axis_value[6].axis","6"
-        "pointer[0].axis_value[6].value","92.0"
+        "pointer[0].axis_value[6].value","110.0"
         "pointer[0].axis_value[7].axis","7"
-        "pointer[0].axis_value[7].value","82.0"
+        "pointer[0].axis_value[7].value","91.0"
         "pointer[0].axis_value[8].axis","8"
-        "pointer[0].axis_value[8].value","0.983282029628754"
+        "pointer[0].axis_value[8].value","1.12019002437592"
         "pointer[0].pointer_id","0"
         "pointer[0].tool_type","1"
         "policy_flags","1644167168"
@@ -144,26 +146,36 @@
         """,
       out=Csv("""
         "id","event_id","vsync_id","window_id"
-        0,1141228253,182239,105
-        1,104114844,182239,181
-        2,104114844,182239,58
-        3,104114844,182239,76
-        4,104114844,182239,68
-        5,104114844,0,0
-        6,843076721,182239,181
-        7,843076721,182239,58
-        8,843076721,182239,76
-        9,843076721,182239,68
-        10,843076721,0,0
-        11,744146837,182239,181
-        12,744146837,182239,58
-        13,744146837,182239,76
-        14,744146837,182239,68
-        15,744146837,0,0
-        16,324105269,182239,181
-        17,324105269,0,0
-        18,60594531,182239,181
-        19,60594531,0,0
+        0,1327679296,89110,98
+        1,330184796,89110,212
+        2,330184796,89110,64
+        3,330184796,89110,82
+        4,330184796,89110,75
+        5,330184796,0,0
+        6,557261353,89110,212
+        7,557261353,89110,64
+        8,557261353,89110,82
+        9,557261353,89110,75
+        10,557261353,0,0
+        11,106022695,89110,212
+        12,106022695,89110,64
+        13,106022695,89110,82
+        14,106022695,89110,75
+        15,106022695,0,0
+        16,313395000,89110,212
+        17,313395000,89110,64
+        18,313395000,89110,82
+        19,313395000,89110,75
+        20,313395000,0,0
+        21,436499943,89110,212
+        22,436499943,89110,64
+        23,436499943,89110,82
+        24,436499943,89110,75
+        25,436499943,0,0
+        26,759309047,89110,212
+        27,759309047,0,0
+        28,894093732,89110,212
+        29,894093732,0,0
         """))
 
   def test_motion_dispatch_args(self):
@@ -175,74 +187,74 @@
           d.id, args.key, args.display_value
         FROM
           android_input_event_dispatch AS d JOIN args ON d.arg_set_id = args.arg_set_id
-        WHERE d.event_id = 104114844
+        WHERE d.event_id = 330184796
         ORDER BY d.id, args.key;
         """,
       out=Csv("""
         "id","key","display_value"
         1,"dispatched_pointer[0].axis_value_in_window[0].axis","0"
-        1,"dispatched_pointer[0].axis_value_in_window[0].value","1762.0"
+        1,"dispatched_pointer[0].axis_value_in_window[0].value","1936.0"
         1,"dispatched_pointer[0].axis_value_in_window[1].axis","1"
-        1,"dispatched_pointer[0].axis_value_in_window[1].value","580.0"
+        1,"dispatched_pointer[0].axis_value_in_window[1].value","431.0"
         1,"dispatched_pointer[0].axis_value_in_window[2].axis","8"
-        1,"dispatched_pointer[0].axis_value_in_window[2].value","2.5541570186615"
+        1,"dispatched_pointer[0].axis_value_in_window[2].value","-0.450637996196747"
         1,"dispatched_pointer[0].pointer_id","0"
-        1,"dispatched_pointer[0].x_in_display","1762.0"
-        1,"dispatched_pointer[0].y_in_display","580.0"
-        1,"event_id","104114844"
-        1,"resolved_flags","0"
-        1,"vsync_id","182239"
-        1,"window_id","181"
+        1,"dispatched_pointer[0].x_in_display","1936.0"
+        1,"dispatched_pointer[0].y_in_display","431.0"
+        1,"event_id","330184796"
+        1,"resolved_flags","128"
+        1,"vsync_id","89110"
+        1,"window_id","212"
         2,"dispatched_pointer[0].axis_value_in_window[0].axis","0"
-        2,"dispatched_pointer[0].axis_value_in_window[0].value","1718.181640625"
+        2,"dispatched_pointer[0].axis_value_in_window[0].value","1876.36328125"
         2,"dispatched_pointer[0].axis_value_in_window[1].axis","1"
-        2,"dispatched_pointer[0].axis_value_in_window[1].value","600.0"
+        2,"dispatched_pointer[0].axis_value_in_window[1].value","464.5458984375"
         2,"dispatched_pointer[0].axis_value_in_window[2].axis","8"
-        2,"dispatched_pointer[0].axis_value_in_window[2].value","2.55407404899597"
+        2,"dispatched_pointer[0].axis_value_in_window[2].value","-0.450681000947952"
         2,"dispatched_pointer[0].pointer_id","0"
-        2,"dispatched_pointer[0].x_in_display","1762.0"
-        2,"dispatched_pointer[0].y_in_display","580.0"
-        2,"event_id","104114844"
-        2,"resolved_flags","3"
-        2,"vsync_id","182239"
-        2,"window_id","58"
+        2,"dispatched_pointer[0].x_in_display","1936.0"
+        2,"dispatched_pointer[0].y_in_display","431.0"
+        2,"event_id","330184796"
+        2,"resolved_flags","131"
+        2,"vsync_id","89110"
+        2,"window_id","64"
         3,"dispatched_pointer[0].axis_value_in_window[0].axis","0"
-        3,"dispatched_pointer[0].axis_value_in_window[0].value","1762.0"
+        3,"dispatched_pointer[0].axis_value_in_window[0].value","1936.0"
         3,"dispatched_pointer[0].axis_value_in_window[1].axis","1"
-        3,"dispatched_pointer[0].axis_value_in_window[1].value","580.0"
+        3,"dispatched_pointer[0].axis_value_in_window[1].value","431.0"
         3,"dispatched_pointer[0].axis_value_in_window[2].axis","8"
-        3,"dispatched_pointer[0].axis_value_in_window[2].value","2.5541570186615"
+        3,"dispatched_pointer[0].axis_value_in_window[2].value","-0.450637996196747"
         3,"dispatched_pointer[0].pointer_id","0"
-        3,"dispatched_pointer[0].x_in_display","1762.0"
-        3,"dispatched_pointer[0].y_in_display","580.0"
-        3,"event_id","104114844"
-        3,"resolved_flags","0"
-        3,"vsync_id","182239"
-        3,"window_id","76"
+        3,"dispatched_pointer[0].x_in_display","1936.0"
+        3,"dispatched_pointer[0].y_in_display","431.0"
+        3,"event_id","330184796"
+        3,"resolved_flags","128"
+        3,"vsync_id","89110"
+        3,"window_id","82"
         4,"dispatched_pointer[0].axis_value_in_window[0].axis","0"
-        4,"dispatched_pointer[0].axis_value_in_window[0].value","1762.0"
+        4,"dispatched_pointer[0].axis_value_in_window[0].value","1936.0"
         4,"dispatched_pointer[0].axis_value_in_window[1].axis","1"
-        4,"dispatched_pointer[0].axis_value_in_window[1].value","580.0"
+        4,"dispatched_pointer[0].axis_value_in_window[1].value","431.0"
         4,"dispatched_pointer[0].axis_value_in_window[2].axis","8"
-        4,"dispatched_pointer[0].axis_value_in_window[2].value","2.5541570186615"
+        4,"dispatched_pointer[0].axis_value_in_window[2].value","-0.450637996196747"
         4,"dispatched_pointer[0].pointer_id","0"
-        4,"dispatched_pointer[0].x_in_display","1762.0"
-        4,"dispatched_pointer[0].y_in_display","580.0"
-        4,"event_id","104114844"
-        4,"resolved_flags","0"
-        4,"vsync_id","182239"
-        4,"window_id","68"
+        4,"dispatched_pointer[0].x_in_display","1936.0"
+        4,"dispatched_pointer[0].y_in_display","431.0"
+        4,"event_id","330184796"
+        4,"resolved_flags","128"
+        4,"vsync_id","89110"
+        4,"window_id","75"
         5,"dispatched_pointer[0].axis_value_in_window[0].axis","0"
-        5,"dispatched_pointer[0].axis_value_in_window[0].value","1762.0"
+        5,"dispatched_pointer[0].axis_value_in_window[0].value","1936.0"
         5,"dispatched_pointer[0].axis_value_in_window[1].axis","1"
-        5,"dispatched_pointer[0].axis_value_in_window[1].value","580.0"
+        5,"dispatched_pointer[0].axis_value_in_window[1].value","431.0"
         5,"dispatched_pointer[0].axis_value_in_window[2].axis","8"
-        5,"dispatched_pointer[0].axis_value_in_window[2].value","2.5541570186615"
+        5,"dispatched_pointer[0].axis_value_in_window[2].value","-0.450637996196747"
         5,"dispatched_pointer[0].pointer_id","0"
-        5,"dispatched_pointer[0].x_in_display","1762.0"
-        5,"dispatched_pointer[0].y_in_display","580.0"
-        5,"event_id","104114844"
-        5,"resolved_flags","0"
+        5,"dispatched_pointer[0].x_in_display","1936.0"
+        5,"dispatched_pointer[0].y_in_display","431.0"
+        5,"event_id","330184796"
+        5,"resolved_flags","128"
         5,"vsync_id","0"
         5,"window_id","0"
         """))
@@ -256,17 +268,17 @@
           d.id, args.key, args.display_value
         FROM
           android_input_event_dispatch AS d JOIN args ON d.arg_set_id = args.arg_set_id
-        WHERE d.event_id = 324105269
+        WHERE d.event_id = 759309047
         ORDER BY d.id, args.key;
         """,
       out=Csv("""
         "id","key","display_value"
-        16,"event_id","324105269"
-        16,"resolved_flags","8"
-        16,"vsync_id","182239"
-        16,"window_id","181"
-        17,"event_id","324105269"
-        17,"resolved_flags","8"
-        17,"vsync_id","0"
-        17,"window_id","0"
+        26,"event_id","759309047"
+        26,"resolved_flags","8"
+        26,"vsync_id","89110"
+        26,"window_id","212"
+        27,"event_id","759309047"
+        27,"resolved_flags","8"
+        27,"vsync_id","0"
+        27,"window_id","0"
         """))