Skip to content

[Android] Avoid double event subscribes in gesture manager#23242

Merged
PureWeen merged 2 commits intomainfrom
dev/redth/fix-android-dynamic-tap-gesture-events
Jun 27, 2024
Merged

[Android] Avoid double event subscribes in gesture manager#23242
PureWeen merged 2 commits intomainfrom
dev/redth/fix-android-dynamic-tap-gesture-events

Conversation

@Redth
Copy link
Copy Markdown
Member

@Redth Redth commented Jun 25, 2024

Description of Change

Alternative to #23238 and #23183

Adding dynamic gesture recognizers to a control on android did cause us to register multiple times to the Touch event on the platform view from the Gesture Manager. This change instead tries to always unsubscribe first when setting up the gestures (which happens every time the gesture collection changes). Previously we only unsubscribed if we decided we did not need the touch event for any of the gesture recognizers, but then would subscribe again over and over if we decided we did need a touch event.

Issues Fixed

Fixes #23177

@Redth Redth requested a review from a team as a code owner June 25, 2024 14:51
@PureWeen
Copy link
Copy Markdown
Member

/rebase

@github-actions github-actions bot force-pushed the dev/redth/fix-android-dynamic-tap-gesture-events branch from 524f9b6 to e10452e Compare June 27, 2024 00:17
@PureWeen PureWeen enabled auto-merge (squash) June 27, 2024 17:04
@PureWeen PureWeen merged commit 372c66c into main Jun 27, 2024
@PureWeen PureWeen deleted the dev/redth/fix-android-dynamic-tap-gesture-events branch June 27, 2024 17:32
mattleibow added a commit that referenced this pull request Jul 1, 2024
* Simplify Development.md (#23142)

* Simplify Development.md

* Update .github/DEVELOPMENT.md

Co-authored-by: Eilon Lipton <Eilon@users.noreply.github.com>

* Update .github/DEVELOPMENT.md

Co-authored-by: Eilon Lipton <Eilon@users.noreply.github.com>

* Update .github/DEVELOPMENT.md

Co-authored-by: Eilon Lipton <Eilon@users.noreply.github.com>

* Update .github/DEVELOPMENT.md

Co-authored-by: Eilon Lipton <Eilon@users.noreply.github.com>

* Update DEVELOPMENT.md

* - modify and move advanced tips to different file

* Update DEVELOPMENT.md

* Update .github/DEVELOPMENT.md

Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>

* Update docs/DevelopmentTips.md

Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>

* Update docs/DevelopmentTips.md

Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>

* - updates based on review

---------

Co-authored-by: Eilon Lipton <Eilon@users.noreply.github.com>
Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>

* Wire RefreshView up to our xplat layout workflow (#23169) (#23218)

* Use better layout/measure path with refreshview

* - fix naming

* - set RefreshView content to maui compatible container

* - add test

* - fix null operator

* Update Issue23029.xaml.cs

* - fix content panel so it removes previous content

* - add additional check

* Remove adding to FutureAccessList as the app is running with runFullTrust capability (#23047)

* Call base.OnResume if Existing NavigationFragment Early (#23187)

* VSCode no longer uses MAUI to launch (#23222)

* [Android] Fix flyout behaviour switching exception (#22453)

* Fix flyout behaviour switching exception

* Tests added

* Flyout test page added

* Flyoutpage test fixes

* Flyout toggle test added

* Remove duplicate ] characters

* Flyout test pages added

* Check for platforms

* Fix title

* - fix tests

---------

Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>

* Renamed the project because macOS uses .app (#23223)

* Renamed the project because macOS uses .app

* And the folder

* merge first

* ns

* Move tests to new location (#23251)

* Split SingleProject targets (#23269)

* Split SingleProject targets

* Update Microsoft.Maui.Controls.SingleProject.Before.targets

* Update bug-report.yml with 8.0.61 (#23273)

* Null terminate Page on TabbedRenderer (#23290)

Co-authored-by: Shane Neuville <shneuvil@microsoft.com>

* [Windows] Improve performance in accessibility extensions (#22698)

* AccessibilityExtensions: Add missing braces

* AccessibilityExtensions: Enable nullability and improve performance

* Update shipped & unshipped API

---------

Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com>

* [Android] Avoid double event subscribes in gesture manager (#23242)

* [Android] Avoid double event subscribes in gesture manager

* Fix typo in test text

* Bump Microsoft.Web.WebView2 from 1.0.2151.40 to 1.0.2592.51 (#23209)

* [tests] test a lot more things in `MemoryTests.cs` (#23324)

* [tests] test a lot more things in `MemoryTests.cs`

This expands the tests to cover more controls and areas.

* Add test cases for more controls:

  * `Ellipse`
  * `Grid`
  * `Path`
  * `Line`
  * `Path`
  * `RadioButton`
  * `Rectangle`
  * `RoundRectangle`

* Expand tests for a couple controls:

    * `Border` has a `StrokeShape`
    * Any `TemplatedView` gets a `ControlTemplate`

* Re-enable `ListView` for Android

This should work now after merging:

* dotnet/android#8900
* #23120

* Add a complicated test case for `BindableLayout`

Similar to the case at:

* #23199

* Skip `ListView` on API 23

* Bump Appium version to 2.11 (#23337)

* Bump Appium version to 2.11

* Update CarouselViewUITests.UpdateCurrentItem.cs

* Update appium-install.ps1

* Update CarouselViewUITests.UpdateCurrentItem.cs

* Simplify `NavigationRootManager.Connect` on the Windows platform. (#23345)

* Simplify `NavigationRootManager.Connect` on the Windows platform.

* Use ternary operator syntax

* Removed extra tabs

* Moved `_disconnected = false;` to `if (_disconnected)`

* Bump Appium Drivers (#23349)

* Fix Merge

---------

Co-authored-by: Eilon Lipton <Eilon@users.noreply.github.com>
Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>
Co-authored-by: MartyIX <203266+MartyIX@users.noreply.github.com>
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Thomas Muller <imuller@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com>
Co-authored-by: Jonathan Dick <jodick@microsoft.com>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Co-authored-by: Takym (たかやま) <15681312+Takym@users.noreply.github.com>
@github-actions github-actions bot locked and limited conversation to collaborators Jul 28, 2024
@samhouts samhouts added fixed-in-8.0.70 fixed-in-net9.0-nightly This may be available in a nightly release! labels Aug 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

fixed-in-8.0.70 fixed-in-net9.0-nightly This may be available in a nightly release!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TapGestureRecognizer.Tapped fired multiple times on Android when GestureRecognizers were changed after rendering.

4 participants