• 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 >>>)
8fa60a6aa36ef3385391c6eb0589fe157bb08345 28-Jun-2013 kmccormick <kmccormick@google.com> Doc change: WakefulBroadcastReceiver javadoc.

Change-Id: I44a80f68d1889623d7b0b6dc91826721e8f63760
4/content/WakefulBroadcastReceiver.java
c8c0fc23e8ff21166a7699e324426a6a7dc65806 07-Jun-2013 Chet Haase <chet@google.com> ViewPager was not repositioning the PagerTitleStrip properly

Gmail had an artifact where animating the ViewPager in from the right caused
the title strip at the bottom to disappear at the end of the animation.
The problem was that the view pager was being redrawn at the end of the
animation (due to disabling the layer that was being animated), but the
title strip was mis-positioned off the right of the screen.

The root cause was ViewPager's layout process, which was not properly
repositioning the title strip during layout, when the scrollX field
changed.

Issue #9336914 ViewPager title strip not positioned correctly during layout

Change-Id: Idfcb70e2f28b98233fe6cb0e9b20bc2b6582ac1b
4/view/ViewPager.java
e85d95a04fcc59c927ddaede589fab64eac81ab4 29-May-2013 Chris Banes <chrisbanes@google.com> Merge "ActionBarCompat support for ActionBarDrawerToggle" into jb-mr2-dev
8bfcfb73d54e19f4691f109eb8be66aac37c9067 29-May-2013 Adam Powell <adamp@google.com> Remove the "experimental" warning on SlidingPaneLayout

Docs-only change. SPL is shipped in Hangouts and here to stay!

Change-Id: I6893a74d24aba50f7e3afdef2e7d8c3d44e10faf
4/widget/SlidingPaneLayout.java
45d973fcc4c43f5ea00cddd3d9b947d9e8d8fc4e 28-May-2013 Chris Banes <chrisbanes@google.com> ActionBarCompat support for ActionBarDrawerToggle

Bug: 9167781
Change-Id: I927788a093d27e26b8b693766127f1a608d1b540
4/app/ActionBarDrawerToggle.java
d3de4f6d003d92c2a3c5f449a0d759ab9032d2ff 25-May-2013 Adam Powell <adamp@google.com> Fix a bug in FragmentActivity menu panel preparation

Don't require visible menu items to return true from onPreparePanel.
This disrupts ActionProviders that may manipulate menu item visibility
later or other code that otherwise alters item visibility outside of a
full menu invalidation.

Bug 9129862

Change-Id: I56986cc6d46fc6b250ebb8b0b186be99cc705700
4/app/FragmentActivity.java
f803407db4a369e3c176798d5318faaacb85e12b 24-May-2013 Alan Viverette <alanv@google.com> Fix build by using support library methods in support lib.

Change-Id: Ia0ac6e337701c94f5bfb36af4298ef6becd0fb4d
4/widget/SlidingPaneLayout.java
080275b0c3a6b8f3f7a6880b774e6b0b6ede16a4 24-May-2013 Alan Viverette <alanv@google.com> Merge "Minor accessibility fixes to SlidingPaneLayout." into jb-mr2-dev
c6f6c4511593aa49688d5425e2f6e36459076c25 22-May-2013 Adam Powell <adamp@google.com> Make DrawerLayout and SlidingPaneLayout friendlier to tools.

Don't throw exceptions during measurement if isInEditMode.

Change-Id: I38b8e2d9801d074be37ca315ec6206eaed85da1e
4/widget/DrawerLayout.java
4/widget/SlidingPaneLayout.java
51e43399398d051db26ecc85d6de34f310e77dbb 21-May-2013 Alan Viverette <alanv@google.com> Minor accessibility fixes to SlidingPaneLayout.

Ensure class name is populated correctly. Only add children that should
be exposed to accessibility and manually set importantForAccessibility
to yes since we can't check the computed value.

BUG: 8871268
Change-Id: I4731c0ce4989bdbee0775fdb7324c23ba0cc2831
4/widget/SlidingPaneLayout.java
9778122c5445ac11d151329379e9bfc071b4adb8 20-May-2013 Scott Kennedy <skennedy@google.com> am 96d5bf8f: am b7345024: am be5d626f: Return true when we toggle the drawer

* commit '96d5bf8fb15d33bac92e139683e3dc157317ec91':
Return true when we toggle the drawer
96d5bf8fb15d33bac92e139683e3dc157317ec91 20-May-2013 Scott Kennedy <skennedy@google.com> am b7345024: am be5d626f: Return true when we toggle the drawer

* commit 'b73450243520f7ad53b8225dd9ec46597ebf1fe6':
Return true when we toggle the drawer
be5d626f0e91da09f46b82daa84c3d57df196c11 19-May-2013 Scott Kennedy <skennedy@google.com> Return true when we toggle the drawer

The docs say we can check the return value from
ActionBarDrawerToggle#onOptionsItemSelected(MenuItem) to
short-circuit Activity#onOptionsItemSelected(MenuItem), but we were
never returning true.

Change-Id: Ieadc469e65189c27182ed5b28ffb9cd712d06b96
4/app/ActionBarDrawerToggle.java
7752709bfb644179c96f7cafa24eeb6cfcc19cc5 14-May-2013 Chris Banes <chrisbanes@google.com> Merge "Tidy up Up Navigate for ActionBarActivity" into jb-mr2-dev
5b15ae11004a7726c9370890689eb540c02df520 14-May-2013 Adam Powell <adamp@google.com> am e23fde92: am db2cacd4: am c27e9ab4: Account for offset rounding errors during layout for DrawerLayout

* commit 'e23fde92215009ed45833c498b6f1008d215ff35':
Account for offset rounding errors during layout for DrawerLayout
e23fde92215009ed45833c498b6f1008d215ff35 14-May-2013 Adam Powell <adamp@google.com> am db2cacd4: am c27e9ab4: Account for offset rounding errors during layout for DrawerLayout

* commit 'db2cacd48c2d9cfaa7a55bbc58b5f49b9c17e8aa':
Account for offset rounding errors during layout for DrawerLayout
c27e9ab4a09e40911d180fa0e25a0011a3adcd71 14-May-2013 Adam Powell <adamp@google.com> Account for offset rounding errors during layout for DrawerLayout

In some cases a layout can occur that would alter the expected
movement patterns of DrawerLayout. Make sure that any movement from
rounding differences is accounted for and any state adjusted.

By updating lp.onScreen during the layout process to take the new real
position of the view into account, this state will be up to date when
computeScroll is called to update other associated drawer state used
later in touch interception, scrim drawing, drawer view visibility,
etc.

Bug 8918177

Change-Id: Ib65a86af448a433cd36bd0d5f49c6697c33a91f3
4/widget/DrawerLayout.java
6f9952fd5a1dc66c584b26b9062ba6efd69ebcc7 13-May-2013 Chris Banes <chrisbanes@google.com> Tidy up Up Navigate for ActionBarActivity

These came about as part of IOSched testing yesterday.

- Split out the relevant NavUtils calls into seperate
methods allowing apps to override.
- More closely emulate v16's shouldUpRecreateTask() in
base NavUtils
- Adds an interface to TaskStackBuilder which allows
ActionBarActivity to provide the parent intent.

Change-Id: I4e158f6fa9e274f0a38ccfe0a98fc0e7cc4457b9
Signed-off-by: Chris Banes <chrisbanes@google.com>
4/app/TaskStackBuilder.java
11417b1cfde8f1749905f2d735623af9214148af 27-Apr-2013 Jeff Brown <jeffbrown@google.com> Add media router picker UI.

Introduced the concept of a MediaRouteSelector which is the means
by which an application states the route capabilities of routes
that it would like to discover.

Added selectors to the addCallback method along with several
other methods to assist with discovery. Callbacks can specify
flags to perform active scans of routes or to disable filtering
of route events.

Added a workaround to scan for wifi displays on JB MR1.

Refactored the route descriptor objects to use the builder pattern
instead of simply documenting that they should be immutable
since several developers have already tripped over this.

The UI is feature complete but not final.

Bug: 8175766
Change-Id: I54ebb7488222746b0c07292e65b9ded1b9d720fa
4/graphics/drawable/DrawableCompat.java
fbadda10e0909e4455ae88d72123bedd091da6ed 13-May-2013 Jeff Sharkey <jsharkey@android.com> am 15be842a: am b49cb25e: DO NOT MERGE. Provider to share private files between apps.

* commit '15be842aab7f1c00c71f3386ec06142ff74e0cd8':
DO NOT MERGE. Provider to share private files between apps.
b49cb25e1450ae36d2559e9753c6d5064e530fcc 08-Mar-2013 Jeff Sharkey <jsharkey@android.com> DO NOT MERGE. Provider to share private files between apps.

Apps should generally avoid sending raw filesystem paths across
process boundaries, since the receiving app may not have the same
access as the sender. Instead, apps should send Uris and rely on
platform features like grantUriPermission() to control access.

This provider is a simple implementation that services Uris which
are backed by raw files on disk. It relies on ContentProvider to
enforce the grants, and supports reading, writing, and deleting. It
responds to OpenableColumns and tries answering getType() using
file extensions.

Apps define supported paths in <meta-data> associated with their
<provider> manifest entries.

Bug: 7005318
Change-Id: Iceb4f2ce996221d2d85e009b62c856dcdf5eca14
4/content/FileProvider.java
8abf2b8c814369b10db343119c818adc8eda1a3b 08-May-2013 Svetoslav <svetoslavganov@google.com> Merge "NPE in ViewPager in accessibility mode." into jb-mr2-dev
e4578af7dfd6ae3f85435a569ed8d5107bf20ec3 08-May-2013 Svetoslav <svetoslavganov@google.com> NPE in ViewPager in accessibility mode.

The code that populates an accessibility event in view pager does
not check whether the adapter is not null before referencing it.

bug:8857052

Change-Id: I7df2980e5a43836e48a404c5ba95631e5132774f
4/view/ViewPager.java
6e6abe6eb358db4c3932752249c8ac61dd3dab21 08-May-2013 Jeff Brown <jeffbrown@google.com> Fix several issues with menu wrappers.

The menu wrappers were being created for the wrong version due to
an upside-down if tree in the menu wrapper factory.

The action provider wrapper code was duplicated and failed to
propagate the visibility changed event correctly. The new JB
API bits were also mixed into the ICS bits.

Added @Override in a few places where it was absent.

Renamed MenuWrapper to MenuWrapperFactory to avoid confusion
in the subtype relation between it and the actual wrapper types.

Simplified the wrapper hierarchy by moving construction of
support wrapper types into this factory instead of having to
override individual createXXX methods on each wrapper type.
This means we can get rid of several types, a possible diamond
inheritance hierarchy involving MenuWrapperHC and SubMenuWrapperHC
and their subtypes and the maintenance hassle of having to update
four places whenever a new version specific subtype needs to
be added.

Added a SupportSubMenu interface type to complete the set
of defined interface types.

Fixed handling of null listeners in a few places.

Bug: 8175766
Change-Id: I8c164893a6025308751a8c05671945874fe047c4
4/internal/view/SupportMenu.java
4/internal/view/SupportMenuItem.java
4/internal/view/SupportSubMenu.java
4d43916b89d85315e1f344d992325e8ab106fb4e 07-May-2013 Adam Powell <adamp@google.com> am 2c4ea24c: am cb154e52: am 1b8262b8: Disable MotionEvent splitting for DrawerLayout

* commit '2c4ea24c49d222582c7e439e461935f18099886c':
Disable MotionEvent splitting for DrawerLayout
2c4ea24c49d222582c7e439e461935f18099886c 07-May-2013 Adam Powell <adamp@google.com> am cb154e52: am 1b8262b8: Disable MotionEvent splitting for DrawerLayout

* commit 'cb154e5237016ff4119e35cb6bf03f5f84b4707c':
Disable MotionEvent splitting for DrawerLayout
34452b0d1034da026b8a1d6fe2fe4399844379d6 07-May-2013 Adam Powell <adamp@google.com> Support ActionProvider functionality from API 16

Add the API 16 ActionProvider methods regarding visibility changes to
appcompat.

Fix a previously introduced bug inflating ActionProviders.

Change-Id: Ieff63683af4515eaacd0a25fddd168a7e71006cd
4/view/ActionProvider.java
1b8262b87426b2f766b40d6ab4eaeac296d5c2fe 07-May-2013 Adam Powell <adamp@google.com> Disable MotionEvent splitting for DrawerLayout

Make sure that secondary touches don't interact with content in views
other than the drawer.

Add ViewGroupCompat method for MotionEvent splitting changes

Bug 8839961

Change-Id: Ia833333ef596363d0a3ce951f53f78342aca52aa
4/view/ViewGroupCompat.java
4/widget/DrawerLayout.java
4f4c3a3978997e552c44726fb2862e4461497384 03-May-2013 Adam Powell <adamp@google.com> ViewPager optimization/fix for pathological case

Prune/don't generate pages to fill the desired full width to either
side if the measured width of the pager is 0. This fixes a bug in some
apps that would measure their ViewPager at width 0 in an initial pass
when placed in some layouts, resulting in too many instantiateItem
calls.

Change-Id: I87d036814b53756cac49d0a68ca9e45115f6c3b2
4/view/ViewPager.java
5f89bd12adff5e9484b85fc7a0a34b6ea43486f8 30-Apr-2013 Adam Powell <adamp@google.com> Merge "API changes for support action bar menus" into jb-mr2-dev
30837f1095c803f332f4a1c3f0917c8afdd50156 24-Apr-2013 Adam Powell <adamp@google.com> API changes for support action bar menus

Refactor support action bar to use standard framework menu interfaces
instead of additional interfaces. This simplifies the API and results
in fewer disjoint callbacks which could make life difficult for
library authors.

SupportMenu/SupportMenuItem are now private implementation details of
the support lib rather than interfaces used directly by app
developers. Developers must use standard support shim *Compat classes
to access new methods, and these shims are now aware of
SupportMenu/SupportMenuItem and will do the right thing.

Fix up a few other general issues and bugs.

Change-Id: I833dce76485741b680bef84c1c0ed8d81ea57616
4/internal/view/SupportMenu.java
4/internal/view/SupportMenuItem.java
4/view/ActionProvider.java
4/view/MenuCompat.java
4/view/MenuItemCompat.java
3dcf9a9134f2b612a31ac895accecc796dfa1ca9 26-Apr-2013 Adam Powell <adamp@google.com> am 3c9acef7: am 20248de0: am d0cb2111: Omit dimmed children from accessibility nav in SlidingPaneLayout

* commit '3c9acef73cbf0ec37e0a433561823cf8dfb0f3b8':
Omit dimmed children from accessibility nav in SlidingPaneLayout
3c9acef73cbf0ec37e0a433561823cf8dfb0f3b8 26-Apr-2013 Adam Powell <adamp@google.com> am 20248de0: am d0cb2111: Omit dimmed children from accessibility nav in SlidingPaneLayout

* commit '20248de0e040b75d40518f90865dd2a5b5652c9d':
Omit dimmed children from accessibility nav in SlidingPaneLayout
d0cb2111677748ec19a72e5fe18c8c64a359a751 26-Apr-2013 Adam Powell <adamp@google.com> Omit dimmed children from accessibility nav in SlidingPaneLayout

Bug 8657571

Change-Id: I84be757dfe7d4156b52552ee74e72ad14b396d2d
4/widget/SlidingPaneLayout.java
61297ad77c65a17ac9293f4d3f6c8f9a1cbfa095 25-Apr-2013 Adam Powell <adamp@google.com> am 44267117: am 6bfa17e1: am 753e0f10: ActionBarDrawerToggle behavior tweak

* commit '44267117d61c06c62dff1ef1a6125b5d7135292a':
ActionBarDrawerToggle behavior tweak
44267117d61c06c62dff1ef1a6125b5d7135292a 25-Apr-2013 Adam Powell <adamp@google.com> am 6bfa17e1: am 753e0f10: ActionBarDrawerToggle behavior tweak

