• Home
  • History
  • Annotate
  • only in /frameworks/support/fragment/src/
History log of /frameworks/support/fragment/src/
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
ndroidTest/java/androidx/fragment/app/FragmentLifecycleTest.java
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/FragmentActivity.java
ain/java/androidx/fragment/app/FragmentController.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/FragmentActivity.java
e63531202af07eaa8e49c12c73072101637d5614 25-Apr-2018 Sergey Vasilinets <sergeyv@google.com> Fix FragmentManagerNonConfigTest for P

In P onSaveInstanceState is called after onStop, so fragment added in
onStop should be successfully saved

Fixes: 78524154
Test: FragmentManagerNonConfigTest
Change-Id: Ie325586cdc10328f428cedc903e6f85b102b6b60
ndroidTest/java/androidx/fragment/app/FragmentManagerNonConfigTest.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
ndroidTest/java/androidx/fragment/app/FragmentViewLifecycleTest.java
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/FragmentManager.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/BackStackRecord.java
ain/java/androidx/fragment/app/FragmentHostCallback.java
ain/java/androidx/fragment/app/FragmentManager.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/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
ndroidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.java
ndroidTest/java/androidx/fragment/app/ViewModelTest.java
ndroidTest/java/androidx/fragment/app/ViewModelTestInTransaction.java
ndroidTest/java/androidx/fragment/app/test/TestViewModel.java
ndroidTest/java/androidx/fragment/app/test/ViewModelActivity.java
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/FragmentActivity.java
ain/java/androidx/fragment/app/FragmentManager.java
ain/java/androidx/fragment/app/FragmentManagerNonConfig.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/BaseFragmentActivityApi14.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/BaseFragmentActivityApi14.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi16.java
ain/java/androidx/fragment/app/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
ndroidTest/java/androidx/fragment/app/NestedInflatedFragmentTest.java
ain/java/androidx/fragment/app/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
ndroidTest/java/androidx/fragment/app/ChildFragmentStateTest.java
ndroidTest/java/androidx/fragment/app/DialogFragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimationTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimatorTest.java
ndroidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentManagerNonConfigTest.java
ndroidTest/java/androidx/fragment/app/FragmentReceiveResultTest.java
ndroidTest/java/androidx/fragment/app/FragmentReorderingTest.java
ndroidTest/java/androidx/fragment/app/FragmentReplaceTest.java
ndroidTest/java/androidx/fragment/app/FragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentTestUtil.java
ndroidTest/java/androidx/fragment/app/FragmentTransactionTest.java
ndroidTest/java/androidx/fragment/app/FragmentTransitionTest.java
ndroidTest/java/androidx/fragment/app/FragmentViewTests.java
ndroidTest/java/androidx/fragment/app/HangingFragmentTest.java
ndroidTest/java/androidx/fragment/app/LoaderTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentTest.java
ndroidTest/java/androidx/fragment/app/NestedInflatedFragmentTest.java
ndroidTest/java/androidx/fragment/app/PostponedTransitionTest.java
ndroidTest/java/androidx/fragment/app/PrimaryNavFragmentTest.java
ndroidTest/java/androidx/fragment/app/StrictViewFragment.java
ndroidTest/java/androidx/fragment/app/ViewModelTest.java
ndroidTest/java/androidx/fragment/app/ViewModelTestInTransaction.java
ndroidTest/java/androidx/fragment/app/test/FragmentTestActivity.java
ndroidTest/java/androidx/fragment/app/test/HangingFragmentActivity.java
ndroidTest/java/androidx/fragment/app/test/LoaderActivity.java
ndroidTest/java/androidx/fragment/app/test/NewIntentActivity.java
ndroidTest/java/androidx/fragment/app/test/NonConfigOnStopActivity.java
ndroidTest/java/androidx/fragment/app/test/ViewModelActivity.java
ain/java/androidx/fragment/app/BackStackRecord.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi14.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi16.java
ain/java/androidx/fragment/app/DialogFragment.java
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/FragmentActivity.java
ain/java/androidx/fragment/app/FragmentContainer.java
ain/java/androidx/fragment/app/FragmentController.java
ain/java/androidx/fragment/app/FragmentHostCallback.java
ain/java/androidx/fragment/app/FragmentManager.java
ain/java/androidx/fragment/app/FragmentPagerAdapter.java
ain/java/androidx/fragment/app/FragmentStatePagerAdapter.java
ain/java/androidx/fragment/app/FragmentTabHost.java
ain/java/androidx/fragment/app/FragmentTransaction.java
ain/java/androidx/fragment/app/FragmentTransition.java
ain/java/androidx/fragment/app/FragmentTransitionCompat21.java
ain/java/androidx/fragment/app/FragmentTransitionImpl.java
ain/java/androidx/fragment/app/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
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/FragmentActivity.java
ac5fe7c617c66850fff75a9fce9979c6e5674b0f 06-Mar-2018 Aurimas Liutikas <aurimas@google.com> Refactor support library

