• Home
  • History
  • Annotate
  • only in /frameworks/support/v4/java/android/support/
History log of /frameworks/support/v4/java/android/support/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0bb301ec35dcaf2ea9c2010790d7eadb1918b8cb 11-Jan-2013 Adam Powell <adamp@google.com> Remove cruft from ViewPager

Change-Id: I9ea9d5469db97188b85a375edc5f38cc7e9bddac
4/view/ViewPager.java
d267c93c774c51addeb3cc6bfa64d729ce238d54 17-Dec-2012 Adam Powell <adamp@google.com> Fix a bug that could cause ViewPager to select the wrong page

Change-Id: If9cf9bed7ee2a932be0666cdca38be748e600a63
4/view/ViewPager.java
16991ca86a49023bf6eb47b4e215bb1f2209de6d 14-Dec-2012 Adam Powell <adamp@google.com> Tweak ViewPager behavior for more DWIM goodness

* Enforce a more deliberate motion in the direction of paging to begin
paging

* Use a pumped-up minimum velocity threshold for flinging to next page

* Bias dropped paging (below velocity threshold) toward staying on the
current page

Bug 7726180

Change-Id: Ie38f77d1a52a7152e86a6b9c40b0941e24138532
4/view/ViewPager.java
71249413434c56006d2cb5d689198a2814c8e6b7 08-Dec-2012 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: Idaddd9a8e972c0a7b3b430bc636b617642b32fe4
4/widget/SearchViewCompat.java
44e3a52be44809a8018fb170e3130cc0ae164366 06-Dec-2012 Dianne Hackborn <hackbod@google.com> SDK only: improve SearchViewCompat

There is an issue with SearchView where if you use back to dismiss
it, the search text does not get cleared. This change fixes it in
the support library by overriding the callback about the action
view being collapsed to also clear the search text. (Note that this
will only be fixed in API 14 or later since this callback doesn't
exist on earlier versions.)

Also add a bunch of additional methods for performing API calls
on the SearchView.

Change-Id: I97241f165eb6076329ff7108c4596da72d02cb6c
4/widget/SearchViewCompat.java
37a7c5d234e23a4a3290bc75b064b355870e2622 26-Nov-2012 Chet Haase <chet@google.com> Fix use of removeView() during layout

Align removeView() with addView() to make sure we call the proper
*inLayout() version when we're currently undergoing layout. Calling
requestLayout() during layout considered hamrful.

Change-Id: Ie0207b32f452be03444de9b42b2aaa0eff49d788
4/view/ViewPager.java
ad6517496e738508d572df4e26c683744f2fda9c 14-Nov-2012 Joe Malin <jmalin@google.com> am b6ede974: am 884c97b0: Javadoc: API level support for NotificationCompat

* commit 'b6ede974d61e9ad0804955e4dce560d3988baaf5':
Javadoc: API level support for NotificationCompat
b6ede974d61e9ad0804955e4dce560d3988baaf5 14-Nov-2012 Joe Malin <jmalin@google.com> am 884c97b0: Javadoc: API level support for NotificationCompat

* commit '884c97b0015a71381bc2a534438b2a0e7e7abd6a':
Javadoc: API level support for NotificationCompat
215e3168c4d2171531295532b5c80861925c97c8 07-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Updating the support library to user SDK version integer.

1. Now that we have defined the SDK verion to 17 the MR1 specific
implementation of ViewCompat should be chosen based on the
SDK version number instead of the code name.

bug:7170582

Change-Id: I7f9c64b3765a96e3bf5d45465d93b60bc66f6992
4/view/ViewCompat.java
884c97b0015a71381bc2a534438b2a0e7e7abd6a 13-Oct-2012 Joe Malin <jmalin@google.com> Javadoc: API level support for NotificationCompat

Change-Id: I64e66dcef9041cad980ea022b21c5672744b1567
4/app/NotificationCompat.java
3044b9c40c175eea2c405221886f76e47298af76 12-Oct-2012 Adam Powell <adamp@google.com> DO NOT MERGE - Hide SlidingPaneLayout

SlidingPaneLayout isn't ready for consumption just yet; remove it for
the upcoming release.

Change-Id: Ib48e5edf5c55b8b1dfbe5ad18a7022c869717210
4/widget/SlidingPaneLayout.java
661eaf5536d7c5648ca977ae9c806d235783db5c 10-Oct-2012 Adam Powell <adamp@google.com> Properly respect padding when drawing PagerTabStrip's underline.

Bug 7323241

Change-Id: I8236e8d0dbc8c5f90a46190011326c812f0effa5
4/view/PagerTabStrip.java
71d54737b6d60ec99799aabdf9b48d2da26d8ccb 09-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7297028 Settings app crash when swiping between Downloaded / Running / All for Apps

- fix draw invariant for ViewPager (you cannot layout during drawing)
- add more logging

Change-Id: Ibfc38a16b40b8c63b0ecbf9b423d8867c28b66ed
4/view/ViewPager.java
a862399a9f738aa7e14012bc30491627f9dc6bef 03-Oct-2012 Philip Milne <pmilne@google.com> Fix for bug 7000638: ISE crash in Gmail.

Change-Id: Id3ad574065508e4d0de07e670c3c9e43e26fd2b5
4/view/ViewPager.java
4ccc001f3f883190ac8d900c4f69d71fda94690e 02-Oct-2012 Dianne Hackborn <hackbod@google.com> Maybe fix issue #7132432: com.android.vending: java.lang.IllegalStateException...

...Can not perform this action after onSaveInstanceState at...
...android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1300)

ActivityFragment should clear the flag that state is saved when it
receives onNewIntent(). This can happen before the activity is
resumed, so we may not have cleared it yet. Also need to do the same
thing for onActivityResult().

Change-Id: Ied35e09cdf0196bb17d309bf5f2c04d3d480c9f6
4/app/FragmentActivity.java
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
4/app/BackStackRecord.java
4/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
4/app/FragmentManager.java
4/app/FragmentTabHost.java
e68f24ca44991e124882736d9e97e72191582d73 25-Sep-2012 Adam Powell <adamp@google.com> Refactoring in ViewPager for more descriptive names

Change-Id: Ibf937811706281e3123a88ba774383cf5c842862
4/view/ViewPager.java
bea2fc73637a1d59eb5face20006a27df6893042 25-Sep-2012 Adam Powell <adamp@google.com> Supply the full set of make* methods in IntentCompat

IntentCompat now supports all of makeMainActivity,
makeMainSelectorActivity, and makeRestartActivityTask.

Bug 7225175

Change-Id: I4ec30058b706575aace8bd2de3bcf6749d7617ad
4/content/IntentCompat.java
f19cb1f3facdb9f90ef1b26537ff303eaa3db77d 17-Sep-2012 Adam Powell <adamp@google.com> Port TaskStackBuilder fixes and features from frameworks/base

Bug 6457058

Change-Id: Ibc519e1b0ef10b2fb37992d68dfc92953f0355a5
4/app/NavUtils.java
4/app/TaskStackBuilder.java
4/content/IntentCompat.java
0af001b9e0d173f6b9836e66539bf764b897c36f 21-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> This is revert of a reverted patch to wait for some build system changes.

This reverts commit 83df688ed22cdc90e7eae83e13ddf1b3ba378947

Change-Id: Ia81d72ea349d603a022287963eb41c0e1c1d41a6
4/view/ViewCompat.java
636b46ae504464e894b2ba1b28d0ce98f754319b 22-Sep-2012 Baligh Uddin <baligh@google.com> Merge "Revert "This is revert of a reverted patch to wait for some build system changes."" into jb-mr1-dev
96c8829c8bfb5f6651cc06b4c19a6b27cf67e0e4 22-Sep-2012 Baligh Uddin <baligh@google.com> Revert "This is revert of a reverted patch to wait for some build system changes."

Broken Build.

This reverts commit f959f51d9eafa48a08e43e694b58f289315c119e

Change-Id: If21cdaa4560282bf1bd12691a4ee174aeb3244ab
4/view/ViewCompat.java
a0390c9a88260deea354a9ef155603ffaee118dd 22-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "This is revert of a reverted patch to wait for some build system changes." into jb-mr1-dev
f959f51d9eafa48a08e43e694b58f289315c119e 21-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> This is revert of a reverted patch to wait for some build system changes.

This reverts commit 83df688ed22cdc90e7eae83e13ddf1b3ba378947

Change-Id: I4dad0ccf1d2bb03dbfe73bc9e123266bcbe19136
4/view/ViewCompat.java
5d6251c65f890a57aa9929eb6aacae2d8b917ec9 21-Sep-2012 Adam Powell <adamp@google.com> Track which PagerAdapter a PagerTitleStrip is watching

Avoid a bug where a PagerAdapter's data set observer could be attached
multiple times.

Bug 7192394

Change-Id: Id100a2f2e512baf84ffc0b5afd09c1df46e8a05f
4/view/PagerTitleStrip.java
1ce805e30800bf2852fa5421b7277a18e089ee31 20-Sep-2012 Adam Powell <adamp@google.com> Add GestureDetectorCompat

This class offers the new focal point-based scrolling from Jellybean
MR1 to all platform versions.

Change-Id: I6856ff93ecef094b8a1eadebb29b146e7d10ba65
4/view/GestureDetectorCompat.java
4/view/MotionEventCompat.java
b047962755c59a9855328ed273bae33a0663e21a 17-Sep-2012 Casey Burkhardt <caseyburkhardt@google.com> Adds new AccessibilityEvent types to the support lib.

Change-Id: I2fe82efb45d6c8d5cc24065aec783079b714fd8e
4/view/accessibility/AccessibilityEventCompat.java
64f49357df06a29f989f688379451024a178bcd8 16-Sep-2012 Adam Powell <adamp@google.com> Handle "windup" motion in ViewPager

Change-Id: I8f59080aa07c520c85e3fc4cc02aeebd8e4a4942
4/view/ViewPager.java
83df688ed22cdc90e7eae83e13ddf1b3ba378947 14-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Temporary revert until unbunded builds are configured porperly to either use a prebuilt of the framework and the support lib or none.

Revert "Compatibility support for new accessibility APIs in View."

This reverts commit 7cf0b33a31b57e78a06214a43f580598e0f35031

Change-Id: I47e7e625eaf65e70a37bcf30751953ac2d2b2000
4/view/ViewCompat.java
7cf0b33a31b57e78a06214a43f580598e0f35031 13-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Compatibility support for new accessibility APIs in View.

1. For accessibility purposes it is important to be able to associate
a view with content with a view that labels it. For example, if
an accessibility service knows that a TextView is associated with
an EditText, it can provide much richer feedback.

This change adds compatibilityt support for the APIs for setting
a view to be the label for another one and setting the label for
a view, i.e. the reverse association.

bug:5016937

Change-Id: I54ea51f6e6ff46447c8f4d64383cb88f62d99812
4/view/ViewCompat.java
0adacc1aa313d757ae1c517152cef838e0f35c13 09-Sep-2012 Dianne Hackborn <hackbod@google.com> Nested fragments.

Change-Id: I2cfd30fda55320796c8eec738f5b9b592ea2c29c
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
4/app/FragmentTabHost.java
4/app/LoaderManager.java
26357884984cfbe99c8f18c72dd3259827494cd0 29-Aug-2012 Chris Wren <cwren@android.com> am be5b75c3: am 080df8ff: Use correct version code for ICS, and update doc strings.

* commit 'be5b75c3aa3b730f5ce00adbacce52b2faa4adb2':
Use correct version code for ICS, and update doc strings.
be5b75c3aa3b730f5ce00adbacce52b2faa4adb2 29-Aug-2012 Chris Wren <cwren@android.com> am 080df8ff: Use correct version code for ICS, and update doc strings.

* commit '080df8ffb0920eccb300baa39180eb956a000a53':
Use correct version code for ICS, and update doc strings.
080df8ffb0920eccb300baa39180eb956a000a53 28-Aug-2012 Chris Wren <cwren@android.com> Use correct version code for ICS, and update doc strings.