* commit '6bfa17e180599f4ad3fb26306af534b998d8ec46':
ActionBarDrawerToggle behavior tweak
e63cab4bbd184338fadcacdebfdb90fd4285f9b6 25-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "Remove check for JB MR2 codename." into jb-mr2-dev
753e0f10af4a3e3820779a825d9004d48412d6a7 25-Apr-2013 Adam Powell <adamp@google.com> ActionBarDrawerToggle behavior tweak

Only open/close the drawer when the indicator is actually enabled.

Bug 8698758

Change-Id: Ic90c48b5c94fea1e0f7931bd9ecdd58827b244b7
4/app/ActionBarDrawerToggle.java
0dcc7b69b13c2de1fcd8e6ca48a6891130d3577c 24-Apr-2013 Dianne Hackborn <hackbod@google.com> Remove check for JB MR2 codename.

Change-Id: I156512ac4f240aa1f42714eca1d55a44417957c6
4/media/TransportMediator.java
4d7f4a43baed40212e282fb4312875feaf0de55e 24-Apr-2013 Svetoslav <svetoslavganov@google.com> Updating AccessibilityServiceInfoCompat to use the new API version.

bug:8644149

Change-Id: Ie89017d0438e44456e6ef05e42d3481055764d53
4/accessibilityservice/AccessibilityServiceInfoCompat.java
00db07e1fb0063691cc5b321307ee4d89269e5f8 23-Apr-2013 Adam Powell <adamp@google.com> am d0b85cc7: am 5f8406a0: am f9930189: Fix a parallax/view visibility bug in SlidingPaneLayout

* commit 'd0b85cc73723726aa78f43dcef2c97cdbaa4ee08':
Fix a parallax/view visibility bug in SlidingPaneLayout
d0b85cc73723726aa78f43dcef2c97cdbaa4ee08 23-Apr-2013 Adam Powell <adamp@google.com> am 5f8406a0: am f9930189: Fix a parallax/view visibility bug in SlidingPaneLayout

* commit '5f8406a0f8dddca1560197313d289c2252e80dcf':
Fix a parallax/view visibility bug in SlidingPaneLayout
8f590dabd4e7d3fa4abfc74c91640690b63fc45a 23-Apr-2013 Svetoslav <svetoslavganov@google.com> Fix broken links in the JavaDoc

Change-Id: I9bab2f232ebc47459beb608e63fd3f6523994741
4/view/accessibility/AccessibilityEventCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
f993018935168724fd4972edcf418fae09d81680 23-Apr-2013 Adam Powell <adamp@google.com> Fix a parallax/view visibility bug in SlidingPaneLayout

Take the padded clip region into account when deciding when to set a
covered view to INVISIBLE. This also fixes some accessibility
navigation bugs.

Bug 8684808

Change-Id: I6f2e8e3e83c9a1478e8297cbc7f7efe2289ca840
4/widget/SlidingPaneLayout.java
0e13b4c7077fd2726abeb1bd111593b5454b003a 23-Apr-2013 Svetoslav <svetoslavganov@google.com> Merge "Making new node id APIs return strings." into jb-mr2-dev
3eca80d2b08059b90aff339829b9ef47c027c6a1 23-Apr-2013 Adam Powell <adamp@google.com> am 8ce26246: am 5d9f426f: am f4445e06: Fix a layer handling bug in SlidingPaneLayout

* commit '8ce2624668e16871ca2f4474d25ad633be62882d':
Fix a layer handling bug in SlidingPaneLayout
8ce2624668e16871ca2f4474d25ad633be62882d 23-Apr-2013 Adam Powell <adamp@google.com> am 5d9f426f: am f4445e06: Fix a layer handling bug in SlidingPaneLayout

* commit '5d9f426f8e9c673ef2f0a6f90234586b23671fe2':
Fix a layer handling bug in SlidingPaneLayout
071eca0f490d88fc51cea8f739780c7c92b920c3 22-Apr-2013 Svetoslav <svetoslavganov@google.com> Making new node id APIs return strings.

The node id does not have to be decorated with spans like spannable
so it makes no sense to have these APIs use anything else but string.

This change update the support library due to the API changes in the
framework.

Framework change:https://googleplex-android-review.googlesource.com/#/c/300355/

bug:8657338

Change-Id: I36de1c0e141de865cf0b754f0d20ab181688566d
4/view/accessibility/AccessibilityNodeInfoCompat.java
f4445e06a8490b056cd892c4bc640dfd17905d6c 22-Apr-2013 Adam Powell <adamp@google.com> Fix a layer handling bug in SlidingPaneLayout

It is invalid to disable a hardware layer during drawing; this will
crash on some platform versions.

Bug 8641097

Change-Id: Id234006a5ea719cb525a740a530d9aa95c1705b0
4/widget/SlidingPaneLayout.java
b67c30af428cf23a2a8d4bfec3403a9bd5566675 22-Apr-2013 Svetoslav <svetoslavganov@google.com> Merge "Deprecating some APIs that were never meant to be public." into jb-mr2-dev
2450f96fe56e015ef037cb409e9dfc299823c94d 20-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #8656546 API REVIEW: android.text.bidi / android.text" into jb-mr2-dev
b37703fef07bb1940fd9d933bb9cc5b6c3959cb2 20-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #8656546 API REVIEW: android.text.bidi / android.text

- clean BidiFormatter APIs

Change-Id: I88a49df3d30303d7041100575f3dafd48c0865f9
4/text/BidiFormatter.java
4/text/bidi/BidiFormatter.java
6d25d4c095dc89d9549479b91a28878c8d217995 20-Apr-2013 Jeff Brown <jeffbrown@google.com> Merge "appcompat: Add plumbing for fragment options menus." into jb-mr2-dev
31e6948d897c8d6e00326d07f20d8dccccaecf4a 19-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "TransportMediator: handle playback position." into jb-mr2-dev
39348baa7409a0ca336955f628a3c1726a83dcfc 19-Apr-2013 Adam Powell <adamp@google.com> am 50fddb72: am bbe02dec: am 79f95ce3: Add ActionBarDrawerToggle

* commit '50fddb72c23917e121f99e2cc2ec20370ea4a351':
Add ActionBarDrawerToggle
50fddb72c23917e121f99e2cc2ec20370ea4a351 19-Apr-2013 Adam Powell <adamp@google.com> am bbe02dec: am 79f95ce3: Add ActionBarDrawerToggle

* commit 'bbe02dec387027df443be1e4af733ddcb91e3354':
Add ActionBarDrawerToggle
3a1a7fff9873abbf8097c96f7654a459bf34f223 19-Apr-2013 Jeff Brown <jeffbrown@google.com> appcompat: Add plumbing for fragment options menus.

We make the callbacks available through an interface so that
developers can implement them on any fragment without having
to subclass ActionBarFragment.

The plumbing is mainly transparent to v4 support although we
needed access to a few properties.

Bug: 8661191
Change-Id: I1abce746b7b8443efd406a3e1a4b92c948c678db
4/app/Fragment.java
4/app/FragmentManager.java
9a95c60a9c9fcc7d5ca0f9aeaede854d2a47a824 19-Apr-2013 Ying Wang <wangying@google.com> Fix build.

Change-Id: I4fa24a52c64612cc8658dc3c155f616c3d4f258d
4/view/ViewPager.java
54fe42a994b1aa1608d23a57a2f55228712e98e7 19-Apr-2013 Dianne Hackborn <hackbod@google.com> TransportMediator: handle playback position.

Update interaction with media controller to report playback
position and handle requests to set the position. Also
update api to use longs for position everywhere.

Change-Id: Ia960cc0443b07b70503d2e08d4943fd5102b809d
4/media/TransportController.java
4/media/TransportMediator.java
4/media/TransportPerformer.java
a8c675b4848b089e8ea7fcbebb22244880f95cd9 19-Apr-2013 Svetoslav Ganov <svetoslavganov@google.com> Merge "Correctly populate VIEW_SCROLLED events sent from ViewPager." into jb-mr2-dev
16264b40e7fac33c4f61ca7bf6dac94df1602b8b 19-Apr-2013 Svetoslav Ganov <svetoslavganov@google.com> Merge "Replacing accessibility service permissions with capability attributes." into jb-mr2-dev
79f95ce3e660d267831067e514ff455156c4381f 18-Apr-2013 Adam Powell <adamp@google.com> Add ActionBarDrawerToggle

This helper provides an easy way to tie together the functionality of
DrawerLayout and the framework action bar and correctly implement the
design guide behavior for navigation drawers.

Fix a bug with minimum fling velocity in
DrawerLayout/SlidingPaneLayout.

Part of bug 8609454 - code samples for DrawerLayout/SlidingPaneLayout

Change-Id: I293ac33e3898e5dbecdb8aed386318a40f72ca75
4/app/ActionBarDrawerToggle.java
4/widget/DrawerLayout.java
4/widget/SlidingPaneLayout.java
4/widget/ViewDragHelper.java
4184a5ee0959c0071eb6eb94878de9c5408d4e5e 16-Apr-2013 Svetoslav <svetoslavganov@google.com> Deprecating some APIs that were never meant to be public.

1. AccessibilityRecordCompat has an internal use constructor that was
leaked in the public APIs which allows passing in an instance of
AccessibilityEvent and manipulating its properties. This constructor
however, takes an object and is not type safe. Now it is deprecated
and there is a asRecord method on AccessibilityEventCompat
allowing to get an AccessibilityRecordComapt for an AccessibilityEvent
and call methods in a backwards compatible fashion.

2. The AccessibilityRecordCompat#getImpl() method was never meant
to be public. Now deprecated.

Note: This is prerequisite to fix the referred bug.

bug:8185409

Change-Id: I4fad757ea4bb8f09350b7c231116ee1e578d8320
4/view/accessibility/AccessibilityEventCompat.java
4/view/accessibility/AccessibilityRecordCompat.java
c7cb4862dbdb52c07ef82bd4fb29ca9efe7756fa 17-Apr-2013 Svetoslav Ganov <svetoslavganov@google.com> Replacing accessibility service permissions with capability attributes.

Accessibility services can perform special operations such as retrieve
the screen content, enable explore by touch, etc. To ensure the user
is aware that the service will perform special operations we were using
permissions. However, the special operations cannot be performed unless
the service is really enabled by the user and it is at this point that
we want to notify the user about the service capabilities.

This change update the support library since the main change contained
some API changes.

Main change:https://googleplex-android-review.googlesource.com/#/c/298110

bug:8633951

Change-Id: I47344ef2ae9e8227d11cf1705f53b64e25fab65c
4/accessibilityservice/AccessibilityServiceInfoCompat.java
11512669f6e2b1abb61792bbdbbef2f47b0b1494 18-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix build." into jb-mr2-dev
9ee2ff6063726f07853980ce717dc55f0636c4f7 18-Apr-2013 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I651974ee80275f59630fe591567b61e0fe00c21f
4/content/WakefulBroadcastReceiver.java
18ce50f9f36b37efbef3302d3bd812089471085d 18-Apr-2013 Adam Powell <adamp@google.com> am c27d0fe1: am 6acbd1d9: am 1b89ad4d: Build fix

* commit 'c27d0fe1547721789fe01cd83b964d71357c9ee7':
Build fix
c27d0fe1547721789fe01cd83b964d71357c9ee7 18-Apr-2013 Adam Powell <adamp@google.com> am 6acbd1d9: am 1b89ad4d: Build fix

* commit '6acbd1d94bf0da38089d7e0e758e7d4216f0856d':
Build fix
1b89ad4dc2ba3dee6deedd329b14d928e6bd0013 18-Apr-2013 Adam Powell <adamp@google.com> Build fix

Remove reference to methods that didn't exist yet in this branch.

Change-Id: Ie8f1735b12ef587748940a80d5bb567e19a4896d
4/widget/DrawerLayout.java
4/widget/SlidingPaneLayout.java
731a300d405cabc5f31dc41b157467e0cf346c22 18-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "Issue #8520788: Add WakefulBroadcastReceiver" into jb-mr2-dev
5d334024ec3f4c7a2564c19929052edadbb633e9 18-Apr-2013 Adam Powell <adamp@google.com> am 9c22361f: am d5452545: am 3cf6141d: Tweak accessibility handling for SlidingPaneLayout/DrawerLayout

* commit '9c22361fd32c63162e28608a8c73237900336c03':
Tweak accessibility handling for SlidingPaneLayout/DrawerLayout
9c22361fd32c63162e28608a8c73237900336c03 18-Apr-2013 Adam Powell <adamp@google.com> am d5452545: am 3cf6141d: Tweak accessibility handling for SlidingPaneLayout/DrawerLayout

* commit 'd5452545d2a0badce0f2c9db37df1b6eb7c83047':
Tweak accessibility handling for SlidingPaneLayout/DrawerLayout
3cf6141d516a0a6170823b1bda5c0b6d7500e76c 17-Apr-2013 Adam Powell <adamp@google.com> Tweak accessibility handling for SlidingPaneLayout/DrawerLayout

There isn't an easy way to populate an AccessibilityNodeInfo for just
the current view and prune children on all versions. Approximate it by
selectively copying from a temp node instead.

Bug 8449118

Change-Id: I5d5abb56c27a4cca2607ea8e3dd744105365cbc5
4/view/ViewCompat.java
4/widget/DrawerLayout.java
4/widget/SlidingPaneLayout.java
5831dcb3eeea951273281349285915243bd5a767 16-Apr-2013 Dianne Hackborn <hackbod@google.com> Issue #8520788: Add WakefulBroadcastReceiver

Change-Id: I0593050d426a232cca9fc388c30ecdb2ab60ff9f
4/content/WakefulBroadcastReceiver.java
6801c31b2aad1d5e8119575f5ec9d1c6d0b889f7 17-Apr-2013 Adam Powell <adamp@google.com> am ea0e6b17: am a12b5208: am b5a259b3: Fix SlidingPaneLayout crash on < api 11 devices

* commit 'ea0e6b17386032d1a69abf9d0f89ee5c2f62675e':
Fix SlidingPaneLayout crash on < api 11 devices
ea0e6b17386032d1a69abf9d0f89ee5c2f62675e 17-Apr-2013 Adam Powell <adamp@google.com> am a12b5208: am b5a259b3: Fix SlidingPaneLayout crash on < api 11 devices

* commit 'a12b5208f740f751066945b3e45bbbdfba60cbb8':
Fix SlidingPaneLayout crash on < api 11 devices
b5a259b30fd4646294ac4d7ea00bd041406b07ee 17-Apr-2013 Adam Powell <adamp@google.com> Fix SlidingPaneLayout crash on < api 11 devices

Prevent crashes when a child view returns a null bitmap for a drawing
cache on some devices.

Bug 8400952

Change-Id: I19134729fe65cb79c9230cf4bf6fb71646ee8c28
4/widget/SlidingPaneLayout.java
109e561bfa6720a7043a28dc265297d915170954 16-Apr-2013 Alan Viverette <alanv@google.com> Correctly populate VIEW_SCROLLED events sent from ViewPager.

Previously, ViewPager sent incorrectly populated VIEW_SCROLLED events
due to logic that forwarded dispatching of all events to the displayed
child page.

BUG: 8185409
Change-Id: Ibc08b55c402809f01d7c5af082713ab17a89a894
4/view/ViewPager.java
bb5bfc6ef7c7dcd76f7b4e8144a8380a06483470 13-Apr-2013 Adam Powell <adamp@google.com> am 8b318136: am 70678e0e: am c89f5383: Accessibility support and drawing optimization for SlidingPaneLayout

* commit '8b3181364377a36f86ea75ac3e8e79dad60177e2':
Accessibility support and drawing optimization for SlidingPaneLayout
8b3181364377a36f86ea75ac3e8e79dad60177e2 13-Apr-2013 Adam Powell <adamp@google.com> am 70678e0e: am c89f5383: Accessibility support and drawing optimization for SlidingPaneLayout

