3a7571011a8f2c2e2685c4e3e7a6fa46673ee7ea |
|
27-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #7232641: ISE crash when rotating phone in label list mode This doesn't fix the problem; I think it is an app problem. It does improve a bunch of the debugging to help better identify what is going on, and introduces some checks when adding a fragment to fail immediately if we are getting into a state when a fragment is going to be in the added list multiple times (which is pretty much guaranteed to lead to a failure at some point in the future). Change-Id: Idac978eb6bd2bd38d54e50532907c40b264ac300
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
74c671b3b67000bf16b4865a8d361344310dccbe |
|
26-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix how fragment/tab interaction works to avoid list view state loss. The implementation of FragmentTabHost would cause us to toggle between the default and selected tab fragments when restoring our state. Because of an issue in ListView (fixed by another change), this would cause us to lose the state because ListView tripped over itself if you asked it to save its state immediately after restoring it. We are now more careful about switching fragments, so we don't run in to this problem at least in most cases. Also pull over framework change to not let inactive fragments be more than CREATED. Bug #7232088: ListView saved state being lost in some cases Change-Id: Id9f20c207409d2479ff8bce8ed5b0553510cdd63
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
0adacc1aa313d757ae1c517152cef838e0f35c13 |
|
09-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Nested fragments. Change-Id: I2cfd30fda55320796c8eec738f5b9b592ea2c29c
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
13fb2b96fa8464e7b8514c57e1ad5ea782b3a52c |
|
18-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Improved fragment manager debugging. Now dump the activity state for every exception thrown where this may be of interest. FragmentActivity now dumps a summary of its view hierarchy state. Change-Id: Id34509cac3912a78c0e9d35e2b72a8b2779ea336
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
ec9fb2522d42d1ff73ddffa12b318d925c10ab18 |
|
15-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Add more debug info when a container view ID can't be found. Change-Id: Ifbeefdbf13c941dd5d051f25d9f47a43c76738f3
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
464b6f3c93dda03359ec2d37c8205065922f2994 |
|
20-Jun-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #6675499: java.lang.RuntimeException: Unable to start... ...activity ComponentInfo{com.google.android.gm/ com.google.android.gm.ui.MailActivityGmail}: java.lang.NullPointerException There were a number of places in FragmentManagerImpl where we were not dealing with mAdded being null. In the original implementation, mAdded would almost always be null if mActive is null. As we have added features, this has become a less strong guarantee (and it actually was never completely guaranteed), but there are a lot of places where we would check for mActive being non-null and assume this meant mAdded is non-null. Fix these to correctly check for mAdded. Bug: 6675499 Change-Id: I9d8284a1e1dd88fb9a6b75ddd9afac79e344fff3
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
5506618c80a292ac275d8b0c1046b446c7f58836 |
|
05-Jun-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #6584942 IllegalStateException: Failure saving state... ...active SuggestFragment{419494f0} has cleared index: -1 There were issues when the same fragment was removed and then added again before completely finishing the remove (such as due to a running animation). Two fixes: - Now when you call FragmentTransaction.replace() and are replacing a fragment with the same fragment, this becomes a no-op, to avoid visual artifacts in the transition and bad states. - When we are moving the fragment state up and it is currently animating away to the INITIALIZED state, we could end up making the fragment inactive as part of the cleanup. In this case it shouldn't be made inactive; we just need to initialize it but keep it active since we are going to continue to use it. Bug: 6584942 Change-Id: I4c37a8e48b115feb0892ef0eb92316d7aeba7b1b
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
1b913519b1c03b084779851e81db2e1a11eb0b0d |
|
31-May-2012 |
Dianne Hackborn <hackbod@google.com> |
Working on issue #6561352: java.lang.RuntimeException: Unable to start... ...activity ComponentInfo{com.google.android.googlequicksearchbox /com.google.android.googlequicksearchbox.SearchActivity} Add check for a situation where we are saving the state of a fragment with a -1 index, and fail early in that case with more debug information. Change-Id: I175b2d5a1f47934497f28dd3a2d95b3351159743
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
be2c79d9a5439922030d2a3846c81c61f0e16912 |
|
16-May-2012 |
Dianne Hackborn <hackbod@google.com> |
Follow changes in framework. Change-Id: I424a6e8f4b8b50d421c56bb018beab1063ba2cef
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
271504dbdf494dc87a2a96ff5d108c75a3389143 |
|
19-Apr-2012 |
Christopher Tate <ctate@android.com> |
Merge "Do not dispatch context selection events to non-visible fragments."
|
f4c0cf637ba73374a206cec26c09d4dfa4c1a364 |
|
19-Jan-2012 |
Jake Wharton <jakewharton@gmail.com> |
Fix potential NPE when saving fragment state. If a fragment's saved view state is null and the user visible hint is true then the `result` bundle will have never been initialized to a value resulting in a `NullPointerException`. Change-Id: I8ba585bc6b9298841490d64bc22a8219cd261adb
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
3af7ac0c50606fabc975b5f2b8576cfe3212d65d |
|
19-Jan-2012 |
Jake Wharton <jakewharton@gmail.com> |
Do not dispatch context selection events to non-visible fragments. When used in a `ViewPager`, fragments that are present on the adjacent, cached pages will receive context selection dispatches which, depending on your fragment contents, can be difficult to determine whether or not the event truly originated from your view. By using the visible hint we restrict dispatching to only those fragments which are marked as being visible. Since the fragment pager adapter updates this setting properly most implementations will be afforded this fix without any change required. If the user is implementing their own adapter they likely already understand the implications of these cached fragments and the reponsibility for updating the boolean falls to them. Change-Id: Ie6a72c1c82c2784774373670007b6f5948fe16da
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
79398eaefea45e61d839cf4e0534f0eafee70a09 |
|
07-Nov-2011 |
Adam Powell <adamp@google.com> |
Change the "start deferred" fragment API to "user visible hint" - Support lib edition Allow a fragment to set a hint of whether or not it is currently user visible. This will be used implicitly to defer the start of fragments that are not user visible until the loaders for visible fragments have run. This hint defaults to true. Modify FragmentPagerAdapter to use the new APIs both in frameworks/base and here. Change-Id: Idb5bce8a9ddf484186942555cd3c581d833eba7c
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
6cafd27a3c89dfed10d7e226dc6168307513d4a6 |
|
02-Nov-2011 |
Adam Powell <adamp@google.com> |
Fix bug 5557267 - [ViewPager] non-primary fragments unnecessary stopped if "defer start" is enabled Only revise the target state in moveToState if it would cross the stopped/started boundary. Change-Id: I7d0ad66668729ee12c43dcf1635b270a7d0a48b7
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
1199ae7067cdf8cf3eb30c057a61ae71a0aea1e5 |
|
31-Oct-2011 |
Adam Powell <adamp@google.com> |
Bug 5535639 - Monkeys mad at FragmentManager Also check for starting deferred start fragments when a loader is destroyed. Change-Id: I58c80708f96afa2943ca1e2cae077f7ac52a064d
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
abc968f1eba800c34a4008deb43b015da5d23a5f |
|
26-Oct-2011 |
Adam Powell <adamp@google.com> |
Defer starting fragments in FragmentPagerAdapter for offscreen pages. Add FragmentCompatICSMR1 to work with deferring fragment starts. Fix some slightly dodgy layout behavior in ViewPager when extra child views are present. Add deferred start feature to support library fragment/loader framework. Change-Id: Ied454a6f3e11024eafc970ed9d091788c2d80bab
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
218c1e661578e2a17928f7dbb590b43d1c79aeb7 |
|
02-Sep-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #5238823, #5100340 and #5249654. 5238823: java.lang.NullPointerException at... ...android.support.v4.view.ViewPager.pageRight(ViewPager.java:1335) 5100340 Leaking reallyStopped in FragmentActivity 5249654 ViewPager resets focus on layout when descendant of... ...fragment.getView() is focusable (FragmentPagerAdapter bug) Also there was a bug in the "really stopped" thing that was previously introduced -- fragments wouldn't stop their loaders until hitting that state, but they wouldn't go into that state if the fragment was deactivated or put on the back stack without the containing activity really stopping. To fix this, we now implement the really stop facility as an actual state, using the ACTIVITY_CREATED state, so that we can know when to do the really stop for both cases. Change-Id: Ia9bd55f41ad30c3ce07f99b6ac6d9113b15fe46d
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
2a4d8518f36346ea25a22a736453ff28f2954165 |
|
30-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issues 5158104 and 4981556 (fragment problems) 5158104: com.android.contacts: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1201) The ViewPager can just commit without worrying about a state loss, since it can correctly reconstruct its state later. 4981556: Fragment.mImmediateActivity doesn't get restored on orientation change I am giving up on this thing; I just don't see how it can actually be correct. So now instead of getting an exception about a dup add/remove at point of the add/remove call, this will happen later when processing the transaction. Also add an API for controlling the visibility of menus, which ViewPager uses to have the correct menus shows. And add a method to get the name of a back stack entry. Finally fix a recent problem in ViewPager with dealing with focus, and make ViewPager smart about handling keyboard focus navigation inside itself. Change-Id: I280269ac64079d171e9c899ea1cff7e80246c924
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
4e6647fe2551985f33407acd712a4942b090207a |
|
08-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Clear saved state after it is no longer needed. Change-Id: I1b452808f53758e2bf1cbf97a32d870280a14bba
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
e8b402b00c0cbdac050c349a5fc89c34580f3185 |
|
22-Jul-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #5054723: java.lang.NullPointerException at... ...android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1284) Make sure to commit all pending actions before completing the destroy. Change-Id: I9e88cbfef5f96d63876023b897b44b8999aa8042
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
9f491519261135d9de50b60c2182755ccb665bf5 |
|
17-Jul-2011 |
Jeff Sharkey <jsharkey@android.com> |
Release strong Fragment references after exec. When finished with a Runnable transaction in execPendingActions(), release the strong reference so that Fragment can be GC'ed. Bug: 3117761 Change-Id: I6b546eeaa8e4783009ae27f2bab5ccecb28337fb
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
2c4b5dbfee5232bcbbcb74b84ce9147b62a9d789 |
|
15-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Merge in fixes from main platform. Change-Id: I8e63b6990022869aa033d4672018d6585355bf76
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
9c53b844bd525e6a04e17291efc38713893074cd |
|
13-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Update to follow fixes from platform. Change-Id: I9918b084426c62a60581e3ac6e69a48e51b7cc9b
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
5c1637087453de15e31861f073eae5133c4e9f7b |
|
06-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Move PagerView down to the v4 support lib. Adds in standard adapters for using PagerView with the fragment support library. Also bring in the most recent HC fragment API and impl changes so that the support lib matches it. Change-Id: Id8a590378b8c544a92df4f3c11af323c930aa5fd
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
ea2c91b0198855073983b4a8437aa71cbd83872f |
|
03-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
New super-spiffier ViewPager class. Replaces FragmentPager. But spiffier. Like I said. Change-Id: I8a61a2bb613c8efcb95bf458e968e4a35d156491
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
715a71e5f73cbc33f307cbd3625db8f889a05c1a |
|
20-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
DO NOT MERGE: From master -- Remove some white space. Change-Id: Ibbcf5400fb7b521c7737fcca98e5b2c86e267fe7
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
e4417c91a0bb2fba42a0aaa99edcca1b238af21a |
|
05-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
DO NOT MERGE. Integrate support work from master. First submit of FragmentPager class. This provides an easy way to build a UI where the user can swipe left or right through its elements. The elements are implemented as fragments, and the class takes care of managing those fragments as the user navigates through it. This implementation also introduces a new FragmentManager concept of a "detached" fragment -- basically a way for you to put a fragment in the same state as when it is on the back stack, where the framework is managing its current state but it is no longer actively running. Also required the introduction of new compatibility code for MotionEvent and VelocityTracker for accessing multi-touch data. Tweak view save/restore state so it will play well with list views. We need to restore the state *after* the adapter has been set; setting the adapter clears the state. To do this, we move the state restore from immediately after the view is created to after we call Fragment.onActivityAttached(). Also introduced a new Fragment.onViewCreated() callback which is nice for fragments that want to do some setup after onCreateView() but allow for subclasses to override that method. (ListFragment I'm looking at you.)
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
3137d1472f1de9eac2e9a5dbe5b8d91282b24e66 |
|
10-Mar-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #4081614: Fragment.onActivityResult() broken in support lib Change-Id: Ie21b8e63b3bf8bf7ed75a68604c7d352f9402e07
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
9277b9e4419c1f0b5236d9b573a7cc0b23d56402 |
|
09-Mar-2011 |
Dianne Hackborn <hackbod@google.com> |
Implement fragment animations. I forgot to finish the implementation of this in the support library. Currently the standard animations are very hard-coded to look the same as HC. Also bring over my MR1 fix to onInflate(). Change-Id: Ib584e158bb691986d912aea5fd3004b8b2da7a6a
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
681a6fb06bdedb8661a68a1b9e34727b6059aa39 |
|
14-Feb-2011 |
Dianne Hackborn <hackbod@google.com> |
Finish remaining key implementation. Change-Id: Idb10f45bc109e57966dd2abdf446e60c5fd32aec
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|
cba2e2c881e8e16ea5025b564c94320174d65f01 |
|
08-Feb-2011 |
Dianne Hackborn <hackbod@google.com> |
First checkin! Change-Id: Ib09737c48a144dd778efe4750452d74ac8265a29
/frameworks/support/v4/java/android/support/v4/app/FragmentManager.java
|