• Home
  • History
  • Annotate
  • only in /frameworks/support/fragment/src/main/java/androidx/fragment/
History log of /frameworks/support/fragment/src/main/java/androidx/fragment/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
17d9d287fd6d180c6c48d62305ae4d7265056410 23-May-2018 Ian Lake <ilake@google.com> Combine FragmentManager stop and really stop

FragmentActivity would determine if it should retain
ViewModels by looking for calls to onStop() followed
by onRetainNonConfigurationInstance(). This meant
that there were two states:
- stopped (onStop() was called)
- really stopped (onRetain was called or onDestroy was
called or a Handler message was handled)

With the introduction of the Honeycomb API of
isChangingConfigurations() and a minSdkVersion of 14,
we can replace our own retain flag with the proper signal
from the system, thus removing the need for a separate
really stop call.

Test: existing tests pass
BUG: 73644080
Change-Id: Ia79e1d6f285704727e9b61af6d9ae8f2515d04fa
pp/Fragment.java
pp/FragmentActivity.java
pp/FragmentController.java
pp/FragmentManager.java
9dc6ae109df035e893c34f87d5541c78c133aeab 25-Apr-2018 Ian Lake <ilake@google.com> Rename SupportActivity to ComponentActivity

Test: existing tests still pass
BUG: 78542858
Change-Id: I37876bad3ec2d50fad56be20acca22a33a452f24
Merged-In: I37876bad3ec2d50fad56be20acca22a33a452f24
pp/FragmentActivity.java
eb89fcf1decf9044f53330ea4bb689d25d2328b1 12-Mar-2018 Ian Lake <ilake@google.com> Add Fragment#getViewLifecycleOwner

The Fragment's View lifecycle can diverge
from the Fragment's lifecycle in cases of
detached Fragments. This can cause issues with
LiveData where old observers should be cleared
when the View is destroyed to prevent duplication
with new observers created in onCreateView/onViewCreated.

By exposing a separate LifecycleOwner specifically for
the Fragment's View, developers can use that in place
of the Fragment itself to better model the Lifecycle
they actually care about.

Also adds a getViewLifecycleOwnerLiveData() for
observing changes in the View LifecycleOwner (i.e.,
creation, destruction, and recreation).

Test: new FragmentViewLifecycleTest passes
BUG: 72411063
Change-Id: I3f1531e64d4f18aed1ed69434029ab9b317e3886
pp/Fragment.java
pp/FragmentManager.java
0f4ca634bbc43ddff900c35f7d2a43b55d8c830d 28-Mar-2018 Jake Wharton <jakew@google.com> Add private constructors to static utility classes.

This only covers those which are not public API.

Bug: 37063037
Test: ./gradlew aEP (with PrivateConstructorForUtilityClass turned on)
Change-Id: I185cad1ac0634a2c2f53f763f4f044f79a860327
pp/FragmentManager.java
pp/FragmentTransition.java
1785ec4fc15fe9cfd9e67974c5f5ac7f79e573d4 24-Mar-2018 Alexandre Saveau <alex.saveau@gmail.com> Mark onActivityResult data intent as nullable

There are numerous instances where Kotlin users don't understand why
an Activity#RESULT_CANCELLED result crashes their app. Example:
https://github.com/firebase/FirebaseUI-Android/issues/1195

Test: N/A

Change-Id: I44821cec301692e641e2623f87ad7e534ff6a9da
pp/FragmentActivity.java
e8ffa7a5775d29c6144ce0276cd4853baed5c1fb 23-Mar-2018 Ian Lake <ilake@google.com> Avoid ClassLoader issues setting user visible hint

Instead of modifying the mSavedFragmentState Bundle
before it is restored in order to save the updated
user visible hint, store its updated value separately
so as to avoid ClassNotFoundExceptions due to the
correct ClassLoader not being set until the Fragment
is created.

Test: existing user visible hint tests pass
BUG: 74130311
Change-Id: Iae885d74b0b152c3fd0f8aa54500acf35dc84fa4
pp/Fragment.java
pp/FragmentManager.java
805fb8e2508edfc45a1b80a3bf63501aa3507bf2 23-Mar-2018 Jake Wharton <jakew@google.com> Use a semantic type for holding callback and boolean.