* commit '70678e0e9b5296c2994a8e9f38e05c4247d42428':
Accessibility support and drawing optimization for SlidingPaneLayout
c89f53833f1e272d32f7928837f0704fa33be309 13-Apr-2013 Adam Powell <adamp@google.com> Accessibility support and drawing optimization for SlidingPaneLayout

Filter unavailable views from SlidingPaneLayout when propagating
accessibility events. Make sure accessibility services are notified
when the available views for interaction change.

Bug 8449118

Change-Id: Ie458fb07a2f94974392ebd18783b085bb0854e03
4/widget/SlidingPaneLayout.java
c1b1f5ec017aec7e4c856a2df7d7877ab0f91531 12-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "More TransportMediator documentation." into jb-mr2-dev
e3f8e5a462e23399945e8042ddb8025ec8fa33ac 12-Apr-2013 Dianne Hackborn <hackbod@google.com> More TransportMediator documentation.

Change-Id: I9e905384461e0786c7b439776ccdd453cd1b34c0
4/media/TransportController.java
4/media/TransportMediator.java
4/media/TransportPerformer.java
4/media/TransportStateListener.java
e314d393261d2c126edd609c7f0dd33784488fcd 12-Apr-2013 Adam Powell <adamp@google.com> am be84e304: am e62ed040: am 7d0061d5: Better accessibility support for DrawerLayout

* commit 'be84e30449e3ae1983d32659a2a1f71eed18f41b':
Better accessibility support for DrawerLayout
be84e30449e3ae1983d32659a2a1f71eed18f41b 12-Apr-2013 Adam Powell <adamp@google.com> am e62ed040: am 7d0061d5: Better accessibility support for DrawerLayout

* commit 'e62ed0401ad875e4ad4d2a91a40382ac6f9b91f4':
Better accessibility support for DrawerLayout
7d0061d5605a1ac298837bee21c0d4eb4a34bd4e 12-Apr-2013 Adam Powell <adamp@google.com> Better accessibility support for DrawerLayout

Bug 8502991

Change-Id: I4613d0ff122efab62947f8f74102057a686bae28
4/widget/DrawerLayout.java
57050da5a4c11fb1dd740599671540cc53b29cf7 12-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #8599905 Add simple BidiFormatter getInstance() helper API

Change-Id: I1c1795e4462742110c1238993b0601baf8b0d3da
4/text/bidi/BidiFormatter.java
46857a4620e57144e1b00a79212295adf06f2f4e 11-Apr-2013 Adam Powell <adamp@google.com> am bd207602: am 30c6d02f: am d44315a5: SlidingPaneLayout cleanup/bugfix

* commit 'bd2076020b8d0e40b742df04ed85bf69daa5ff69':
SlidingPaneLayout cleanup/bugfix
bd2076020b8d0e40b742df04ed85bf69daa5ff69 11-Apr-2013 Adam Powell <adamp@google.com> am 30c6d02f: am d44315a5: SlidingPaneLayout cleanup/bugfix

* commit '30c6d02ff6ef5dc346b121ba4a4773a3533e7e56':
SlidingPaneLayout cleanup/bugfix
d44315a54e002b20365189f03a09011f2bf6ba07 11-Apr-2013 Adam Powell <adamp@google.com> SlidingPaneLayout cleanup/bugfix

Clean up some irrelevant code leftover from the ViewDragHelper
refactoring. Make sure first layout tasks happen in the right order.

Bug 8456902

Change-Id: Ic59d0cf8bfe9555c1a95d79d7c0ca006d31132f1
4/widget/SlidingPaneLayout.java
d1f263244ec0b7853b3a95d6e221ddd084705e08 11-Apr-2013 Adam Powell <adamp@google.com> am 431e74d8: am e533714e: am 58898b63: Fix erroneously shaded panes in SlidingPaneLayout after resizing

* commit '431e74d8550085adbb2fdc646fdbfee92da16d00':
Fix erroneously shaded panes in SlidingPaneLayout after resizing
431e74d8550085adbb2fdc646fdbfee92da16d00 11-Apr-2013 Adam Powell <adamp@google.com> am e533714e: am 58898b63: Fix erroneously shaded panes in SlidingPaneLayout after resizing

* commit 'e533714e4f2253d46d1b7fb0a1a3dc19c2529213':
Fix erroneously shaded panes in SlidingPaneLayout after resizing
58898b639b18392580694bc6c902479274331bf2 11-Apr-2013 Adam Powell <adamp@google.com> Fix erroneously shaded panes in SlidingPaneLayout after resizing

Bug 8474517

Change-Id: I586f62e7b06f00036fa90efbdb640bc6058ec85c
4/widget/SlidingPaneLayout.java
d14007f16839b17cf2e81828cf412b218a0a3140 10-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "Flesh out the transport controller... now transport mediator." into jb-mr2-dev
8c7c4c0409bd93f66fe39c5a5298a94f832be31e 06-Apr-2013 Dianne Hackborn <hackbod@google.com> Flesh out the transport controller... now transport mediator.

This introduces a bunch of formal interfaces to represent the
player and controller sides. The TransportController, now called
TransportMediator, is now the central place responsible for
propagating the interactions between the player and on-screen
controls; as it does this it can also reflect this information
through the remote control client and back from the media button
receiver.

This simplifies code using the class, getting rid of various
connections they would otherwise need to supply.

Change-Id: I36121d96e98267554f044712f3b3b018cdc445bb
4/media/TransportController.java
4/media/TransportMediator.java
4/media/TransportPerformer.java
4/media/TransportStateListener.java
d0203566f10a220ac9c76dc482319aab47adf96b 10-Apr-2013 Chris Banes <chrisbanes@google.com> Merge "Implement Up Navigation in Compat Action Bar" into jb-mr2-dev
afa2e5d560246bdd3d141a5a4ea6d42cb6e2177c 09-Apr-2013 Scott Main <smain@google.com> am 27bbe343: am 55d43957: am 0e44aa8a: am 9cdb85b0: am 33586fb4: remove redundant/confusing links to pager classes. Although the links are technically unique, the links appear as duplicates and the added value is mostly redundant.

* commit '27bbe3435b18e5d6a3b8bd0d271afda30f5bac54':
remove redundant/confusing links to pager classes. Although the links are technically unique, the links appear as duplicates and the added value is mostly redundant.
27bbe3435b18e5d6a3b8bd0d271afda30f5bac54 09-Apr-2013 Scott Main <smain@google.com> am 55d43957: am 0e44aa8a: am 9cdb85b0: am 33586fb4: remove redundant/confusing links to pager classes. Although the links are technically unique, the links appear as duplicates and the added value is mostly redundant.

* commit '55d43957826992f969a5cc1131c23f393f16931a':
remove redundant/confusing links to pager classes. Although the links are technically unique, the links appear as duplicates and the added value is mostly redundant.
0e44aa8a7502d4b6b9884eb18e49c655209e12c7 09-Apr-2013 Scott Main <smain@google.com> am 9cdb85b0: am 33586fb4: remove redundant/confusing links to pager classes. Although the links are technically unique, the links appear as duplicates and the added value is mostly redundant.

* commit '9cdb85b0936d6d1e20626056d01406c755b9cf5d':
remove redundant/confusing links to pager classes. Although the links are technically unique, the links appear as duplicates and the added value is mostly redundant.
33586fb4d8b42d7c65240ffcc269fe10e682b309 09-Apr-2013 Scott Main <smain@google.com> remove redundant/confusing links to pager classes.
Although the links are technically unique, the links appear as
duplicates and the added value is mostly redundant.

Change-Id: I08fc34576a8b5932e6f5f79c8233b2c092b91f19
4/view/ViewPager.java
74df99095290a2bc0776b00dcfa7ccb12fa46726 09-Apr-2013 Adam Powell <adamp@google.com> am c99cb3fc: am 96ded4bf: am 09c38625: Expand DrawerLayout docs

* commit 'c99cb3fc2e5c8161109e06a985987c2bb4630f85':
Expand DrawerLayout docs
c99cb3fc2e5c8161109e06a985987c2bb4630f85 09-Apr-2013 Adam Powell <adamp@google.com> am 96ded4bf: am 09c38625: Expand DrawerLayout docs

* commit '96ded4bf9973b1153c57d104ae52c31a0d5d729d':
Expand DrawerLayout docs
09c38625b5400dcda3d872dbe865c867cc02e5eb 09-Apr-2013 Adam Powell <adamp@google.com> Expand DrawerLayout docs

Change-Id: I7a535aef592607705c2eb6c5f338f46749456c62
4/widget/DrawerLayout.java
e7862d5c2e792f5a03b1c186d85717fbd2f3cb86 08-Apr-2013 Adam Powell <adamp@google.com> am 8721af1e: am d83d61f8: am cde27072: Have DrawerLayout proactively cancel touch events during drawer peek

* commit '8721af1e493a1e2b9930346e6f103e96d1cb2f38':
Have DrawerLayout proactively cancel touch events during drawer peek
8721af1e493a1e2b9930346e6f103e96d1cb2f38 08-Apr-2013 Adam Powell <adamp@google.com> am d83d61f8: am cde27072: Have DrawerLayout proactively cancel touch events during drawer peek

* commit 'd83d61f8cdd22e72627dd4980cf5b32ea03e6500':
Have DrawerLayout proactively cancel touch events during drawer peek
cde2707260e8241ffb816a03cbf5d52c28004b8a 08-Apr-2013 Adam Powell <adamp@google.com> Have DrawerLayout proactively cancel touch events during drawer peek

Send ACTION_CANCEL to any child views when a drawer peek
triggers. This fixes a bug where a very still touch point would not
generate further touch events after an edge touch, causing extra
flashing and initiation of long press actions on the content below.

Change-Id: I1de21270de1a9bc3f614872dce3e8fd594648bde
4/widget/DrawerLayout.java
51e35e07a00e4b56a1ca330323e69ef9258c4e57 04-Apr-2013 Chris Banes <chrisbanes@google.com> Implement Up Navigation in Compat Action Bar

This commits add ancestral navigation to the compat
action bar. It uses the v4 class NavUtils for the
large part:

- Added support versions of up task creation methods
to ActionBarActivity (onCreateNavigateUpTaskStack, etc)
- Moved menu selected logic out of delegates and into
ActionBarActivity.
- Add finishAffinity shim into v4 support.

Change-Id: I2b937434c5820aca162fdfa5665adc33d957bfb9
Signed-off-by: Chris Banes <chrisbanes@google.com>
4/app/ActivityCompat.java
5875190817ae3176aeb2eb670de1ba762094bb2f 06-Apr-2013 Adam Powell <adamp@google.com> am b836ecbd: am 3d0bbd43: am fe130779: Let apps change the scrim color for DrawerLayout

* commit 'b836ecbd9f89a9d830158f63c3285b3305d50406':
Let apps change the scrim color for DrawerLayout
b836ecbd9f89a9d830158f63c3285b3305d50406 06-Apr-2013 Adam Powell <adamp@google.com> am 3d0bbd43: am fe130779: Let apps change the scrim color for DrawerLayout

* commit '3d0bbd43893936d81e1fc4a952ac8244a77ba733':
Let apps change the scrim color for DrawerLayout
fe130779be95af79e875bdbeac7182a424b8b9a6 06-Apr-2013 Adam Powell <adamp@google.com> Let apps change the scrim color for DrawerLayout

Bug 8557927

Change-Id: I769ac0885e635f239787e346f6111526f4e19027
4/widget/DrawerLayout.java
62e0ce5e7b954bcbf34195ef0d1ce1dc7d6a88a3 05-Apr-2013 Adam Powell <adamp@google.com> am e33b44f3: am 1909ef4f: am 1538310a: Tweak ViewDragHelper\'s edge detection size

* commit 'e33b44f322eddb0cd8a1dc7fc4e5b5e42b2f3155':
Tweak ViewDragHelper's edge detection size
e33b44f322eddb0cd8a1dc7fc4e5b5e42b2f3155 05-Apr-2013 Adam Powell <adamp@google.com> am 1909ef4f: am 1538310a: Tweak ViewDragHelper\'s edge detection size

* commit '1909ef4f9143a4384387f2893bfd7808d4afc5fe':
Tweak ViewDragHelper's edge detection size
1538310a6c51ee7cbebc151df16798aa65f57f07 05-Apr-2013 Adam Powell <adamp@google.com> Tweak ViewDragHelper's edge detection size

Make it a little harder to grab DrawerLayout drawers by mistake.

Bug 8496395

Change-Id: Id9e1dd9c6c34b3be3dc9b40ac6a7422bb82393d7
4/widget/ViewDragHelper.java
c76d76a0d92a9dca5c91c68b86666d403ac0fd3c 05-Apr-2013 Dianne Hackborn <hackbod@google.com> TransportController now helps with managing play state.

Play state takes care of grabbing audio focus, and it lets
you know when you lose audio focus.

Change-Id: I565d93bcba0dbf06a4885a42a008d54dec92b8c4
4/media/TransportController.java
edc0529cf10bc820e04cdd6a85a39856f9233313 04-Apr-2013 Dianne Hackborn <hackbod@google.com> Move media button handling to API demo.

It was dumb to have this as a convenience class in the support
library, since any real implementation is going to do its own
thing and needs to keep this in sync with other aspects of its
state.

Change-Id: Ibfa6795d735bd46ce3c3918be2cc6db8103e799e
4/media/TransportController.java
33d3e019dbcf4b9c0b440c5b5a66da60fbfbcc8a 03-Apr-2013 Adam Powell <adamp@google.com> am c93e8d03: am 5a50b1ce: am 1732720a: Add a short delay for drawer peeking in DrawerLayout

* commit 'c93e8d03544f903de80d7c77bd35450c98670cd6':
Add a short delay for drawer peeking in DrawerLayout
c93e8d03544f903de80d7c77bd35450c98670cd6 03-Apr-2013 Adam Powell <adamp@google.com> am 5a50b1ce: am 1732720a: Add a short delay for drawer peeking in DrawerLayout

* commit '5a50b1ce79077fa6fc69bc35ec78e38b74a307ab':
Add a short delay for drawer peeking in DrawerLayout
1732720ad57fe6d01392cd06551f1a25cff0333c 03-Apr-2013 Adam Powell <adamp@google.com> Add a short delay for drawer peeking in DrawerLayout

Don't have a drawer peek right away, have a short delay to account for
other UI affordances that may be placed a bit too close to the
drawer's edge.

Add support methods to ViewDragHelper to check if any pointer has
crossed the helper's touch slop.

Add support methods to ViewDragHelper to check if an edge was touched.

Change-Id: I872612376c091deb21914c8aa43ce39a31aa4210
4/widget/DrawerLayout.java
4/widget/ViewDragHelper.java
659fdbfb0be2d45058cc662148406f8fbb7070c0 27-Mar-2013 Adam Powell <adamp@google.com> am cb44c552: am 074d53b9: am ea7b10f4: Tweak sensitivity/touch handling for ViewDragHelper/DrawerLayout

* commit 'cb44c55258fd987d7be126690b3831a116ab90ce':
Tweak sensitivity/touch handling for ViewDragHelper/DrawerLayout
cb44c55258fd987d7be126690b3831a116ab90ce 27-Mar-2013 Adam Powell <adamp@google.com> am 074d53b9: am ea7b10f4: Tweak sensitivity/touch handling for ViewDragHelper/DrawerLayout

* commit '074d53b96ee82ed007db651bb9827faf50c3a309':
Tweak sensitivity/touch handling for ViewDragHelper/DrawerLayout
ea7b10f4d5531713506e98c8093e7aab811f21f3 27-Mar-2013 Adam Powell <adamp@google.com> Tweak sensitivity/touch handling for ViewDragHelper/DrawerLayout

Add ViewDragHelper API to determine the size of an edge and have
DrawerLayout use it for its peek distance.