Bug: 7047253
Bug: 6964458
Change-Id: I22e2e66ca8f54e4b757fb5e11363ed28dd20aa9e
4/app/NotificationCompat.java
4d968c973a826b3e027319ea18dfe26a3394d837 24-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 667f1a6b: am 0d77aae0: Merge "PagerTitleStrip flicker fix, take 2"

* commit '667f1a6bd325c56dcbe9426d2e737bb7b56c383b':
PagerTitleStrip flicker fix, take 2
667f1a6bd325c56dcbe9426d2e737bb7b56c383b 24-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 0d77aae0: Merge "PagerTitleStrip flicker fix, take 2"

* commit '0d77aae0c1c8da2e44468387047cffc7c34fdda3':
PagerTitleStrip flicker fix, take 2
7b5296b51c07a9f69d051e3f3f85a5cfb92ac2e8 24-Aug-2012 Adam Powell <adamp@android.com> am 8652269d: am b3d3b57a: Merge "Fix PagerTitleStrip positioning during layout"

* commit '8652269dd0439313f1f046231affe4ee84b563cb':
Fix PagerTitleStrip positioning during layout
40f36156156b6aedaf47e65f403212136c7cd7b9 24-Aug-2012 Adam Powell <adamp@google.com> PagerTitleStrip flicker fix, take 2

Change-Id: I2681d4ce0d00cb1f8b881af6777448239bf7b0e7
4/view/PagerTitleStrip.java
8652269dd0439313f1f046231affe4ee84b563cb 24-Aug-2012 Adam Powell <adamp@android.com> am b3d3b57a: Merge "Fix PagerTitleStrip positioning during layout"

* commit 'b3d3b57a3f4bff9400187ea1767162ebc4c0557d':
Fix PagerTitleStrip positioning during layout
4295e22421c26dd4f24cc0780a594d08a74a5cca 23-Aug-2012 Adam Powell <adamp@google.com> Fix PagerTitleStrip positioning during layout

Alternative patch for the proposed fix at
https://android-review.googlesource.com/#/c/41811/

Preserve the correct titles when offset by more than 50% of a page
during a layout pass.

Change-Id: If9bbd5ce957ce6229bfea5eb7b8bcfef1e1a14b5
4/view/PagerTitleStrip.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
4/app/FragmentActivity.java
4/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
4/app/FragmentManager.java
d5e609a825a32049f519b7bd23a1caad8aaee088 12-Aug-2012 Jeff Sharkey <jsharkey@android.com> Utility to read NetworkInfo from broadcast.

Correctly asks ConnectivityManager directly, instead of using the
potentially-stale EXTRA_NETWORK_INFO from the broadcast.

Bug: 6936247
Change-Id: I2c8b10cf86296e210cb45a2338961e8c17d205d6
4/net/ConnectivityManagerCompat.java
cc1cad0588e86d568b9467aa2669c2160af46503 10-Aug-2012 Adam Powell <adamp@google.com> Fix an issue with text clipping in PagerTitleStrip on adapter change

Bug 6963866

Change-Id: Ife1f2e0ff7d53b73b8f68de6acaf56e79801c8f2
4/view/PagerTitleStrip.java
694ac8922081bdbbd016fed52bbcaef1af7e8f35 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 7ae9d85a: am bf7974e4: Merge "Set the user-visible hint on fragments in FragmentStatePagerAdapter"

* commit '7ae9d85ac7ebc4c9005264b28c934b2befd6e21c':
Set the user-visible hint on fragments in FragmentStatePagerAdapter
7ae9d85ac7ebc4c9005264b28c934b2befd6e21c 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am bf7974e4: Merge "Set the user-visible hint on fragments in FragmentStatePagerAdapter"

* commit 'bf7974e46b008ffa4a16c61386735c4817d343aa':
Set the user-visible hint on fragments in FragmentStatePagerAdapter
fd0bd8336ced5879d3aaa8d96195ba8dce5b5dac 03-Aug-2012 Adam Powell <adamp@google.com> Fix documentation link for PagerAdapter deprecated method

Bug 5675287

Change-Id: Ibc3aafb55f63712a7338ce809f451092420a8c25
4/view/PagerAdapter.java
97341bdc5bea1d7bf777de65228039142d249f38 20-Jul-2012 Adam Powell <adamp@google.com> Add SlidingPaneLayout

SlidingPaneLayout gives a two-pane layout suitable for use at the top
level of an activity layout. layout_width on children is treated as
a minimum width and layout_weight indicates how remaining space should
be divided, similar to LinearLayout.

When there isn't enough space to lay out the child views, remaining
views become sliding panels that can move over previous panels. If a
panel slides more than halfway out of view, it dims and will not
respond to normal touch input. Instead taps will slide the panel
closed making its content fully visible again.

Still todo:

* Keyboard support - navigating into a dimmed pane should bring the
pane back.

* requestChildRectangleOnScreen and friends

* Helpers for manipulating Up/Back in Activities

* Further testing

Change-Id: I4dae69e06d1cee4e7b68091f6bea70a317eab517
4/view/ViewCompat.java
4/widget/SlidingPaneLayout.java
a0441abe092963a283bd87332dae26950a6c912a 01-Aug-2012 Chris Wren <cwren@android.com> am c859696c: am b41a2137: Add missing docs to notification style rebuilder functions.

* commit 'c859696c906067f80504863f727a24caf5699282':
Add missing docs to notification style rebuilder functions.
c63b3d14c8a0be5978ae42bea240c320084b9899 01-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Add trimToSize() to public API." into jb-mr1-dev
e00e7889dd8eb9389f7dff0f054e3e811b264a77 28-Jul-2012 Jeff Sharkey <jsharkey@android.com> Add trimToSize() to public API.

Bug: 6602490
Bug: http://code.google.com/p/android/issues/detail?id=35349
Change-Id: Idc51226b0aea55ba4a22067626975c98e30a58c1
4/util/LruCache.java
c859696c906067f80504863f727a24caf5699282 01-Aug-2012 Chris Wren <cwren@android.com> am b41a2137: Add missing docs to notification style rebuilder functions.

* commit 'b41a213761ff07de2fcfdaf16790fdcca1a1ee1b':
Add missing docs to notification style rebuilder functions.
b41a213761ff07de2fcfdaf16790fdcca1a1ee1b 01-Aug-2012 Chris Wren <cwren@android.com> Add missing docs to notification style rebuilder functions.

Bug: 6914726
Change-Id: I4b76316dcbfa66b49ec032c57669f33f86b71c2a
4/app/NotificationCompat.java
b87fe4a348db4e64876052619036232749e70d9f 01-Aug-2012 Dianne Hackborn <hackbod@google.com> Support lib version of AtomicFile.

Change-Id: I9c4437f52119c5f8c4167fde977830bf2829014f
4/util/AtomicFile.java
6d6186b9a2503200844febe1b8ba083206c7cbcd 28-Jul-2012 Veeti Paananen <veeti.paananen@rojekti.fi> Set the user-visible hint on fragments in FragmentStatePagerAdapter

Unlike FragmentPagerAdapter, FragmentStatePagerAdapter did not set
the user-visible hint on fragments when they were paged. This
commit fixes the inconsistency.

Change-Id: I8098279ee398dfcd37f999e67688d7cb591f9d65
Signed-off-by: Veeti Paananen <veeti.paananen@rojekti.fi>
4/app/FragmentStatePagerAdapter.java
7e464c3f9ff67d08c61f1c7a57dee0532c3c9449 25-Jul-2012 Adam Powell <adamp@google.com> Fix child drawing order for ViewPager when a PageTransformer is present

Change-Id: I9eb4edc89f75c5bb3827e1254495ae7cef0172f4
4/view/ViewPager.java
8a0c51a3d438802df28612e02fdf0cc8fab06ddb 24-Jul-2012 Adam Powell <adamp@google.com> Add PageTransformers to ViewPager

PageTransformer allows an app to supply a custom step during scrolling
to transform each page view in addition to the default sliding
behavior. Setting a PageTransformer also allows the app to reverse the
drawing order for pages to accomodate certain kinds of
transformations.

Add setLayerType to ViewCompat. Make ViewPager use hardware layers for
scrolling when available and a PageTransformer is in use.

Change-Id: Icdcb7bf92ad4adb9d14e36c6048f7f5dd455437b
4/view/ViewCompat.java
4/view/ViewPager.java
0d4ffdf13a16b1ce2f3bc458002374cdd25663c3 19-Jul-2012 alanv <alanv@google.com> Add performAccessibilityAction() to ViewCompat

Change-Id: Ic3d295eee8515564d42c9db19407aa85922132c7
4/view/ViewCompat.java
a33ad03c4911b876d596ce42231ffd108091ca79 09-Jul-2012 Chris Wren <cwren@android.com> am f0217589: Add v16 Notification APIs to NotificationCompat.

* commit 'f021758934b35e3b842c6799344531d7ea2969da':
Add v16 Notification APIs to NotificationCompat.
f021758934b35e3b842c6799344531d7ea2969da 29-Jun-2012 Chris Wren <cwren@android.com> Add v16 Notification APIs to NotificationCompat.

As before, we attempt to expose the superset of all
Notification.Builder APIs; where features from the newer
APIs apply to the API level available, we support that
behavior, otherwise we drop it.

This change also has some minor documentation updates that
should be mirrored in the framework.

Bug: 6316809
Change-Id: Ie57625e8bbecae87139f06007b6edd36deee95b1
4/app/NotificationCompat.java
0992caa8f0d8e6a9a0e41bebdc776053399212bf 20-Jun-2012 Dianne Hackborn <hackbod@google.com> am 464b6f3c: Fix issue #6675499: java.lang.RuntimeException: Unable to start...

* commit '464b6f3c93dda03359ec2d37c8205065922f2994':
Fix issue #6675499: java.lang.RuntimeException: Unable to start...
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
4/app/FragmentManager.java
dba06d14e28974e9b4fd63df76fa425c0e0cd4f2 18-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am e51e5bb5: Updating the support lib due to hiden API.

* commit 'e51e5bb5127788c605cc2e0cb2a57a6cddaa065a':
Updating the support lib due to hiden API.
83fe8c0756d8cc36a80ab4e22c6b7cb0ba65e94d 18-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 76ca3a4a: Update the support lib due to hidden APIs.

* commit '76ca3a4abf437c04003bacff72491409f8898a18':
Update the support lib due to hidden APIs.
e51e5bb5127788c605cc2e0cb2a57a6cddaa065a 18-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Updating the support lib due to hiden API.

1. The API for finding accessibility focus in a virtual
tree exposed via an AccessibilityNodeProvider is now
hidden and will eventually go away. This change removes
it from the support lib.

bug:6675330

Change-Id: I45f775dc775741db89a9d2b4edfe4bcf8decd526
4/view/accessibility/AccessibilityNodeProviderCompat.java
76ca3a4abf437c04003bacff72491409f8898a18 15-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Update the support lib due to hidden APIs.

1. We have hiddent the APIs for accessiiblity focus search since
it wull be perfomred by the client and we need to updates the
support lib.

bug:6675330

Change-Id: I6ae75844868c06dac31c852ea80fdec7b6bac150
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityNodeProviderCompat.java
59fc960234723be0d6cde5241497d5fba00c002d 12-Jun-2012 Adam Powell <adamp@google.com> am 575e098d: Allow TaskStackBuilder to be used from a Service

* commit '575e098da5bc16ff8b95ca080284253fd206fe12':
Allow TaskStackBuilder to be used from a Service
575e098da5bc16ff8b95ca080284253fd206fe12 12-Jun-2012 Adam Powell <adamp@google.com> Allow TaskStackBuilder to be used from a Service

Add ContextCompat and pull startActivities out of ActivityCompat.

Bug 6650578