Test: None
Change-Id: I92e450c739fc9d77e8f8840bed4165ab88247fd6
ndroidTest/AndroidManifest.xml
ndroidTest/java/android/support/v4/app/ChildFragmentStateTest.java
ndroidTest/java/android/support/v4/app/CountCallsFragment.java
ndroidTest/java/android/support/v4/app/CtsMockitoUtils.java
ndroidTest/java/android/support/v4/app/DialogFragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimationTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimatorTest.java
ndroidTest/java/android/support/v4/app/FragmentArchLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentManagerNonConfigTest.java
ndroidTest/java/android/support/v4/app/FragmentReceiveResultTest.java
ndroidTest/java/android/support/v4/app/FragmentReorderingTest.java
ndroidTest/java/android/support/v4/app/FragmentReplaceTest.java
ndroidTest/java/android/support/v4/app/FragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentTestUtil.java
ndroidTest/java/android/support/v4/app/FragmentTransactionTest.java
ndroidTest/java/android/support/v4/app/FragmentTransitionTest.java
ndroidTest/java/android/support/v4/app/FragmentViewTests.java
ndroidTest/java/android/support/v4/app/HangingFragmentTest.java
ndroidTest/java/android/support/v4/app/HostCallbacks.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentRestoreTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentTest.java
ndroidTest/java/android/support/v4/app/NestedInflatedFragmentTest.java
ndroidTest/java/android/support/v4/app/PostponedTransitionTest.java
ndroidTest/java/android/support/v4/app/PrimaryNavFragmentTest.java
ndroidTest/java/android/support/v4/app/ReentrantFragment.java
ndroidTest/java/android/support/v4/app/StrictFragment.java
ndroidTest/java/android/support/v4/app/StrictViewFragment.java
ndroidTest/java/android/support/v4/app/TargetTracking.java
ndroidTest/java/android/support/v4/app/TrackingTransition.java
ndroidTest/java/android/support/v4/app/TrackingVisibility.java
ndroidTest/java/android/support/v4/app/TransitionFragment.java
ndroidTest/java/android/support/v4/app/ViewModelTest.java
ndroidTest/java/android/support/v4/app/ViewModelTestInTransaction.java
ndroidTest/java/android/support/v4/app/test/EmptyFragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentResultActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/HangingFragmentActivity.java
ndroidTest/java/android/support/v4/app/test/LoaderActivity.java
ndroidTest/java/android/support/v4/app/test/NewIntentActivity.java
ndroidTest/java/android/support/v4/app/test/NonConfigOnStopActivity.java
ndroidTest/java/android/support/v4/app/test/TestViewModel.java
ndroidTest/java/android/support/v4/app/test/ViewModelActivity.java
ndroidTest/java/androidx/fragment/app/ChildFragmentStateTest.java
ndroidTest/java/androidx/fragment/app/CountCallsFragment.java
ndroidTest/java/androidx/fragment/app/CtsMockitoUtils.java
ndroidTest/java/androidx/fragment/app/DialogFragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimationTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimatorTest.java
ndroidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentManagerNonConfigTest.java
ndroidTest/java/androidx/fragment/app/FragmentReceiveResultTest.java
ndroidTest/java/androidx/fragment/app/FragmentReorderingTest.java
ndroidTest/java/androidx/fragment/app/FragmentReplaceTest.java
ndroidTest/java/androidx/fragment/app/FragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentTestUtil.java
ndroidTest/java/androidx/fragment/app/FragmentTransactionTest.java
ndroidTest/java/androidx/fragment/app/FragmentTransitionTest.java
ndroidTest/java/androidx/fragment/app/FragmentViewTests.java
ndroidTest/java/androidx/fragment/app/HangingFragmentTest.java
ndroidTest/java/androidx/fragment/app/HostCallbacks.java
ndroidTest/java/androidx/fragment/app/LoaderTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentTest.java
ndroidTest/java/androidx/fragment/app/NestedInflatedFragmentTest.java
ndroidTest/java/androidx/fragment/app/PostponedTransitionTest.java
ndroidTest/java/androidx/fragment/app/PrimaryNavFragmentTest.java
ndroidTest/java/androidx/fragment/app/ReentrantFragment.java
ndroidTest/java/androidx/fragment/app/StrictFragment.java
ndroidTest/java/androidx/fragment/app/StrictViewFragment.java
ndroidTest/java/androidx/fragment/app/TargetTracking.java
ndroidTest/java/androidx/fragment/app/TrackingTransition.java
ndroidTest/java/androidx/fragment/app/TrackingVisibility.java
ndroidTest/java/androidx/fragment/app/TransitionFragment.java
ndroidTest/java/androidx/fragment/app/ViewModelTest.java
ndroidTest/java/androidx/fragment/app/ViewModelTestInTransaction.java
ndroidTest/java/androidx/fragment/app/test/EmptyFragmentTestActivity.java
ndroidTest/java/androidx/fragment/app/test/FragmentResultActivity.java
ndroidTest/java/androidx/fragment/app/test/FragmentTestActivity.java
ndroidTest/java/androidx/fragment/app/test/HangingFragmentActivity.java
ndroidTest/java/androidx/fragment/app/test/LoaderActivity.java
ndroidTest/java/androidx/fragment/app/test/NewIntentActivity.java
ndroidTest/java/androidx/fragment/app/test/NonConfigOnStopActivity.java
ndroidTest/java/androidx/fragment/app/test/TestViewModel.java
ndroidTest/java/androidx/fragment/app/test/ViewModelActivity.java
ndroidTest/res/layout/activity_inflated_fragment.xml
ndroidTest/res/layout/nested_inflated_fragment_parent.xml
ndroidTest/res/layout/swipe_refresh_layout_activity.xml
ndroidTest/res/layout/view_pager_with_tab_strip.xml
ndroidTest/res/layout/view_pager_with_title_strip.xml
ain/AndroidManifest.xml
ain/java/android/support/v4/app/BackStackRecord.java
ain/java/android/support/v4/app/BaseFragmentActivityApi14.java
ain/java/android/support/v4/app/BaseFragmentActivityApi16.java
ain/java/android/support/v4/app/DialogFragment.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentContainer.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentHostCallback.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/FragmentManagerNonConfig.java
ain/java/android/support/v4/app/FragmentPagerAdapter.java
ain/java/android/support/v4/app/FragmentState.java
ain/java/android/support/v4/app/FragmentStatePagerAdapter.java
ain/java/android/support/v4/app/FragmentTabHost.java
ain/java/android/support/v4/app/FragmentTransaction.java
ain/java/android/support/v4/app/FragmentTransition.java
ain/java/android/support/v4/app/FragmentTransitionCompat21.java
ain/java/android/support/v4/app/FragmentTransitionImpl.java
ain/java/android/support/v4/app/ListFragment.java
ain/java/android/support/v4/app/OneShotPreDrawListener.java
ain/java/android/support/v4/app/SuperNotCalledException.java
ain/java/androidx/fragment/app/BackStackRecord.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi14.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi16.java
ain/java/androidx/fragment/app/DialogFragment.java
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/FragmentActivity.java
ain/java/androidx/fragment/app/FragmentContainer.java
ain/java/androidx/fragment/app/FragmentController.java
ain/java/androidx/fragment/app/FragmentHostCallback.java
ain/java/androidx/fragment/app/FragmentManager.java
ain/java/androidx/fragment/app/FragmentManagerNonConfig.java
ain/java/androidx/fragment/app/FragmentPagerAdapter.java
ain/java/androidx/fragment/app/FragmentState.java
ain/java/androidx/fragment/app/FragmentStatePagerAdapter.java
ain/java/androidx/fragment/app/FragmentTabHost.java
ain/java/androidx/fragment/app/FragmentTransaction.java
ain/java/androidx/fragment/app/FragmentTransition.java
ain/java/androidx/fragment/app/FragmentTransitionCompat21.java
ain/java/androidx/fragment/app/FragmentTransitionImpl.java
ain/java/androidx/fragment/app/ListFragment.java
ain/java/androidx/fragment/app/OneShotPreDrawListener.java
ain/java/androidx/fragment/app/SuperNotCalledException.java
f27b1ffc67228d73326ec3426fef4c9db75cd6fd 06-Mar-2018 Aurimas Liutikas <aurimas@google.com> Revert "Refactor support library."

This reverts commit b31c3281d870e9abb673db239234d580dcc4feff.

