c2986284e6cbb4fd73b5db0145bc01ca83fab59d |
|
25-Aug-2017 |
Sergey Vasilinets <sergeyv@google.com> |
Make support lib lifecycle-aware Test: refactoring. bug: 34416241 Change-Id: I4a997ec4fad76d2b040d956c63beae3c3f54528e
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
4ddb624aec37203fcd237663264924a850aa3961 |
|
19-Jul-2017 |
George Mount <mount@google.com> |
Merge "Fix Fragment.onCreate() not being called in some cases." into oc-support-26.1-dev am: 155c46b292 Change-Id: I8c010b7378e1a058d402959faeb0c8f2b95ea069
|
e97d1f2defa08e9bff9d39d6157981e30407e90a |
|
17-Jul-2017 |
George Mount <mount@google.com> |
Fix Fragment.onCreate() not being called in some cases. Bug 62798751 When an application process has been killed with a retained instance fragment on its back stack, and a configuration change causes state save, the retained instance fragment was not calling onCreate() when it was popped back into existence. The cause of the problem is that the mRetaining flag was being set, and when it was supposed to go through onCreate(), it was skipped. This CL uses a new flag to judge whether or not a Fragment has called onCreate() or not. Test: ran fragment tests Change-Id: Ia66a1f474d815f657b6962097139c796f7fa198b
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
fd6aeec1babf41ea09cddd1cf59c61de7bab3407 |
|
28-Apr-2017 |
George Mount <mount@google.com> |
Merge changes Ia81f2cd7,I26f41bec into oc-dev am: 8ee2102193 am: 1fe9423119 am: d884a86d8d Change-Id: Id1a5e330a79b17f5032b28e3c627b7fd35293fac
|
fda5be2466024a656152015c45a7681361d399bb |
|
26-Apr-2017 |
George Mount <mount@google.com> |
Address API council feedback. Bug 37636027 Change FragmentTransaction#setAllowOptimization() to FragmentTransaction#setReorderingAllowed(). Framework Change: I24c35aad95ffa14d2e2fa092ae71d3d459e6d648 Test: ran fragment tests Change-Id: Ia81f2cd7bd3c97ad2f121caa3a943aead0f8d100
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
5ad3348931d4e6381536baf8c64a8c4e5d606919 |
|
21-Apr-2017 |
Aurimas Liutikas <aurimas@google.com> |
Merge "Fix/suppress error-prone warnings in support-fragment." into oc-dev am: 867716f017 am: 740c1ea7b4 Change-Id: Ia3f923891b18b86eeee3a99b25f4c30fa9a04dca
|
867716f017ea85e3481369e5fb3712563832212d |
|
21-Apr-2017 |
Aurimas Liutikas <aurimas@google.com> |
Merge "Fix/suppress error-prone warnings in support-fragment." into oc-dev
|
2119d9937079daf951cfcc1da8aa5456d125f566 |
|
21-Apr-2017 |
George Mount <mount@google.com> |
Merge "Add animator support to setCustomAnimations()" into oc-dev am: 574269be4c am: 555c66e03c Change-Id: Ie2b3d01922a26d0807dcec40e14589922fa9416c
|
15e593ea3575512d7072240d1db9d74fad8749a3 |
|
12-Apr-2017 |
George Mount <mount@google.com> |
Add animator support to setCustomAnimations() Bug 37280782 This adds animator support in setCustomAnimations() to work in nearly the same way as framework fragments. The difference is that onCreateAnimation() is called first, then onCreateAnimator() if onCreateAnimations() returns null. Test: ran fragment tests Change-Id: I23becb7a3b282a5435758b202771f11f69b5094c
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
b7a2c474fc66d5b7f2a57f2c212f8ac5a9e6de70 |
|
31-Mar-2017 |
Aurimas Liutikas <aurimas@google.com> |
Fix/suppress error-prone warnings in support-fragment. Bug: 37537860 Test: ./gradlew assembleErrorProne has fewer warnings now Change-Id: I57851ff02c821b6fbeb824391a470bf52a75e789
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
e3b17e1d43d77754df11544cf06e9658e52a4ac5 |
|
07-Feb-2017 |
Aurimas Liutikas <aurimas@google.com> |
Move FragmentState out of Fragments.java Fragments.java contained 2 top level classes FragmentState and Fragments. This CL moves FragmentState into its own java file. On the plus side we will have one top level class per file as mandated by Google style, on the downside per line history will be a bit harder to do for FragmentState class, however it does not seem to have a lot of logic so it should be an OK loss. Test: None Change-Id: I6b83c9b2478af66bc68f9d91cf12484bb4a23532
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
bae5c5f73f48516194fdf5c7cfb6b3b7d9878537 |
|
18-Apr-2017 |
George Mount <mount@google.com> |
resolve merge conflicts of 0eb50f95ba to oc-dev Test: Ran fragment tests Change-Id: I7a7e25bf6b99c6762f771cf818524739e6c1d56d
|
8b60e88655f6d4191e55b1dd8706e4ae2ae21b04 |
|
13-Apr-2017 |
George Mount <mount@google.com> |
Adds getLayoutInflater() to return a cached value. Bug 37156970 Many applications need to get the LayoutInflater used for fragment View inflation. onGetLayoutInflater() can be heavy weight, so a version that caches that last value is added. Test: ran fragment tests Change-Id: I11d719d7416a5bb3b65f37a78e6ed96a69c32332
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
cfedb8d5ab2b14e025e8202fb6d0a2356e56c18f |
|
04-Apr-2017 |
George Mount <mount@google.com> |
resolve merge conflicts of 0765353c00 to oc-dev Test: I solemnly swear I tested this conflict resolution. Change-Id: I7574a0666e2e029ce7ea0ecbce6aaf1cdac98a93
|
0765353c002bfdf681c982565810aa4be3499dd0 |
|
01-Apr-2017 |
George Mount <mount@google.com> |
Call noteStateNotSaved on child fragment managers. Bug 36740474 When onNewIntent() is called, it calls noteStateNotSaved on the FragmentManager. It wasn't propagating that to child FragmentManagers. This CL properly propagates the noteStateNotSaved(). Test: ran fragment tests Change-Id: Ibe0794c02059f5787e144d1ee63980990fe2a04a
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
0abeed582ee0a105edb41181d76e8ee034750f22 |
|
28-Mar-2017 |
George Mount <mount@google.com> |
Rename getLayoutInflater() to onGetLayoutInflater() Bug 34703669 Change the name based on API review. Keeping getLayoutInflater() temporarily until apps have an opportunity to change their implementations. Test: ran fragment tests Change-Id: I675d20e94dceaf7178f9c30123c7483d0565aa64
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
412addbcb02eb52d1238040e8b0720c12fd2a97f |
|
28-Mar-2017 |
George Mount <mount@google.com> |
DO NOT MERGE: Rename getLayoutInflater() to onGetLayoutInflater() Bug 34703669 Change the name based on API review. Keeping getLayoutInflater() temporarily until apps have an opportunity to change their implementations. Test: ran fragment tests Change-Id: I0c4e8c884a3f45195426ad565f36b432b62b735a
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
4fbf64b54006515873b6e37fc3dd1248f639e30b |
|
23-Mar-2017 |
George Mount <mount@google.com> |
Fixed log warning for calling doStart() twice. am: b51206c625 Change-Id: I2d569cd2bbebfe13970ab1c8e8145aec8b06e44c
|
b51206c625a09945a96ad091e35a4a9e5f72802c |
|
22-Mar-2017 |
George Mount <mount@google.com> |
Fixed log warning for calling doStart() twice. Bug 36504927 The LoaderManager was performing a doStart() multiple times and issued a warning and then returned without any problems. This CL fixes the underlying problem of doStart() being called multiple times so that the warning isn't logged. Test: ran fragment and appcompat tests Change-Id: I3f154e9cb26badbdb8c0b58da95f0a4cd9ac4f6f
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
995c3504e6c5b1d20368c36193b44a7e6844709d |
|
22-Mar-2017 |
George Mount <mount@google.com> |
resolve merge conflicts of 945ef67304 to master Test: Ran fragment and appcompat tests Change-Id: I8c1d95280dbe75624aa43d64247376cd22f32a67
|
832e5fdbe5416d03dbc4787951f01d91b2c17478 |
|
22-Mar-2017 |
George Mount <mount@google.com> |
Fix wrong API for getLayoutInflater Bug 34703669 getLayoutInflater(Bundle) is needed for DialogFragment, so it should be the one that is used. This removes the incorrectly added getLayoutInflater() method. Test: ran fragment tests Change-Id: I4456cb4ffbdac2ef007d5a811d5f12a9546dbb2c
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
96221034e4a23a2abb83f772a0281bb197ac5ac0 |
|
14-Mar-2017 |
George Mount <mount@google.com> |
Make public getFragments() and getLayoutInflater() methods Bug 34703669 Test: ran fragment tests Change-Id: I460bc4b7c74550dddaa8345db4514c4b29094d84
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
4bf8c3d1aeb944a993c946db770604b55f981341 |
|
07-Feb-2017 |
Aurimas Liutikas <aurimas@google.com> |
Cleanup LayoutInflaterCompat after minSdk 14 bump. Bug: 32794064 Test: ./gradlew assemble Change-Id: I45598595683ab9c53eccac17d9dff04574a54dc8
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
2ab15df66963610bc02cb30e9a459f2b49c2ccfa |
|
01-Feb-2017 |
Adam Powell <adamp@google.com> |
Fix setting null target fragments Bug: 34869013 Test: ./gradlew support-fragment:connectedCheck Change-Id: I9977132dea068245008da0eef2783d9ea2e4a8f0
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
a4fd990846a60f3647445bf65980faad47b4cc68 |
|
25-Jan-2017 |
Adam Powell <adamp@google.com> |
Lifecycle guarantees for target fragments When a target fragment was set using Fragment#setTargetFragment, all bets were off, especially when restoring from instance state. Order of lifecyle initialization was undefined meaning that two bugs could occur, both of which manifested as the target fragment was not initialized by the time the referring fragment's onCreate ran. One could happen if the target fragment is on the back stack, the other could happen if the target fragment was ordered unfortunately in FragmentManager implementation details. (!) Fix both by guaranteeing that any target fragment gets pushed forward to at least the CREATED state before we dispatch any lifecycle events for the referring fragment. Add some sanity checks that try to keep developers from setting target fragments across different FragmentManagers or from creating target cycles, both of which are bad ideas. Bug: 33653458 Test: ./gradlew support-fragment:connectedCheck Change-Id: I824eb312fbdfd6b548fe94aa2cd5b03afbaa97c7
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
4aebb5be19bbf9314e7474dd62df8dd915313436 |
|
19-Jan-2017 |
Adam Powell <adamp@google.com> |
Allow FragmentContainer to play a role in fragment construction This allows class swapping, dependency injection, and other fun stuff. Port of change-id I93e17ccf9cebb6f542903d31597b5ea41544e069 from frameworks/base Test: manual Change-Id: I4552d61cfc9e9b651f05a2e91746e9f355a90311
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
5e2b030b851bde2b4569104a01b4acf6960327a6 |
|
13-Jan-2017 |
Adam Powell <adamp@google.com> |
Fragment grab bag! * Fragment#isStateSaved: report whether a given fragment has been through state save within its given FragmentManager. This will additionally echo the state of its child FragmentManager, indicating whether it is safe to perform transactions without losing state. * Fragment#setArguments can now be called at any time before a fragment's state is saved, not just before an internal index is assigned. This fixes an issue with assigning arguments during fragment inflation in some code paths. * FragmentTransaction#postOnCommit: Add a Runnable to a FragmentTransaction that will be executed once the operations in the transaction have been fully executed. Transaction optimization may mean that other transaction ops could run before this is executed, or that specific operations from this transaction were optimized out. (e.g. a fragment in this transaction was added, but then removed in a subsequent transaction before pending operations were executed.) This may not be used for transactions added to the back stack, as we cannot persist the runnable for later to guarantee running it when the transaction is reversed. Test: ./gradlew support-fragment:connectedCheck Change-Id: Iff605d35329214d15148f3e83960cd264a8c0316
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
a4dd8065e66394cf00e9fcdea4490c12ea917b0d |
|
13-Jan-2017 |
George Mount <mount@google.com> |
Throw an exception before creating bad child fragment manager. am: 1c7e1f738e Change-Id: If1d3b0f9bb5efc8cd4326af3fbe6a3e4a9fb6e25
|
1c7e1f738e202226b365c81715b221d2e864fdd5 |
|
12-Jan-2017 |
George Mount <mount@google.com> |
Throw an exception before creating bad child fragment manager. Bug 34183840 When accessing a fragment's child fragment manager prior to its being attached, it will forever be in a bad state. This CL throws an exception when that happens to warn the developer not to do that. The original bug came from a restored fragment listed in "active" having its child fragment manager being accessed. The restored fragment may not have been attached if it is only in the back stack. Test: gradlew connectedCheck in fragments/ Change-Id: I2304ab56bc72ae675c0cde0fc83dac6221ae615e
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
3bfda46e646d72b25a6cedc73e61dc1eb90475f8 |
|
05-Jan-2017 |
George Mount <mount@google.com> |
Fix focus problems when using optimized fragment transactions. am: 0bb3f19c91 am: 84aaafe705 Change-Id: I7d7fb57327497248c002ed49b8a047e1c644ea1d
|
0bb3f19c91311de0b6619c7728a7bcc1f6863132 |
|
04-Jan-2017 |
George Mount <mount@google.com> |
Fix focus problems when using optimized fragment transactions. Bug 33754255 Instead of making Views INVISIBLE immediately after adding them, Views are set to alpha = 0 (or INVISIBLE pre-11) only after they have been determined to be postponed. Test: gradlew connectedCheck in fragments/ Change-Id: I474af8ca19f7544afef28067e8d11749ef3571b4
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
00834368f8f1ad9bae181b5b34ff65ac572dae2e |
|
21-Nov-2016 |
Aurimas Liutikas <aurimas@google.com> |
resolve merge conflicts of 8e10080 to master Change-Id: I48e02631e7622097e9c556602485a7cdf96dcf21
|
8e10080c914d1ad0784394fa3026b85535535847 |
|
18-Nov-2016 |
Aurimas Liutikas <aurimas@google.com> |
Move from GROUP_ID to LIBRARY_GROUP annotations - GROUP_ID was deprecated in favor of LIBRARY_GROUP. - Fix import order in touched files. Test: ./gradlew assemble assembleAndroidTest Change-Id: I2a774e93215090f42262fb86cf8e841f2a546a4f
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
37149f137aad1b2ec06df63807cef6713da3ca2f |
|
11-Nov-2016 |
Adam Powell <adamp@google.com> |
Fix bugs around inflated child fragments * Ensure that a fragment that has had its view destroyed has a chance to recreate it. * Clear mInLayout after views are destroyed * Make sure that when a fragment is restored from the back stack and reinflates its view that child fragments from fragment tags are reconnected properly. Bug: 32691935 Test: ./gradlew support-fragment:connectedCheck --info --daemon -Pandroid.testInstrumentationRunnerArguments.class=android.support.v4.app.NestedInflatedFragmentTest Change-Id: I581af852a9162d7328270575be8f82c2442c9650
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
267b02ebf455fa4d7de59150548676e406b2dd2b |
|
25-Oct-2016 |
Adam Powell <adamp@google.com> |
Add FragmentLifecycleCallbacks Add a new callback object that can be attached to a FragmentManager to observe all fragment lifecycle events within that FragmentManager. Useful for dependency injection and other shenanigans. FragmentLifecycleCallbacks can be registered as recursive, in which case they will be activated for any lifecycle events that happen in descendant FragmentManagers as well. Test: ../gradlew connectedCheck [from fragment/] Change-Id: I19af51fb98dea54628781676a3c25090626df547
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
667ec4150c78bf295b3db1fa4d546def9ade9d20 |
|
26-Oct-2016 |
George Mount <mount@google.com> |
Fix hide fragment transition. Bug 30699392 During optimized hide operations with fragment transitions, the hidden fragment View should not be GONE, but instead be visible and the exiting views should be made INVISIBLE. After the transition completes, the fragment's view should be GONE. Add tests for Fragment Transitions with show/hide/attach/detach Test: ./gradlew connectedCheck in fragment/ Change-Id: Id7699ef6f9c5bab3b37ab9710ad897d8556adaed
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
990e6fc0326f5948736650c0cb71b6002d443c9c |
|
14-Oct-2016 |
George Mount <mount@google.com> |
Add optimize and postpone transactions. Bug 29631389 Bug 30502032 Bug 20068723 When multiple operations are executed at once, they sometimes cancel each other. For example, if the following transactions are queued: Transaction 1: add A Transaction 2: replace with B This can be trimmed down to add B. This CL optimizes fragments in both add and pop directions. Developers can choose not to allow optimization by using FragmentTransaction#setAllowOptimization Fragments in a transaction can now indicate when they are ready and the transaction should complete. Postponed transactions will have new views in the fragments created and added to the hierarchy INVISIBLE. When all postponed fragments are ready, the transitions and animations will start. INVISIBLE views will be made VISIBLE and removed views will be taken out of the View hierarchy Test: gradlew connectedCheck in fragment/ Test: manual tests also, just to make sure Change-Id: I3fdab8e75cb33a02e9e636ff6f43a6f95a564d21
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
c39d9c75590eca86a5e7e32a8824ba04a0d42e9b |
|
25-Aug-2016 |
Alan Viverette <alanv@google.com> |
Add @RestrictTo(GROUP_ID) annotations to match @hide docs annotations Also removes some unnecessary @hide annotations on classes that wouldn't have shown up in docs anyway due to package/private visibility or NO_DOCS. Bug: 27937193 Change-Id: Iab127a5a3ce57a2d61965d3cef782621eb3859f5
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
9562a3b639225d406d736b64a12e2d75459259e3 |
|
01-Jul-2016 |
Alan Viverette <alanv@google.com> |
Add offline docs target for support lib gradle build Fixes standalone docs issues like references to hidden framework class R.styleable. Removes reference to BackupAgent, which makes doclava choke for some unknown reason. Standalone online docs may now be built with ./gradlew :generateDocs Bug: 28124434 Change-Id: If76ac9018be1d17f1258802d4ef3ce1ad67b4903
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
0244762c99db7b1fb6c4905bc1224fefac927014 |
|
22-Jun-2016 |
Adam Powell <adamp@google.com> |
Clarify Fragment#setUserVisibleHint guarantees in docs Note that setUserVisibleHint can be called from outside of the fragment lifecycle. Some apps override it and expect otherwise, and the bug fix for v24 will affect their expectations. https://code.google.com/p/android/issues/detail?id=213681 Bug 29526496 Change-Id: I401d1b5353aa1c3693ff728283ff81cf61b14212
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
04f7579a1350af17f700a392f986efd126ccc68b |
|
08-Jun-2016 |
Aurimas Liutikas <aurimas@google.com> |
Clarify Fragment construtor javadoc. Bug: https://code.google.com/p/android/issues/detail?id=170497 https://code.google.com/p/android/issues/detail?id=55991 Change-Id: I61e1e0fd14afe4c3ab083b858bc1a84e6d0e28bd
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
527415d706bf580ff2bb7b492e5202b985cfa2c7 |
|
08-Jun-2016 |
Aurimas Liutikas <aurimas@google.com> |
Clarify Fragment#onHiddenChanged() documentation. Prior comment said that fragment was hidden for both true and false values of hidden. This is support library version of ag/1116166 Bug: https://code.google.com/p/android/issues/detail?id=53178 Change-Id: I2f4b5e6f3140caa32b30309624c23018928358ce
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
90ac236504c1a4cac7e91f1ffc523334f2a8f399 |
|
23-May-2016 |
Aurimas Liutikas <aurimas@google.com> |
Add missing @Override annotations in support fragment code. Change-Id: I96e78e7bb69b68f2de8c0f1fe415da95ae053eb9
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|
2a87300db31223942e2916add55067bc7a3e4c4f |
|
14-May-2016 |
Adam Powell <adamp@google.com> |
resolve merge conflicts of 9540fd1 to master Change-Id: I73485945388f8467e9956240ad60352b5321313d
|
ff22d81f6561f6cdd2a91eb63238c41079927a22 |
|
12-May-2016 |
Kirill Grouchnikov <kirillg@google.com> |
Extracting fragments and widgets into their own modules. Also rename core to core-utils. Change-Id: Icef764d01bc49cd4d04ac4ce47faadda983f4c48
/frameworks/support/fragment/java/android/support/v4/app/Fragment.java
|