Change-Id: Ib7451d2821a60829525321c6f397bc34b1c0cf2f
4/app/ActivityCompat.java
4/app/TaskStackBuilder.java
4/content/ContextCompat.java
c066da5e9de16dae63e036fb6823274e06ab68a6 12-Jun-2012 Dianne Hackborn <hackbod@android.com> am e8ef959d: am 4a7e12af: Merge "Fix for restarting loader manager after orientation change"

* commit 'e8ef959d85ef556bc4ba0acd2dfc433a9b019877':
Fix for restarting loader manager after orientation change
e8ef959d85ef556bc4ba0acd2dfc433a9b019877 12-Jun-2012 Dianne Hackborn <hackbod@android.com> am 4a7e12af: Merge "Fix for restarting loader manager after orientation change"

* commit '4a7e12af4ec095c3a53bb8481d8d92f63157c3b7':
Fix for restarting loader manager after orientation change
4a7e12af4ec095c3a53bb8481d8d92f63157c3b7 12-Jun-2012 Dianne Hackborn <hackbod@android.com> Merge "Fix for restarting loader manager after orientation change"
efea2e772645ccd2d0de3e92fa8382d5444eab11 07-Jun-2012 Adam Powell <adamp@google.com> Error check in ViewPager

Change-Id: Ic8fe905bc0520d1028ef3e1bdae9b34da990105e
4/view/ViewPager.java
c39c85b69e624950ce447b836e1f4dfa38d90680 05-Jun-2012 Adam Powell <adamp@google.com> Merge "Fix keyboard navigation in ViewPager" into jb-dev
dd24aab287e08428b20270b9f12921af13fbd72b 05-Jun-2012 Adam Powell <adamp@google.com> Fix keyboard navigation in ViewPager

Fix a bug where next focusable views were not being detected properly.

Bug 5832688

Change-Id: I3a2019075413ece912efd2d182e4008373d55526
4/view/ViewPager.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
4/app/BackStackRecord.java
4/app/Fragment.java
4/app/FragmentManager.java
6e7700ca575523895f8ebc5696e3e57aeccf30c0 04-Jun-2012 Adam Powell <adamp@google.com> ViewPager shouldn't drop motion that was detected during intercept

Fix an issue where a large motion that triggered touch interception
and scrolling would not scroll the view. This can happen if the app
is being particularly unresponsive at the time and MotionEvents are
batched.

Change-Id: Ib350e75f6d83da81df11e3c7e618184f414ab670
4/view/ViewPager.java
8d3dd8427b57f463f0d4959c0ad8796008472caa 04-Jun-2012 Adam Powell <adamp@google.com> Fix some ViewPager positioning and title strip bugs

Bug 6589201 - fix some bugs with page offsets when page margins and
the pager's size change. ItemInfo#offset always holds the offset with
the margins already taken into account; don't double-count them.

Bug 6596152 - PagerTitleStrip shouldn't ask the adapter for a title
for an item index that is out of range.

Allow users to "catch" the pager properly after a fling without
resetting position to the nearest page.

More consistent/reliable tracking of scroll settling state.

Use VelocityTracker properly when handing off between
onInterceptTouchEvent/onTouchEvent

Get rid of some dodgy rounding fudges.

Change-Id: If22ab6b8b3de7dd3a8863032e10e59e5eda06f21
4/view/PagerTitleStrip.java
4/view/ViewPager.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
4/app/FragmentManager.java
1e37da8d4fbd23a4440f32eba784520dc7a03265 21-May-2012 Adam Powell <adamp@google.com> Fix bugs in PagerTabStrip/PagerTitleStrip

* Make textAllCaps work on ICS+. (Dumb transformation methods...)

* Fix a bug where a layout pass would draw one frame where the strip
titles were out of alignment.

* Make PagerTabStrip draw a full-width underline if no background is
set or if explicitly instructed.

* Give PagerTabStrip a minimum width of 32dp for touchability.

* Touching anywhere to the left or right of the currently selected
tab will move next/prev.

Change-Id: Idf58d3d0dc9c11b770d61b2ea6cc6494fd4a5103
4/view/PagerTabStrip.java
4/view/PagerTitleStrip.java
a56d6faa9df608aaa2907864669800abb68acec7 16-May-2012 Adam Powell <adamp@google.com> Perform rounding in a more predictable way when drawing ViewPager margin
drawables

Prevent extra unwanted borders along the sides of pages when a margin
drawable is set.

Bug 6422166

Change-Id: I6b04b5591feafa5447fd5bb587f9b71bdc069fe1
4/view/ViewPager.java
14ba5479d819563497dc1505703c261088fedcc6 16-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Follow changes in framework." into jb-dev
be2c79d9a5439922030d2a3846c81c61f0e16912 16-May-2012 Dianne Hackborn <hackbod@google.com> Follow changes in framework.

Change-Id: I424a6e8f4b8b50d421c56bb018beab1063ba2cef
4/app/Fragment.java
4/app/FragmentManager.java
b1d4cb28db8b08974b651665bf4d1a7926c17b9c 15-May-2012 alanv <alanv@google.com> Update accessibility classes in support library for JellyBean.

Change-Id: I8b1f633cb177222c03b8cfd20ba4b88953f0137c
4/view/accessibility/AccessibilityEventCompat.java
4/view/accessibility/AccessibilityNodeProviderCompat.java
989cd2fb6badb029b74cf4c88bbf74b1d912bdca 16-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Fix the build - for real.

Change-Id: I35944a181ed1454303c2fc401b8e9b4a5f869554
4/view/AccessibilityDelegateCompat.java
e13cf48dc33e3865794d145ae8f4daed0bb2274b 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build

Change-Id: Ib820c2f6ba097c9554afcd9622453ac8c266d66d
4/view/ViewCompat.java
25121559b53b9f6c7ef7159203d42e11b9aee281 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding support for accessibility scroll actions to ViewPager.

1. We have added scroll actions in JellyBean and this patch
adds supports for such to the ViewPager in a backwards
compatible manner.

2. Added the required accessibility API to the support library
to implement the above functionality.

bug:5932640

Change-Id: I569af5622914f7463daefdd74d55d807d273bfb5
4/view/AccessibilityDelegateCompat.java
4/view/ViewCompat.java
4/view/ViewPager.java
66957a1e997dde850701ee96a3aa7b7c1444d67f 15-May-2012 Adam Powell <adamp@google.com> Work around an ICS ActionProvider bug for ShareCompat

ICS had a bug where MenuItems that were not originally created with a
submenu would not properly be configured with one even if an
ActionProvider reported having a submenu. This has been fixed for JB,
but work around it for ShareCompat#configureMenuItem when running on
ICS.

Bug 6493376

Change-Id: I2b76872d5b82d713bbd98f6e92812fe0400fb848
4/app/ShareCompat.java
b0296b498c2e2e37d5b1c2880aba62809f855b9b 14-May-2012 Adam Powell <adamp@google.com> Merge "Add PagerTabStrip" into jb-dev
24cc55cb5775a71ff144a3588003fa8e52951c7d 14-May-2012 Adam Powell <adamp@google.com> Add PagerTabStrip

PagerTabStrip is the snazzier, more stylish cousin of PagerTitleStrip.
Like PagerTitleStrip, PagerTabStrip displays the previous, current,
and next page titles. Unlike PagerTitleStrip, PagerTabStrip allows the
previous and next titles to be focused and tapped to switch pages, and
also presents a colored under-bar highlighting the current page title.

Bug 6284709

Change-Id: I8a9488c37653cac508ac21d957d2d47835306459
4/view/PagerTabStrip.java
4/view/PagerTitleStrip.java
8acc3d79aebb4392bc05665fdbe48cd4908c215e 13-May-2012 Adam Powell <adamp@google.com> Merge "Add paging gutters to ViewPager." into jb-dev
ec2534d288a1d26a69b5088379e6290e741a7ad4 13-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Update the API version checks in the support lib." into jb-dev
f3ed7c56e6c409d27c60f7d74c026906593c21d4 13-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Update the API version checks in the support lib.

1. Since the API version has been finalized this change
updates the SDk version checks to use the JellyBean
verson number.

bug:5947249

Change-Id: I1011f76612f95ceef179acd0b8ab258c055a8369
4/view/AccessibilityDelegateCompat.java
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityNodeProviderCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
8f19b17dbc34bfc7e5caacbf83a7099e5cb5a47c 13-May-2012 Adam Powell <adamp@google.com> Add paging gutters to ViewPager.

With the new Android Design guidelines, conforming apps pair tabs with
a ViewPager to easily move between tabbed content. However taken to
its natural conclusion this limits the types of content that can be
placed into a tab. Unbounded scrolling content such as a map suddenly
cannot be used, since there is no way to reach the "edge" of that
content in order to start paging. In addition, bounded but very wide
horizontally scrolling content can make paging cumbersome.

Enter paging gutters.

A gutter is defined as the 16dp space along the left and right edges
of a ViewPager, or 10% of the available horizontal space, whichever is
smaller. If the user begins a drag within a gutter, the pager will
take over and allow the user to switch pages without reaching the edge
of horizontally scrolling content. This provides a default "edge
swipe" navigation that may be used in any ViewPager regardless of
content.

Bug 6486971

Change-Id: I27a393445e7d379204b42fd3751acd4c1b4fa69a
4/view/ViewPager.java
d84ef6c972b75c0ddeee88db2d66d40fff7519a8 13-May-2012 Adam Powell <adamp@google.com> Fix a ViewPager bug repopulating after a data set change that removed
items.

Bug 6484624

Change-Id: Ibeee22e75ca77786f5b80fcbd601b8ad976fb636
4/view/ViewPager.java
70e96ebf69f91da84681a6263b3862c63d53ab11 11-May-2012 alanv <alanv@google.com> Update AccessibilityNodeInfoCompat for JellyBean.

Also ensures that non-null wrapper is always used and fixes compiler warnings.

Bug: 6469473
Change-Id: I2029ae87d5525a54d26a559b8304f04fd39144f6
4/view/accessibility/AccessibilityNodeInfoCompat.java
1e300b0aca2f34bfe65885c5405044cfe5585224 10-May-2012 Adam Powell <adamp@google.com> ViewPager fix. Oops.

Change-Id: Ie7213d05b0ad6b54cf4e3585590c3a12f92c97a2
4/view/ViewPager.java
1a1c2acbc15f8bc9dba05d09dcb18e340474e1c6 10-May-2012 Adam Powell <adamp@google.com> ViewPager data set change fixes

Clean up ViewPager data set change operations a bit and update
FragmentPagerAdapter to allow for items changing positions within the
adapter during a data set change.

Bug 6347192

Change-Id: Ib0aaa31190fca561f9b2c6c94f37e0b5eb1d1e90
4/app/FragmentPagerAdapter.java
4/view/ViewPager.java
5f6568e7e269783e2668527461878cadfbe65215 10-May-2012 Adam Powell <adamp@google.com> ViewPager size changes

Fix some bugs that happen when ViewPagers change size that could
cause pages to become misaligned.

Bug 6335994

Change-Id: Iada902dea1436858b902d2d85c81418a179af5a9
4/view/PagerTitleStrip.java
4/view/ViewPager.java
4338f5e2f60c50ac90ebab9a1b1209d3f8298757 04-May-2012 Katherine Kuan <katherinekuan@google.com> Merge "Remove StaggeredGridView from support library and move to ex folder" into jb-dev
82971b1050c50d3be5b2cbc285c74076e6763892 03-May-2012 Adam Powell <adamp@google.com> Bugfix for PagerTitleStrip#onDetachedFromWindow

Protect against weird cases where the view may have erroneously
received bad/mismatched calls to onDetached/onAttached

Bug 6407068

Change-Id: Ifcdf63f6bb5ecaa18164f6b2c198fea7199348f1
4/view/PagerTitleStrip.java
0306ebc908d5dcf148aa319a9734b419eacb23b5 02-May-2012 Adam Powell <adamp@google.com> TaskStackBuilder API changes

Reflect JB framework API changes in TaskStackBuilder. Old names for
some methods have been deprecated.