Change-Id: Icfa5b9af633739ad2c857dff22a2181bac6661ef
ndroidTest/AndroidManifest.xml
ndroidTest/java/android/support/v4/app/ChildFragmentStateTest.java
ndroidTest/java/android/support/v4/app/CountCallsFragment.java
ndroidTest/java/android/support/v4/app/CtsMockitoUtils.java
ndroidTest/java/android/support/v4/app/DialogFragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimationTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimatorTest.java
ndroidTest/java/android/support/v4/app/FragmentArchLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentManagerNonConfigTest.java
ndroidTest/java/android/support/v4/app/FragmentReceiveResultTest.java
ndroidTest/java/android/support/v4/app/FragmentReorderingTest.java
ndroidTest/java/android/support/v4/app/FragmentReplaceTest.java
ndroidTest/java/android/support/v4/app/FragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentTestUtil.java
ndroidTest/java/android/support/v4/app/FragmentTransactionTest.java
ndroidTest/java/android/support/v4/app/FragmentTransitionTest.java
ndroidTest/java/android/support/v4/app/FragmentViewTests.java
ndroidTest/java/android/support/v4/app/HangingFragmentTest.java
ndroidTest/java/android/support/v4/app/HostCallbacks.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentRestoreTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentTest.java
ndroidTest/java/android/support/v4/app/NestedInflatedFragmentTest.java
ndroidTest/java/android/support/v4/app/PostponedTransitionTest.java
ndroidTest/java/android/support/v4/app/PrimaryNavFragmentTest.java
ndroidTest/java/android/support/v4/app/ReentrantFragment.java
ndroidTest/java/android/support/v4/app/StrictFragment.java
ndroidTest/java/android/support/v4/app/StrictViewFragment.java
ndroidTest/java/android/support/v4/app/TargetTracking.java
ndroidTest/java/android/support/v4/app/TrackingTransition.java
ndroidTest/java/android/support/v4/app/TrackingVisibility.java
ndroidTest/java/android/support/v4/app/TransitionFragment.java
ndroidTest/java/android/support/v4/app/ViewModelTest.java
ndroidTest/java/android/support/v4/app/ViewModelTestInTransaction.java
ndroidTest/java/android/support/v4/app/test/EmptyFragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentResultActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/HangingFragmentActivity.java
ndroidTest/java/android/support/v4/app/test/LoaderActivity.java
ndroidTest/java/android/support/v4/app/test/NewIntentActivity.java
ndroidTest/java/android/support/v4/app/test/NonConfigOnStopActivity.java
ndroidTest/java/android/support/v4/app/test/TestViewModel.java
ndroidTest/java/android/support/v4/app/test/ViewModelActivity.java
ndroidTest/java/androidx/fragment/app/ChildFragmentStateTest.java
ndroidTest/java/androidx/fragment/app/CountCallsFragment.java
ndroidTest/java/androidx/fragment/app/CtsMockitoUtils.java
ndroidTest/java/androidx/fragment/app/DialogFragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimationTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimatorTest.java
ndroidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentManagerNonConfigTest.java
ndroidTest/java/androidx/fragment/app/FragmentReceiveResultTest.java
ndroidTest/java/androidx/fragment/app/FragmentReorderingTest.java
ndroidTest/java/androidx/fragment/app/FragmentReplaceTest.java
ndroidTest/java/androidx/fragment/app/FragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentTestUtil.java
ndroidTest/java/androidx/fragment/app/FragmentTransactionTest.java
ndroidTest/java/androidx/fragment/app/FragmentTransitionTest.java
ndroidTest/java/androidx/fragment/app/FragmentViewTests.java
ndroidTest/java/androidx/fragment/app/HangingFragmentTest.java
ndroidTest/java/androidx/fragment/app/HostCallbacks.java
ndroidTest/java/androidx/fragment/app/LoaderTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentTest.java
ndroidTest/java/androidx/fragment/app/NestedInflatedFragmentTest.java
ndroidTest/java/androidx/fragment/app/PostponedTransitionTest.java
ndroidTest/java/androidx/fragment/app/PrimaryNavFragmentTest.java
ndroidTest/java/androidx/fragment/app/ReentrantFragment.java
ndroidTest/java/androidx/fragment/app/StrictFragment.java
ndroidTest/java/androidx/fragment/app/StrictViewFragment.java
ndroidTest/java/androidx/fragment/app/TargetTracking.java
ndroidTest/java/androidx/fragment/app/TrackingTransition.java
ndroidTest/java/androidx/fragment/app/TrackingVisibility.java
ndroidTest/java/androidx/fragment/app/TransitionFragment.java
ndroidTest/java/androidx/fragment/app/ViewModelTest.java
ndroidTest/java/androidx/fragment/app/ViewModelTestInTransaction.java
ndroidTest/java/androidx/fragment/app/test/EmptyFragmentTestActivity.java
ndroidTest/java/androidx/fragment/app/test/FragmentResultActivity.java
ndroidTest/java/androidx/fragment/app/test/FragmentTestActivity.java
ndroidTest/java/androidx/fragment/app/test/HangingFragmentActivity.java
ndroidTest/java/androidx/fragment/app/test/LoaderActivity.java
ndroidTest/java/androidx/fragment/app/test/NewIntentActivity.java
ndroidTest/java/androidx/fragment/app/test/NonConfigOnStopActivity.java
ndroidTest/java/androidx/fragment/app/test/TestViewModel.java
ndroidTest/java/androidx/fragment/app/test/ViewModelActivity.java
ndroidTest/res/layout/activity_inflated_fragment.xml
ndroidTest/res/layout/nested_inflated_fragment_parent.xml
ndroidTest/res/layout/swipe_refresh_layout_activity.xml
ndroidTest/res/layout/view_pager_with_tab_strip.xml
ndroidTest/res/layout/view_pager_with_title_strip.xml
ain/AndroidManifest.xml
ain/java/android/support/v4/app/BackStackRecord.java
ain/java/android/support/v4/app/BaseFragmentActivityApi14.java
ain/java/android/support/v4/app/BaseFragmentActivityApi16.java
ain/java/android/support/v4/app/DialogFragment.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentContainer.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentHostCallback.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/FragmentManagerNonConfig.java
ain/java/android/support/v4/app/FragmentPagerAdapter.java
ain/java/android/support/v4/app/FragmentState.java
ain/java/android/support/v4/app/FragmentStatePagerAdapter.java
ain/java/android/support/v4/app/FragmentTabHost.java
ain/java/android/support/v4/app/FragmentTransaction.java
ain/java/android/support/v4/app/FragmentTransition.java
ain/java/android/support/v4/app/FragmentTransitionCompat21.java
ain/java/android/support/v4/app/FragmentTransitionImpl.java
ain/java/android/support/v4/app/ListFragment.java
ain/java/android/support/v4/app/OneShotPreDrawListener.java
ain/java/android/support/v4/app/SuperNotCalledException.java
ain/java/androidx/fragment/app/BackStackRecord.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi14.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi16.java
ain/java/androidx/fragment/app/DialogFragment.java
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/FragmentActivity.java
ain/java/androidx/fragment/app/FragmentContainer.java
ain/java/androidx/fragment/app/FragmentController.java
ain/java/androidx/fragment/app/FragmentHostCallback.java
ain/java/androidx/fragment/app/FragmentManager.java
ain/java/androidx/fragment/app/FragmentManagerNonConfig.java
ain/java/androidx/fragment/app/FragmentPagerAdapter.java
ain/java/androidx/fragment/app/FragmentState.java
ain/java/androidx/fragment/app/FragmentStatePagerAdapter.java
ain/java/androidx/fragment/app/FragmentTabHost.java
ain/java/androidx/fragment/app/FragmentTransaction.java
ain/java/androidx/fragment/app/FragmentTransition.java
ain/java/androidx/fragment/app/FragmentTransitionCompat21.java
ain/java/androidx/fragment/app/FragmentTransitionImpl.java
ain/java/androidx/fragment/app/ListFragment.java
ain/java/androidx/fragment/app/OneShotPreDrawListener.java
ain/java/androidx/fragment/app/SuperNotCalledException.java
b31c3281d870e9abb673db239234d580dcc4feff 20-Feb-2018 Aurimas Liutikas <aurimas@google.com> Refactor support library.

