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 57ca221882695bd6a52549f4d9ea3b812e6fe87c
Author: Simon Schiller <simonschiller@users.noreply.github.com>
Date: Mon Mar 22 16:09:30 2021
[GH] [FragmentStrictMode] Detect <fragment> tag usage
## Proposed Changes
- Detect `<fragment>` tag usage inside XML layouts
## Testing
Test: See `FragmentStrictModeTest#detectFragmentTagUsage`
## Issues Fixed
Fixes: 153738235
This is an imported pull request fromhttps://github.com/androidx/androidx/pull/141 .
Resolves #141
Github-Pr-Head-Sha: 4ea052596e4341b9f11bcf335e2bc38045a91f19
GitOrigin-RevId: 62e7487aa4874eef6bb556490e193717cf937251
Change-Id: Iae48578e85e4e4897f806d7ade2e2a660adf9479
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/FragmentLayoutInflaterFactory.java
M fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentStrictMode.java
A fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentTagUsageViolation.java
https://android-review.googlesource.com/1649748
Branch: androidx-main
commit 57ca221882695bd6a52549f4d9ea3b812e6fe87c
Author: Simon Schiller <simonschiller@users.noreply.github.com>
Date: Mon Mar 22 16:09:30 2021
[GH] [FragmentStrictMode] Detect <fragment> tag usage
## Proposed Changes
- Detect `<fragment>` tag usage inside XML layouts
## Testing
Test: See `FragmentStrictModeTest#detectFragmentTagUsage`
## Issues Fixed
Fixes: 153738235
This is an imported pull request from
Resolves #141
Github-Pr-Head-Sha: 4ea052596e4341b9f11bcf335e2bc38045a91f19
GitOrigin-RevId: 62e7487aa4874eef6bb556490e193717cf937251
Change-Id: Iae48578e85e4e4897f806d7ade2e2a660adf9479
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/FragmentLayoutInflaterFactory.java
M fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentStrictMode.java
A fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentTagUsageViolation.java
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a3365d1ea3629f44a25d7e89b6b7e8f24410d828
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Nov 20 10:51:35 2020
Throw when setting max lifecycle to DESTROYED
Fragment should only move to DESTROYED when they are actually being
destroyed. Attempting to set the max lifecycle to DESTROYED should
throw an error.
Relnote: "Attempting to set the max lifecycle of a fragment to DESTROYED
will now throw an IllegalArgumentException"
Test: BackStateTest
Bug: 170765622
Change-Id: Ie765188cbaf8473b2aac8f171e869c8fec84e212
M fragment/fragment/src/androidTest/java/androidx/fragment/app/BackStackStateTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
https://android-review.googlesource.com/1507686
Branch: androidx-master-dev
commit a3365d1ea3629f44a25d7e89b6b7e8f24410d828
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Nov 20 10:51:35 2020
Throw when setting max lifecycle to DESTROYED
Fragment should only move to DESTROYED when they are actually being
destroyed. Attempting to set the max lifecycle to DESTROYED should
throw an error.
Relnote: "Attempting to set the max lifecycle of a fragment to DESTROYED
will now throw an IllegalArgumentException"
Test: BackStateTest
Bug: 170765622
Change-Id: Ie765188cbaf8473b2aac8f171e869c8fec84e212
M fragment/fragment/src/androidTest/java/androidx/fragment/app/BackStackStateTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
jb...@google.com <jb...@google.com> #4
This has been fixed internally and will be available in the Fragment 1.3.0-beta02
release.
Description
There are no use cases when we should allow a fragment's Lifecycle to be moved to
DESTROYED
other than when the fragment is actually destroyed.Therefore, you should not be able to
setMaxLifecycle()
toDESTROYED
through aFragmentTransaction
, initialize aFragmentScenario
withDESTROYED
, or move aFragmentScenario
to theDESTROYED
state usingmoveToState()
.Doing any of these things should throw an error.