Change-Id: I8ca7000bc29150757561955ba02a8461fae4ae1e
4/app/ActivityCompat.java
4/app/TaskStackBuilder.java
b54e36f277c74881f85f6ab399431b1c8d9ef35c 01-May-2012 Katherine Kuan <katherinekuan@google.com> Remove StaggeredGridView from support library and move to ex folder

Move to frameworks/ex folder because this is still under
development. (See I7e16023292f83ff09c394a0b3927d175dac37789)

Change-Id: I71d72eac81b9e5012687841d37bcdb8799f4f396
4/widget/StaggeredGridView.java
430eb135c8a5415b532a686bb514f9711dc932d7 24-Apr-2012 Christopher Tate <ctate@android.com> am c39b171a: am eb685054: am 271504db: Merge "Do not dispatch context selection events to non-visible fragments."

* commit 'c39b171a8b10ffc1bd06dd5251595d0050d3951d':
Do not dispatch context selection events to non-visible fragments.
cf0160d23e02e26e975188c2509cd3b936dec8a1 24-Apr-2012 Christopher Tate <ctate@android.com> am 95fc5568: am 2d0e9339: am ea518a34: Merge "Fix potential NPE when saving fragment state."

* commit '95fc5568079ef4628087abb6504566b27ef31b8d':
Fix potential NPE when saving fragment state.
12924cf8019d4a584bcc6cd5f1bab7f993aaaf65 24-Apr-2012 Christopher Tate <ctate@android.com> am e3f47c95: am f618142e: am 72bf9301: Merge "Fix NPE in `onActivityResult` when target fragment no longer exists."

* commit 'e3f47c956a1806fd174b54a5900bbb54be188746':
Fix NPE in `onActivityResult` when target fragment no longer exists.
57ff0548ba991652576d81adaaa8baf4c028de39 24-Apr-2012 Adam Powell <adamp@google.com> Modify NavUtils to use Jellybean up navigation functionality when
available.

Change-Id: If1e237e75e70d01583893503a1fa0ad300206b92
4/app/NavUtils.java
d16944cf0ad052b56562a56886fed92afbb9b09f 21-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build.

Change-Id: Ib81d1c559e067facd6db63d5fbbef5bc3528e55b
4/view/accessibility/AccessibilityNodeProviderCompat.java
5d79c2b6211936177817f2492816c1dba76dac3e 20-Apr-2012 Jeff Sharkey <jsharkey@android.com> Surface isActiveNetworkMetered() API.

Uses new JellyBean API to determine if active network is metered,
otherwise infers based on network types available to the SDK version.

Bug: 3001465
Change-Id: I2b88cc327cee970a94f4d046bb8e017b03c0cb7e
4/net/ConnectivityManagerCompat.java
eb685054a762cf975b86386543f96a174441c5f9 19-Apr-2012 Christopher Tate <ctate@android.com> am 271504db: Merge "Do not dispatch context selection events to non-visible fragments."

* commit '271504dbdf494dc87a2a96ff5d108c75a3389143':
Do not dispatch context selection events to non-visible fragments.
2d0e93395dc1eb868fbc45e47ae32880f97c96f6 19-Apr-2012 Christopher Tate <ctate@android.com> am ea518a34: Merge "Fix potential NPE when saving fragment state."

* commit 'ea518a3420d87c99f28bba47d13ebef727e4564f':
Fix potential NPE when saving fragment state.
f618142e643c0ab795923ab5ba8b0fe62ee08201 19-Apr-2012 Christopher Tate <ctate@android.com> am 72bf9301: Merge "Fix NPE in `onActivityResult` when target fragment no longer exists."

* commit '72bf9301f2914d15c6432dbe1c68e2a930f33c17':
Fix NPE in `onActivityResult` when target fragment no longer exists.
271504dbdf494dc87a2a96ff5d108c75a3389143 19-Apr-2012 Christopher Tate <ctate@android.com> Merge "Do not dispatch context selection events to non-visible fragments."
ea518a3420d87c99f28bba47d13ebef727e4564f 19-Apr-2012 Christopher Tate <ctate@android.com> Merge "Fix potential NPE when saving fragment state."
72bf9301f2914d15c6432dbe1c68e2a930f33c17 19-Apr-2012 Christopher Tate <ctate@android.com> Merge "Fix NPE in `onActivityResult` when target fragment no longer exists."
37c1509886a7897163f70f4645c08ddf0b41632d 14-Apr-2012 Adam Powell <adamp@google.com> Add EXTRA_HTML_TEXT methods to ShareCompat.

Change-Id: I7475a70c7ed54e9e624b9a4cafb338b069323987
4/app/ShareCompat.java
200e3384b06670f660b283a5715a331be6d85fd3 14-Apr-2012 Adam Powell <adamp@google.com> Add constant for EXTRA_HTML_TEXT to IntentCompat

Change-Id: I88eccd8662751c0ad4b34d0e9b0ae09d1f291aec
4/content/IntentCompat.java
b469af6dc2f8cda4020a78fb4582c1483089fd6e 12-Apr-2012 Adam Powell <adamp@google.com> Post invalidations on the animation tick if available for
StaggeredGridView/ViewPager.

Fix interaction with nested scrolling in ViewPager.

Finish settling a ViewPager that is close enough to the end of a fling
when touched.

Change-Id: Ia68be871c92cdb448d4030fdc4b806c78ea69c1a
4/view/ViewPager.java
4/widget/StaggeredGridView.java
ec03704fbb4f0217d4c274d1c6cf56e6ea4dcfbd 12-Apr-2012 Adam Powell <adamp@google.com> Add support for postOnAnimation View methods for JB.

Fallback variants for older platform versions post runnables with a
timeout value lower than that needed to achieve 60fps.

Change-Id: I807a1cbe82111a29e9459de0892f253348717c7b
4/view/ViewCompat.java
ebc55e37f09dcb8233a22b1cb3889cfd225fa43b 06-Apr-2012 Adam Powell <adamp@google.com> DO NOT MERGE Fix a bug in TaskStackBuilder where task stack
PendingIntents would not clear tasks properly.

Cherry-pick from master

Change-Id: I75588830b1c7fb632ffc2409bcba0d4f07b90c36
4/app/TaskStackBuilder.java
77e2f963d4bcac5e0a4704cd4ea684b04735053e 02-Apr-2012 Katherine Kuan <katherinekuan@google.com> Reset item tops and bottoms for StaggeredGridView

When the StaggeredGridView is going to display
a completely new set of data, offer a reset method
so item top and bottom information is cleared.

Fix NPE when adapter notifyDataSetChanged() is
called.

Bug: 6282841
Change-Id: If1aee80358e32420d2b3a0d4e48ede39002d650a
4/widget/StaggeredGridView.java
56a1f598b89d0e65dbd2a2678b66a43f5b7638c2 06-Apr-2012 Adam Powell <adamp@google.com> Fix a bug in TaskStackBuilder where task stack PendingIntents would
not clear tasks properly.

Change-Id: I75588830b1c7fb632ffc2409bcba0d4f07b90c36
4/app/TaskStackBuilder.java
6b96c2a5aecbb56116667959e43489966e02ff73 30-Mar-2012 Jeff Sharkey <jsharkey@android.com> Add ICS TrafficStats features to v4 support.

Change-Id: I7a31ed15ba0093609f0d1df040c83fcc753d4267
4/net/TrafficStatsCompat.java
25df93b813befb678835eb040c8158bb5aa8fe8d 20-Mar-2012 Adam Powell <adamp@google.com> Fix a bug with changing the column count in StaggeredGridView.

Change-Id: I7aa6544e03e4c7426c96a906f7c78b91d2e8ebb6
4/widget/StaggeredGridView.java
121dba12686f0ff01cfe348c43a4f6f0edc18477 20-Mar-2012 Adam Powell <adamp@google.com> Properly handle top padding in StaggeredGridView while freshly populating items.

Change-Id: I6aa920320217017bc8720a4170739aee06b17537
4/widget/StaggeredGridView.java
346e2f2390f0d743fd10e7d01a015df6b32292cd 28-Feb-2012 Adam Powell <adamp@google.com> StaggeredGridView and supporting functionality

Stable IDs are not yet supported.

Move/rename HCSparseArray => SparseArrayCompat; make it public.

Add some new features to ViewCompat.

Add ScrollerCompat; leave it package-private for now as it needs
a reasonable fallback implementation for new methods.

Change-Id: I87d6952ef2c7748a40558759372a2525d6a52cf0
4/app/FragmentActivity.java
4/app/HCSparseArray.java
4/app/LoaderManager.java
4/util/SparseArrayCompat.java
4/widget/ScrollerCompat.java
4/widget/StaggeredGridView.java
dfe1d8aad64614e7f38f724e2c7658ecdad1d0f9 12-Mar-2012 Adam Powell <adamp@google.com> am 1d365108: am c41467a3: am 97b3c54f: Make FragmentActivity#supportInvalidateOptionsMenu public.

* commit '1d3651083b1999aad82841ca65fba375d68cb9ec':
Make FragmentActivity#supportInvalidateOptionsMenu public.
97b3c54fa1e1d75a87fd2429606c615894953946 12-Mar-2012 Adam Powell <adamp@google.com> Make FragmentActivity#supportInvalidateOptionsMenu public.

Change-Id: I0c9f3b76d9b7af67ab62bcd0f9c2af8f75e29222
4/app/FragmentActivity.java
0ca0ca39bbf3dfaa572d3d8950d11590d59eb9fb 03-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing a nit in comments."
e350edbd81af058201ac1b5dbe6631dafaffdadb 03-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing a nit in comments.

Change-Id: Iaed6ccf03bb4ab9d543ee7938c492f1a989cafb1
4/view/MotionEventCompat.java
c2f245960832cb84591ba0051875e5a6adbf28ec 03-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding missing APIs to the support v4 library."
dc5487a46b75572fa9120b22e89487c0178ff0a0 03-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding missing APIs to the support v4 library.

1. Added hover up and down motion event types in
MotionEventCompat.

2. Added a missing static modifier in AccessibilityManagerCompat.

bug:6020124
bug:6014412

Change-Id: I41e9562d4a09162d7bf940481a7525558a1771aa
4/view/MotionEventCompat.java
4/view/accessibility/AccessibilityManagerCompat.java
c95beb648f59c89c6bd7b0eed0a8b266a1b287e2 28-Feb-2012 Adam Powell <adamp@google.com> Add transient state APIs to ViewCompat

Change-Id: I84b5e82f1a7b79cd18474a2cdd78400cc2ac3e0a
4/view/ViewCompat.java
e70a95f70708c0168154c6753864cbbfc78c649f 24-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityManagerCompat missing isTouchExplorationEnabled().

1. All the plumbing was there but the method was not added
to AccessibilityManagerCompat.

bug:6014412

Change-Id: Iac697f4df1f6e29b5f54d3b259669e7b926e44fe
4/view/accessibility/AccessibilityManagerCompat.java
aad8fc95423d79f9fa5b3d653ef7571fb15d6d69 14-Feb-2012 Adam Powell <adamp@google.com> am ebdf461e: am c3e2b220: am 7ac4b376: Don\'t have ShareCompat.IntentBuilder start for result by default.

* commit 'ebdf461e16789dd4e146f2b2adb4c1d8a75bfa07':
Don't have ShareCompat.IntentBuilder start for result by default.
60bf1f5414ba04fe4c1f248c652382ad92ceb38d 13-Feb-2012 Adam Powell <adamp@google.com> am a7046d93: am c82ddd1c: am 82c3b869: Merge "Add app navigation helper code to the support library." into ics-mr1

* commit 'a7046d93b798a47d42e14f638468cc65ba090d73':
Add app navigation helper code to the support library.
7ac4b376371e890eb19838249e6749f64d707ad2 13-Feb-2012 Adam Powell <adamp@google.com> Don't have ShareCompat.IntentBuilder start for result by default.