Test: None
Change-Id: I11a047324832801555673dac45ec1d6590a6338b
ndroidTest/AndroidManifest.xml
ndroidTest/java/android/support/v4/app/ChildFragmentStateTest.java
ndroidTest/java/android/support/v4/app/CountCallsFragment.java
ndroidTest/java/android/support/v4/app/CtsMockitoUtils.java
ndroidTest/java/android/support/v4/app/DialogFragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimationTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimatorTest.java
ndroidTest/java/android/support/v4/app/FragmentArchLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentManagerNonConfigTest.java
ndroidTest/java/android/support/v4/app/FragmentReceiveResultTest.java
ndroidTest/java/android/support/v4/app/FragmentReorderingTest.java
ndroidTest/java/android/support/v4/app/FragmentReplaceTest.java
ndroidTest/java/android/support/v4/app/FragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentTestUtil.java
ndroidTest/java/android/support/v4/app/FragmentTransactionTest.java
ndroidTest/java/android/support/v4/app/FragmentTransitionTest.java
ndroidTest/java/android/support/v4/app/FragmentViewTests.java
ndroidTest/java/android/support/v4/app/HangingFragmentTest.java
ndroidTest/java/android/support/v4/app/HostCallbacks.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentRestoreTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentTest.java
ndroidTest/java/android/support/v4/app/NestedInflatedFragmentTest.java
ndroidTest/java/android/support/v4/app/PostponedTransitionTest.java
ndroidTest/java/android/support/v4/app/PrimaryNavFragmentTest.java
ndroidTest/java/android/support/v4/app/ReentrantFragment.java
ndroidTest/java/android/support/v4/app/StrictFragment.java
ndroidTest/java/android/support/v4/app/StrictViewFragment.java
ndroidTest/java/android/support/v4/app/TargetTracking.java
ndroidTest/java/android/support/v4/app/TrackingTransition.java
ndroidTest/java/android/support/v4/app/TrackingVisibility.java
ndroidTest/java/android/support/v4/app/TransitionFragment.java
ndroidTest/java/android/support/v4/app/ViewModelTest.java
ndroidTest/java/android/support/v4/app/ViewModelTestInTransaction.java
ndroidTest/java/android/support/v4/app/test/EmptyFragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentResultActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/HangingFragmentActivity.java
ndroidTest/java/android/support/v4/app/test/LoaderActivity.java
ndroidTest/java/android/support/v4/app/test/NewIntentActivity.java
ndroidTest/java/android/support/v4/app/test/NonConfigOnStopActivity.java
ndroidTest/java/android/support/v4/app/test/TestViewModel.java
ndroidTest/java/android/support/v4/app/test/ViewModelActivity.java
ndroidTest/java/androidx/fragment/app/ChildFragmentStateTest.java
ndroidTest/java/androidx/fragment/app/CountCallsFragment.java
ndroidTest/java/androidx/fragment/app/CtsMockitoUtils.java
ndroidTest/java/androidx/fragment/app/DialogFragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimationTest.java
ndroidTest/java/androidx/fragment/app/FragmentAnimatorTest.java
ndroidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentLifecycleTest.java
ndroidTest/java/androidx/fragment/app/FragmentManagerNonConfigTest.java
ndroidTest/java/androidx/fragment/app/FragmentReceiveResultTest.java
ndroidTest/java/androidx/fragment/app/FragmentReorderingTest.java
ndroidTest/java/androidx/fragment/app/FragmentReplaceTest.java
ndroidTest/java/androidx/fragment/app/FragmentTest.java
ndroidTest/java/androidx/fragment/app/FragmentTestUtil.java
ndroidTest/java/androidx/fragment/app/FragmentTransactionTest.java
ndroidTest/java/androidx/fragment/app/FragmentTransitionTest.java
ndroidTest/java/androidx/fragment/app/FragmentViewTests.java
ndroidTest/java/androidx/fragment/app/HangingFragmentTest.java
ndroidTest/java/androidx/fragment/app/HostCallbacks.java
ndroidTest/java/androidx/fragment/app/LoaderTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.java
ndroidTest/java/androidx/fragment/app/NestedFragmentTest.java
ndroidTest/java/androidx/fragment/app/NestedInflatedFragmentTest.java
ndroidTest/java/androidx/fragment/app/PostponedTransitionTest.java
ndroidTest/java/androidx/fragment/app/PrimaryNavFragmentTest.java
ndroidTest/java/androidx/fragment/app/ReentrantFragment.java
ndroidTest/java/androidx/fragment/app/StrictFragment.java
ndroidTest/java/androidx/fragment/app/StrictViewFragment.java
ndroidTest/java/androidx/fragment/app/TargetTracking.java
ndroidTest/java/androidx/fragment/app/TrackingTransition.java
ndroidTest/java/androidx/fragment/app/TrackingVisibility.java
ndroidTest/java/androidx/fragment/app/TransitionFragment.java
ndroidTest/java/androidx/fragment/app/ViewModelTest.java
ndroidTest/java/androidx/fragment/app/ViewModelTestInTransaction.java
ndroidTest/java/androidx/fragment/app/test/EmptyFragmentTestActivity.java
ndroidTest/java/androidx/fragment/app/test/FragmentResultActivity.java
ndroidTest/java/androidx/fragment/app/test/FragmentTestActivity.java
ndroidTest/java/androidx/fragment/app/test/HangingFragmentActivity.java
ndroidTest/java/androidx/fragment/app/test/LoaderActivity.java
ndroidTest/java/androidx/fragment/app/test/NewIntentActivity.java
ndroidTest/java/androidx/fragment/app/test/NonConfigOnStopActivity.java
ndroidTest/java/androidx/fragment/app/test/TestViewModel.java
ndroidTest/java/androidx/fragment/app/test/ViewModelActivity.java
ndroidTest/res/layout/activity_inflated_fragment.xml
ndroidTest/res/layout/nested_inflated_fragment_parent.xml
ndroidTest/res/layout/swipe_refresh_layout_activity.xml
ndroidTest/res/layout/view_pager_with_tab_strip.xml
ndroidTest/res/layout/view_pager_with_title_strip.xml
ain/AndroidManifest.xml
ain/java/android/support/v4/app/BackStackRecord.java
ain/java/android/support/v4/app/BaseFragmentActivityApi14.java
ain/java/android/support/v4/app/BaseFragmentActivityApi16.java
ain/java/android/support/v4/app/DialogFragment.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentContainer.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentHostCallback.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/FragmentManagerNonConfig.java
ain/java/android/support/v4/app/FragmentPagerAdapter.java
ain/java/android/support/v4/app/FragmentState.java
ain/java/android/support/v4/app/FragmentStatePagerAdapter.java
ain/java/android/support/v4/app/FragmentTabHost.java
ain/java/android/support/v4/app/FragmentTransaction.java
ain/java/android/support/v4/app/FragmentTransition.java
ain/java/android/support/v4/app/FragmentTransitionCompat21.java
ain/java/android/support/v4/app/FragmentTransitionImpl.java
ain/java/android/support/v4/app/ListFragment.java
ain/java/android/support/v4/app/OneShotPreDrawListener.java
ain/java/android/support/v4/app/SuperNotCalledException.java
ain/java/androidx/fragment/app/BackStackRecord.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi14.java
ain/java/androidx/fragment/app/BaseFragmentActivityApi16.java
ain/java/androidx/fragment/app/DialogFragment.java
ain/java/androidx/fragment/app/Fragment.java
ain/java/androidx/fragment/app/FragmentActivity.java
ain/java/androidx/fragment/app/FragmentContainer.java
ain/java/androidx/fragment/app/FragmentController.java
ain/java/androidx/fragment/app/FragmentHostCallback.java
ain/java/androidx/fragment/app/FragmentManager.java
ain/java/androidx/fragment/app/FragmentManagerNonConfig.java
ain/java/androidx/fragment/app/FragmentPagerAdapter.java
ain/java/androidx/fragment/app/FragmentState.java
ain/java/androidx/fragment/app/FragmentStatePagerAdapter.java
ain/java/androidx/fragment/app/FragmentTabHost.java
ain/java/androidx/fragment/app/FragmentTransaction.java
ain/java/androidx/fragment/app/FragmentTransition.java
ain/java/androidx/fragment/app/FragmentTransitionCompat21.java
ain/java/androidx/fragment/app/FragmentTransitionImpl.java
ain/java/androidx/fragment/app/ListFragment.java
ain/java/androidx/fragment/app/OneShotPreDrawListener.java
ain/java/androidx/fragment/app/SuperNotCalledException.java
44251d61b76027ca31ad2e47633d55f2b2bad505 05-Mar-2018 Android Build Merger (Role) <noreply-android-build-merger@google.com> [automerger] End removal animation prior to the View becoming fully visible. am: d5ba674b17

Change-Id: I9af315992409630f72bb4eb10bbcb9ba6b1c57fc
d5ba674b175fc0d8a03af60d3c241fc19c623656 05-Mar-2018 George Mount <mount@google.com> End removal animation prior to the View becoming fully visible.

Bug: 74051124

Previously, the endViewTransition() call was being made after the
animation completed by a full vsync. This allowed the View to
be briefly visible after the view animation had completed.

This CL uses an OnPreDrawListener instead of posting the runnable,
allowing the animation to be ended prior to the next frame.

Test: manual
Test: ran fragment tests
Change-Id: Iaa74bfdb4bc79076fd0f31af3451202cc116c50a
ain/java/android/support/v4/app/FragmentManager.java
fadf9e7262143cc124be9196da56e72e46d132db 04-Mar-2018 Android Build Merger (Role) <noreply-android-build-merger@google.com> [automerger] Ensure Fragment's ViewModels are cleared on finish() am: 0d429d5f5b

Change-Id: I92ac73a20248625c0c48fd6bf418edc5e88864d3
0d429d5f5bb0d6197d5c7a24b5c0bb5bcd5db8cd 03-Mar-2018 Ian Lake <ilake@google.com> Ensure Fragment's ViewModels are cleared on finish()

ViewModels should be destroyed when their containing
Fragment is really destroyed, where "really destroyed"
means getting to onDestroy() without saving state.

Revert mStateSaved to specifically be whether the
Fragment state is saved. Maintain the current
functionality by updated isStateSaved() to take into
account whether the FragmentManager has been stopped.

Test: Updated ViewModelTest passes, all existing tests pass
BUG: 74139250
Change-Id: Idb632033b039e5c337825c061548b31f29a107d9
ndroidTest/java/android/support/v4/app/ViewModelTest.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentManager.java
47561ab508036a29c9a365bfdcd7f8bff251ed96 02-Mar-2018 Ian Lake <ilake@google.com> Merge commit '98179e0c692f8812d961e2e1d8a7ef086ea234f5' into am-8632a9d6-7490-4ebe-9466-7a224dc8b808

* commit '98179e0c692f8812d961e2e1d8a7ef086ea234f5':
Don't use Loader status in FragmentManager

Change-Id: I8c6bf418393afecca30e4da5dfe821372e97443e
98179e0c692f8812d961e2e1d8a7ef086ea234f5 01-Mar-2018 Ian Lake <ilake@google.com> Don't use Loader status in FragmentManager

With the proliferation of other methods to run things
in the background (for example, ViewModels+LiveData),
Loaders should not be special cased into affecting the
lifecycle of their containing Fragments. Fragments should
operate the same whether or not they are using Loaders.

Test: I'd remove tests if we had any. Existing tests pass
BUG: 73976255
Change-Id: I81bd19bc8370bf3c8bc969d58e0b220a5b46e478
Merged-In: I81bd19bc8370bf3c8bc969d58e0b220a5b46e478
ain/java/android/support/v4/app/FragmentManager.java
960e687174a4c2daca556d52bfd48e2fd8f4f317 28-Feb-2018 Jake Wharton <jakew@google.com> Prevent name clashes with java.lang types.

Types in java.lang are implicitly imported by default which can cause confusion.

Test: ./gradlew aEP && ./gradlew -p app-toolkit aEP
Change-Id: Ie028cf5152567b740d0cfa5c1e334391d25a484f
ain/java/android/support/v4/app/Fragment.java
882e74d20400309e51c49377c29ad7673cc6a008 26-Feb-2018 Ian Lake <ilake@google.com> Add DialogFragment annotations to match Fragment

