Skip to content

Conversation

lukmccall
Copy link
Contributor

Summary:

Fixes: #53887
Fixes: expo/expo#39480

In the latest Android 16 update, requesting permissions does not always change the app's state (the onPause and onResume functions aren't called). For instance, when you deny permission 3 times, the last promise won't resolve until you move the app to the background. The current logic inside the ReactActivityDelegate assumes that Android will call onResume after receiving permission state information from the system, which is no longer the case.

Probably connected with this commit

Changelog:

[ANDROID] [FIXED] - Fix request permission not always resolving in Android 16

Test Plan:

  • I've tested it in the RNTester by denying the camera permission three times.
  • I've also checked if the patch works with the Expo permissions code.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 23, 2025
@facebook-github-bot facebook-github-bot added p: Software Mansion Partner: Software Mansion Partner p: Expo Partner: Expo Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. labels Sep 23, 2025
@facebook-github-bot
Copy link
Contributor

@cortinico has imported this pull request. If you are a Meta employee, you can view this in D83059478.

@Dony2100
Copy link

Dony2100 commented Oct 2, 2025

@gabrieldonadel any timeline regarding when this issue could be resolved?

@Brma1048
Copy link

Brma1048 commented Oct 8, 2025

@gabrieldonadel will there be a release with this fix for react native 0.79?

Copy link

meta-codesync bot commented Oct 10, 2025

@cortinico has imported this pull request. If you are a Meta employee, you can view this in D83059478.

@meta-codesync meta-codesync bot closed this in 39ede95 Oct 14, 2025
@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @lukmccall in 39ede95

When will my fix make it into a release? | How to file a pick request?

@react-native-bot react-native-bot added the Merged This PR has been merged. label Oct 14, 2025
@irekrog
Copy link

irekrog commented Oct 14, 2025

will this be included in version 0.81.5?

@liamjones
Copy link
Contributor

@irekrog there's a pick request open for 0.81: reactwg/react-native-releases#1151

react-native-bot pushed a commit that referenced this pull request Oct 20, 2025
Summary:
Fixes: #53887
Fixes: expo/expo#39480

In the latest Android 16 update, requesting permissions does not always change the app's state (the `onPause` and `onResume` functions aren't called). For instance, when you deny permission 3 times, the last promise won't resolve until you move the app to the background. The current logic inside the `ReactActivityDelegate` assumes that Android will call `onResume` after receiving permission state information from the system, which is no longer the case.

Probably connected with [this commit](https://android.googlesource.com/platform/packages/modules/Permission/%2B/5dca0ccb26f2b99d706a1d3e9402f851e849c913)

## Changelog:

[ANDROID] [FIXED] - Fix request permission not always resolving in Android 16

Pull Request resolved: #53898

Test Plan:
- I've tested it in the RNTester by denying the camera permission three times.
- I've also checked if the patch works with the Expo permissions code.

Reviewed By: javache

Differential Revision: D83059478

Pulled By: cortinico

fbshipit-source-id: 7bf33b379a1b6606ad2da2f75d337bf951e3986b
@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @lukmccall in 447a7a3

When will my fix make it into a release? | How to file a pick request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. p: Expo Partner: Expo p: Software Mansion Partner: Software Mansion Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

8 participants