Change-Id: Ib8d93c9323baf09c09b447050c63fe8047fae40f
4/app/ShareCompat.java
34e62e6e9f3355cf04f26e341c9c813ad2c70fef 13-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding missing accessibility APIs to the support library."
3a137cd495b313a047b5e800d02a925dea707fa0 11-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding missing accessibility APIs to the support library.

1. Several accessibility methods added in JellyBean were
not provided in the support library.

2. Fixing a bug of calling incorrect method with close name.

bug:5972986
bug:5979087

Change-Id: I4a95adc58f73cca12cdaa31232ae253fa077eebb
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
97b687d492c63a6a016f420835d5457d8b4b55b1 10-Feb-2012 Dianne Hackborn <hackbod@google.com> Add support lib LongSparseArray.

Change-Id: Id23cd3207a779de65c0822169b1742eee600cf79
4/util/LongSparseArray.java
4783095cc69fa85e484132337526c94d42d41c43 08-Feb-2012 Adam Powell <adamp@google.com> Fix a bug when a ViewPager adapter is set to null during scrolling.

Related to bug 5979875

Change-Id: I8b013d2704bcaf39a2c78fabf42716814c944275
4/view/ViewPager.java
c9cf2eb0a9b6694d0fda3dbc313844955db60820 13-Jan-2012 Adam Powell <adamp@google.com> Add app navigation helper code to the support library.

Add TaskStackBuilder for synthesizing back stacks for cross-task
navigation on Android 3.0 and newer.

Add NavUtils for general navigation helper code.

Add NotificationCompat.Builder as a partial backport of Android 3.0's
Notification.Builder. (It does not currently support progress
notifications.)

Change-Id: I2d7d4dab3dd26e34f6b2210d0f0f3909f2162d6f
4/app/ActivityCompat.java
4/app/NavUtils.java
4/app/NotificationCompat.java
4/app/TaskStackBuilder.java
4/content/IntentCompat.java
ac4078687ff889e804b198bf5748e611bbb0fa30 12-Dec-2011 Adam Powell <adamp@google.com> DO NOT MERGE - Add ShareCompat to the support library.

ShareCompat provides some extra extensions to the
ACTION_SEND/ACTION_SEND_MULTIPLE Intent protocol for sharing content
between applications.

ShareCompat.IntentBuilder is a helper that can construct sharing
intents with the proper metadata for sharing content.

ShareCompat.IntentReader is a helper for parsing the data shared by a
sharing intent.

Either of these helpers may be used in isolation. Extra data will be
added to communicate the package and activity info about the app
sharing the content, and the receiving app can make use of that data
whether it was supplied through startActivityForResult or extra
metadata added by ShareCompat.IntentBuilder.

ShareCompat.configureMenuItem can set up a MenuItem for sharing
depending on what UI capabilities are available on the current
platform version.

Make sure sharing intents constructed with ShareCompat helpers set
Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET.

Change-Id: I74be64d9f70162e5d9ed833551856ddaadc24992
4/app/ActivityCompat.java
4/app/ShareCompat.java
efd500c1dc94cca913d5d714544dd0e7019858aa 05-Feb-2012 Matthias Huber <hubermat.android@gmail.com> Fix for restarting loader manager after orientation change

After an orientation change, the recreated FragmentActivity creates a new
LoaderManagerImpl. Unfortunately this new LoaderManagerImpl does not get
started in onStart(), so loaders cease to load after the orientation change.
The bugfix simply starts the newly created mLoaderManager in onStart().

Change-Id: I35ebc338aad42fb699cd11f742edc7d999df8390
4/app/FragmentActivity.java
45ddb90bd461bb05579b770caa22db4214e5646a 02-Feb-2012 Adam Powell <adamp@google.com> Merge "Pin the last page to the right edge of a ViewPager."
51b768815df5a122c4545066ede7299ce3c58b36 02-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding APIs for using AccessibilityNodeProvider to android-support-v4."
31bb17f88734747206586eeb3eb57123e3cc2434 01-Feb-2012 Adam Powell <adamp@google.com> Pin the last page to the right edge of a ViewPager.

Change-Id: I7e8fbe783b711a9dd57c76f259f20962d9c3dede
4/view/PagerAdapter.java
4/view/ViewPager.java
956b013dfda37760b0232ed6d448900a546d2903 31-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding APIs for using AccessibilityNodeProvider to android-support-v4.

1. AccessibilityNodeProvider APIs enable a View to report a virtual
sub-tree rooted at it. Adding APIs that enable using that facility
in a backwards compatible fashion.

bug:5940165

Change-Id: I441762f4f943d5e0d149c114f974c992be4df20d
4/view/AccessibilityDelegateCompat.java
4/view/ViewCompat.java
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityNodeProviderCompat.java
2c9657f7b1eabf9bdbaf348d206a76cc7f0a4400 01-Feb-2012 Dianne Hackborn <hackbod@google.com> Add callback to perform operations when fragments are resumed.

Change-Id: I4f903ffb88a3e1140b72285100a6c8decbf2a580
4/app/FragmentActivity.java
6bd60735de55d6621a4dffb0f6f4494decda484a 31-Jan-2012 Adam Powell <adamp@google.com> Fix bug 5918316 - bad offset calculation in ViewPager

Change-Id: Iec682c088d2173100eb65a902e1b34a88a2ff692
4/view/ViewPager.java
10718a81aa21f03d0879eb0585844c546ea3c4d3 31-Jan-2012 Adam Powell <adamp@google.com> Merge "Update v4 DialogFragment to match recent core Android framework changes."
f5e0db756dc5d612059bb387698897f92b406e56 31-Jan-2012 Adam Powell <adamp@google.com> Merge "Bug 5718838 - NPE in ViewPager#pageScrolled"
ad079a869adf67a87a2721342de27970a3ba1844 31-Jan-2012 Adam Powell <adamp@google.com> Bug 5718838 - NPE in ViewPager#pageScrolled

Change-Id: Idac5c3947267de6b4660ddce2453c6ca70f09369
4/view/ViewPager.java
c64858f808c159a8b144d22e3168459074cdc181 31-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing issues with accessibility APIs in the support-v4 library.

1. AccessibilityRecordCompat#getSource() was not implemented
correctly. If the internal implementation returns null
then this method should also do so for consistency.

2. AccessibilityNodeInfoCompat#getParent() and getChild()
making incorrect recursive call and also not returning null
if the internal implementation does so.

3. get/setMaxScrollX and get/setMaxScrollY now exposed for
devices running MR1.

bug:5920810
bug:5920093
bug:5913803

Change-Id: I74d73491ec7640f3074b0a6f094430f877ecf6ec
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
ee8bdae679a94a9be65204b96d9352c4afb58a93 30-Jan-2012 Adam Powell <adamp@google.com> Update v4 DialogFragment to match recent core Android framework changes.

This fixes some stability issues with double-dismissing and adds API support
for dismissing allowing state loss.

Fixes bug 5689305

Change-Id: I398290ea8af7cb07a5b19a50fbdf9ba194693a13
4/app/DialogFragment.java
73df5d38da5c66eca9dfdb93de9c17d8e9e6c6d6 29-Jan-2012 Omari Stephens <xsdg@android.com> Revert " Fixing issues with accessibility APIs in the support-v4 library."

This reverts commit bf0a90aac4fb0392d975887eb1cbe8f55827d91f.

To fix build
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
bf0a90aac4fb0392d975887eb1cbe8f55827d91f 28-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing issues with accessibility APIs in the support-v4 library.

1. AccessibilityRecordCompat#getSource() was not implemented
correctly. If the internal implementation returns null
then this method should also do so for consistency.

2. AccessibilityNodeInfoCompat#getParent() and getChild()
making incorrect recursive call and also not returning null
if the internal implementation does so.

3. get/setMaxScrollX and get/setMaxScrollY now exposed for
devices running MR1.

bug:5920810
bug:5920093
bug:5913803

Change-Id: Iffaf34d16e463933b55f8cf6d79d21918aa1145b
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
8650b2be627ebfe5b2625fae69624652ce0d7de0 24-Jan-2012 Adam Powell <adamp@google.com> Make sure sharing intents constructed with ShareCompat helpers set
Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET.

Change-Id: I3c002850fe04da72b4b18610e36382ccae87b919
4/app/ShareCompat.java
8205f0588fe605821216e4b9fe2c26709c4db8be 19-Jan-2012 Jake Wharton <jakewharton@gmail.com> Fix NPE in `onActivityResult` when target fragment no longer exists.

If an activity result comes in which originated from a fragment that
can no longer be found an attempt is still made to call a method
on the instance. The check for null already existed to produce a
logging statement but the subsequent method call was not placed
into an `else` result in the attempt to call being made every time.

Change-Id: I0378d516a16e511a6195608243c049b1cb50a8c8
4/app/FragmentActivity.java
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
4/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
4/app/FragmentManager.java
0f034dc2c69044597a91649b8c073ae5e98a2f25 11-Jan-2012 Adam Powell <adamp@google.com> Fix fake dragging in ViewPager

Change-Id: Iac73e4d71d97a1975761e6691b821881e4fbf1de
4/view/ViewPager.java
14ad84e85a8c09b016a621f0f0017594e0d7864b 12-Dec-2011 Adam Powell <adamp@google.com> Add ShareCompat to the support library.

ShareCompat provides some extra extensions to the
ACTION_SEND/ACTION_SEND_MULTIPLE Intent protocol for sharing content
between applications.

ShareCompat.IntentBuilder is a helper that can construct sharing
intents with the proper metadata for sharing content.

ShareCompat.IntentReader is a helper for parsing the data shared by a
sharing intent.

Either of these helpers may be used in isolation. Extra data will be
added to communicate the package and activity info about the app
sharing the content, and the receiving app can make use of that data
whether it was supplied through startActivityForResult or extra
metadata added by ShareCompat.IntentBuilder.

ShareCompat.configureMenuItem can set up a MenuItem for sharing
depending on what UI capabilities are available on the current
platform version.

Change-Id: If211591e9c44a4c467b0d7333c54114f6361928b
4/app/ActivityCompat.java
4/app/ShareCompat.java
3d9e557a9a9152db585264987d64f81fa86c73b5 13-Dec-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 402ac589 to master

Change-Id: I65c0a15f5a2c91d386138bf6b522d6859dbcad76
7dc96cc2410f551eefaa973ddc144146ad72d1ec 13-Dec-2011 Dianne Hackborn <hackbod@google.com> SDK only: fix up support documentation and visibility.

Now that the support library appears in the SDK documentation,
it is worth cleaning up some of its java docs.

Change-Id: I63d4d04be8ee69abf9385597fddbddcaa030477f
4/accessibilityservice/package.html
4/app/FragmentActivity.java
4/app/FragmentPagerAdapter.java
4/app/FragmentStatePagerAdapter.java
4/app/HCSparseArray.java
4/app/NoSaveStateFrameLayout.java
4/app/package.html
4/content/Loader.java
4/content/ModernAsyncTask.java
4/content/package.html
4/content/pm/package.html
4/database/package.html
4/os/package.html
4/util/LruCache.java
4/util/package.html
4/view/ViewPager.java
4/view/package.html
4/widget/package.html
91eec7fd0b6ffdbb44cd13777950552f74f654e6 02-Dec-2011 Adam Powell <adamp@google.com> ViewPager bugfixes and API clarifications

Bug 5701216 - ViewPager resizing. Don't try to resume a current
scroll position if we don't have any active items.

Treat a new adapter as a new first layout when setting the current
item; if the pager hasn't had first layout with the new adapter yet
setting a current item should not animate.

Change-Id: Iecb01b5422301f679b5e3d108ee3baa94e3a8364
4/view/ViewPager.java
23b42ec742c2047d6bb9b364c9609e6e0af13b9d 01-Dec-2011 Adam Powell <adamp@google.com> Support vertical gravity on PagerTitleStrip

Bug 5687387

Also have the text components baseline align and fix a few other small
issues.

Change-Id: I9dcf34c6f2f9ff7f881c4870838b916071054b0b
4/view/PagerTitleStrip.java
4/view/ViewPager.java
552468d2a1e3cbf74f3a6dcbb68fe079aed56cf9 30-Nov-2011 Adam Powell <adamp@google.com> Fix some PagerTitleStrip bugs