DialogFragment is missing NonNull/Nullable annotations
that were added to Fragment. Align the two classes to
prevent issues with nullability.

Test: Lint complains less about missing annotations
Change-Id: I063cf5c1678dfcaf06348c4b7d24879959528139
ain/java/android/support/v4/app/DialogFragment.java
67171c81b114f5a858dd55ec712cb584f255fc93 27-Feb-2018 Aurimas Liutikas <aurimas@google.com> Move testutils to androidx.testutils package.

Test: ./gradlew assembleDebug
Change-Id: Ib6347167e152e043c47ffb91194d666000a1677a
ndroidTest/java/android/support/v4/app/FragmentManagerNonConfigTest.java
ndroidTest/java/android/support/v4/app/HangingFragmentTest.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ndroidTest/java/android/support/v4/app/test/HangingFragmentActivity.java
ndroidTest/java/android/support/v4/app/test/LoaderActivity.java
ndroidTest/java/android/support/v4/app/test/NonConfigOnStopActivity.java
2e7729761fa714881978f932edcd493f28f688b0 17-Feb-2018 Ian Lake <ilake@google.com> Split Loaders into their own dependency

Remove Loader specific classes from core-utils
and fragment and put them in their own dependency.

Test: Existing Loader tests pass
BUG: 72954976
Change-Id: I5cad86e28baab174878d8048bfd335ce2325c2c8
ndroidTest/AndroidManifest.xml
ndroidTest/java/android/support/v4/app/LoaderInfoTest.java
ndroidTest/java/android/support/v4/app/LoaderManagerTest.java
ndroidTest/java/android/support/v4/app/LoaderObserverTest.java
ndroidTest/java/android/support/v4/app/LoaderViewModelTest.java
ndroidTest/java/android/support/v4/app/test/DummyLoader.java
ndroidTest/java/android/support/v4/app/test/DummyLoaderCallbacks.java
ndroidTest/java/android/support/v4/app/test/EmptyActivity.java
ain/java/android/support/v4/app/LoaderManager.java
ain/java/android/support/v4/app/LoaderManagerImpl.java
76861d236751e9f11f4c6369cff63e9d8799329d 17-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Split LoaderManager tests from Fragments"
39f615d0aa63bd866474ac63dc77226dd353bc7c 17-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Create static method for getting a LoaderManager"
4c7ed1494f506952eb85c935bc543ea741e7bdb4 10-Feb-2018 Ian Lake <ilake@google.com> Split LoaderManager tests from Fragments

Remove dependencies on Fragments in the
core LoaderManager tests.

Test: Existing Loader tests pass
BUG: 72954976
Change-Id: I18d0345977ab38dfd615305f8dab8d4a8b53177d
ndroidTest/AndroidManifest.xml
ndroidTest/java/android/support/v4/app/LoaderInfoTest.java
ndroidTest/java/android/support/v4/app/LoaderManagerTest.java
ndroidTest/java/android/support/v4/app/LoaderObserverTest.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ndroidTest/java/android/support/v4/app/LoaderViewModelTest.java
ndroidTest/java/android/support/v4/app/test/DummyLoader.java
ndroidTest/java/android/support/v4/app/test/DummyLoaderCallbacks.java
ndroidTest/java/android/support/v4/app/test/EmptyActivity.java
afe28d91550483f9b7a82076a507151b4defd9ba 05-Jan-2018 Ian Lake <ilake@google.com> Create static method for getting a LoaderManager

Allow developers to create a LoaderManager from any
LifecycleOwner+ViewModelStoreOwner class, rather
than only from FragmentActivity and Fragment.

Remove LoaderManager instance held by FragmentActivity
and Fragment (as they are not the sole creators of a
LoaderManager), instead calling
LoaderManager.getInstance() to get a new instance. As
all of the state is stored in the LoaderViewModel
singleton, this is a cheap operation.

Test: ./gradlew checkApi
BUG: 70897911
Change-Id: Ib62384804c4443314e63db1c3e47ec56f4962073
ndroidTest/java/android/support/v4/app/FragmentLifecycleTest.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ndroidTest/java/android/support/v4/app/test/LoaderActivity.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/LoaderManager.java
ain/java/android/support/v4/app/LoaderManagerImpl.java
8073f037f2cfdd30eadfd5327707d3f58001d32d 14-Feb-2018 Tony Mantler <nicoya@google.com> Fix missing space in FragmentActivity#dump

It's the little things that matter

Bug: clean-up
Test: ./gradlew test

Change-Id: I2e24319c6a5372a028536a77ba0ac4f7f6fe3fd5
ain/java/android/support/v4/app/FragmentActivity.java
d193adfd5d93daf12a27fcc95c8cbd0846a6a157 11-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove minSdkVersion tags from library manifest files."
1f5136a4c35102f39d94edd220d753d229a09e43 10-Feb-2018 Aurimas Liutikas <aurimas@google.com> Remove minSdkVersion tags from library manifest files.

These tags are no longer needed that we don't need to support make
as gradle puts these values based on build.gradle files.

Test: none
Change-Id: Id936e42d37fa03fe283d346f4fd9357f64f1be64
ain/AndroidManifest.xml
732fb271c18d4bed045f5d8284b46d428e7ad210 09-Feb-2018 Ian Lake <ilake@google.com> Allow Loader operations in onLoadFinished

When data is already available, calling
initLoader() can result in a synchronous callback
to onLoadFinished(). Ensure that we clear out the
mCreatingLoader flag before calling setCallback to
allow Loader operations in onLoadFinished()

Test: LoaderTest.testDestroyFromOnLoadFinished passes
BUG: 73164252
Change-Id: I3b9915697fac3c898e1ece26fa2e12ea47c9db88
ndroidTest/java/android/support/v4/app/LoaderTest.java
ain/java/android/support/v4/app/LoaderManagerImpl.java
02b80098dcec67b9f0b92b1c87ec127b4a4844f1 09-Feb-2018 Ian Lake <ilake@google.com> Immediately deliver Loader results if available

If the LoaderManager already has results, they
should be synchronously delivered as per the
documented behavior on LoaderManager#initLoader

Test: updated tests pass
BUG: 73166179
Change-Id: Ib51ed826ddd6afb9efb7ef4d5efbe73533588230
ndroidTest/java/android/support/v4/app/LoaderInfoTest.java
ain/java/android/support/v4/app/LoaderManagerImpl.java
a474b6161c50e98913388459496b90de139f2043 08-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove destroyed LoaderInfos in onCleared" into oc-mr1-jetpack-dev
eddbefd447de5dd5b5b4220410f4c7376bc530a3 08-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic "am-48848dd8-40b9-4617-8191-ae30ed2dcd16"

* changes:
[automerger] Remove destroyed LoaderInfos in onCleared am: 0f4d973e9b
Remove destroyed LoaderInfos in onCleared
0f4d973e9bb5a00727068f6a76338908c21902fd 07-Feb-2018 Ian Lake <ilake@google.com> Remove destroyed LoaderInfos in onCleared

When the LoaderManager's LoaderViewModel is
cleared, it should ensure that all destroyed
LoaderInfos are also removed from the list,
preventing accidental cases where a LoaderInfo
is destroyed twice.

Test: Updated LoaderViewModelTest passes
BUG: 73081193
Change-Id: I6423de0d8f9cb238332febd6a3c18287a08cb4a8
ndroidTest/java/android/support/v4/app/LoaderViewModelTest.java
ain/java/android/support/v4/app/LoaderManagerImpl.java
3c06a52e18dd8461e12b1bb0a100a5ac541823a9 07-Feb-2018 Ian Lake <ilake@google.com> Fix overlapping Loader IDs in LoaderInfoTest

LoaderActivity used id 0 for a Loader<String> and
LoaderInfoTest used id 0 for a Loader<Boolean>. Use
a unique ID for LoaderActivity so that LoaderManager
does not attempt to deliver existing String results
to a Boolean onLoadFinished().

Test: LoaderInfoTest passes consistently
BUG: 72971683
Change-Id: I6aae7c24271d20c1970579f6fa9d430e8f132d56
ndroidTest/java/android/support/v4/app/test/LoaderActivity.java
104bca7256dba76376aa7921517b2568e09c7bac 02-Feb-2018 Ian Lake <ilake@google.com> Replace NPE in FragmentManager with IllegalStateException

