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
|