Commit 60be753
authored
[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 flutter/flutter#1765741 parent 4a19bff commit 60be753
3 files changed
Lines changed: 84 additions & 8 deletions
File tree
- engine/src/flutter/shell/platform/android/io/flutter/embedding/android
- packages/flutter
- lib/src/services
- test/services
Lines changed: 11 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
112 | 118 | | |
113 | 119 | | |
114 | 120 | | |
| |||
212 | 218 | | |
213 | 219 | | |
214 | 220 | | |
215 | | - | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
216 | 225 | | |
217 | 226 | | |
218 | 227 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
622 | | - | |
| 622 | + | |
623 | 623 | | |
624 | 624 | | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
625 | 632 | | |
626 | 633 | | |
627 | 634 | | |
628 | 635 | | |
629 | 636 | | |
630 | 637 | | |
631 | | - | |
632 | | - | |
| 638 | + | |
| 639 | + | |
633 | 640 | | |
634 | 641 | | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
635 | 648 | | |
636 | 649 | | |
637 | 650 | | |
| |||
697 | 710 | | |
698 | 711 | | |
699 | 712 | | |
700 | | - | |
701 | | - | |
702 | | - | |
703 | 713 | | |
704 | 714 | | |
705 | 715 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
439 | 440 | | |
440 | 441 | | |
441 | 442 | | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
442 | 499 | | |
443 | 500 | | |
444 | 501 | | |
| |||
0 commit comments