Jason Simmons 60be753a43
[Android] Encode the original pointer count in messages that represent Android touch events (#178015)
Android touch events include updates to multiple pointers, but each
pointer data message sent from the embedder to the framework represents
a single pointer. So the Android embedder will send multiple messages
for each touch event, and the framework's AndroidViewController will
reassemble the messages and forward the resulting event to the platform
view.

The AndroidViewController tracks the number of active pointers in its
own local state. If that state is out of sync with the event handled by
the Android embedder, then the AndroidViewController may send duplicate
events to the platform view.

This PR encodes the Android touch event's pointer count in the messages
sent to the framework. This allows the AndroidViewController to reliably
determine whether it has received all of the pointer messages that
originated from an event.

Fixes https://github.com/flutter/flutter/issues/176574
2025-11-10 20:43:48 +00:00
..
.gn

Flutter Engine

The Flutter Engine is a portable runtime for hosting Flutter applications. It implements Flutter's core libraries, including animation and graphics, file and network I/O, accessibility support, plugin architecture, and a Dart runtime and compile toolchain. Most developers will interact with Flutter via the Flutter Framework, which provides a modern, reactive framework, and a rich set of platform, layout and foundation widgets.

More tooling is available to make development experiences easier:

Target Tool
Web felt
Mobile or Desktop et

To learn about running tests, see testing the engine.