Make edge locking optional, controlled by the ViewDragHelper callback.

Remove DrawerLayout's fake-out for children calling
requestDisallowInterceptTouchEvent.

Stop locking edges in DrawerLayout; any edge touch can now initiate an
edge drag.

Change-Id: I42a953e8dad0f608503e009142d5dc79e791c220
4/widget/DrawerLayout.java
4/widget/ViewDragHelper.java
0275f6f67f2b0b9cca75a4b425609c8cd6287b47 27-Mar-2013 Adam Powell <adamp@google.com> am fa762298: am 2b295949: am f1452d17: Fix ViewPager child drawing order sorting

* commit 'fa7622989446c8064da7f26473e3ec5dbd1211c8':
Fix ViewPager child drawing order sorting
fa7622989446c8064da7f26473e3ec5dbd1211c8 26-Mar-2013 Adam Powell <adamp@google.com> am 2b295949: am f1452d17: Fix ViewPager child drawing order sorting

* commit '2b29594906a1e5f0e7b124400012bdfff87103ad':
Fix ViewPager child drawing order sorting
f1452d17be15651c6047ec4eb7ff5892538e8265 26-Mar-2013 Adam Powell <adamp@google.com> Fix ViewPager child drawing order sorting

Fix a bug where ViewPager would not obtain its internal list of
children sorted for drawing order in time to actually draw.

Bug 8481031

Change-Id: I171f956504ef1a60be9925b88d06b97bbcdae476
4/view/ViewPager.java
27939be3015e3f28a14f2886490f270e0e558561 26-Mar-2013 Adam Powell <adamp@google.com> am 3f19089c: am 81523db0: am 31dac59d: Add some debug logging for a strange edge case in ViewPager

* commit '3f19089c005b1dde4dc8acf42b8a09bc1d879d19':
Add some debug logging for a strange edge case in ViewPager
3f19089c005b1dde4dc8acf42b8a09bc1d879d19 26-Mar-2013 Adam Powell <adamp@google.com> am 81523db0: am 31dac59d: Add some debug logging for a strange edge case in ViewPager

* commit '81523db07a5d7560edf1133c74e8c8d374dbcd97':
Add some debug logging for a strange edge case in ViewPager
31dac59d77ff5c1e1ae2c425fa5fc939c6ec15cd 26-Mar-2013 Adam Powell <adamp@google.com> Add some debug logging for a strange edge case in ViewPager

Monkey tests are reporting issues during focus search when we try to
offset a rect between the parent and child, that we're assuming a view
is a child when it is not. Add some logging to help diagnose.

Bug 6418084

Change-Id: Ie08931cbcf8165fe0d20d3c61858c5f32c603b2c
4/view/ViewPager.java
94adc9975295ab4addc869bb95d5c4f1358f2443 23-Mar-2013 Dianne Hackborn <hackbod@google.com> Merge "Add new TransportController helper class." into jb-mr2-dev
6e348ebc71989ec551cef44e64c14ce3813ff564 22-Mar-2013 Adam Powell <adamp@google.com> am 08d12dbc: am b9a3a1b2: am fd5162a6: Tune ViewDragHelper edge detection

* commit '08d12dbc8339bd4c3c375560316787794f8c73cb':
Tune ViewDragHelper edge detection
08d12dbc8339bd4c3c375560316787794f8c73cb 22-Mar-2013 Adam Powell <adamp@google.com> am b9a3a1b2: am fd5162a6: Tune ViewDragHelper edge detection

* commit 'b9a3a1b2d2d082323e993f0c79aad969eb8e6d75':
Tune ViewDragHelper edge detection
fd5162a69e607f9199a502574c7486eb4e695e09 22-Mar-2013 Adam Powell <adamp@google.com> Tune ViewDragHelper edge detection

Fix a bug where edges were getting erroneously locked.

Allow a wider arc for edge drags.

Change-Id: Icf5bb8acaf274239490760891469e9f4957b129f
4/widget/DrawerLayout.java
4/widget/ViewDragHelper.java
d3a70800e5f2cc2855d53ebea82fb7568affe02a 22-Mar-2013 Dianne Hackborn <hackbod@google.com> Add new TransportController helper class.

This is for media apps to receive transport key events
while they have input focus.

Change-Id: Id4d68b7e0c33b11b1295abe89619729c18691516
4/media/TransportController.java
4/view/KeyEventCompat.java
2af9924f549ed8a507e53922db321777bd133132 21-Mar-2013 Adam Powell <adamp@google.com> am d0c7cc24: am afa88a69: am acc82321: Be stricter about detecting DrawerLayout/ViewDragHelper edge drags

* commit 'd0c7cc249cc77753afa119f49521dd55f658371c':
Be stricter about detecting DrawerLayout/ViewDragHelper edge drags
d0c7cc249cc77753afa119f49521dd55f658371c 21-Mar-2013 Adam Powell <adamp@google.com> am afa88a69: am acc82321: Be stricter about detecting DrawerLayout/ViewDragHelper edge drags

* commit 'afa88a696204700b92dfe0087fa3f2422f31252c':
Be stricter about detecting DrawerLayout/ViewDragHelper edge drags
acc82321ad119706485db342eaa12b225fa9b667 21-Mar-2013 Adam Powell <adamp@google.com> Be stricter about detecting DrawerLayout/ViewDragHelper edge drags

Only begin an edge drag when a more intentional/telegraphed drag is
detected.

Bug 8423727

Change-Id: I9ccdde7ad9e20beda7ff988a3d3f73c447ef7f36
4/widget/DrawerLayout.java
4/widget/ViewDragHelper.java
e6072e2d918169bd827cf7431347fb648124c227 21-Mar-2013 Jeff Brown <jeffbrown@google.com> Clean up action bar support library.

Small initial refactoring. More to come.

Added a SearchActionProvider to make it easy to embed
SearchViewCompat within a support library action bar.

Bug: 8175766
Change-Id: I4ddb16d8fce5d638a76027446128f7462c2095ce
4/app/FragmentActivity.java
4/view/WindowCompat.java
b507e525a61ed761eecfc2eaaf19af7e8db5dca5 20-Mar-2013 Jeff Brown <jeffbrown@google.com> Move support library media router to v7 package.

Resolved some TODOs related to missing resources.

Bug: 8175766
Change-Id: I57632d0a961de58a5dd53e889b4fd39832b5fba0
4/media/MediaControlIntent.java
4/media/MediaRouteProvider.java
4/media/MediaRouteProviderService.java
4/media/MediaRouter.java
4/media/MediaStreamMetadata.java
4/media/RegisteredMediaRouteProvider.java
4/media/RegisteredMediaRouteProviderWatcher.java
4/media/SystemMediaRouteProvider.java
da10fdd1400ecfd8d7f2e55651dd528d0614dfc5 19-Mar-2013 Jeff Brown <jeffbrown@google.com> Move appcompat library to v7 package.

Moved most of the options menu related functionality out of v4
support lib into appcompat where it belongs. These two libraries
have very different design philosophies and it is important that
they remain untangled.

The support action bar options menu is broken by this change but
will be fixed in later patches after some refactoring to more
fully express the facade-like nature of the appcompat library.

Collapsed the appcompat eclair, honeycomb and ics folders into
one src folder because the layering did not make any sense.
All of these folders were providing portions of the API.
The layering will be reconstructed and improved in later patches.

Moved implementation types into an internal package within appcompat
to prevent them from leaking into the API.

Changed the base package name to android.support.v7, similar
to the gridlayout support lib.

Bug: 8175766
Change-Id: I538cbe08310e63e96a2a9fed0b8636eeda530f2c
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
4/view/ActionProvider.java
4/view/Menu.java
4/view/MenuInflater.java
4/view/MenuItem.java
4/view/SubMenu.java
5408c26a1dae949761257cce44f7e8572ab13d29 19-Mar-2013 Adam Powell <adamp@google.com> am 1da44e93: am 09eeecdb: am 00ca2532: Support layout_margin* on DrawerLayout children

* commit '1da44e9373262e6fa0a872a5c875065901369363':
Support layout_margin* on DrawerLayout children
1da44e9373262e6fa0a872a5c875065901369363 19-Mar-2013 Adam Powell <adamp@google.com> am 09eeecdb: am 00ca2532: Support layout_margin* on DrawerLayout children

* commit '09eeecdbcd452a7c1f9849d820a8203b59fafc95':
Support layout_margin* on DrawerLayout children
00ca2532981fbd705f947a637ffd967a8d6f733b 19-Mar-2013 Adam Powell <adamp@google.com> Support layout_margin* on DrawerLayout children

Child views of DrawerLayout now support margins. This allows
applications to offset both content or drawer views as needed.

Left and right margins are not permitted on drawer views and will be
ignored.

Vertical layout_gravity settings on drawer views are now supported as
well as drawer views with a height less than the full height of the
DrawerLayout.

Apps should note that introducing a top/bottom margin for a drawer
view will be less efficient in terms of fill rate than a drawer that
spans the full height.

Change-Id: Ia1a595ec50fa853039fa0ca287e4e3cf1e287047
4/widget/DrawerLayout.java
43f49d2f0b9ec6ef1c072183d9cedc3723164d40 19-Mar-2013 Adam Powell <adamp@google.com> am 69da6c44: am 97ceaf4b: am 8e01d24e: Save DrawerLayout lock state as instance state

* commit '69da6c445a659248d1019cc82d391c570dc039f5':
Save DrawerLayout lock state as instance state
69da6c445a659248d1019cc82d391c570dc039f5 19-Mar-2013 Adam Powell <adamp@google.com> am 97ceaf4b: am 8e01d24e: Save DrawerLayout lock state as instance state

* commit '97ceaf4baddb9630f0235c791ad50a9084407407':
Save DrawerLayout lock state as instance state
8e01d24e718d603974182cd48f648369c07edec1 19-Mar-2013 Adam Powell <adamp@google.com> Save DrawerLayout lock state as instance state

As the open/closed state of a drawer is saved across instance state
save/restore, lock state is now also saved as one is often influenced
by the other. Apps should take care to manage this state effectively.

Change-Id: I6a3f5d0831ed1f21543c880f7f592ff9a347149d
4/widget/DrawerLayout.java
61b698055b689041f234ec536ae7e81d3acaff56 19-Mar-2013 Adam Powell <adamp@google.com> am 724a35bb: am 1170fe17: am 0492ea23: Locking drawers for DrawerLayout

* commit '724a35bb84ea22ada779235c161299e34a93987f':
Locking drawers for DrawerLayout
724a35bb84ea22ada779235c161299e34a93987f 19-Mar-2013 Adam Powell <adamp@google.com> am 1170fe17: am 0492ea23: Locking drawers for DrawerLayout

* commit '1170fe1736cd097120668fb5a5fedf18c605a5b8':
Locking drawers for DrawerLayout
0492ea23e32dbf509a7613d29e5791fdd44b2135 16-Mar-2013 Adam Powell <adamp@google.com> Locking drawers for DrawerLayout

Add DrawerLayout methods for locking sliding drawers either open or
closed.

Drawers may be unlocked, locked closed or locked open. When a drawer
is locked it may not be opened or closed from its locked state via
touch or the back button in the case of locked open drawers.

Change-Id: Idbda928c490778f69c480da0bebc2efeb1f76dc7
4/widget/DrawerLayout.java
6fc582a25595f40f5c8a7ca181fe0fe1348894c6 17-Mar-2013 Adam Powell <adamp@google.com> am 32c70b7a: am c12f546a: am 72c7316b: Fix SlidingPaneLayout erroneous dimming after resize

* commit '32c70b7a53868774985f0edbf35608666d0fd2fb':
Fix SlidingPaneLayout erroneous dimming after resize
32c70b7a53868774985f0edbf35608666d0fd2fb 17-Mar-2013 Adam Powell <adamp@google.com> am c12f546a: am 72c7316b: Fix SlidingPaneLayout erroneous dimming after resize

* commit 'c12f546a5f024950f2c1c2395cc1506bdee6819b':
Fix SlidingPaneLayout erroneous dimming after resize
72c7316b081c3134f7b0566f703dfee7c970eade 16-Mar-2013 Adam Powell <adamp@google.com> Fix SlidingPaneLayout erroneous dimming after resize

Fix a bug where the preserved open state wasn't being tracked properly
in all cases. Also prevent performing extra work when the width hasn't
changed.

Bug 8396728

Change-Id: If48fe537e2eb1f4bbd35b7970e9e8ed68af3613c
4/widget/SlidingPaneLayout.java
0c413646a132f01920f679638d84c968a749ef61 16-Mar-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix a bug where we could lose a loader content change." into jb-mr2-dev
1855ba2ab6eec723d08b46c609f68bd89ae32022 15-Mar-2013 Jeff Brown <jeffbrown@google.com> Merge "Fix Conflict with ActionBarSherlock (DO NOT MERGE)" into jb-mr2-dev
9a81c69ba10f8599dbb42e3d2db2209f37854be8 15-Mar-2013 Jeff Brown <jeffbrown@google.com> Merge "Move support Menu interfaces + callbacks to v4 (DO NOT MERGE)" into jb-mr2-dev
712036dc13531d46a0064be5055a52bb999454a0 15-Mar-2013 Jeff Brown <jeffbrown@google.com> Merge "Propogate support menu callbacks to Fragments (DO NOT MERGE)" into jb-mr2-dev
847bab48ffd5cb62bc06465d7a4c60a016f5a2b9 01-Mar-2013 Chris Banes <chrisbanes@google.com> Fix Conflict with ActionBarSherlock (DO NOT MERGE)

We've had to rename getSupportMenuInflater() to
getCompatMenuInflater() for now to fix the build.

This should be reverted before launch!

Change-Id: I25812a81130484053fbe97df13fc2bf5b9b5a340
Signed-off-by: Chris Banes <chrisbanes@google.com>
4/app/FragmentActivity.java
e0f27d39b0a4f0ef30ef6446e7b675279961cc94 28-Feb-2013 Chris Banes <chrisbanes@google.com> Move support Menu interfaces + callbacks to v4 (DO NOT MERGE)

This moves the Menu* interfaces used for the ActionBar
into android-support-v4. This allows us to remove
ActionBarFragment and related hackery.

This commit just keeps us at the same level of functionality,
but is a cleaner implementation. A future feature would be
to enable the use of the support Menu when not using
ActionBarActivity.

Change-Id: I952ce78a378e8ec3b990f5c285a44c7fc4807f0c
Signed-off-by: Chris Banes <chrisbanes@google.com>
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
4/view/ActionProvider.java
4/view/Menu.java
4/view/MenuInflater.java
4/view/MenuItem.java
4/view/SubMenu.java
5f1309fe533f644638155e79d50e23060191bf59 20-Feb-2013 Chris Banes <chrisbanes@google.com> Propogate support menu callbacks to Fragments (DO NOT MERGE)

This commit adds a new Fragment subtype which contains versions
of the support menu calls. A number of changes to ActionBarActivity
have been needed to make this possible:

- ActionBarActivity and related classes have been moved to the
android.support.v4.app package.
- FragmentManagerImpl instance creation has been moved to a method
in both FragmentActivity and Fragment, so that we can return a
new sub-type: SupportMenuFragmentManager
- FragmentManagerImpl is no longer final
- The compat ActionBar menu set up has been changed so that it happens
in onPostCreate. This is so that any fragments can be added in onCreate.

Change-Id: I591ca163762431cae9a4988cd89e0711d6b5ff21
4/app/Fragment.java
4/app/FragmentActivity.java
4/app/FragmentManager.java
830dafeb756fb9a336cea2e443809d1233fa1b05 15-Mar-2013 Adam Powell <adamp@google.com> am ab7b5ad5: am 349316fd: am 8bc268e9: Fix DrawerLayout crash in touch handling