Bug 5686735 - Bad constant used for setPrimaryAlpha in constructor
Bug 5687434 - textSize xml attribute ignored

Change-Id: Ife2d1e3ef0b7cd238b7de7b6d20d3c91e449f2f3
4/view/PagerTitleStrip.java
a4a06a94df00575480d789b60ea25ce59184df1f 22-Nov-2011 Adam Powell <adamp@google.com> Add variable-width pages to ViewPager.

Override PagerAdapter#getPageWidth. Default implementation returns
1.0.

Add more programmatic configuration settings to PagerTitleStrip:
* setTextSpacing
* setNonPrimaryAlpha
* setTextColor
* setTextSize

Change-Id: Ic05be8059e5b87523225e92dc906940c95349f76
4/view/PagerAdapter.java
4/view/PagerTitleStrip.java
4/view/ViewPager.java
eb04ff63310bcbd76fb5b06b7a82c728ef7bbe08 18-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fix the build" into ics-mr1
7a01f352fa0fe92cfd786ced85129dcc5531c087 18-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Fix the build

Change-Id: I893e149ed4c586d88a71dba49abe47d4e3572985
4/app/FragmentStatePagerAdapter.java
eea7fd60f1417d822bee31140c25c249787f1096 18-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Add the support libraries to the platform documentation (support libs)." into ics-mr1
035f6aa81bbb439d2aa20dcd2eac4459a76d561e 10-Nov-2011 Adam Powell <adamp@google.com> Fix bug 5547745 - Use Launcher Workspace style for ViewPager fling
behavior

Change-Id: Ib3fd7875bd951685830e1c28329894ae6f9d02ae
4/view/ViewPager.java
0574ca37da4619afe4e26753f5a1b4de314b6565 17-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Add the support libraries to the platform documentation (support libs).

Updated the support libraries' documentation.

bug:5629339

Change-Id: Ia026696e541ab200ce05601aabe062a303bcbb97
4/accessibilityservice/AccessibilityServiceInfoCompat.java
4/accessibilityservice/package.html
4/android/accessibilityservice/AccessibilityServiceInfoCompat.java
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentStatePagerAdapter.java
4/app/FragmentTransaction.java
4/app/HCSparseArray.java
4/app/NoSaveStateFrameLayout.java
4/app/ServiceCompat.java
4/app/package.html
4/content/AsyncTaskLoader.java
4/content/CursorLoader.java
4/content/IntentCompat.java
4/content/ModernAsyncTask.java
4/content/package.html
4/content/pm/ActivityInfoCompat.java
4/content/pm/package.html
4/database/DatabaseUtilsCompat.java
4/database/package.html
4/os/ParcelableCompat.java
4/os/package.html
4/util/DebugUtils.java
4/util/LogWriter.java
4/util/TimeUtils.java
4/util/package.html
4/view/AccessibilityDelegateCompat.java
4/view/KeyEventCompat.java
4/view/MenuCompat.java
4/view/MenuItemCompat.java
4/view/MotionEventCompat.java
4/view/PagerAdapter.java
4/view/PagerTitleStrip.java
4/view/VelocityTrackerCompat.java
4/view/ViewCompat.java
4/view/ViewConfigurationCompat.java
4/view/ViewGroupCompat.java
4/view/accessibility/AccessibilityEventCompat.java
4/view/accessibility/AccessibilityManagerCompat.java
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
4/view/accessibility/package.html
4/view/package.html
4/widget/CursorFilter.java
4/widget/EdgeEffectCompat.java
4/widget/SearchViewCompat.java
4/widget/package.html
583d8a1ff64c7c59dd4e11759f3d8e994ce878d9 17-Nov-2011 Adam Powell <adamp@google.com> Bug 5327146 - ViewPager API tweaks and docs

PagerAdapter previously took View instances as parameters to several
of its methods leading to lots of casting to ViewGroup in adapter
implementations.

Change these to take ViewGroups. Default implementation calls through
to deprecated stubs with the existing signatures, allowing current
adapters to keep working unmodified.

Add some documentation to PagerAdapter to explain how adapters should
be implemented and the basic mechanics behind ViewPager.

Change-Id: If18a3e4d18a0f84b781518833a23184832808838
4/app/FragmentPagerAdapter.java
4/app/FragmentStatePagerAdapter.java
4/view/PagerAdapter.java
4/view/ViewPager.java
fe32563fd610767a2d3eea8dbd96e6bae87739d5 15-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing a comment in SearchViewCompat

Change-Id: I6553390cc7ec906acf5af14bac3478d0193f89b1
4/widget/SearchViewCompat.java
1935ed3af7c6545bc38adfdc6026d87a3249222f 15-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding new APIs to the support-v4 lib needed by the v4 samples (support-v4 part).

Some of the samples are using APIs that are introduced after v4 but not
supported in the v4 library. Adding the minimal necessary stuff to the
support-v4 lib to compile and run the samples.

bug:5616340

Change-Id: I103e557f8d021773d51d8383f7b6752027ca334d
4/app/ServiceCompat.java
4/content/IntentCompat.java
4/content/pm/ActivityInfoCompat.java
4/database/DatabaseUtilsCompat.java
4/view/MenuCompat.java
4/view/MenuItemCompat.java
4/widget/SearchViewCompat.java
5de8804b248eebaf7c29113ec80a0dff3a03c97a 09-Nov-2011 Adam Powell <adamp@google.com> Fix bug 5570272 - Monkeys, older devices, and ViewPager

The focus finder had a bug handling FOCUS_FORWARD and FOCUS_BACKWARD
before Android 3.0. Ignore the tab key on those devices.

Change-Id: I68cc5dd09392e794498181d92eee7e790198515d
4/view/ViewPager.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
4/app/Fragment.java
4/app/FragmentManager.java
4/app/FragmentPagerAdapter.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
4/app/FragmentManager.java
a7aea206661d601755bfac4165092d9130cba2bc 02-Nov-2011 Adam Powell <adamp@google.com> Fix bug 5521154 - changing adapters in ViewPagers with title strips

Don't remove decorative views from a ViewPager when an adapter is
set to null.

Change-Id: Icf44aabf18adbd67fe156bcf48636418d9911aff
4/view/PagerTitleStrip.java
4/view/ViewPager.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
4/app/FragmentManager.java
4/app/LoaderManager.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
4/app/Fragment.java
4/app/FragmentManager.java
4/app/FragmentPagerAdapter.java
4/app/LoaderManager.java
4/view/ViewPager.java
862ffa0efd58922b8ec119bf6fa6695c316423f7 25-Oct-2011 Adam Powell <adamp@google.com> Fix bug 5512616 - monkeying with measurement

Fix a ViewPager bug where a stale value was being used when measuring
child views and angering the monkeys.

Change-Id: Ib8cf4827dfab3ccddd879dbedac4b631e489aa3b
4/view/ViewPager.java
3ce9274ccb8034c1787415c77307bbda36071bdd 25-Oct-2011 Adam Powell <adamp@google.com> DO NOT MERGE - cherry-pick Fix a bug where ViewPager scroll direction
could be unpredictable.

Make ViewPager track velocity before touch interception occurs so that
the distance traveled to cross the slop threshold is properly
accounted for.

Change-Id: I2946784ab6c492d248697b5dd7d121f501d484c7
4/view/ViewPager.java
1ccb8bcb79557d861de7f271c13e2fd8e54e012a 24-Oct-2011 Adam Powell <adamp@google.com> DO NOT MERGE - cherry-pick Fix bug 5504575 - ViewPager marks fragments
as decor on rotation

ViewPager should be less zealous about marking child views as decor,
specifically when fragment restoration is involved outside of pager
population. Introduce an interface that custom views can implement to
become decor by default. Leave it package-private for now.

Change-Id: Ib08eb1396824966e4324d6345bd3a33dd329a6e6
4/view/PagerTitleStrip.java
4/view/ViewPager.java
ccbf4f960fbe595d61b4f54d644cb8f090d19eaa 21-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> am d9ed2f88: Merge "Accessibility API in the compat lib should return empty lists and NPE in AccessibilityDelegateCompat." into ics-mr0

* commit 'd9ed2f88439b967a46f91681333bd627d9c64e57':
Accessibility API in the compat lib should return empty lists and NPE in AccessibilityDelegateCompat.
d9ed2f88439b967a46f91681333bd627d9c64e57 21-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility API in the compat lib should return empty lists and NPE in AccessibilityDelegateCompat." into ics-mr0
f9c2277244722eca88c784b9cfdcc78df7f94781 21-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility API in the compat lib should return empty lists and NPE in AccessibilityDelegateCompat.

NOTE: This change does *not* effect the ssytem, rather only the SDK.

bug:5494103

Change-Id: I6e7f85e4cb1ea4e84239188ddfc09794018e432c
4/view/AccessibilityDelegateCompat.java
4/view/accessibility/AccessibilityManagerCompat.java
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
34c06baaec4db746c96721347961c0c30040bdd5 21-Oct-2011 Adam Powell <adamp@google.com> Merge "Title strips for ViewPager"
8fffe01871be1806a1bdefa1f7213b660fcf5ac0 17-Oct-2011 Adam Powell <adamp@google.com> Title strips for ViewPager

Add non-interactive title strips to ViewPager. This includes the
following moving parts:

* Extra decorative view support for ViewPager. Decorative views may be
supplied as child views of a pager in XML layout.

* Some package-private plumbing for communication without disturbing
any pager callbacks that apps may be using.

* The addition of PagerAdapter#getPageTitle to supply title strings
for pages. (Defaults to no title for each page.)

* The view PagerTitleStrip, to be added as a child of ViewPager.
The developer can supply textAppearance/textSize/textColor etc.
as well as layout sizing and gravity information this way.

Change-Id: Id28d7f1ed996869f3f60bf99252340308f292d19
4/view/PagerAdapter.java
4/view/PagerTitleStrip.java
4/view/ViewPager.java
b07fe5a82be8d4b0264c18cb853e90e7c31720bd 20-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> am 18e702a3: Merge "AccessibilityServiceInfo does not report properly the feedback type." into ics-mr0

* commit '18e702a3797a29c17f33c3ee3acd38dd1c1f78f1':
AccessibilityServiceInfo does not report properly the feedback type.
18e702a3797a29c17f33c3ee3acd38dd1c1f78f1 20-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityServiceInfo does not report properly the feedback type." into ics-mr0
1295792da760a6baca24d95f2a7975eec1c2b08a 20-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityServiceInfo does not report properly the feedback type.

Since the feedback type is an integer the bits of which correspond to a given
feedback type, the AccessibilityNodeInfoCompat#feedbackTypeToString should return a
string representation of all feedback types. The current implementation
incorrectly assumes that the argument had only one flag set. Note that this
is a new ICS API and we would like to have this fixed.

bug:5486933

Change-Id: Id6299968d82c8f9916a52938c0d5bda1f57d3f96
4/android/accessibilityservice/AccessibilityServiceInfoCompat.java
32bcf22c77120c0614e3ae99f4a91cbb46ca9b5d 20-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> am f59ea22d: Class cast exception in the android support v4 library

* commit 'f59ea22d4af49aaebf9a712d39e756f77d9d7790':
Class cast exception in the android support v4 library
f59ea22d4af49aaebf9a712d39e756f77d9d7790 20-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Class cast exception in the android support v4 library

The AccessibilityNodeInfo passed to AccessibilityNodeInfoCompatIcs#onInitialzieAccessibilityNodeInfo
is not the right class. Instead the wrapped implementation the wrapper is passed.

bug:5486248

Change-Id: Iddb19000ab6e120d31fee6ad63c9b3db9d7e7ec8
4/view/AccessibilityDelegateCompat.java
9508e3e642f5093e3181b4d5a3777bd84eedbcc6 17-Oct-2011 Adam Powell <adamp@google.com> Fix bug 5469634 - ViewPager doesn't call startUpdate/finishUpdate for
dataSetChanged()