The use of Pair is a nullability nightmare for these properties. Using a type with a primitive boolean and which we can guarantee always has a non-null callback simplifies null static analysis greatly.

Bug: 76174134
Test: ./gradlew :fra:build :fra:cC
Change-Id: I1418fdfd88a8c9d12444139126b9abcfe3aef740
pp/FragmentManager.java
7d3add076ee6914436baa1b5c9b7691c96ebb59a 22-Mar-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add nullability annotations to some fragment types." into pi-preview1-androidx-dev
380e247f873d0adf2be42bd9eb41d02322094f11 16-Mar-2018 Jake Wharton <jakew@google.com> Add nullability annotations to some fragment types.

Bug: 67379950
Test: none
Change-Id: I052ad578a01132306e951e448fa4d44d412faa6a
pp/BackStackRecord.java
pp/FragmentHostCallback.java
pp/FragmentManager.java
pp/FragmentTransaction.java
eb7b5143ca141955678607b868404a79f78407c0 21-Mar-2018 Ian Lake <ilake@google.com> Throw exception in FragmentController#getSupportLoaderManager

With Loaders completely separated from Fragments
and FragmentController, FragmentController's
getSupportLoaderManager() method would always
return null, potentially leading to NPEs when
developers attempted to use it.

Throw an UnsupportedOperationException with an
appropriate error message so that developers can
better understand what they should be doing.

Test: none
BUG: 76103866
Change-Id: Ifdf6ac73817d41d1df0edbcd20bcc46d0a80f561
pp/FragmentController.java
ba069d50913c3fb250bb60ec310439db36895337 09-Mar-2018 Alan Viverette <alanv@google.com> DO NOT MERGE. Migrate app-toolkit projects to androidx

Bug: 74405443
Test: ./gradlew createArchive
Change-Id: Iae6f83cc396dbcdc5ae2a98793e9c7c61d94367e
pp/Fragment.java
pp/FragmentActivity.java
pp/FragmentManager.java
pp/FragmentManagerNonConfig.java
pp/FragmentState.java
6353a5e2b3c9541d4bdde37cc63e09813836a20b 18-Mar-2018 Jake Wharton <jakew@google.com> Merge BaseFragmentActivityApi14 into FragmentActivity.

Bug: 75289452
Test: ./gradlew :fragment:build :fragment:cC
Change-Id: Icb1399414474dc9d65a4e6ddf4904db01189942e
pp/BaseFragmentActivityApi14.java
pp/FragmentActivity.java
419101565b74962d5b13be04894aae8b83fafc8b 18-Mar-2018 Jake Wharton <jakew@google.com> Merge BaseFragmentActivityApi16 into BaseFragmentActivityApi14.

Bug: 75289452
Test: ./gradlew :fragment:build :fragment:cC
Change-Id: Ic4b956e987411b7fc91a42229f47bf100e030cff
pp/BaseFragmentActivityApi14.java
pp/BaseFragmentActivityApi16.java
pp/FragmentActivity.java
3fd8f020a6d2e97e03106b62766f73309c2662a1 14-Mar-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Deprecate getLoaderManager()" into pi-preview1-androidx-dev
261fa1b6dce85674f9a6fbe8a48851c80701b1db 14-Mar-2018 Ian Lake <ilake@google.com> Defer starting due to user visible hint to after onCreate

Avoid calling performPendingDeferredStart if the
Fragment is not yet created, such as is the case if
setUserVisibleHint(true) is used from onAttachFragment.

This avoids issues where moveToState is called
recursively and can cause a StackOverflowException.

Test: new NestedInflatedFragmentTest passes
BUG: 74355137
Change-Id: I6bff2627f3e2824de2f5352ef1f13294745d2a9c
pp/Fragment.java
320113721c2e14bbc2403809046fa2959a665c11 13-Mar-2018 Aurimas Liutikas <aurimas@google.com> Fix imports for fragment code.

A follow up after factor to make it so androidx imports go in the
correct order.

