Fixed
Status Update
Comments
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit f796782ea16c76f151e7d7635945f2f27c1190a0
Author: Simon Schiller <simonschiller@users.noreply.github.com>
Date: Mon Mar 22 01:26:40 2021
[GH] [FragmentStrictMode] Detect calls to Fragment#setTargetFragment
## Proposed Changes
- Detect calls to `Fragment#setTargetFragment`
## Testing
Test: See `FragmentStrictModeTest#detectSetTargetFragment`
## Issues Fixed
Fixes: 153737745
This is an imported pull request fromhttps://github.com/androidx/androidx/pull/139 .
Resolves #139
Github-Pr-Head-Sha: 89c830c8fe9c487e0dd14087dc99a720496d5c0f
GitOrigin-RevId: e73f51cf62e973d664cdfd8193b830e24e007a7c
Change-Id: I3066e87ed7cfa2bda19089979c722f1efe4103cf
M fragment/fragment/api/public_plus_experimental_current.txt
M fragment/fragment/api/restricted_current.txt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentStrictMode.java
A fragment/fragment/src/main/java/androidx/fragment/app/strictmode/TargetFragmentUsageViolation.java
https://android-review.googlesource.com/1640408
Branch: androidx-main
commit f796782ea16c76f151e7d7635945f2f27c1190a0
Author: Simon Schiller <simonschiller@users.noreply.github.com>
Date: Mon Mar 22 01:26:40 2021
[GH] [FragmentStrictMode] Detect calls to Fragment#setTargetFragment
## Proposed Changes
- Detect calls to `Fragment#setTargetFragment`
## Testing
Test: See `FragmentStrictModeTest#detectSetTargetFragment`
## Issues Fixed
Fixes: 153737745
This is an imported pull request from
Resolves #139
Github-Pr-Head-Sha: 89c830c8fe9c487e0dd14087dc99a720496d5c0f
GitOrigin-RevId: e73f51cf62e973d664cdfd8193b830e24e007a7c
Change-Id: I3066e87ed7cfa2bda19089979c722f1efe4103cf
M fragment/fragment/api/public_plus_experimental_current.txt
M fragment/fragment/api/restricted_current.txt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentStrictMode.java
A fragment/fragment/src/main/java/androidx/fragment/app/strictmode/TargetFragmentUsageViolation.java
jb...@google.com <jb...@google.com> #3
This has been fixed internally and will be available in the Fragment 1.3.0-alpha04 release.
lu...@ozrunways.com <lu...@ozrunways.com> #4
I've confirmed the fix in a snapshot build of androidx fragment with that change. Thanks for the quick turnaround!
an...@google.com <an...@google.com> #5
il...@google.com <il...@google.com> #6
We've decided to release a Fragment 1.2.5 bug fix release and will be including this change in that release.
Description
Current behavior: calling setMenuVisibility(false) suppresses calls to that fragment's onCreateOptionsMenu, but still dispatches calls to child fragments' onCreateOptionsMenu methods.
Desired behavior: calling setMenuVisibility(false) also suppresses calls to child fragments' onCreateOptionsMenu methods.
This would simplify using FragmentStateAdapter with nested fragments. Currently we have to manually propagate setMenuVisibility calls down from the parent fragment in the adapter, to it's children. Without doing that, menu items from the child fragments are not removed as the active item changes. I found a bug report with a similar workaround for this here:
If this behavior isn't changed, can I suggest changing the documentation for the setMenuVisibility method to make it clear that it doesn't include child fragments.
Component used: Fragment
Version used: 1.3.0-alpha03
Devices/Android versions reproduced on: Emulator, Android API 29