Change-Id: I164be97312afe280a1dafbf47a8838a0e0e978d9
4/view/ViewPager.java
9648c538bac4f04145c118cc41168d1d7a536312 11-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding the new accessibility APIs to the v4 support library.

This change adds support for the new accessibility APIs in ICS
and does not affect the system, rather only the SDK.

bug:5445057

Change-Id: Ifc3790287bf224eb7489f6c325ce8cf7ce619a1d
4/android/accessibilityservice/AccessibilityServiceInfoCompat.java
4/view/AccessibilityDelegateCompat.java
4/view/ViewCompat.java
4/view/ViewGroupCompat.java
4/view/accessibility/AccessibilityEventCompat.java
4/view/accessibility/AccessibilityManagerCompat.java
4/view/accessibility/AccessibilityNodeInfoCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
4fb2aa8fb492e12ed48daa4f025e0bfac00a2514 11-Oct-2011 Adam Powell <adamp@google.com> Fix bug 5440070 - ViewPager crashes on Donut

Emulate pointer id/index behavior for pointer id/index 0 when only
a single pointer is available.

Change-Id: I023b8a96e1857425f39bfb03536da5e4f8e02ba1
4/view/MotionEventCompat.java
1cbf48f28f6ef523af2a4aafa98c5437964cb48a 11-Oct-2011 Adam Powell <adamp@google.com> Bug 5278437 - Tweak ViewPager fling physics

Make ViewPager behave more like the launcher workspace.

Change-Id: Id3c6e34709f091e31a0210cdc88276e89f7842aa
4/view/ViewPager.java
c286d5c93640e82c649888b7e5045801581e4d6c 10-Oct-2011 Dianne Hackborn <hackbod@google.com> Calling close() outside of the main thread breaks stuff.

No safe way to fix at this point.

Change-Id: Ic1b1d3f5fb0ec8ce9659444c50bc2744fad2745d
4/content/CursorLoader.java
4/database/CursorHelper.java
8a2ca60963f77938e1a611f2342ad043dc9467cf 09-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5418999: [From My Phone] - ANR when navigating back from OneUp view

Close cursor asynchronously.

Change-Id: I03694d16ef919bfad868b5ce2a16f5b6d8572ba0
4/content/CursorLoader.java
4/content/ModernAsyncTask.java
4/database/CursorHelper.java
390dc3748e6dea81760eb1773d55fcbd42976388 29-Sep-2011 Evan Millar <emillar@google.com> Fix onPageScrolled() parameters when page margin set.

Change-Id: If9f0c6fd22afc4d17797b099e8db80ab5a3430ad
4/view/ViewPager.java
329da4d5431ae7923279b56b45b84e70c52f8eee 26-Sep-2011 Adam Powell <adamp@google.com> Add support for margins between pages in a ViewPager.

Apps may also supply an optional Drawable that will fill the margin
between pages.

Change-Id: I83ac0ff4fabf6bb7fb4a8c17e84d6908190e60dd
4/view/ViewPager.java
29a6184d74279156a9297dc67398712fb047fdc0 19-Sep-2011 Adam Powell <adamp@google.com> Bug 5300610 - Swiping between pages of a ViewPager can be slow

Add setOffscreenPageLimit to ViewPager. This allows apps to specify
how many pages will be kept active to either side of the current page.

Normally this is not needed, but the pathological case for ViewPager
is an adapter with a fixed set of 3 pages when this limit is set to 1.
Every swipe from an edge will page in the furthest item, forcing it to
relayout. setOffscreenPageLimit allows these apps to keep more pages
active and skip extra layout passes.

Change-Id: I319181ce354b9004f1b7a26cbfd0c1c399cb293f
4/view/ViewPager.java
f98be2efe67cf4ce160d7ea0b1fba5b46c92a01b 16-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5244365 - Don't populate a ViewPager in onAttachedToWindow

This can result in multiple calls to onAttachedToWindow on child
views; one originating from the addView call and the second from the
continuing dispatch of onAttachedToWindow to the ViewGroup's children.

Change-Id: Iab15a5b222fd2f12c9e92d046df131695759df0b
4/view/ViewPager.java
b07179708a404260c65814b0ff14702eef189c01 16-Sep-2011 Dianne Hackborn <hackbod@google.com> Add API for FragmentActivity to retain custom non config instance data.

Change-Id: I62360c2a277423867ebae3e031cde331b32441e6
4/app/FragmentActivity.java
efd6fc3b965239397c398f3b6fcbf1c9e66864ca 07-Sep-2011 Adam Powell <adamp@google.com> Remove requestChildRectangleOnScreen from ViewPager

This caused some unintended consequences around editable TextViews in
particular, plus it doesn't make a lot of sense for a view in a side
page to be able to steal pager focus so easily.

Fixes bug 5245437

Change-Id: Id9605c3d1d0bc449becd9a11a41d8bf0f6509488
4/view/ViewPager.java
560114f591be31d0fb73c26a1ee1cc0a15184aba 03-Sep-2011 Adam Powell <adamp@google.com> Make ViewPager aware of EdgeEffect on ICS devices.

Add EdgeEffectCompat for apps that also want to selectively show the
ICS-style edge effect.

Add ViewCompat methods for checking/changing over scroll modes on GB+

Change-Id: If0de62c389c9eaef4593f2321ee99787b13b2418
4/view/ViewCompat.java
4/view/ViewPager.java
4/widget/EdgeEffectCompat.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
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
4/view/ViewPager.java
3040c142491acd4a09e7d0add073be0067aec2d5 02-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5248444 - ViewPager reported scroll state out of sync for some
fake drags

Change-Id: I3801a624137506763470110e622da125f12775d2
4/view/ViewPager.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
4/app/BackStackRecord.java
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
4/app/FragmentPagerAdapter.java
4/app/FragmentStatePagerAdapter.java
4/view/KeyEventCompat.java
4/view/PagerAdapter.java
4/view/ViewCompat.java
4/view/ViewPager.java
481243c175651c5de0741ab9390eb10f5b024d98 28-Aug-2011 Adam Powell <adamp@google.com> Improve ViewPager accessibility and focus behavior.

Change-Id: I2b0847f2a02c894b2d7de3ca978636347151a649
4/view/ViewPager.java
b743165c9f754c5503d4d056f263f7a328cafca6 13-Aug-2011 Minh Pham <phamm@google.com> Fix bug in ViewPager

- If the current adapter has less than 3 items, then we need to repopulate even when the current item doesn't change.
Bug: 5160404

Change-Id: I12cb747b8d99c07266f3ceaeeb4d2e3c3292594d
4/view/ViewPager.java
4e6647fe2551985f33407acd712a4942b090207a 08-Aug-2011 Dianne Hackborn <hackbod@google.com> Clear saved state after it is no longer needed.

Change-Id: I1b452808f53758e2bf1cbf97a32d870280a14bba
4/app/FragmentManager.java
66c0e6a0a5fd20c66b6c86133b8bd91fe303e430 04-Aug-2011 Minh Pham <phamm@google.com> Fix bug when changing position

- mItems has the assumption that its items are sorted by position. This assumption might be break when onDataSetChanged()
Bug: 5085158

Change-Id: I54e25916414def7acdb05e35ef8e9fa8a1155186
4/view/ViewPager.java
e4f7ceb9d58cf72df003eb1f8df24681d6e73eb5 03-Aug-2011 Minh Pham <phamm@google.com> Merge "Make canScroll protected"
cf2312ee850d26c9d1a2413c996d41397e816fb5 03-Aug-2011 Minh Pham <phamm@google.com> Make canScroll protected

- This allows apps to override canScroll with special case and can enable swiping wide content works on pre-ICS devices.
- Minor cleanup
Change-Id: I9f03619ee603a7618d15bc30b1ac1996859668d6
4/view/ViewPager.java
fbabff99ccbcb576c713991c5db5dec21a0d0ce0 02-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5085211: Leaked cursors in Loaders

It looks like canceling of async tasks on froyo behaves differently
than newer platforms. To deal with this, we'll just have our own
impl of the async task engine in the support library for use on those
older platforms.

It would be nice to switch to the built-in AsyncTask when running on
newer versions of the platform... not sure the best way to do that,
though.

Change-Id: Ic2209c83033b76f12be5ceee0809f4fc57af7026
4/content/AsyncTaskLoader.java
4/content/CursorLoader.java
4/content/ModernAsyncTask.java
df6f1393f73a488ba2661b28d3d88a5ac19c4ea2 26-Jul-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5063010: Loaders don't seem to be properly...

...retained with compatibility library

Also we never implemented the full custom animation stuff in the support
lib. Now it is there.

Change-Id: I25b410752fdc3e7ae876802fdc8d7a62e4b07236
4/app/BackStackRecord.java
4/app/FragmentActivity.java
4/app/FragmentTransaction.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
4/app/FragmentManager.java
053e500a0e25cabf53139f57dc474a0b28751b91 19-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5042520 - bug in ViewPager orientation changes

Change-Id: I260798ea0f3d7798021b7a4ab58e15767d9227c3
4/view/ViewPager.java
9bc74aa50cd69dbd1d813102718c8dbf94c42aba 18-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5022052 - handle ViewPager size changes when an animation is
in progress.

Change-Id: Ibc5a432790f830a755cb1aa8be67a45100445fe6
4/view/ViewPager.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
4/app/FragmentManager.java
97d6e631c6a0f698ae6fb249617f1596cb9c1cf1 28-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4966082 - provide options to select a new page in a ViewPager
without smooth scroll.

* Any setCurrentItem calls before the first layout after being
attached to a window will be immediate. This lets apps set up an
initial state.

* Add a setCurrentItem overload that can optionally skip the smooth
scroll.

Change-Id: Ic7c592c450bbd333785665a95b2f204d1618c120
4/view/ViewPager.java
3083afddf1baabb57e801d2aa7d9c59e8b1e1c19 24-Jun-2011 Dianne Hackborn <hackbod@google.com> Add LocalBroadcastManager.

Change-Id: If85b20489eeefcb12c0e0161e329a11a457644d4
4/content/LocalBroadcastManager.java
69b7a33f67a5577ceb2bd43ff389d89b592f85b1 17-Jun-2011 Adam Powell <adamp@google.com> Add fake dragging to ViewPager.

A fake drag lets an application simulate (or delegate) a touch drag on
the ViewPager. This makes it easier to implement other widgets that
scroll alongside the pager in parallax while letting the pager control
the overall motion and fling behavior.

Change-Id: Id75d4d15171493fb66503fb77c7827cc9eea5b4b
4/view/ViewPager.java
871a68b5daafd810623d680207652f87eb2d11cc 17-Jun-2011 Minh Pham <phamm@google.com> Reset scroll position when clear state

- Scroll to (0, 0) when setting adapter to null.
Bug: 4690349

Change-Id: Ia06d079b86491696d7509385e08ce7d1227177b1
4/view/ViewPager.java
87de5dae70791508a2e77a2fa3f6d63237a0638e 16-Jun-2011 Dianne Hackborn <hackbod@google.com> am 1d14e69b: Remove this old class. Only impacts SDK, not system image.

* commit '1d14e69b622aac46d309c95356b625db741178ad':
Remove this old class. Only impacts SDK, not system image.
bd4398ce660db91dabde5db1e87890d5df0b0823 16-Jun-2011 Makoto Onuki <omakoto@google.com> Add ViewaPager.getCurrentItem

Change-Id: I9ae744e2ed081866589b6ad8f3767e199b2dd148
4/view/ViewPager.java
0d6d2990ddacd3f419879149137f09a30c061436 16-Jun-2011 Minh Pham <phamm@google.com> Cleanup ViewPager when switch adapter

- Destroy all items in the old adapter
- Clear the internal list of items
- remove all views

