wix / react-native-navigation

A complete native navigation solution for React Native
https://wix.github.io/react-native-navigation/
MIT License
13.04k stars 2.67k forks source link

[Android] Banner overlays do not allow touches under the overlay if using a NativeProp #7554

Open mikewli opened 2 years ago

mikewli commented 2 years ago

🐛 Bug Report

Banner overlays do not allow touches to pass through the overlay and activate UI underneath the overlay if using a NativeProp, such as testID.

Have you read the Contributing Guidelines on issues?

Yes.

To Reproduce

Here is an example reproduction demo using react-native-navigation: https://github.com/mikewli/react-native-navigation

After running npm install, npm start, and npm run android, you will start the app in an Android emulator / device. This behavior was tested on an Android emulator, Pixel 3a, API 32 on Debug.

  1. Tap Show banner overlay button
  2. Try to tap Log layout message button
  3. Observe that you cannot tap any button underneath the overlay thereafter

You can also reproduce the issue in the React Native Navigation playground app by editing playground/src/screens/OverlayBanner.tsx and on line 26, you can insert a testID="just-a-test-ID" in the SafeArea component and it will have the same behavior as the reproduction demo on Android.

Expected behavior

Banner overlays should allow touches to pass through the overlay and activate UI underneath the overlay if using a NativeProp, such as testID.

Actual Behavior

Banner overlays do not allow touches to pass through the overlay and activate UI underneath the overlay if using a NativeProp, such as testID. This bug is only reproducible for React Native for Android, as React Native Navigation for iOS behaves normally, passing touch events to the views underneath the overlay.

Android: Screenshot_1657041783 iOS: Simulator Screen Shot - iPhone 13 - 2022-07-06 at 09 21 26

Your Environment

Reproducible Demo

Here is an example reproduction demo using react-native-navigation: https://github.com/mikewli/react-native-navigation

After running npm install, npm start, and npm run android, you will start the app in an Android emulator / device. This behavior was tested on an Android emulator, Pixel 3a, API 32 on Debug.

  1. Tap Show banner overlay button
  2. Try to tap Log layout message button
  3. Observe that you cannot tap any button underneath the overlay thereafter

Are you willing to resolve this issue by submitting a Pull Request?

I have also joined your Discord channel if you need to reach out for further questions / comments in addition to this issue tracker. My username is mikeli-fullstory#3174

ericschaal commented 1 year ago

@mikewli Same issue.

Y-k-Y commented 1 year ago

Any process??