Instead of throwing a NullPointerException when we
attempt to executePendingTransactions on an already
destroyed FragmentManager, throw a more descriptive
IllegalStateException.

Test: manual testing
BUG: 30700232
Change-Id: Ib2e00908f3849c1e6ece9cb1912f18d399058fb5
ain/java/android/support/v4/app/FragmentManager.java
68243fc6d3d03cfc9fcd8644286bc1818760d6d7 01-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix DialogFragment Dialog visible lifecycle" into oc-mr1-jetpack-dev
0ea7a0921f428d017a083fc7b87d90be489cfb52 01-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move Loader+ViewModel tests to androidTest directory" into oc-mr1-jetpack-dev
ef43292aa9886c8aa5bfabf0fd76136fc3d84a15 01-Feb-2018 Ian Lake <ilake@google.com> Fix DialogFragment Dialog visible lifecycle

When calling DialogFragment#dismiss(), the
dialog should be immediately dismissed to
allow developers who override onDismiss to
check for isAdded(), etc. and inform other
components of dismiss events.

Going forward, the recommendation for checking
for manual dismissal will be to check
getDialog().isShowing() in onStop() - if it is
not showing, it was manually dismissed.

Test: new DialogFragmenTest cases pass
BUG: 72808587
Change-Id: If4b19b21d8abc01197ed5171cf83b11efac58e56
ndroidTest/java/android/support/v4/app/DialogFragmentTest.java
ain/java/android/support/v4/app/DialogFragment.java
91f3de362ba7218d74f121e6f78ea31519e829fc 31-Jan-2018 Ian Lake <ilake@google.com> Move Loader+ViewModel tests to androidTest directory

The Loader+ViewModel tests were orphaned when the
fragment/tests directory was changed to
fragment/src/androidTest. This re-enables
the tests by moving them with the other
tests.

Test: Loader tests run
BUG: 3388667
Change-Id: I4aa9fd36937d97ba7ce9575775e93c75a6efd77e
ndroidTest/java/android/support/v4/app/LoaderInfoTest.java
ndroidTest/java/android/support/v4/app/LoaderObserverTest.java
ndroidTest/java/android/support/v4/app/LoaderViewModelTest.java
ndroidTest/java/android/support/v4/app/ViewModelTest.java
ndroidTest/java/android/support/v4/app/ViewModelTestInTransaction.java
ndroidTest/java/android/support/v4/app/test/TestViewModel.java
ndroidTest/java/android/support/v4/app/test/ViewModelActivity.java
ndroidTest/res/layout/activity_view_model.xml
4783656e3105be8e44502555198f2d76ec643454 31-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix bug in transition name for unmatched elements" into oc-mr1-jetpack-dev
a503f70c4fb910dfb161bd93a21d3e85c857d393 31-Jan-2018 Ian Lake <ilake@google.com> Merge changes from topics "am-b08697a7-a5cf-4f05-971f-5295b68b19dd", "am-bbcf6ef2-384e-495c-8727-ee2bf47d6cbc", "am-49755461-1eec-45a2-8d0c-ec3497359eaa" into oc-mr1-jetpack-dev

* changes:
Rebuild Loaders on top of LiveData/ViewModel
Let Fragment implement ViewModelStoreOwner
Let FragmentActivity implement ViewModelStoreOwner
108f3eb87eac52996a56fddbfeb88eb8695ca1c2 30-Jan-2018 George Mount <mount@google.com> Fix bug in transition name for unmatched elements

Bug: 72686505

When a shared element was unmatched in a fragment
transition, the return transition caused the
transition name to be set to null. This CL fixes
that bug.

Test: ran test case
Test: ran all fragment tests + new test case
Change-Id: I6e7dc3d842b2394e20bd46b04a091374bf042215
ndroidTest/java/android/support/v4/app/FragmentTransitionTest.java
ain/java/android/support/v4/app/FragmentTransition.java
38f4f4174d9cd53c553f14c19746500cb861b089 20-Dec-2017 Ian Lake <ilake@google.com> Rebuild Loaders on top of LiveData/ViewModel

Decouple Loaders from the internals of FragmentActivity
and Fragment and instead build them on top of a
ViewModel (for retaining across configuration changes)
and LiveData (for lifecycle aware LoaderCallbacks).

Test: Existing Loader tests pass, ran new Loader tests
BUG: 70897911
Change-Id: I770fef313b619421dc16a63fe15910a636d291ab
ndroidTest/java/android/support/v4/app/FragmentLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentTestUtil.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentHostCallback.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/LoaderManager.java
ain/java/android/support/v4/app/LoaderManagerImpl.java
f087b77dfc3ecc7cd3538d8b9dc2567e4fa00709 29-Jan-2018 Jake Wharton <jakew@google.com> Merge "Remove needless 'final' modifier from 'static' methods." into oc-mr1-jetpack-dev
c05db2551709fb74903cce69f3e4b9f553e607af 27-Jan-2018 Jake Wharton <jakew@google.com> Remove needless 'final' modifier from 'static' methods.

Test: manually added final to a static method and verified checkstyle failed
Change-Id: I3d0d5fa25ffca5586ac22559729d5d9447f5f3f2
ain/java/android/support/v4/app/FragmentController.java
41516afc57ee5165d3a4e6c8a36f798d2cf6be4f 03-Jan-2018 Ian Lake <ilake@google.com> Let Fragment implement ViewModelStoreOwner

Rather than rely on a HolderFragment, Fragment
can own its own ViewModelStore, which
FragmentManager can save through its
FragmentManagerNonConfig.

Test: ViewModelTest and ViewModelTestInTransaction
BUG: 71503976
Change-Id: I8be6e92c640b218d4b3cdc7f277baf22f35a44d7
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/FragmentManagerNonConfig.java
ain/java/android/support/v4/app/FragmentState.java
979ba9780e1646ef0525ee5d40790e7a339297e3 02-Jan-2018 Ian Lake <ilake@google.com> Let FragmentActivity implement ViewModelStoreOwner

Rather than rely on a HolderFragment, FragmentActivity
can own its own ViewModelStore.

Test: ViewModelTest passes
BUG: 71503976
Change-Id: Iac9a3e91c5b31d44fb0b567f69ad480b7eb2ff19
ndroidTest/AndroidManifest.xml
ain/java/android/support/v4/app/FragmentActivity.java
e62545fdf58881a2d0426285648f71ce9323ca15 26-Jan-2018 George Mount <mount@google.com> Fix parent not being null after animating removed fragment.

Bug: 71889623

When animating a fragment out with Animations, the view that was
removed was not clearing its parent field. This was caused by
both startAnimation() and startViewTransition() being called
and then endViewTransition() and finishAnimation() being called
in the wrong order.

This CL wraps the Animation in an AnimationSet that delays ending
the animation until endViewTransition() is called.

Test: parentNullAfterAnimation
Change-Id: I3c239613ab8f208ee008db1f7e3d89caff7c73c5
ndroidTest/java/android/support/v4/app/FragmentAnimationTest.java
ain/java/android/support/v4/app/FragmentManager.java
3849f3a38ee6e9e89174a219eb148b4caaf8721d 25-Jan-2018 Ian Lake <ilake@google.com> Add DialogFragment.showNow()

Provide an alternative to show() that uses
FragmentTransaction#commitNow().

Test: DialogTestCase#testDialogFragmentShowsNow
BUG: 31714412
Change-Id: Ib676eaaae5fe03ae5524a8365f31f2a3346f2eb6
ndroidTest/java/android/support/v4/app/DialogFragmentTest.java
ain/java/android/support/v4/app/DialogFragment.java
5cdab7fdd30bd4166a6cc10777deec1584b5af5d 26-Jan-2018 Jake Wharton <jakew@google.com> Move fragment sources to standard directory structure.