Change-Id: I9608b03bd2b2fcb1949f8c7c2d59d49914d27508
4/view/ViewPager.java
1d14e69b622aac46d309c95356b625db741178ad 16-Jun-2011 Dianne Hackborn <hackbod@google.com> Remove this old class. Only impacts SDK, not system image.

Change-Id: Icdf8dcb0bb038e36ce07a5a38588084afd615053
4/app/FragmentPager.java
388026a7c2dc75f106e60cbfbe655f5fb8b8200e 16-Jun-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Only impacts SDK. Integrate from master.

ViewPager tweaks and API changes

Listener now receives item selected events when the pager believes the
current item has changed rather than strictly at the end of the
animation.

Scroll state change events are now fired when the pager is idle,
dragging, or settling into place.

Multitouch scrolling does not allow the pager to be dragged beyond
active elements.

Change-Id: Idc0ad261ca2959f6b322e8e1381205da92317a44
4/view/ViewPager.java
47dc57337c13a2760ea3512ad84d6aa9f24ccd28 16-Jun-2011 Adam Powell <adamp@google.com> ViewPager tweaks and API changes

Listener now receives item selected events when the pager believes the
current item has changed rather than strictly at the end of the
animation.

Scroll state change events are now fired when the pager is idle,
dragging, or settling into place.

Multitouch scrolling does not allow the pager to be dragged beyond
active elements.

Change-Id: I135452b78ffed94260a5e7537da43211dda7eb5c
4/view/ViewCompat.java
4/view/ViewPager.java
863b881007c8cef34d3532b0ecfa87f51fc64b6a 15-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Fix NPE in ViewPager.onSaveInstanceState"
4b691aa3666be2cd5115c3375e7c23667e70fb15 15-Jun-2011 Dianne Hackborn <hackbod@google.com> am 2c4b5dbf: Merge in fixes from main platform.

* commit '2c4b5dbfee5232bcbbcb74b84ce9147b62a9d789':
Merge in fixes from main platform.
2c4b5dbfee5232bcbbcb74b84ce9147b62a9d789 15-Jun-2011 Dianne Hackborn <hackbod@google.com> Merge in fixes from main platform.

Change-Id: I8e63b6990022869aa033d4672018d6585355bf76
4/app/Fragment.java
4/app/FragmentManager.java
677ada6ea45f3889fb5118e85a3aa706f99e4d72 15-Jun-2011 Makoto Onuki <omakoto@google.com> Fix NPE in ViewPager.onSaveInstanceState

Change-Id: Ifee62477291f970873b5fdeba8336800d1b8643e
4/view/ViewPager.java
40b7fc22b275a582ea07876df7a5f893b3a76381 14-Jun-2011 Adam Powell <adamp@google.com> Merge "Add support for horizontal scrolling within a ViewPager (ICS-only)"
bc889e39e279fcf8c3d35fc11d8052c002eddf38 14-Jun-2011 Adam Powell <adamp@google.com> Add support for horizontal scrolling within a ViewPager (ICS-only)

Change-Id: I7ceb2eb65536a2dc7a9323202c1999071cae237a
4/view/ViewCompat.java
4/view/ViewPager.java
da0cc3de85b613680f0ecdf00ec9e9137f810731 14-Jun-2011 Dianne Hackborn <hackbod@google.com> am f81fd8c3: Finally implement progress indicator for ListFragment.

* commit 'f81fd8c39e5ca44a4adb2fb45f9b382305842d87':
Finally implement progress indicator for ListFragment.
db8fdb2c5b6573af5e788f3f76ec6867920415b3 14-Jun-2011 Dianne Hackborn <hackbod@google.com> am 9c53b844: Update to follow fixes from platform.

* commit '9c53b844bd525e6a04e17291efc38713893074cd':
Update to follow fixes from platform.
4a1dddb5304bcdd8e52fb9876f64b52d0079a4d7 13-Jun-2011 Dianne Hackborn <hackbod@google.com> Merge "DO NOT MERGE: Cherry pick from master -- Add ViewPager features." into honeycomb-mr2
b097e1498ee2c8bb6265ef948dbea45a1e51ef84 11-Jun-2011 Adam Powell <adamp@google.com> DO NOT MERGE: Cherry pick from master -- Add ViewPager features.

Support changing data sets in a ViewPager adapter.

Add listener interface to respond to scrolling.

Change-Id: I8adb7be59217df1b46c4a1afa99e4da8cc0d34ea
4/view/PagerAdapter.java
4/view/ViewPager.java
f81fd8c39e5ca44a4adb2fb45f9b382305842d87 13-Jun-2011 Dianne Hackborn <hackbod@google.com> Finally implement progress indicator for ListFragment.

Change-Id: I09452c0345285b39c4741dbfcf611718f2447b21
4/app/ListFragment.java
9c53b844bd525e6a04e17291efc38713893074cd 13-Jun-2011 Dianne Hackborn <hackbod@google.com> Update to follow fixes from platform.

Change-Id: I9918b084426c62a60581e3ac6e69a48e51b7cc9b
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
4/app/ListFragment.java
4/app/LoaderManager.java
3661ad6c9143d58f741568f940f77ca9d38dec47 11-Jun-2011 Adam Powell <adamp@google.com> Add ViewPager features.

Support changing data sets in a ViewPager adapter.

Add listener interface to respond to scrolling.

Change-Id: Ib048d938e5721f379a446842d1bd7e80b923627d
4/view/PagerAdapter.java
4/view/ViewPager.java
a91d020da0f7cf4057ebfb221b53e606467a7241 07-Jun-2011 Dianne Hackborn <hackbod@google.com> am 5c163708: Move PagerView down to the v4 support lib.

* commit '5c1637087453de15e31861f073eae5133c4e9f7b':
Move PagerView down to the v4 support lib.
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
4/app/Fragment.java
4/app/FragmentManager.java
4/app/FragmentPager.java
4/app/FragmentPagerAdapter.java
4/app/FragmentStatePagerAdapter.java
4/os/ParcelableCompat.java
4/view/PagerAdapter.java
4/view/ViewPager.java
c7e8b0039d1666bafb43ceb47c04a97ed7ef0dcd 04-Jun-2011 Dianne Hackborn <hackbod@google.com> am ea2c91b0: New super-spiffier ViewPager class.

* commit 'ea2c91b0198855073983b4a8437aa71cbd83872f':
New super-spiffier ViewPager class.
ea2c91b0198855073983b4a8437aa71cbd83872f 03-Jun-2011 Dianne Hackborn <hackbod@google.com> New super-spiffier ViewPager class.

Replaces FragmentPager. But spiffier. Like I said.

Change-Id: I8a61a2bb613c8efcb95bf458e968e4a35d156491
4/app/FragmentActivity.java
4/app/FragmentManager.java
715a71e5f73cbc33f307cbd3625db8f889a05c1a 20-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE: From master -- Remove some white space.

Change-Id: Ibbcf5400fb7b521c7737fcca98e5b2c86e267fe7
4/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.)
4/app/BackStackRecord.java
4/app/Fragment.java
4/app/FragmentManager.java
4/app/FragmentPager.java
4/app/FragmentTransaction.java
4/app/ListFragment.java
4/view/MotionEventCompat.java
4/view/VelocityTrackerCompat.java
4/view/ViewConfigurationCompat.java
9af3080815137213b12730149fd75338255e9328 20-Apr-2011 Dianne Hackborn <hackbod@google.com> Remove some white space.

Change-Id: I36192a9af52e0dcfd7acc214039539b5bf551ddf
4/app/FragmentManager.java
fc546a4bbfbf1ace0729ec3eca9d69020a7d57dd 15-Apr-2011 Dianne Hackborn <hackbod@google.com> 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.)

Change-Id: Ib06d7b0208306f2e4a807917a5c1d99415d31203
4/app/Fragment.java
4/app/FragmentManager.java
4/app/ListFragment.java
4f55b122ba30dac3af0ebc9a48f1a43c55025d42 08-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These havent been working since before 1.0.

Change-Id: I5fa9222153478891c9baaa9c8070654a8a9ac003
4/widget/CursorAdapter.java
eedc67283a5a49dce86c625e54596dfdea9465a7 05-Apr-2011 Dianne Hackborn <hackbod@google.com> 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.

Change-Id: I997492cfc6f1969f1a5d775385afb830f5a47795
4/app/BackStackRecord.java
4/app/Fragment.java
4/app/FragmentManager.java
4/app/FragmentPager.java
4/app/FragmentTransaction.java
4/view/MotionEventCompat.java
4/view/VelocityTrackerCompat.java
4/view/ViewConfigurationCompat.java
c66d5ea8b9f22420230a9997bc357be0f595d887 18-Mar-2011 Jesse Wilson <jessewilson@google.com> Merge "Use the Honeycomb MR1 API level." into honeycomb-mr1
2f57cb1149f4ff23de0c8b926b893412704d3d35 18-Mar-2011 Jesse Wilson <jessewilson@google.com> Use the Honeycomb MR1 API level.

Change-Id: I599b482f864d98a3f638792c2d86c302ffcad53b
http://b/4128214
4/util/LruCache.java
3137d1472f1de9eac2e9a5dbe5b8d91282b24e66 10-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4081614: Fragment.onActivityResult() broken in support lib

Change-Id: Ie21b8e63b3bf8bf7ed75a68604c7d352f9402e07
4/app/FragmentActivity.java
4/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
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
8e63c6994ea91c4a9ab3e68a60fcf6de7aab5565 26-Feb-2011 Jesse Wilson <jessewilson@google.com> Fix break where I'm using a libcore-internal method.

Change-Id: Ie198786f3e273a7ff6777b920ab40acc5c51b836
http://b/3461302
4/util/LruCache.java
a87be984a409450f8e697bd5009d2aa9ccebbea6 26-Feb-2011 Jesse Wilson <jessewilson@google.com> Update LruCache to match latest code in frameworks/base

Change-Id: Ia7d033d2f77db671956cb5a83c42e90a8fb61967
http://b/3461302
4/util/LruCache.java
27aea04b07c1fafa0f815aa4f80374a9e051b41c 22-Feb-2011 Dianne Hackborn <hackbod@google.com> Implement support for menus in fragments.

This uses a little trick to be able to take care of rebuilding
the menu when the fragments change, when running on pre-HC
platforms. When running on HC or better, it uses the new API
to invalidate the menu.

Also adds a little bit of a helper for using new menu APIs and
fixes the implementation of dump() to call up to the super class
dump() when running on HC.

And fix a few problems that came up when running on Donut.

Change-Id: I2420545632796b3199d5eec90aa3f3372ceedb90
4/app/FragmentActivity.java
4/view/MenuCompat.java
795b97d901e1793dac5c3e67d43c96a758fec388 18-Feb-2011 Jesse Wilson <jessewilson@google.com> Make Honeycomb MR1's LruCache available to Android 1.6+

Change-Id: I8309c022cec5a4824f7c325af921de82525e9459
http://b/3184897
4/util/LruCache.java
681a6fb06bdedb8661a68a1b9e34727b6059aa39 14-Feb-2011 Dianne Hackborn <hackbod@google.com> Finish remaining key implementation.

Change-Id: Idb10f45bc109e57966dd2abdf446e60c5fd32aec
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
cba2e2c881e8e16ea5025b564c94320174d65f01 08-Feb-2011 Dianne Hackborn <hackbod@google.com> First checkin!

Change-Id: Ib09737c48a144dd778efe4750452d74ac8265a29
4/app/BackStackRecord.java
4/app/DialogFragment.java
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
4/app/FragmentTransaction.java
4/app/HCSparseArray.java
4/app/ListFragment.java
4/app/LoaderManager.java
4/app/NoSaveStateFrameLayout.java
4/app/SuperNotCalledException.java
4/content/AsyncTaskLoader.java
4/content/CursorLoader.java
4/content/Loader.java
4/util/DebugUtils.java
4/util/LogWriter.java
4/util/TimeUtils.java
4/widget/CursorAdapter.java
4/widget/CursorFilter.java
4/widget/ResourceCursorAdapter.java
4/widget/SimpleCursorAdapter.java