* commit 'ab7b5ad5062058c277fdfb8bfedb505ea7c11b63':
Fix DrawerLayout crash in touch handling
ab7b5ad5062058c277fdfb8bfedb505ea7c11b63 15-Mar-2013 Adam Powell <adamp@google.com> am 349316fd: am 8bc268e9: Fix DrawerLayout crash in touch handling

* commit '349316fdd86173753a88083ca593c7751eb9c71b':
Fix DrawerLayout crash in touch handling
8bc268e9c40e4ae375a0d65dc1293dccc541186f 15-Mar-2013 Adam Powell <adamp@google.com> Fix DrawerLayout crash in touch handling

Fix a bug in DrawerLayout that could crash if no child was found under
the active touch point.

Bug 8388714

Change-Id: Ida540bf6d2bab7dbb0323f077f3e2fd355a757d4
4/widget/DrawerLayout.java
80a0a3a33e3f6c27da4681a4f02eb2c6aae1fd40 15-Mar-2013 Dianne Hackborn <hackbod@google.com> Fix a bug where we could lose a loader content change.

If AsyncTaskLoader starts a background update due to a
content change, and that update is cancelled, we drop the
data when it finally arrives and forget that the content changed.
If we later come back to the loader, we then end up showing
stale data because we don't know that we still need to update
due to the old content change.

This change adds a couple new APIs to Loader to deal with the
time between when you ask for whether there is a content change
and finally either commit the data or cancel the update.
AsyncTaskLoader is changed to make use of this so that it doesn't
lose changes.

Change-Id: I431f55fff985baf653f217228895b855462b49fb
4/content/AsyncTaskLoader.java
4/content/Loader.java
c92d608279e5716a176e142abcd5e1b2148a0680 14-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Improve code for Support Library BidiFormatter

- follow variables naming conventions

Change-Id: I759032c40abeaa748a4056370c0f80a5bf2a1e71
4/text/TextUtilsCompat.java
4/text/bidi/BidiFormatter.java
de2eb627f0c4cb79c78e4d91ae7086d2c5e67eec 13-Mar-2013 Scott Kennedy <skennedy@google.com> Remove a method

It was only being called in one location, and the parameter was being
ignored.

Matches Ia853dd8d3898ac3e4c4b2fb3a51d103844b57ca1 in frameworks/base

Change-Id: Ic5de51b0e26e340e1ff850d5ba83e24dff648bbc
4/content/CursorLoader.java
77f6bada6f88acea9025afce3eb0127d45411798 09-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Add BidiFormatter to the Support Library v4

See bug #8185319 Need to put Android BidiFormatter into the Support Library

Change-Id: Ia7af551f503d895514b81a3a4065323a05ed7341
4/text/ICUCompat.java
4/text/TextDirectionHeuristicCompat.java
4/text/TextDirectionHeuristicsCompat.java
4/text/TextUtilsCompat.java
4/text/bidi/BidiFormatter.java
fa326a4649d9d0e8113e315f6c8251fe686abce4 08-Mar-2013 Jeff Brown <jeffbrown@google.com> Add support for media route provider services.

Media route provider services are services that publish media routes
to applications and to the system. The registered media route
provider enumerates the installed services, connects to them,
and listens for route updates.

As part of this change, extended media route to use a set of
media route control intent filters to describe its capabilities
instead of just one. This is necessary for matching uri-based
media control intents such as ACTION_PLAY.

Added support for routes with icons.

Added support for querying information about the provider of
each route and the list of all available providers.

Fixed a bug in the system media route provider that resulted
in duplicate routes being created.

Ensure that routes are notified as being unselected before
being notifies as being removed. The invariant here is that
an application should only perceive a route to be selected
between the time it was added / enabled and the time it
was removed / disabled.

Change-Id: If1a81ace4ef17643f219f7fed06a80855dc9a7e1
4/media/MediaControlIntent.java
4/media/MediaRouteProvider.java
4/media/MediaRouteProviderService.java
4/media/MediaRouter.java
4/media/RegisteredMediaRouteProvider.java
4/media/RegisteredMediaRouteProviderWatcher.java
4/media/SystemMediaRouteProvider.java
77feec77553367778cdc8f9e78a71585ac63e038 13-Mar-2013 Jeff Brown <jeffbrown@google.com> Merge "Revert "Add support for media route provider services."" into jb-mr2-dev
f3e4a6059d110137519d2d0042cf5dd680eddba1 13-Mar-2013 Jeff Brown <jeffbrown@google.com> Revert "Add support for media route provider services."

This reverts commit 0995047fb295da9c1d4e8270bd727a1ee997951e

Change-Id: I572448f3f8c6e6270123b10ea2150d54f8ccc41f
4/media/MediaControlIntent.java
4/media/MediaRouteProvider.java
4/media/MediaRouteProviderService.java
4/media/MediaRouter.java
4/media/RegisteredMediaRouteProvider.java
4/media/RegisteredMediaRouteProviderWatcher.java
4/media/SystemMediaRouteProvider.java
365fbcc5a3de661d41cff8b7e26b35e5a3dcaa73 13-Mar-2013 Jeff Brown <jeffbrown@google.com> Merge "Add support for media route provider services." into jb-mr2-dev
bebdbfc8dadb3328dc46c32df954a93b9470ee9f 12-Mar-2013 Adam Powell <adamp@google.com> am 2a258b58: am 5e52d5ef: am 89e17886: SlidingPaneLayout features, ViewDragHelper bugfixes

* commit '2a258b58d11e824896d4ee217ea17f4dd22a48fa':
SlidingPaneLayout features, ViewDragHelper bugfixes
2a258b58d11e824896d4ee217ea17f4dd22a48fa 12-Mar-2013 Adam Powell <adamp@google.com> am 5e52d5ef: am 89e17886: SlidingPaneLayout features, ViewDragHelper bugfixes

* commit '5e52d5efa93b7ae9405f6a63fc5d6910ea7f7885':
SlidingPaneLayout features, ViewDragHelper bugfixes
89e17886e6149bddfdb08a242c9e88889596419c 12-Mar-2013 Adam Powell <adamp@google.com> SlidingPaneLayout features, ViewDragHelper bugfixes

Make SlidingPaneLayout handle initial pre-layout state changes,
resizing and state save/restoration properly. Calling
openPane/closePane before first layout will cause animation to be
skipped. Open/closed state is now saved as instance state. When all
panes fit, interacting with a pane either by touch or focus will cause
that pane to be in view if a resize or state save/restore occurs.

Bug 8341136

Fix a bug where a slop check should fail instead of throwing.

Bug 8368837

Change-Id: I2e75213517d5f3f955650795d65bbff6fe7c054e
4/widget/SlidingPaneLayout.java
4/widget/ViewDragHelper.java
3a24c8e31611a85085a7d261328ff9da811b694b 12-Mar-2013 Jeff Sharkey <jsharkey@android.com> Merge "Provider to share private files between apps." into jb-mr2-dev
0995047fb295da9c1d4e8270bd727a1ee997951e 08-Mar-2013 Jeff Brown <jeffbrown@google.com> Add support for media route provider services.

Media route provider services are services that publish media routes
to applications and to the system. The registered media route
provider enumerates the installed services, connects to them,
and listens for route updates.

As part of this change, extended media route to use a set of
media route control intent filters to describe its capabilities
instead of just one. This is necessary for matching uri-based
media control intents such as ACTION_PLAY.

Added support for routes with icons.

Change-Id: I8f00fac27914662bec3df0e5a212e81a9d306081
4/media/MediaControlIntent.java
4/media/MediaRouteProvider.java
4/media/MediaRouteProviderService.java
4/media/MediaRouter.java
4/media/RegisteredMediaRouteProvider.java
4/media/RegisteredMediaRouteProviderWatcher.java
4/media/SystemMediaRouteProvider.java
a055a849fe13d4008fad60d6df6e0529f4827cf6 09-Mar-2013 Adam Powell <adamp@google.com> am e6213039: am 1e66a9eb: am 57902cff: DrawerLayout polish features

* commit 'e62130393b79d2bb36a0175457247b736bf3ac9b':
DrawerLayout polish features
e62130393b79d2bb36a0175457247b736bf3ac9b 09-Mar-2013 Adam Powell <adamp@google.com> am 1e66a9eb: am 57902cff: DrawerLayout polish features

* commit '1e66a9eb98ea261ba3b5beaebb3e67444094d14d':
DrawerLayout polish features
57902cff6c54c245feea589b06d12dba8f1a2a24 09-Mar-2013 Adam Powell <adamp@google.com> DrawerLayout polish features

If openDrawer/closeDrawer is called before first layout, the initial
layout will position the drawer in that configuration and no animation
will play.

Implement instance state save/restore. A drawer that was open will
remain open unless acted upon by an outside force.

Change-Id: I673f2e3c710713703b507b19e1650450a7b5b17c
4/widget/DrawerLayout.java
c74a268113feee13f6b7a24b51a4e14fb4036155 08-Mar-2013 Adam Powell <adamp@google.com> am 74586dad: am 0c8486c1: am 29836199: Prevent strange falsing on SlidingPaneLayout

* commit '74586dad1b12166ef20673181086b335dc67c802':
Prevent strange falsing on SlidingPaneLayout
74586dad1b12166ef20673181086b335dc67c802 08-Mar-2013 Adam Powell <adamp@google.com> am 0c8486c1: am 29836199: Prevent strange falsing on SlidingPaneLayout

* commit '0c8486c19d4f1b2c0ad7650bf5a4cc95edb44462':
Prevent strange falsing on SlidingPaneLayout
29836199390f71d05b15eedb487c1f7465776f1d 08-Mar-2013 Adam Powell <adamp@google.com> Prevent strange falsing on SlidingPaneLayout

Make sure that SlidingPaneLayout isn't overly greedy with events.

Change-Id: Id89e72af44dd169018264858d25b4c2a75bfbb4a
4/widget/SlidingPaneLayout.java
eae2e2281cb9fda7c4d56075c8dda5c35d3f74cd 08-Mar-2013 Adam Powell <adamp@google.com> am 1795f1ee: am 11a7e59f: am 79982691: Fix crash caused by ViewDragHelper

* commit '1795f1ee603c81b2af750c39f3047668fc7d75a6':
Fix crash caused by ViewDragHelper
1795f1ee603c81b2af750c39f3047668fc7d75a6 08-Mar-2013 Adam Powell <adamp@google.com> am 11a7e59f: am 79982691: Fix crash caused by ViewDragHelper

* commit '11a7e59f5983d8b43f851d9d41b35df4338d7cce':
Fix crash caused by ViewDragHelper
79982691769837348314818a3b5e0bc1625c74e9 08-Mar-2013 Adam Powell <adamp@google.com> Fix crash caused by ViewDragHelper

Make sure we have a valid view to try to capture before attempting a
slop check.

Bug 8342106

Change-Id: Ibb20c12b2a2e6ce950d3e2e978960e33788f2b2d
4/widget/ViewDragHelper.java
cdafda9f0228e8cb160a7c873d130dea4bbfea7c 08-Mar-2013 Jeff Sharkey <jsharkey@android.com> Provider to share private files between apps.

Apps should generally avoid sending raw filesystem paths across
process boundaries, since the receiving app may not have the same
access as the sender. Instead, apps should send Uris and rely on
platform features like grantUriPermission() to control access.

This provider is a simple implementation that services Uris which
are backed by raw files on disk. It relies on ContentProvider to
enforce the grants, and supports reading, writing, and deleting. It
responds to OpenableColumns and tries answering getType() using
file extensions.

Apps define supported paths in <meta-data> associated with their
<provider> manifest entries.

Bug: 7005318
Change-Id: Iceb4f2ce996221d2d85e009b62c856dcdf5eca14
4/content/FileProvider.java
6190a6cd3f0601f47eb43d78009f988e08e0e9a2 08-Mar-2013 Chet Haase <chet@google.com> Fix build due to bad link references in javadocs

(cherry picked from commit a308916a8ee35b799b03b9e8c87e8fad571a984b)

Change-Id: I585283acc05d366955b365f168db75643869da88
4/media/MediaControlIntent.java
4/media/MediaRouteProvider.java
1acd189be01cbe07b17a32c83d4b190a658f401f 08-Mar-2013 Jeff Brown <jeffbrown@google.com> Merge "Add media router and display manager to support library." into jb-mr2-dev
04772b3092ec2ea798ee022496f2d1ed27a0a56c 08-Mar-2013 Adam Powell <adamp@google.com> am f653cedd: am ebb6ac58: am 791f31bb: Make DrawerLayout automatically close drawers on back button press

* commit 'f653cedd24efed40c9330504ffb4e62051e80539':
Make DrawerLayout automatically close drawers on back button press
f653cedd24efed40c9330504ffb4e62051e80539 08-Mar-2013 Adam Powell <adamp@google.com> am ebb6ac58: am 791f31bb: Make DrawerLayout automatically close drawers on back button press

* commit 'ebb6ac583b1aa6f4dc398b07626c186c5eea5112':
Make DrawerLayout automatically close drawers on back button press
791f31bbba40b8b51694a1b2cdc804f360786ed1 08-Mar-2013 Adam Powell <adamp@google.com> Make DrawerLayout automatically close drawers on back button press

DrawerLayout is now focusable in touch mode to facilitate this.

Also add KeyEventCompat tracking method shims.

Change-Id: I3e8619ae593db8d3be0a8e04c57869cb2833528a
4/view/KeyEventCompat.java
4/widget/DrawerLayout.java
c21f57ed68b81a77167f1df000b0e272e1598bc0 08-Mar-2013 Jeff Brown <jeffbrown@google.com> Add media router and display manager to support library.

The support library MediaRouter API is somewhat different from
the framework's existing MediaRouter API. It is designed to
be simpler and easier to extend.

In the new MediaRouter, routes are published by MediaRouteProviders.
MediaRouteProviders replace the concept of UserRoutes.
The built-in SystemMediaRouteProvider publishes the default
system routes and interoperates with the framework MediaRouter.

Each route now declares its capabilities and behaviors by way
of MediaControlIntents. The type of the route (live audio,
live video, or remote playback) is specified by the categories
of media control intents that the route supports. A route
may support any number of custom provider-defined media control
intent categories that provide access to specialized features.

The old concepts of route categories and route groups have
been removed. Route providers are now responsible for implementing
the route grouping and configuration through some UI of their
own that is not managed by the media router.

This patch does not include support for route icon drawables,
the new route picker UI or route provider services. These features
will be added in follow on patches.

Change-Id: I10cf078917d053a916254a5aa9d208b8cfd341ea
4/hardware/display/DisplayManagerCompat.java
4/media/MediaControlIntent.java
4/media/MediaRouteProvider.java
4/media/MediaRouter.java
4/media/MediaStreamMetadata.java
4/media/SystemMediaRouteProvider.java
85b312ded5be5639e73c320c50d893db5f80c125 07-Mar-2013 Adam Powell <adamp@google.com> am b3294eed: am 95f9ce58: am 32a53a67: DrawerLayout touch behavior tuning

* commit 'b3294eed173196a92301a7a126d28f14435a8f9f':
DrawerLayout touch behavior tuning
b3294eed173196a92301a7a126d28f14435a8f9f 07-Mar-2013 Adam Powell <adamp@google.com> am 95f9ce58: am 32a53a67: DrawerLayout touch behavior tuning

* commit '95f9ce5845e6d012667c5c351b8528957545eab8':
DrawerLayout touch behavior tuning
32a53a670d1f6ff07454135a22e970f2154260dc 07-Mar-2013 Adam Powell <adamp@google.com> DrawerLayout touch behavior tuning