Test: ./gradlew buildOnServer
Change-Id: I49af96ac2c8324de2369e0a5b635bda6aa12d5cb
pp/BackStackRecord.java
pp/BaseFragmentActivityApi14.java
pp/BaseFragmentActivityApi16.java
pp/DialogFragment.java
pp/Fragment.java
pp/FragmentActivity.java
pp/FragmentContainer.java
pp/FragmentController.java
pp/FragmentHostCallback.java
pp/FragmentManager.java
pp/FragmentPagerAdapter.java
pp/FragmentStatePagerAdapter.java
pp/FragmentTabHost.java
pp/FragmentTransaction.java
pp/FragmentTransition.java
pp/FragmentTransitionCompat21.java
pp/FragmentTransitionImpl.java
pp/ListFragment.java
c559bbd18f472db18dd7cbc9f4c520ffdebd97e8 09-Mar-2018 Ian Lake <ilake@google.com> Deprecate getLoaderManager()

With the introduction of LoaderManager.getInstance(),
the APIs in FragmentActivity and Fragment to get a
LoaderManager can be deprecated in favor of the more
decoupled solution.

Test: ./gradlew checkApi
BUG: 74437029
Change-Id: Ic3bcd5ea6244e30b53883c9e2cfc45d3a2266c78
pp/Fragment.java
pp/FragmentActivity.java
ac5fe7c617c66850fff75a9fce9979c6e5674b0f 06-Mar-2018 Aurimas Liutikas <aurimas@google.com> Refactor support library

Test: None
Change-Id: I92e450c739fc9d77e8f8840bed4165ab88247fd6
pp/BackStackRecord.java
pp/BaseFragmentActivityApi14.java
pp/BaseFragmentActivityApi16.java
pp/DialogFragment.java
pp/Fragment.java
pp/FragmentActivity.java
pp/FragmentContainer.java
pp/FragmentController.java
pp/FragmentHostCallback.java
pp/FragmentManager.java
pp/FragmentManagerNonConfig.java
pp/FragmentPagerAdapter.java
pp/FragmentState.java
pp/FragmentStatePagerAdapter.java
pp/FragmentTabHost.java
pp/FragmentTransaction.java
pp/FragmentTransition.java
pp/FragmentTransitionCompat21.java
pp/FragmentTransitionImpl.java
pp/ListFragment.java
pp/OneShotPreDrawListener.java
pp/SuperNotCalledException.java
f27b1ffc67228d73326ec3426fef4c9db75cd6fd 06-Mar-2018 Aurimas Liutikas <aurimas@google.com> Revert "Refactor support library."

This reverts commit b31c3281d870e9abb673db239234d580dcc4feff.

Change-Id: Icfa5b9af633739ad2c857dff22a2181bac6661ef
pp/BackStackRecord.java
pp/BaseFragmentActivityApi14.java
pp/BaseFragmentActivityApi16.java
pp/DialogFragment.java
pp/Fragment.java
pp/FragmentActivity.java
pp/FragmentContainer.java
pp/FragmentController.java
pp/FragmentHostCallback.java
pp/FragmentManager.java
pp/FragmentManagerNonConfig.java
pp/FragmentPagerAdapter.java
pp/FragmentState.java
pp/FragmentStatePagerAdapter.java
pp/FragmentTabHost.java
pp/FragmentTransaction.java
pp/FragmentTransition.java
pp/FragmentTransitionCompat21.java
pp/FragmentTransitionImpl.java
pp/ListFragment.java
pp/OneShotPreDrawListener.java
pp/SuperNotCalledException.java
b31c3281d870e9abb673db239234d580dcc4feff 20-Feb-2018 Aurimas Liutikas <aurimas@google.com> Refactor support library.

Test: None
Change-Id: I11a047324832801555673dac45ec1d6590a6338b
pp/BackStackRecord.java
pp/BaseFragmentActivityApi14.java
pp/BaseFragmentActivityApi16.java
pp/DialogFragment.java
pp/Fragment.java
pp/FragmentActivity.java
pp/FragmentContainer.java
pp/FragmentController.java
pp/FragmentHostCallback.java
pp/FragmentManager.java
pp/FragmentManagerNonConfig.java
pp/FragmentPagerAdapter.java
pp/FragmentState.java
pp/FragmentStatePagerAdapter.java
pp/FragmentTabHost.java
pp/FragmentTransaction.java
pp/FragmentTransition.java
pp/FragmentTransitionCompat21.java
pp/FragmentTransitionImpl.java
pp/ListFragment.java
pp/OneShotPreDrawListener.java
pp/SuperNotCalledException.java