Test: ./gradlew connectedCheck
Change-Id: I869ec5a451a4d327e4d267f3a197d8b6bda76e46
ndroidTest/AndroidManifest.xml
ndroidTest/java/android/support/v4/app/ChildFragmentStateTest.java
ndroidTest/java/android/support/v4/app/CountCallsFragment.java
ndroidTest/java/android/support/v4/app/CtsMockitoUtils.java
ndroidTest/java/android/support/v4/app/DialogFragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimationTest.java
ndroidTest/java/android/support/v4/app/FragmentAnimatorTest.java
ndroidTest/java/android/support/v4/app/FragmentArchLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentLifecycleTest.java
ndroidTest/java/android/support/v4/app/FragmentManagerNonConfigTest.java
ndroidTest/java/android/support/v4/app/FragmentReceiveResultTest.java
ndroidTest/java/android/support/v4/app/FragmentReorderingTest.java
ndroidTest/java/android/support/v4/app/FragmentReplaceTest.java
ndroidTest/java/android/support/v4/app/FragmentTest.java
ndroidTest/java/android/support/v4/app/FragmentTestUtil.java
ndroidTest/java/android/support/v4/app/FragmentTransactionTest.java
ndroidTest/java/android/support/v4/app/FragmentTransitionTest.java
ndroidTest/java/android/support/v4/app/FragmentViewTests.java
ndroidTest/java/android/support/v4/app/HangingFragmentTest.java
ndroidTest/java/android/support/v4/app/HostCallbacks.java
ndroidTest/java/android/support/v4/app/LoaderTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentRestoreTest.java
ndroidTest/java/android/support/v4/app/NestedFragmentTest.java
ndroidTest/java/android/support/v4/app/NestedInflatedFragmentTest.java
ndroidTest/java/android/support/v4/app/PostponedTransitionTest.java
ndroidTest/java/android/support/v4/app/PrimaryNavFragmentTest.java
ndroidTest/java/android/support/v4/app/ReentrantFragment.java
ndroidTest/java/android/support/v4/app/StrictFragment.java
ndroidTest/java/android/support/v4/app/StrictViewFragment.java
ndroidTest/java/android/support/v4/app/TargetTracking.java
ndroidTest/java/android/support/v4/app/TrackingTransition.java
ndroidTest/java/android/support/v4/app/TrackingVisibility.java
ndroidTest/java/android/support/v4/app/TransitionFragment.java
ndroidTest/java/android/support/v4/app/test/EmptyFragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentResultActivity.java
ndroidTest/java/android/support/v4/app/test/FragmentTestActivity.java
ndroidTest/java/android/support/v4/app/test/HangingFragmentActivity.java
ndroidTest/java/android/support/v4/app/test/LoaderActivity.java
ndroidTest/java/android/support/v4/app/test/NewIntentActivity.java
ndroidTest/java/android/support/v4/app/test/NonConfigOnStopActivity.java
ndroidTest/res/anim/fade_in.xml
ndroidTest/res/anim/fade_out.xml
ndroidTest/res/anim/long_fade_in.xml
ndroidTest/res/anim/long_fade_out.xml
ndroidTest/res/animator/slow_fade_out.xml
ndroidTest/res/layout/activity_content.xml
ndroidTest/res/layout/activity_inflated_fragment.xml
ndroidTest/res/layout/activity_loader.xml
ndroidTest/res/layout/double_container.xml
ndroidTest/res/layout/explore_by_touch_helper_activity.xml
ndroidTest/res/layout/fragment_a.xml
ndroidTest/res/layout/fragment_b.xml
ndroidTest/res/layout/fragment_c.xml
ndroidTest/res/layout/fragment_end.xml
ndroidTest/res/layout/fragment_middle.xml
ndroidTest/res/layout/fragment_start.xml
ndroidTest/res/layout/nested_inflated_fragment_child.xml
ndroidTest/res/layout/nested_inflated_fragment_parent.xml
ndroidTest/res/layout/scene1.xml
ndroidTest/res/layout/scene2.xml
ndroidTest/res/layout/scene3.xml
ndroidTest/res/layout/simple_container.xml
ndroidTest/res/layout/strict_view_fragment.xml
ndroidTest/res/layout/swipe_refresh_layout_activity.xml
ndroidTest/res/layout/text_a.xml
ndroidTest/res/layout/text_b.xml
ndroidTest/res/layout/text_c.xml
ndroidTest/res/layout/view_pager_with_tab_strip.xml
ndroidTest/res/layout/view_pager_with_title_strip.xml
ndroidTest/res/layout/with_edit_text.xml
ndroidTest/res/transition/change_bounds.xml
ndroidTest/res/transition/fade.xml
ndroidTest/res/values/colors.xml
ndroidTest/res/values/dimens.xml
ndroidTest/res/values/ids.xml
ndroidTest/res/values/strings.xml
ndroidTest/res/values/styles.xml
ain/AndroidManifest.xml
0177161f8bbd78cd6c180a9ebfe788c1d522d0e0 25-Jan-2018 Ian Lake <ilake@google.com> Stop DialogFragment before dismissing the dialog

Instead of dismissing the Dialog immediately and
queuing up the FragmentTransaction to pop the
DialogFragment off the stack, rely on the
onDestroyView callback on the DialogFragment to
dismiss the Dialog.

This ensures that the Dialog is non-null when the
DialogFragment gets a callback to onStop(), ensuring
that lifecycle observers always have access to the
Dialog.

Test: DialogFragmentTest
BUG: 64400546
Change-Id: Ic4847fd9efc475df08c03feb4e1983a2c19a8ea8
ain/java/android/support/v4/app/DialogFragment.java
6f994479e26df8ba96f38cc42e7e203a937eba32 25-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add 'require'-prefixed overloads for inconveniently nullable accessors." into oc-mr1-jetpack-dev
4e1d3a9edc967c33a980243f36205d1c282f9e2f 25-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Remove @Nullable from Fragment where usually non-null"" into oc-mr1-jetpack-dev
0d29663c8688de94a3260584037c21dfd9e4cbfa 19-Jan-2018 Ian Lake <ilake@google.com> Don't lose setUserVisibleHint on saved state restore

When a Fragment has setInitialSavedState, its state
is restored when it is re-added to the FragmentManager.

If setUserVisibleHint is set before that restore,
the value is reset when the restore happens.

Instead, the saved state should be updated with the new
user visible hint.

This manifests itself in the context of
FragmentStatePagerAdapter, which will go through
this exact flow when jumping directly to an
offscreen page that has yet to be re-added to the
FragmentManager (i.e., when you select a tab 2
screens over).

Test: Ran new tests in FragmentLifecycleTest
BUG: 34831613
Change-Id: Iec30a20787741c9f469210dc994f7dcba6ed5286
ain/java/android/support/v4/app/Fragment.java
c7dd6a0b8a02ed90a16d55afa0c83fa8b986dbab 22-Jan-2018 Jake Wharton <jakew@google.com> Add 'require'-prefixed overloads for inconveniently nullable accessors.

This allows a developer to express their intent that the method will only be called at the appropriate lifecycle without having to apply a workaround at every callsite.

Test: ./gradlew :support-fragment:conCh
Bug: 72241821
Change-Id: Icb41e449d83bad07d3c101d1b71cd7ff519f279d
ain/java/android/support/v4/app/Fragment.java
b38fded102ffe4de21f2d048262f52d5bcefbfd5 22-Jan-2018 Jake Wharton <jakew@google.com> Revert "Remove @Nullable from Fragment where usually non-null"

This reverts commit ab870d000477ce593d7a6f275f489ab06225b84b.
ain/java/android/support/v4/app/Fragment.java
ab870d000477ce593d7a6f275f489ab06225b84b 17-Jan-2018 Ian Lake <ilake@google.com> Remove @Nullable from Fragment where usually non-null

Use the "platform type" with ambiguous nullability for
return values that are in practice never null (and would
usually be @NonNull+throw if it weren't for compatibility
reasons).

Test: none
BUG: 72107706
Change-Id: I1b9721cba0f8f38ba3376237bdc549a7fbf78885
ain/java/android/support/v4/app/Fragment.java
aa5a52bbe93c585f50d5521c65c2df6f18960c20 10-Jan-2018 Ian Lake <ilake@google.com> Enforce Loader calls on main thread, add annotations

LoaderManager is not thread safe and initializing,
restarting, or destroying Loaders off the main thread
can lead to invalid state, callbacks on the wrong thread,
or race conditions.

@MainThread and @Nullable/@NonNull annotations have been
added where appropriate to help developers properly use
the APIs.

Test: new LoaderTest tests
BUG: 70897911
Change-Id: Ic2843c8742a8a54927cc14ec47ae8f5bb56c8979
ain/java/android/support/v4/app/LoaderManager.java
cfc99f38ed077237d7a56f55020bf82446bff528 02-Jan-2018 Ian Lake <ilake@google.com> Allow FragmentTransactions in onConfigurationChanged

onConfigurationChanged can be fired before onResume, but
should still allow FragmentTransactions.