Don't respect requestDisallowInterceptTouchEvent(true) if a peek is
currently in progress, to allow the user to finish pulling out the
peeking drawer. (This may or may not work out well in practice, but
let's try it.)

Fix a bug where touch distance truncation errors were being
unnecessarily accounted for.

Change-Id: Ic6de9befb58fd3b9741eb33add5088566f63ebcf
4/widget/DrawerLayout.java
4/widget/ViewDragHelper.java
65c3f741461ceaaa6107ee7fcb7082950ffd6b41 07-Mar-2013 Adam Powell <adamp@google.com> am cc78de19: am a64a48ea: am b562d856: DrawerLayout features/bugfixes/tuning/optimization

* commit 'cc78de19167194167d304275a04cfacd8e2fef5c':
DrawerLayout features/bugfixes/tuning/optimization
cc78de19167194167d304275a04cfacd8e2fef5c 07-Mar-2013 Adam Powell <adamp@google.com> am a64a48ea: am b562d856: DrawerLayout features/bugfixes/tuning/optimization

* commit 'a64a48ea14472182e0136b6781c7a273821bf64d':
DrawerLayout features/bugfixes/tuning/optimization
b562d856f6ff58b7fc421a3b0cd1e0e089b994ab 07-Mar-2013 Adam Powell <adamp@google.com> DrawerLayout features/bugfixes/tuning/optimization

Add the ability to draw shadows on the edges of drawers.

Further optimize drawing (or not drawing) of drawers. Clip the content
view if an area is covered by an opaque drawer.

Mark offscreen drawer views as invisible.

Fix a bug where an edge touch would peek (and thereby close) a drawer.

Change-Id: I6ae12ee9d7118aa3209aeb93ead86ca5c9292f82
4/widget/DrawerLayout.java
67bdfd32b2fcf6374364d65bd882f709f45fad36 06-Mar-2013 Adam Powell <adamp@google.com> am c56a7bbf: am 7cdbb89c: am 471f0f4e: Fix minor SlidingPaneLayout/ViewDragHelper bugs; remove dead code

* commit 'c56a7bbf134252754de49494f69c3da07ecc1d0b':
Fix minor SlidingPaneLayout/ViewDragHelper bugs; remove dead code
c56a7bbf134252754de49494f69c3da07ecc1d0b 06-Mar-2013 Adam Powell <adamp@google.com> am 7cdbb89c: am 471f0f4e: Fix minor SlidingPaneLayout/ViewDragHelper bugs; remove dead code

* commit '7cdbb89cd7e4cc192058c7db86a01b099d05ca3f':
Fix minor SlidingPaneLayout/ViewDragHelper bugs; remove dead code
471f0f4e84c7d1f96e48fb26713f246d69c3241f 06-Mar-2013 Adam Powell <adamp@google.com> Fix minor SlidingPaneLayout/ViewDragHelper bugs; remove dead code

Fix a bug where animations in progress wouldn't stop properly when a
relayout causes the layout to no longer be slideable.

Bug 8323761

Fix a bug in ViewDragHelper#isViewUnder. (Herp derp <> are hard)

Bug 8324172

Change-Id: Ia4b8d40277ba8384ce71eb39485ec3a215261bfc
4/widget/SlidingPaneLayout.java
4/widget/ViewDragHelper.java
2bd07b268277cce006978760bd28fc963486b58c 06-Mar-2013 Adam Powell <adamp@google.com> am 46d3a42c: am 5544eac9: am 1fbad11a: Quick fix for a ViewDragHelper touch bug

* commit '46d3a42ca8652f7f25dc6173f7cc126c0f6b22b3':
Quick fix for a ViewDragHelper touch bug
46d3a42ca8652f7f25dc6173f7cc126c0f6b22b3 06-Mar-2013 Adam Powell <adamp@google.com> am 5544eac9: am 1fbad11a: Quick fix for a ViewDragHelper touch bug

* commit '5544eac98af174c13e93308a5e3bab7c318882bb':
Quick fix for a ViewDragHelper touch bug
1fbad11af8f178d9fcee85dabe7cd8f24d2bc9a2 06-Mar-2013 Adam Powell <adamp@google.com> Quick fix for a ViewDragHelper touch bug

Use the proper backward compatible mechanism for extracting pointer
index/action codes.

Change-Id: I5ed567ef270b669652eaf61a7bdfa9ad0c451236
4/widget/ViewDragHelper.java
a8c0ba3a5a7157ffbf78703475ddb2e6f219ad24 06-Mar-2013 Adam Powell <adamp@google.com> am 167d0187: am 962c4343: am 1d26501f: Initial DrawerLayout implementation

* commit '167d0187f0a5a2e6c0b942739330e3b86f9f85fa':
Initial DrawerLayout implementation
167d0187f0a5a2e6c0b942739330e3b86f9f85fa 06-Mar-2013 Adam Powell <adamp@google.com> am 962c4343: am 1d26501f: Initial DrawerLayout implementation

* commit '962c4343fe72745b5f6cb5f22a41c1129dfb1fd1':
Initial DrawerLayout implementation
1d26501f0c8e9f3577f651938a03f6b3a1a672c7 01-Mar-2013 Adam Powell <adamp@google.com> Initial DrawerLayout implementation

Add new UI toolkit compat shims to support bidi resolution:
* GravityCompat
* ViewCompat layout direction methods

Add DrawerLayout, making use of ViewDragHelper.

Fix some bugs in ViewDragHelper and tweak the API.

Change-Id: I56103ed155b83d16b80dba7d4c3054bb63fd8ea7
4/view/GravityCompat.java
4/view/ViewCompat.java
4/widget/DrawerLayout.java
4/widget/SlidingPaneLayout.java
4/widget/ViewDragHelper.java
5f86984b6bf2b136f57fb203ab4f29dc7a60277e 05-Mar-2013 Adam Powell <adamp@google.com> am 2a589516: am 9b8d1242: am 6580cf4b: Fix ViewDragHelper/SlidingPaneLayout bugs

* commit '2a5895160fa86c5a7c09588c1c08b6752a597226':
Fix ViewDragHelper/SlidingPaneLayout bugs
2a5895160fa86c5a7c09588c1c08b6752a597226 05-Mar-2013 Adam Powell <adamp@google.com> am 9b8d1242: am 6580cf4b: Fix ViewDragHelper/SlidingPaneLayout bugs

* commit '9b8d12425dc8cd4ab9dd5a548ba3a5b3261b0b1d':
Fix ViewDragHelper/SlidingPaneLayout bugs
6580cf4b7e74a2a017ed95b0dc50155b9995edeb 02-Mar-2013 Adam Powell <adamp@google.com> Fix ViewDragHelper/SlidingPaneLayout bugs

Fix an overzealous and buggy edge drag detector. Tune animation
timing. Make sure that captured views become un-captured.

Change-Id: Ib2122082fdbab12256743760995b148717c664bd
4/widget/ScrollerCompat.java
4/widget/SlidingPaneLayout.java
4/widget/ViewDragHelper.java
e2a8c471e341b87448e38bff85c8937025f178c7 01-Mar-2013 Adam Powell <adamp@google.com> am 607f7583: am c30e9f8d: am 3f50aafe: Fix SlidingPaneLayout dim threshold calculation

* commit '607f7583619aa14c42cf9ca51cce9b608f02ba8a':
Fix SlidingPaneLayout dim threshold calculation
607f7583619aa14c42cf9ca51cce9b608f02ba8a 01-Mar-2013 Adam Powell <adamp@google.com> am c30e9f8d: am 3f50aafe: Fix SlidingPaneLayout dim threshold calculation

* commit 'c30e9f8d71de3c5e2509a624f650af4ef07d3991':
Fix SlidingPaneLayout dim threshold calculation
3f50aafe43ea3c7d1c09fbd7afa87bf7453beb18 01-Mar-2013 Adam Powell <adamp@google.com> Fix SlidingPaneLayout dim threshold calculation

Bug 8178354

Change-Id: I4fc5e0a872a0697633ecc9f87208f4df2a96388e
4/widget/SlidingPaneLayout.java
c9b1613aff016e8e29200b2426d24f801c0c6a9b 28-Feb-2013 Adam Powell <adamp@google.com> am 4d3b5a07: am 5e2013a3: am b9e34c7d: Make ScrollerCompat public/expand it

* commit '4d3b5a07dcf56187f85bff9a004817cc0b815961':
Make ScrollerCompat public/expand it
4d3b5a07dcf56187f85bff9a004817cc0b815961 28-Feb-2013 Adam Powell <adamp@google.com> am 5e2013a3: am b9e34c7d: Make ScrollerCompat public/expand it

* commit '5e2013a32cb6f9d1cf102c1331a5c1a8c1a6730b':
Make ScrollerCompat public/expand it
b9e34c7d443082d5ee2b90a0e6788523d8df0df1 28-Feb-2013 Adam Powell <adamp@google.com> Make ScrollerCompat public/expand it

ScrollerCompat is now available for all of your
scrolling-compatibility needs! It will automatically select Scroller
or OverScroller as the internal implementation as appropriate for the
underlying platform version.

Extra OverScroller methods are no-ops on devices that do not support
them.

Change-Id: I0536327eddb3ef75ccae3fb76609bff2f75976d9
4/widget/ScrollerCompat.java
20b97817bdcee7aed1374664b86d376a9dcb9d86 28-Feb-2013 Adam Powell <adamp@google.com> am c04bbbd7: am 77ac1399: am c56ba65d: Factor ViewDragHelper out from SlidingPaneLayout

* commit 'c04bbbd704789218eb0d26b74586f45db2f220a0':
Factor ViewDragHelper out from SlidingPaneLayout
c04bbbd704789218eb0d26b74586f45db2f220a0 28-Feb-2013 Adam Powell <adamp@google.com> am 77ac1399: am c56ba65d: Factor ViewDragHelper out from SlidingPaneLayout

* commit '77ac13995db727bcbd5abcb427852c3c2d48e255':
Factor ViewDragHelper out from SlidingPaneLayout
c56ba65d20be8742ff717907a3a2cd81dd0e5f3c 25-Feb-2013 Adam Powell <adamp@google.com> Factor ViewDragHelper out from SlidingPaneLayout

Prepare ViewDragHelper to be a solid common component for dragging
views around within a custom parent view.

Implement SlidingPaneLayout in terms of ViewDragHelper.

Change-Id: Id30804b879766a87cbadf5dc59f5b7b69b12010e
4/widget/ScrollerCompat.java
4/widget/SlidingPaneLayout.java
4/widget/ViewDragHelper.java
7445e6650a79b2c70d11d2185534e47595bc7563 15-Feb-2013 Adam Powell <adamp@google.com> am 58c4787b: am 93325a5e: am f48af331: Fix missing onSingleTapConfirmed calls in GestureDetectorCompat

* commit '58c4787b4902d11fbe330fa0d4128b9b0298b858':
Fix missing onSingleTapConfirmed calls in GestureDetectorCompat
58c4787b4902d11fbe330fa0d4128b9b0298b858 15-Feb-2013 Adam Powell <adamp@google.com> am 93325a5e: am f48af331: Fix missing onSingleTapConfirmed calls in GestureDetectorCompat

* commit '93325a5eff7807f20fa969f8157cc33ce0279f95':
Fix missing onSingleTapConfirmed calls in GestureDetectorCompat
f48af3312a4f63d8ce232fe7476932c0201774d9 15-Feb-2013 Adam Powell <adamp@google.com> Fix missing onSingleTapConfirmed calls in GestureDetectorCompat

Eliminate the short period of time between the tap timeout and long
press causing onSingleTapConfirmed not to be dispatched when apps
expect.

Raise the API version where the detector backport will be used so that
API 17 apps will benefit from this change.

Bug 8124095

Change-Id: I4de4ba662f81dbd84cc92706223b33d27a4bc1f2
4/view/GestureDetectorCompat.java
1896d4b0817113a7ee263b83daf5d81f661588ef 15-Feb-2013 Adam Powell <adamp@google.com> am c7c0666b: am bfb679da: am 1e43161e: SlidingPaneLayout tweaks, fixes and optimizations

# Via Android Git Automerger (2) and Adam Powell (1)
* commit 'c7c0666b61ed23ce6913776c4dfab3e4a7bec6cf':
SlidingPaneLayout tweaks, fixes and optimizations
c7c0666b61ed23ce6913776c4dfab3e4a7bec6cf 15-Feb-2013 Adam Powell <adamp@google.com> am bfb679da: am 1e43161e: SlidingPaneLayout tweaks, fixes and optimizations

# Via Adam Powell (1) and Android Git Automerger (1)
* commit 'bfb679da9f752dcab602ebc86ba8dca7a5f0b6b7':
SlidingPaneLayout tweaks, fixes and optimizations
1e43161e9e1f1dc10637a68d5c2304c1f95c9c46 15-Feb-2013 Adam Powell <adamp@google.com> SlidingPaneLayout tweaks, fixes and optimizations

* Always draw the shadow between panes, regardless of whether or not
one will slide.

* Clip the overlapped child view against the slider to avoid extra
overdraw.

* Make the default open/close animation duration a little bit longer.

* End the scroll operation as soon as the final position is reached,
even if the official duration would linger a bit.

Change-Id: I982a12d3f322733e7231f70019a6996014f9504c
4/widget/SlidingPaneLayout.java
094899e485a7b67e0c6c5f1055444598b1f9ce9d 12-Feb-2013 Adam Powell <adamp@google.com> am 1304aa94: am 042c7cd2: am 199a13cf: Throw exception if PagerAdapters are modified without notifyDataSetChanged

# Via Android Git Automerger (2) and Adam Powell (1)
* commit '1304aa9430bef5f11672f530f62116b00c34be9a':
Throw exception if PagerAdapters are modified without notifyDataSetChanged
1304aa9430bef5f11672f530f62116b00c34be9a 12-Feb-2013 Adam Powell <adamp@google.com> am 042c7cd2: am 199a13cf: Throw exception if PagerAdapters are modified without notifyDataSetChanged

# Via Adam Powell (1) and Android Git Automerger (1)
* commit '042c7cd2a81817cdf01f6459beed5880f9aaf3ff':
Throw exception if PagerAdapters are modified without notifyDataSetChanged
199a13cf79b43494ea381a91ee67f0da1f1d10de 12-Feb-2013 Adam Powell <adamp@google.com> Throw exception if PagerAdapters are modified without notifyDataSetChanged

ViewPager is all grown up! Fail as fast as we can if we detect that
the adapter has changed without telling us.

Change-Id: Ic48435c8437f4b0ecd38bfb66923c3c834136950
4/view/ViewPager.java
38e848cab6e6d50c45b443c2f3d09eb412698734 08-Feb-2013 Adam Powell <adamp@google.com> am b0b9bbc9: am ae607047: am 29d4f2a8: Merge "Allow tweaking SlidingPaneLayout fade colors/behavior" into jb-mr1.1-ub-dev

# Via Android Git Automerger (2) and others
* commit 'b0b9bbc93e1b3418207babf6811c081831def42b':
Allow tweaking SlidingPaneLayout fade colors/behavior
b0b9bbc93e1b3418207babf6811c081831def42b 08-Feb-2013 Adam Powell <adamp@google.com> am ae607047: am 29d4f2a8: Merge "Allow tweaking SlidingPaneLayout fade colors/behavior" into jb-mr1.1-ub-dev

# Via Adam Powell (1) and others
* commit 'ae607047b082c42ddc3ddba37e8598e98074f103':
Allow tweaking SlidingPaneLayout fade colors/behavior
29d4f2a8f43cee089d7bd919e0e6985521f02968 08-Feb-2013 Adam Powell <adamp@google.com> Merge "Allow tweaking SlidingPaneLayout fade colors/behavior" into jb-mr1.1-ub-dev
81e2f002d1b4ebf2d951eb9f239858b8a9481a24 08-Feb-2013 Adam Powell <adamp@google.com> Allow tweaking SlidingPaneLayout fade colors/behavior

The methods setSliderFadeColor and setCoveredFadeColor now allow the
developer to configure the fading colors used for each pane. A value
of 0 (fully transparent black) may be used to disable color filters
for that pane.

Change-Id: Ibd667752c140a8ebfd71e8be90578beb4aacab04
4/widget/SlidingPaneLayout.java
4a7420aa5bf8974446284ced17928baeee7cd1bd 08-Feb-2013 Adam Powell <adamp@google.com> am b83e059e: am ec0f9b59: am 94a8e450: Merge "Increase base duration of SlidingPaneLayout programmatic scrolling" into jb-mr1.1-ub-dev

# Via Android Git Automerger (2) and others
* commit 'b83e059ee6fcb0e4e81acaf07fc8dd61533bf46b':
Increase base duration of SlidingPaneLayout programmatic scrolling
b83e059ee6fcb0e4e81acaf07fc8dd61533bf46b 08-Feb-2013 Adam Powell <adamp@google.com> am ec0f9b59: am 94a8e450: Merge "Increase base duration of SlidingPaneLayout programmatic scrolling" into jb-mr1.1-ub-dev

# Via Adam Powell (1) and others
* commit 'ec0f9b59c28d40fe1347337f7672f816b0b25f71':
Increase base duration of SlidingPaneLayout programmatic scrolling
94a8e450dcf88fd3e7328806d34ef12790ca13e1 08-Feb-2013 Adam Powell <adamp@google.com> Merge "Increase base duration of SlidingPaneLayout programmatic scrolling" into jb-mr1.1-ub-dev
25960879b469f037614b1ff04c8b0d0739523fc3 08-Feb-2013 Adam Powell <adamp@google.com> Increase base duration of SlidingPaneLayout programmatic scrolling

Don't open/close the sliding pane quite so fast.

Bug 8156144

Change-Id: Iff89efb48f82b7882bdf3ebc560c24e942b449e1
4/widget/SlidingPaneLayout.java
1ad61b390cca3d71ac8281138af142eb6c2f0307 08-Feb-2013 Adam Powell <adamp@google.com> am 3727cc09: am d2212801: am 3c273907: Merge "Don\'t hide SlidingPaneLayout shadows if things don\'t slide" into jb-mr1.1-ub-dev

# Via Android Git Automerger (2) and others
* commit '3727cc09ed4c616e460f4359d8cd095f01bd0136':
Don't hide SlidingPaneLayout shadows if things don't slide
3727cc09ed4c616e460f4359d8cd095f01bd0136 08-Feb-2013 Adam Powell <adamp@google.com> am d2212801: am 3c273907: Merge "Don\'t hide SlidingPaneLayout shadows if things don\'t slide" into jb-mr1.1-ub-dev

# Via Adam Powell (1) and others
* commit 'd2212801cdedec01cd0c8c11ed3531112f6f1d30':
Don't hide SlidingPaneLayout shadows if things don't slide
3c2739074aa3f09b03bd276cbccc1198677006a6 08-Feb-2013 Adam Powell <adamp@google.com> Merge "Don't hide SlidingPaneLayout shadows if things don't slide" into jb-mr1.1-ub-dev
3783c4b814bf70711fc4d674e9c7fbc34b1e5a83 08-Feb-2013 Adam Powell <adamp@google.com> Don't hide SlidingPaneLayout shadows if things don't slide

UX change; provided shadows should be drawn regardless of whether or
not the panes fit together without sliding.

Bug 8156151

Change-Id: Iecee767fbc5cde0078f7f8a84f5cefa6b74f6c13
4/widget/SlidingPaneLayout.java
635c29b8371397209e07a7dc39f1f84b1712a17c 08-Feb-2013 Adam Powell <adamp@google.com> am 2ef37cfa: am b07fd80f: am d7346782: Merge "SlidingPaneLayout layout stability fixes" into jb-mr1.1-ub-dev

# Via Android Git Automerger (2) and others
* commit '2ef37cfa24bc07588a5c969cbe00c17e0b27da04':
SlidingPaneLayout layout stability fixes
2ef37cfa24bc07588a5c969cbe00c17e0b27da04 08-Feb-2013 Adam Powell <adamp@google.com> am b07fd80f: am d7346782: Merge "SlidingPaneLayout layout stability fixes" into jb-mr1.1-ub-dev

# Via Adam Powell (1) and others
* commit 'b07fd80f5c211e9839192276d684ecde713190e5':
SlidingPaneLayout layout stability fixes
d7346782caa25cfffa5573b72f5fce3124f214dd 08-Feb-2013 Adam Powell <adamp@google.com> Merge "SlidingPaneLayout layout stability fixes" into jb-mr1.1-ub-dev
06506fed3ad33981810ac780bb8c1779e759dcfa 08-Feb-2013 Adam Powell <adamp@google.com> SlidingPaneLayout layout stability fixes

Fix some bugs around SlidingPaneLayout triggering a layout during a
drag.

Change-Id: I86852f5e11c59b9a3f19e196947bffa09e969206
4/widget/SlidingPaneLayout.java
209f272d4af29e4994426fb3f3ef2d5781270ec2 08-Feb-2013 Dake Gu <dake@google.com> am 3337f221: am 43af83be: am 860155ee: ViewPager: handle focus direction properly

# Via Android Git Automerger (2) and Dake Gu (1)
* commit '3337f221afc8755ef78f9e345566f6e55fa4d0aa':
ViewPager: handle focus direction properly
3337f221afc8755ef78f9e345566f6e55fa4d0aa 08-Feb-2013 Dake Gu <dake@google.com> am 43af83be: am 860155ee: ViewPager: handle focus direction properly

# Via Android Git Automerger (1) and Dake Gu (1)
* commit '43af83be83fb417fe1aaaec8d460e406313e9f9d':
ViewPager: handle focus direction properly
860155ee7a4c7968f3cbe1d8dbb0c8a35f9fec2d 07-Feb-2013 Dake Gu <dake@google.com> ViewPager: handle focus direction properly

When pageLeft() creates a new page, use FOCUS_LEFT to find the proper
child to focus on.

Change-Id: Ie124823b22759fac9351ddf64196fb1e3a9c752f
4/view/ViewPager.java
885afc30ec1a5c5e248c41c0ed8c747bff9d3507 07-Feb-2013 Jeffrey Brown <jeffbrown@android.com> am 0ae098d0: am edb2ce86: Merge "Clear loaders array after they are destroyed."

# By Roman Mazur
# Via Android Git Automerger (1) and others
* commit '0ae098d0ccd89af6780d934df570e8e4a4c91002':
Clear loaders array after they are destroyed.
0ae098d0ccd89af6780d934df570e8e4a4c91002 07-Feb-2013 Jeffrey Brown <jeffbrown@android.com> am edb2ce86: Merge "Clear loaders array after they are destroyed."

# By Roman Mazur
# Via Gerrit Code Review (1) and Roman Mazur (1)
* commit 'edb2ce86c2d08e3381dc62f0ffc95bc115afba5a':
Clear loaders array after they are destroyed.
edb2ce86c2d08e3381dc62f0ffc95bc115afba5a 07-Feb-2013 Jeffrey Brown <jeffbrown@android.com> Merge "Clear loaders array after they are destroyed."
0fc5bd7644f7563f7b59bd1017df9c938857e794 05-Feb-2013 Svetoslav <svetoslavganov@google.com> Updating support lib v4 with new accessibility APIs.

1. Adding support for the new APIs for getting/setting the
view id of the AccessibilityNodeInfo's source.

2. Adding toString() APIs to AccessibilityNodeInfo to workaround
a framework issue where we throw an exception if one of the
node actions is not known for the current platform version.
Unfortunately the exception throwing code is already shipped
and clients should use the support lib to avoid crashing.

3. Adding new constants from AccessibilityServiceInfo to the
corresponding support class.

bug:8131980

Change-Id: I7ec484800c2adf8c1d6f49ffeeed551ff5e6ad26
4/accessibilityservice/AccessibilityServiceInfoCompat.java
4/view/accessibility/AccessibilityNodeInfoCompat.java
0648a0bacd1a0f6576963993ca458f196cd92eac 04-Feb-2013 Adam Powell <adamp@google.com> am 5f5ee5b6: am 9c35da04: am ee3f0ffb: SlidingPaneLayout features

# Via Android Git Automerger (2) and Adam Powell (1)
* commit '5f5ee5b6e2ca785c5e37e60c42f41caa1a60e548':
SlidingPaneLayout features
ee3f0ffb0199e295cbf48aa1a61c8ae7056526ab 01-Feb-2013 Adam Powell <adamp@google.com> SlidingPaneLayout features

Add support for shadows between panes and dimming both panes.

Change-Id: I7b24436a81e59c03fb09edfc27fdc7b11a84f8c5
4/widget/SlidingPaneLayout.java
7e68bcde16b5ad2fbb1c2b972c0f99741a67e582 30-Jan-2013 Adam Powell <adamp@google.com> am 73db3796: am d49e971f: am 44fc1398: Make ViewPager scroll to the current item after deferred populate

# Via Android Git Automerger (2) and Adam Powell (1)
* commit '73db37962049c4fc32eaec6c41905365fbe5ff26':
Make ViewPager scroll to the current item after deferred populate
44fc13985aed09d1fda3fdf2fd900ec13720a5df 30-Jan-2013 Adam Powell <adamp@google.com> Make ViewPager scroll to the current item after deferred populate

We defer the initial populate and setCurrentItem calls to first layout
when applicable. Make sure that we're scrolled so that the page is
visible in this case.

Bug 7974296

Change-Id: I4435a16cad325bd5c788082b553c184395ebdad1
4/view/ViewPager.java
4ba94ce2e78dac516d97e5633db81f43d4236673 29-Jan-2013 Adam Powell <adamp@google.com> am caf5ba49: am 2a8dbefa: am ad9696cf: Fix some layout bugs with SlidingPaneLayout

# Via Android Git Automerger (2) and Adam Powell (1)
* commit 'caf5ba494ad6b45298998cfa82c59af5521510a6':
Fix some layout bugs with SlidingPaneLayout
ad9696cf0da9b65c4a52f00fe5adaa17b99a05ca 29-Jan-2013 Adam Powell <adamp@google.com> Fix some layout bugs with SlidingPaneLayout

When combined with a ListView, using View#layout to move a view's
frame around could mistakenly clear the layout request bit, confusing
things quite effectively. Use the View#offset* method to move it
around instead.

Change-Id: Icc3c9303809ebddc9b1e60fd2fea5d3d0f8ca090
4/widget/SlidingPaneLayout.java
0224590df2cb31b9449676d7a90f385d6bb11ddc 28-Jan-2013 Adam Cohen <adamcohen@google.com> am 3ef43c0f: am addfb977: am fba5d142: Making registering and unregistering DataSetObservable on PagerAdapter public

# Via Android Git Automerger (2) and Adam Cohen (1)
* commit '3ef43c0fe477cfed04cac55eb3c65013c38f7574':
Making registering and unregistering DataSetObservable on PagerAdapter public
fba5d14230cf87eb238050b4a1ebe457a85dc0b6 26-Jan-2013 Adam Cohen <adamcohen@google.com> Making registering and unregistering DataSetObservable on PagerAdapter public

Change-Id: Ie3beb0704177d8c25a6d632e1059b366027d3207
4/view/PagerAdapter.java
a3a81cbf15b40b0e617c36cd8683af97794e7f2c 24-Jan-2013 Adam Powell <adamp@google.com> am 34f641b8: am fb897e1c: Manually cherry-pick patch skipped by automerger

# Via Adam Powell (1) and Android Git Automerger (1)
* commit '34f641b8a265301212282fa066d0bd4cb2a459e9':
Manually cherry-pick patch skipped by automerger
fb897e1cdec9b60517bb07f8c54f330275a6c281 16-Jan-2013 Adam Powell <adamp@google.com> Manually cherry-pick patch skipped by automerger

am 0bb301ec: Remove cruft from ViewPager

* commit '0bb301ec35dcaf2ea9c2010790d7eadb1918b8cb':
Remove cruft from ViewPager

Conflicts:
v4/java/android/support/v4/view/ViewPager.java

Change-Id: Iaa705fa1eb8dea55a4161dc52b1a6633f6d1c13d
4/view/ViewPager.java
a20bbdbf66ca21c8fc10973fb66cafe4018c023a 16-Jan-2013 Adam Powell <adamp@google.com> am 0bb301ec: Remove cruft from ViewPager

* commit '0bb301ec35dcaf2ea9c2010790d7eadb1918b8cb':
Remove cruft from ViewPager
0bb301ec35dcaf2ea9c2010790d7eadb1918b8cb 11-Jan-2013 Adam Powell <adamp@google.com> Remove cruft from ViewPager

Change-Id: I9ea9d5469db97188b85a375edc5f38cc7e9bddac
4/view/ViewPager.java
5a32bd661bd26d706dcb419515226e4785194425 10-Jan-2013 Adam Powell <adamp@google.com> resolved conflicts for merge of 4093b897 to master

Change-Id: I2d1d51613bb2cb0d91e5d96f76d11d8bde8fd7e4
2f501abba7b39b3cc4299b6844ce51385eb479e3 08-Jan-2013 Adam Powell <adamp@google.com> am 0eefe9ad: Simplify implementation of SlidingPaneLayout

* commit '0eefe9ad0819b223006533cbc79a35d66684af32':
Simplify implementation of SlidingPaneLayout
0eefe9ad0819b223006533cbc79a35d66684af32 18-Dec-2012 Adam Powell <adamp@google.com> Simplify implementation of SlidingPaneLayout

Cut features that aren't needed. Fix some bogus invalidation problems.

Also cherry-pick dependency dc56c78a7e:

Have SlidingPaneLayout respect GONE children

Don't measure or layout a child view that is GONE. Ignore parallax
settings if nothing can slide.
4/widget/SlidingPaneLayout.java
309812085426ca169ee9f8ce4151f18498e7369b 04-Jan-2013 Roman Nurik <romannurik@google.com> am f30d5b70: am cd4e583f: am 49714d66: Add missing NotificationCompat.BigPictureStyle.bigLargeIcon method.

* commit 'f30d5b705415175b017f3750e55a157c07d5ae41':
Add missing NotificationCompat.BigPictureStyle.bigLargeIcon method.
cd4e583f9065875f7ed0a5bafff2413a38189ca1 04-Jan-2013 Roman Nurik <romannurik@google.com> am 49714d66: Add missing NotificationCompat.BigPictureStyle.bigLargeIcon method.

* commit '49714d665f839c4804a17eea129092f8b472926d':
Add missing NotificationCompat.BigPictureStyle.bigLargeIcon method.
49714d665f839c4804a17eea129092f8b472926d 04-Jan-2013 Roman Nurik <romannurik@google.com> Add missing NotificationCompat.BigPictureStyle.bigLargeIcon method.

Bug 7599054

Change-Id: I6691d4ca6ba3520962ba7a4dd9ae3978066a8f39
4/app/NotificationCompat.java
1cb19c94c1fb2cbd55747149d1a1e35d60cefa7d 18-Dec-2012 The Android Automerger <android-build@android.com> am 3199a907: keep history after reset

* commit '3199a907e0f45c09f3fa05a9a7fae7ec9f1b56a9':
6a5642de021e573f3981d863923161db1e60f326 18-Dec-2012 Adam Powell <adamp@google.com> am d267c93c: Fix a bug that could cause ViewPager to select the wrong page

* commit 'd267c93c774c51addeb3cc6bfa64d729ce238d54':
Fix a bug that could cause ViewPager to select the wrong page
dc56c78a7e2d06c9aabd3e90448c81671d8c05b1 18-Dec-2012 Adam Powell <adamp@google.com> Have SlidingPaneLayout respect GONE children

Don't measure or layout a child view that is GONE. Ignore parallax
settings if nothing can slide.

Change-Id: I0138b01dfd878ddc37aa9197078308a52606ed18
4/widget/SlidingPaneLayout.java
e1d2480ed2e1f7dae94ef6fa21f07ece51846f2f 17-Dec-2012 Adam Powell <adamp@google.com> am 7780b0a3: am fc07ed20: am d267c93c: Fix a bug that could cause ViewPager to select the wrong page

* commit '7780b0a37447fb0e91f034ac4f9947c5415c801e':
Fix a bug that could cause ViewPager to select the wrong page
7780b0a37447fb0e91f034ac4f9947c5415c801e 17-Dec-2012 Adam Powell <adamp@google.com> am fc07ed20: am d267c93c: Fix a bug that could cause ViewPager to select the wrong page

* commit 'fc07ed20f2b9231abf0f885678c80b5b76b76eb3':
Fix a bug that could cause ViewPager to select the wrong page
fc07ed20f2b9231abf0f885678c80b5b76b76eb3 17-Dec-2012 Adam Powell <adamp@google.com> am d267c93c: Fix a bug that could cause ViewPager to select the wrong page

* commit 'd267c93c774c51addeb3cc6bfa64d729ce238d54':
Fix a bug that could cause ViewPager to select the wrong page
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
9236f275892648cb06fe01da6196994f14cd56cc 14-Dec-2012 Adam Powell <adamp@google.com> am 0f1e7f18: am 76a83388: am 16991ca8: Tweak ViewPager behavior for more DWIM goodness

* commit '0f1e7f18cfe2033b23cd0495633eb352928d99ac':
Tweak ViewPager behavior for more DWIM goodness
0f1e7f18cfe2033b23cd0495633eb352928d99ac 14-Dec-2012 Adam Powell <adamp@google.com> am 76a83388: am 16991ca8: Tweak ViewPager behavior for more DWIM goodness

* commit '76a83388cc7a878f51a052d2345d097ef42e2ad1':
Tweak ViewPager behavior for more DWIM goodness
76a83388cc7a878f51a052d2345d097ef42e2ad1 14-Dec-2012 Adam Powell <adamp@google.com> am 16991ca8: Tweak ViewPager behavior for more DWIM goodness

* commit '16991ca86a49023bf6eb47b4e215bb1f2209de6d':
Tweak ViewPager behavior for more DWIM goodness
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
01cb45afa8d4a1a3f1139f14c66c11e1954e1020 13-Dec-2012 Adam Powell <adamp@google.com> Merge "SlidingPaneLayout features"
6debd2bbcae1cd285d2e21db633998b7801f9f40 04-Dec-2012 Adam Powell <adamp@google.com> SlidingPaneLayout features

Add setLayerPaint to ViewCompat

Add support for margins and parallax to SlidingPaneLayout

Change-Id: Iddc44ba42d5021ded524e5c9835e5416e3f61867
4/view/ViewCompat.java
4/widget/SlidingPaneLayout.java
fdd9223ac2d8fc0c7a74a076c1cd4defc7acf499 12-Dec-2012 Adam Powell <adamp@google.com> Fix for ViewPager population error on first layout

Before first layout, ViewPager doesn't have enough information to
properly instantiate enough pages to fill at least the offscreen page
count pages width worth of content to either side. (Width is needed.)

Defer this initial population when setting an adapter and a few other
cases. Also avoid additional calls to populate when they aren't
needed/will be redundant.

Bug 7724771

Change-Id: I8cc565c9f3f40e9466e756625716a3d07583ffd6
4/view/ViewPager.java
6a52bca0d3aaca1abb9601c1cb808dc93d5ff747 12-Dec-2012 Adam Powell <adamp@android.com> am f086fd33: am 2008690a: Merge "Add compatibility implementation of ActivityOptions and start activity."

* commit 'f086fd33c03d16c62f161bc9abca8fdeba8487ae':
Add compatibility implementation of ActivityOptions and start activity.
f086fd33c03d16c62f161bc9abca8fdeba8487ae 12-Dec-2012 Adam Powell <adamp@android.com> am 2008690a: Merge "Add compatibility implementation of ActivityOptions and start activity."

* commit '2008690a1097b1f6aabf702e3f1700c06f57d141':
Add compatibility implementation of ActivityOptions and start activity.
2008690a1097b1f6aabf702e3f1700c06f57d141 12-Dec-2012 Adam Powell <adamp@android.com> Merge "Add compatibility implementation of ActivityOptions and start activity."
3a96487b54eca412f51ad00b8f8096055e94dcbb 13-Jul-2012 Jake Wharton <jakewharton@gmail.com> Add compatibility implementation of ActivityOptions and start activity.

This will allow for constructing ActivityOptions and starting an activity
using them in a backwards-compatible way. The implementation is only used
on API 16 and newer. On platforms prior to API 16 the traditional
startActivity and startActivityForResult methods are used.

Change-Id: I86c0df28dadc391b340303d448c70a25d33a76de
4/app/ActivityCompat.java
4/app/ActivityOptionsCompat.java
def2fb3f51b05d0ba07476fb53e6c186ec1d46aa 08-Dec-2012 Dianne Hackborn <hackbod@google.com> am 506f1fb8: am 64c0f2e5: am 71249413: Fix build.

* commit '506f1fb84b693330c93296ab65a85fd9eeb5c0e2':
Fix build.
64c0f2e555c9bff891f78060e36bf719fe46792d 08-Dec-2012 Dianne Hackborn <hackbod@google.com> am 71249413: Fix build.

* commit '71249413434c56006d2cb5d689198a2814c8e6b7':
Fix build.
71249413434c56006d2cb5d689198a2814c8e6b7 08-Dec-2012 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: Idaddd9a8e972c0a7b3b430bc636b617642b32fe4
4/widget/SearchViewCompat.java
0496b2a881669d41ca8dff730913920fa596ba43 07-Dec-2012 Dianne Hackborn <hackbod@google.com> am 3fb07dfb: am c509e6d7: am ab85436a: Merge "SDK only: improve SearchViewCompat" into jb-mr1.1-dev

* commit '3fb07dfb7f6ff8fa670d6fd38fa40bc1a0d1bc6a':
SDK only: improve SearchViewCompat
c509e6d78339b349714a09c2de63c4b0a2e34036 07-Dec-2012 Dianne Hackborn <hackbod@google.com> am ab85436a: Merge "SDK only: improve SearchViewCompat" into jb-mr1.1-dev

* commit 'ab85436af72bb621d7619398b9482d1427687dab':
SDK only: improve SearchViewCompat
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
68844d51ea75fe78388b56db77b2ffd1982b0034 29-Nov-2012 Chet Haase <chet@google.com> am f3e204d8: am 493d7132: am 37a7c5d2: Fix use of removeView() during layout

* commit 'f3e204d8cd615a98e29ce749531928d3400db960':
Fix use of removeView() during layout
493d713246b40d9fe67d5a8ad84e12d3f44905a9 29-Nov-2012 Chet Haase <chet@google.com> am 37a7c5d2: Fix use of removeView() during layout

* commit '37a7c5d234e23a4a3290bc75b064b355870e2622':
Fix use of removeView() during layout
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
bd7ba9ee07d9a5cb573f272ba0cef2368a1a54c2 27-Nov-2012 The Android Open Source Project <initial-contribution@android.com> Merge jb-mr1-dev into aosp/master - do not merge

Change-Id: I1bc3bdb524dffa351664c756742e1bbdc622a8b7
26ede9823f507da5be5784b75c5fc4e6169426f5 14-Nov-2012 Joe Malin <jmalin@google.com> am 752b5e48: am e950e1c4: am 0675f15e: am ad651749: am b6ede974: am 884c97b0: Javadoc: API level support for NotificationCompat

* commit '752b5e48607bce6b28469f1019c54a704ef359b4':
Javadoc: API level support for NotificationCompat
e950e1c4e80505c45def87faf9bc49177a95f499 14-Nov-2012 Joe Malin <jmalin@google.com> am 0675f15e: am ad651749: am b6ede974: am 884c97b0: Javadoc: API level support for NotificationCompat

* commit '0675f15e3f81c42e2195ddb6e0c2ce91b587ae80':
Javadoc: API level support for NotificationCompat
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
5c10c89b02f4668131a1435e4e6d7c72cc383be4 09-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> am 279d16a9: am a86ff2d3: am c6e1bcb2: am 215e3168: Updating the support library to user SDK version integer.

* commit '279d16a993d23c94d9fa5bfa667ac65a4b48acd4':
Updating the support library to user SDK version integer.
a86ff2d3b746eb935a6a674de43e0b1de17cecdd 08-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> am c6e1bcb2: am 215e3168: Updating the support library to user SDK version integer.

* commit 'c6e1bcb2506f8cc97febb2cdc61dde297d2edb5a':
Updating the support library to user SDK version integer.
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
0e2575ae97ccb986e9d32a57c9e4c44b3c1aa20e 16-Oct-2012 Adam Koch <akoch@google.com> ShareCompat: protect against getAction() returning null.

Change-Id: Ic877b7eac3cb0685a68a348b6f66953f4f4e5561
4/app/ShareCompat.java
9413b262674086b9260f30429176ecbfcadd9cdc 12-Oct-2012 Adam Powell <adamp@google.com> am 3044b9c4: DO NOT MERGE - Hide SlidingPaneLayout

* commit '3044b9c40c175eea2c405221886f76e47298af76':
DO NOT MERGE - Hide SlidingPaneLayout
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
5ef9bdec7eca31c537284c3c8687b043fe8f7276 10-Oct-2012 Adam Powell <adamp@google.com> am 661eaf55: Properly respect padding when drawing PagerTabStrip\'s underline.

* commit '661eaf5536d7c5648ca977ae9c806d235783db5c':
Properly respect padding when drawing PagerTabStrip's underline.
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
866f6f6646e8de62ca6abb01a45fca43f4caf2ba 10-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> am 71d54737: Fix bug #7297028 Settings app crash when swiping between Downloaded / Running / All for Apps

* commit '71d54737b6d60ec99799aabdf9b48d2da26d8ccb':
Fix bug #7297028 Settings app crash when swiping between Downloaded / Running / All for Apps
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
143e211e051154f664882455ca89d6888a8a4c51 04-Oct-2012 Philip Milne <pmilne@google.com> am a862399a: Fix for bug 7000638: ISE crash in Gmail.

* commit 'a862399a9f738aa7e14012bc30491627f9dc6bef':
Fix for bug 7000638: ISE crash in Gmail.
a862399a9f738aa7e14012bc30491627f9dc6bef 03-Oct-2012 Philip Milne <pmilne@google.com> Fix for bug 7000638: ISE crash in Gmail.

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

* commit '4ccc001f3f883190ac8d900c4f69d71fda94690e':
Maybe fix issue #7132432: com.android.vending: java.lang.IllegalStateException...
b83c02f94b45868aa3f14016747639bbd2ced185 15-Sep-2012 Roman Mazur <mazur.roman@gmail.com> Clear loaders array after they are destroyed.

Here is the story.
There is a bug. Decision about retaining state is made when
onRetainNonConfigurationInstance is called after onStop. I mean
doRetain() method is called in this case only. But it's possible that
activity is recreated because of a configuration change happening much
further after it was stopped. E. g. start an activity, navigate to
another from it (stopping the current), rotate the screen, press back.
In this case loaders are destroyed, not retained despite the
configuration change nature of activity recreation.
Well, let it be... But loaders are destroyed (reset), and at the same
time their instances are still in that sparse array. As a result,
instance of the destroyed loader is used again when new activity
starts. The loader reloads its data (since it was previously reset)
but cannot deliver it to a callback since LoaderInfo.mDestroyed is
true.

So, I do not see any reason mLoaders array is not cleared after all
the loaders are destroyed. If it is cleared, everything should work
well. A new loader will be created, it will load data and deliver to
a callback.

Btw, retain logic should be reconsidered to avoid the situation when
loaders are reset in case of the navigation described above.

Change-Id: Ia577caecbacb226a3ce525a01a66283efb6ba754
4/app/LoaderManager.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
e0d4884d24adff8d1e590ef50652941d8ed29d9b 27-Sep-2012 Dianne Hackborn <hackbod@google.com> am 3a757101: Work on issue #7232641: ISE crash when rotating phone in label list mode

* commit '3a7571011a8f2c2e2685c4e3e7a6fa46673ee7ea':
Work on issue #7232641: ISE crash when rotating phone in label list mode
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
2b4833e73102c14bef831c28c35435447d9c65c5 26-Sep-2012 Dianne Hackborn <hackbod@google.com> am 5ee9c1da: Merge "Fix how fragment/tab interaction works to avoid list view state loss." into jb-mr1-dev

* commit '5ee9c1da21b5d357f35ce8a92d6ccfe4e67f9a87':
Fix how fragment/tab interaction works to avoid list view state loss.
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
2e5796951e40a565f38f006d9a880d1d42deec9a 25-Sep-2012 Adam Powell <adamp@google.com> am e68f24ca: Refactoring in ViewPager for more descriptive names

* commit 'e68f24ca44991e124882736d9e97e72191582d73':
Refactoring in ViewPager for more descriptive names
e68f24ca44991e124882736d9e97e72191582d73 25-Sep-2012 Adam Powell <adamp@google.com> Refactoring in ViewPager for more descriptive names

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

* commit 'bea2fc73637a1d59eb5face20006a27df6893042':
Supply the full set of make* methods in IntentCompat
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
13a7ea3794cc9335c59b63317a646cd7730aaccf 25-Sep-2012 Adam Powell <adamp@google.com> am f19cb1f3: Port TaskStackBuilder fixes and features from frameworks/base

* commit 'f19cb1f3facdb9f90ef1b26537ff303eaa3db77d':
Port TaskStackBuilder fixes and features from frameworks/base
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
9eca85318f7035b76fc66e9516233fb58be36e8a 24-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> am 0af001b9: This is revert of a reverted patch to wait for some build system changes.

* commit '0af001b9e0d173f6b9836e66539bf764b897c36f':
This is revert of a reverted patch to wait for some build system changes.
94cd2b67bc7f0ce6305bc20fe4ca1d37a03d8dae 24-Sep-2012 Baligh Uddin <baligh@google.com> am 636b46ae: Merge "Revert "This is revert of a reverted patch to wait for some build system changes."" into jb-mr1-dev

* commit '636b46ae504464e894b2ba1b28d0ce98f754319b':
Revert "This is revert of a reverted patch to wait for some build system changes."
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
7b178e348fb3066c1321c9a84c7915aad82fb2e0 22-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> am a0390c9a: Merge "This is revert of a reverted patch to wait for some build system changes." into jb-mr1-dev

* commit 'a0390c9a88260deea354a9ef155603ffaee118dd':
This is revert of a reverted patch to wait for some build system changes.
d26667ced52aa4c5aac3497d34f2ac476adcae4a 22-Sep-2012 Adam Powell <adamp@google.com> am 5d6251c6: Track which PagerAdapter a PagerTitleStrip is watching

* commit '5d6251c65f890a57aa9929eb6aacae2d8b917ec9':
Track which PagerAdapter a PagerTitleStrip is watching
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
5ebeec308cbefa2ca44c4cb56ea17eca9fc6904e 21-Sep-2012 Adam Powell <adamp@google.com> am c1c799c9: Merge "Add GestureDetectorCompat" into jb-mr1-dev

* commit 'c1c799c97ce39a184b0c58811e53e983d291b3d6':
Add GestureDetectorCompat
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
cd698f72d280038c0aa128c1052a1f3efe8c9d20 18-Sep-2012 Casey Burkhardt <caseyburkhardt@google.com> am b0479627: Adds new AccessibilityEvent types to the support lib.

* commit 'b047962755c59a9855328ed273bae33a0663e21a':
Adds new AccessibilityEvent types to the support lib.
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
becb552984e4693c87f5f0ae38b6ebf4f719b740 14-Sep-2012 Dake Gu <dake@google.com> ViewPager: fixed paddingLeft/paddingRight handling

This effort is to show children correctly when "clipToPadding=false",

In current code, the child is measured excluding paddingLeft and paddingRight.
But there are couple other places that didn't take padding into consideration.
This CL fixed the issue.

This is a high risk change, don't merge into jb-mr1-dev.

Change-Id: I0a9413ded88c999a37abbeecaec7a352d1922ac8
4/view/ViewPager.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