Test: Ran fragment tests
BUG: 68340549
Change-Id: I4b3dfd5c202c11416e70f048793a2c7a98738f15
ain/java/android/support/v4/app/FragmentActivity.java
50a66728c8e4efc0b91af1323fbcd288972eeff0 11-Dec-2017 Andrew Solovay <asolovay@google.com> Merge "docs: Updated to note support for SL transition" into oc-mr1-support-27.0-dev
am: e9abc27fcc

Change-Id: I80f737eef7f939af154523b450b310b30a3a3f0f
a318550a4904d11021bbf03f4d3970e7f9a61036 06-Dec-2017 Andrew Solovay <asolovay@google.com> docs: Updated to note support for SL transition

Docs had previously said various transition methods required an
android.transition.Transition. Updated to note that the methods can
also take an android.support.transition.Transition (true as of
27.0.0,
see https://developer.android.com/topic/libraries/support-library/revisions.html#27-0-0)

See first comment for doc stage location.

Test: ./gradlew distDocs
Bug: 69348636
Change-Id: I9de5296fb6900bddce3fe67d27ba0afcf5f36b7c
ain/java/android/support/v4/app/Fragment.java
04c9cb44b503470485a055e69eb80f0ed305a13f 21-Nov-2017 Aurimas Liutikas <aurimas@google.com> Remove useless package.html

We used to keep lovely package.html for additional documentation.
Sadly, they are awfully out of date, so let's remove them until
we have something better.

Test: None
Change-Id: I9231760ba709384d05109b482eb60812effcb2e2
ain/java/android/support/v4/app/package.html
cade63d9bfa1570d09aa90f0bb567b1252e17c99 26-Oct-2017 Sergey Vasilinets <sergeyv@google.com> Reiterate through all fragments while there are STARTED fragments

Since 1.0.3 markState sends ON_STOP events, so people can add new
fragments while we call markState

bug: 68276212
Test: FragmentArchLifecycleTest
Change-Id: If7c2f83fb06baf25893aee8532077d0711d3171a
ain/java/android/support/v4/app/FragmentActivity.java
5be21a3eaf93bbe5ea2f5bc24a1989d32f32058a 25-Oct-2017 Sergey Vasilinets <sergeyv@google.com> Don't instantiate childFragmentManager during mark state

bug: 68211914
Test: HangingFragmentTest
Change-Id: I92ef16300e895c2a66800e8c86e0582bd8bfdd79
ain/java/android/support/v4/app/FragmentActivity.java
f266a0a76eb23a0a00ae16f823df2af73bff480f 06-Oct-2017 Aurimas Liutikas <aurimas@google.com> Megamove part 2. Move to standard directories.

Bug: 67054326
Test: ./gradlew buildOnServer
Change-Id: I568c70f5ecceef54e6854dd75b20522dae01b25a
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentPagerAdapter.java
ain/java/android/support/v4/app/FragmentStatePagerAdapter.java
ain/java/android/support/v4/app/FragmentTabHost.java
7e83cb69be885deb27fc4d5c45df61a24a16a3af 27-Sep-2017 Jichao Li <jichao@google.com> Adding delegate support

This enables FragmentCompat and ActivityCompat to accept delegates and
defer actions to the delegate. This enables Instant Apps support for
runtime permissions. Instant Apps uses Runtime Permission on Lollipop
devices (AIA runtime proxies system permission call), and by adding
the delegate to the support library, we can enable Instant Apps that use
support library on Lollipop devices.

Bug: 37646566
Test: ran and updated tests

Change-Id: Icb010c74ccae3055847e94559d3f2e0d946f6a9e
ain/java/android/support/v4/app/FragmentActivity.java
034bc505154bbb42c588e2fc06f46596e3a44a1b 03-Oct-2017 Aurimas Liutikas <aurimas@google.com> Megamove of source directories.

Move source code to more standard src/main/java style directories.

Bug: 67054326
Test: ./gradlew assembleDebug
Change-Id: I7db70a3815246ea5a5f0864bbf36a01a956138a3
Merged-In: I7db70a3815246ea5a5f0864bbf36a01a956138a3
ain/java/android/support/v4/app/BackStackRecord.java
ain/java/android/support/v4/app/BaseFragmentActivityApi14.java
ain/java/android/support/v4/app/BaseFragmentActivityApi16.java
ain/java/android/support/v4/app/DialogFragment.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentContainer.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentHostCallback.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/FragmentManagerNonConfig.java
ain/java/android/support/v4/app/FragmentPagerAdapter.java
ain/java/android/support/v4/app/FragmentState.java
ain/java/android/support/v4/app/FragmentStatePagerAdapter.java
ain/java/android/support/v4/app/FragmentTabHost.java
ain/java/android/support/v4/app/FragmentTransaction.java
ain/java/android/support/v4/app/FragmentTransition.java
ain/java/android/support/v4/app/FragmentTransitionCompat21.java
ain/java/android/support/v4/app/FragmentTransitionImpl.java
ain/java/android/support/v4/app/ListFragment.java
ain/java/android/support/v4/app/LoaderManager.java
ain/java/android/support/v4/app/OneShotPreDrawListener.java
ain/java/android/support/v4/app/SuperNotCalledException.java
ain/java/android/support/v4/app/package.html
c06f8f0083ce8212006a934eb0f9dcd3fd1dff68 29-Sep-2017 Aurimas Liutikas <aurimas@google.com> Revert "Move support-fragment code to standard directories."

This reverts commit c84ece08158b4e4af31fed251c5c3a4fc349270b.

Broke master make builds.

Change-Id: I5056cabc5d583270c401c392ca97eb5ede94bd64
ain/java/android/support/v4/app/BackStackRecord.java
ain/java/android/support/v4/app/BaseFragmentActivityApi14.java
ain/java/android/support/v4/app/BaseFragmentActivityApi16.java
ain/java/android/support/v4/app/DialogFragment.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentContainer.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentHostCallback.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/FragmentManagerNonConfig.java
ain/java/android/support/v4/app/FragmentPagerAdapter.java
ain/java/android/support/v4/app/FragmentState.java
ain/java/android/support/v4/app/FragmentStatePagerAdapter.java
ain/java/android/support/v4/app/FragmentTabHost.java
ain/java/android/support/v4/app/FragmentTransaction.java
ain/java/android/support/v4/app/FragmentTransition.java
ain/java/android/support/v4/app/FragmentTransitionCompat21.java
ain/java/android/support/v4/app/FragmentTransitionImpl.java
ain/java/android/support/v4/app/ListFragment.java
ain/java/android/support/v4/app/LoaderManager.java
ain/java/android/support/v4/app/OneShotPreDrawListener.java
ain/java/android/support/v4/app/SuperNotCalledException.java
ain/java/android/support/v4/app/package.html
c84ece08158b4e4af31fed251c5c3a4fc349270b 29-Sep-2017 Aurimas Liutikas <aurimas@google.com> Move support-fragment code to standard directories.

Test: ./gradlew assembleDebug
Bug: 67054326
Change-Id: I1c54884c12e7d93d19b2dc7efce9a8382dbecbc7
ain/java/android/support/v4/app/BackStackRecord.java
ain/java/android/support/v4/app/BaseFragmentActivityApi14.java
ain/java/android/support/v4/app/BaseFragmentActivityApi16.java
ain/java/android/support/v4/app/DialogFragment.java
ain/java/android/support/v4/app/Fragment.java
ain/java/android/support/v4/app/FragmentActivity.java
ain/java/android/support/v4/app/FragmentContainer.java
ain/java/android/support/v4/app/FragmentController.java
ain/java/android/support/v4/app/FragmentHostCallback.java
ain/java/android/support/v4/app/FragmentManager.java
ain/java/android/support/v4/app/FragmentManagerNonConfig.java
ain/java/android/support/v4/app/FragmentPagerAdapter.java
ain/java/android/support/v4/app/FragmentState.java
ain/java/android/support/v4/app/FragmentStatePagerAdapter.java
ain/java/android/support/v4/app/FragmentTabHost.java
ain/java/android/support/v4/app/FragmentTransaction.java
ain/java/android/support/v4/app/FragmentTransition.java
ain/java/android/support/v4/app/FragmentTransitionCompat21.java
ain/java/android/support/v4/app/FragmentTransitionImpl.java
ain/java/android/support/v4/app/ListFragment.java
ain/java/android/support/v4/app/LoaderManager.java
ain/java/android/support/v4/app/OneShotPreDrawListener.java
ain/java/android/support/v4/app/SuperNotCalledException.java
ain/java/android/support/v4/app/package.html