• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/view/
History log of /frameworks/base/core/java/android/view/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e62fa825794967c2067be86e8b57b83f4b82ee1c 10-Jan-2013 Dianne Hackborn <hackbod@google.com> Merge from master: fix issue #7966357: Super lights out mode vs. volume dialog

The volume panel now forces us out of the UI modes while it
is up.

Change-Id: If39fa33b1c52579bf5d376ce4722408cee3ca951
olumePanel.java
indowManager.java
5042b051b395f36d3c582202e9e78758934b79a6 18-Dec-2012 Robert Ly <robertly@google.com> am e7c3fba7: Merge "change onEnd() to withEndAction() in javadocs" into jb-mr1-dev

* commit 'e7c3fba7929a1cb73bbe6ca84a5140febc09a62a':
change onEnd() to withEndAction() in javadocs
8ee2a70f08f54314d3ff0cd571a7ea9337065389 18-Dec-2012 Robert Ly <robertly@google.com> change onEnd() to withEndAction() in javadocs

Change-Id: Ic9a04bf86d62249b47dc654052d58797dfc3990c
iewPropertyAnimator.java
4abf3f987f1d7c1ca909c4b4008796e1a5851951 07-Dec-2012 Craig Mautner <cmautner@google.com> Call setSize to sync Surface to SurfaceFlinger. DO NOT MERGE

RecentsActivity screenshots are called for very quickly after
WindowStateAnimator prepareSurface(). Without enough delay the
Surface.setLayer call does not propagate to the SurfaceFlinger
and the screenshot is incorrect (black) because it stops sampling
the layers too early.

This fix calls Surface.setSize() for each sampled Surface in
screenshots. setSize forces the SurfaceFlinger to process all
transactions queued before returning from closeTransaction.

Bug 7552304 fixed.

Change-Id: I1911dfa0b09cab713c55f5ba0c612496337a77df

Conflicts:

services/java/com/android/server/wm/WindowManagerService.java
urface.java
07efb0303ff031512b7c38c6e7e9c2fcdb5849c0 05-Dec-2012 Chris Craik <ccraik@google.com> Merge "Defer process mode upon draw" into jb-mr1.1-dev
9efa222b34139b3b3c239a3d2c25915fc9e44660 05-Dec-2012 Chris Craik <ccraik@google.com> Defer process mode upon draw

Process mode functor execution can be expensive, and cause dropped frames if it
runs between two expensive frames (when there isn't cpu time to spare). Avoid
this by delaying the process mode by an additional 4 ms every time we hit a draw

bug:7670326
Change-Id: I27f42458d4a815183a4b24c7748e05bc361fb943
ardwareRenderer.java
7f3994ec2a5dce1a037f04714b1f25cab85affb6 04-Dec-2012 Jeff Brown <jeffbrown@google.com> Pin electron beam surface to natural orientation.

If a rotation occurred while the electron beam surface was showing,
the surface may have appeared in the wrong orientation. We fix this
problem by adjusting the transformation matrix of the electron beam
surface according to the display orientation whenever a display
transaction occurs.

The rotation itself is allowed to proceed but it is not visible
to the user. We must let this happen so that the lock screen
is correctly oriented when the screen is turned back on.

Note that the electron beam surface serves two purposes.

First, it is used to play the screen off animation.
When the animation is finished, the surface remains visible but is
solid black. Then we turn the screen off.

Second, when we turn the screen back on we leave the electron beam
surface showing until the window manager is ready to show the
new content. This prevents the user from seeing a flash of the
old content while the screen is being turned on. When everything is
ready, we dismiss the electron beam.

It's important for the electron beam to remain visible for
the entire duration from just before the screen is turned off until
after the screen is turned on and is ready to be seen. This is
why we cannot fix the bug by deferring rotation or otherwise
getting in the way of the window manager doing what it needs
to do to get the screen ready when the screen is turned on again.

Bug: 7479740
Change-Id: I2fcf35114ad9b2e00fdfc67793be6df62c8dc4c3
isplayInfo.java
bb4ca5271a806c94a59d98c5c718db7b89728246 03-Dec-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7649590: Background windows sometimes not being hidden for secondary users

There are two things going on here:

(1) In secondary users, some times theme information such as whether
the window is full screen opaque was not being retrieved, so the window
manager didn't know that it could hide the windows behind the app.
This would just be a performance problem, except that:

(2) There appear to be a number of applications that declare that they
are full screen opaque, when in fact they are not. Instead they are
using window surfaces with an alpha channel, and setting some pixels
in their window to a non-opaque alpha level. This will allow you to
see whatever is behind the app. If the system happens to completely
remove the windows behind the app, and somebody is filling the frame
buffer with black, then you will see what the app intends -- those
parts of its UI blended with black. If one of those cases doesn't
hold (and though we have never guaranteed they would, in practice this
is generally what happens), then you will see something else.

At any rate, if nothing else than for performance reasons, we need to
fix issue #1.

It turns out what is happening here is that the AttributeCache used
by the activity manager and window manager to retreive theme and other
information about applications has not yet been updated for multi-user.

One of the things we retrieve from this is the theme information telling
the window manager whether an application's window should be treated
as full screen opaque, allowing it to hide any windows behind it. In
the current implementation, the AttributeCache always retrieves this
information about the application as the primary user (user 0).

So, if you have an application that is installed on a secondary user but
not installed on the primary user, when the AttributeCache tries to retrieve
the requested information for it, then from the perspective of the primary user
it considers the application not installed, and is not able to retrieve that
info.

The change here makes AttributeCache multi-user aware, keeping all of its
data separately per-user, and requiring that callers now provide the user
they want to retrieve information for. Activity manager and window manager
are updated to be able to pass in the user when needed. This required some
fiddling of the window manager to have that information available -- in
particular it needs to be associated with the AppWindowToken.

Change-Id: I4b50b4b3a41bab9d4689e61f3584778e451343c8
WindowManager.aidl
ce463847db68afbb796377c6a55209e102774f8c 01-Dec-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7651552 resetRtlProperties() is called way too often" into jb-mr1.1-dev
cb5f9db47a471620061ccb6a574afc209c610dd2 01-Dec-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7651552 resetRtlProperties() is called way too often

- remove unnecessary calls to resetRtlProperties().
- now reset of RTL properties will only be done when adding a View
(and no more when removing it)

Change-Id: I0d42128c9f7df6085fb92bb5af5c9bd4d1ba88a3
iew.java
iewGroup.java
0e7adaff99778c596bfd3f4c1e42710592c472a2 30-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> am 438a3b35: Merge "Cannot move edit text cursor to first position using character granularity." into jb-mr1-dev

* commit '438a3b35f7a6184a19919de90f733be82e21a84c':
Cannot move edit text cursor to first position using character granularity.
7232b0ad675402222bce3b478dbb682848d5e9e6 29-Nov-2012 Adam Powell <adamp@google.com> Fix time-related ScaleGestureDetector methods

Bug 7626515

Change-Id: Ie7abf9c166284a74b4e7bcf9de25520cf08e3b2d
caleGestureDetector.java
02c6fca90ad28c391ad6f0f70b24996acb206d74 27-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Cannot move edit text cursor to first position using character granularity.

Navigating over text backwards by character does not allow the cursor to get
at the beginning of the text and it stops one position before the start. Now
the cursor can get to index zero which is before the first character.

bug:7307336

Change-Id: I109b579835cc080907b20b01e0cf07811e962c6c
iew.java
7d529cd6ebd15b88df07278a3cbee55090ffa2d6 15-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix Javadoc for View layoutDirection / textDirection / textAlignment

Change-Id: I2fa2f02bd2f59ee93ccd56fc6bd28b93e4713cc4
iew.java
4eeb4f664ac6b5901a8e874dcf70c0382295f792 08-Nov-2012 Jim Miller <jaggies@google.com> Add mechanism to kick keyguard to show the assistant

Fixes bug 7499778

Change-Id: Ic9ea514feb489feeee6716f40bdb9792842f9515
WindowManager.aidl
indowManagerPolicy.java
bfec0a8616bc197ee3b7b71be6fed1939d0c3c4d 06-Nov-2012 Jim Miller <jaggies@google.com> Add isSafeModeEnabled() API to WindowManagerService

This adds a means of determining when the device is in safe mode,
as required by keyguard to disabled some features.

Change-Id: I31d357e6738c92e1837f9e0263e5f3f4de66315a
WindowManager.aidl
0f4d5df5d815466398dba5f2d07aa98f18c35aaa 06-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "View's visibility to the user not checking predecessor alpha." into jb-mr1-dev
11f19f15ea474edde07bf34877d2531fff6c26f0 03-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> View's visibility to the user not checking predecessor alpha.

1. A view is visible to the user if is attached to a visible window,
its visibility is VISIBLE, its alpha is not zero, all its
predecessors have visibility VISIBLE and non zero alpha, the
view is not fully covered by predecessors and is within the
screen.

The function that computes whether a view is visible for
accessibility purposes was not taking into account the
predecessors' alpha.

bug:7454355

Change-Id: I7609f4366da260091d68e5b25832498843fd3d0a
iew.java
f74d0c39b62ff542542df69e641477eb1e09b157 02-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Polish user selector accessibility." into jb-mr1-lockscreen-dev
fc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa 02-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Polish user selector accessibility.

1. The current user was not announced as such.

2. The event for a user switch was not sent.

Change-Id: Ib3caf1f9e93ea1f0b5450246601bc37f416be6da
ccessibility/AccessibilityRecord.java
a94c3194ffa896632f025b983ca57095cd4ba277 01-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Cannot click on partially visible views in touch exploration.

1. In touch exploration mode the system clicks in the center of the
accessibility focus rectangle. However, if this rectangle is only
partially shown on the window or on the screen the system may not
be able to perform the click, if the accessibility focus center
is not on the screen, or click on the wrong window, if the access
focus center is outside of the window.

This change clips the rectangle to the window bounds which and the
display bounds. This will ensure no clicks are sent to the wrong
window and no clicks are sent outside of the screen.

bug:7453839

Change-Id: I79f98971e7ebcbb391c37284467dc76076172c5f
iewRootImpl.java
3d1728c03a0cd1aaed6bc81c97de27d62c771a6e 01-Nov-2012 Romain Guy <romainguy@google.com> A new clock widget to create lock screen appwidgets

This new widget replaces DigitalClock. It listens to all the correct
system events and offer the ability to customize the formatting
patterns in 12-hour and 24-hour modes. It also supports fixed
time zones to create world clocks.

One more step towards becoming ClockOS!

Change-Id: I677e5dfca8cd8c8d1f8c49e54d7507f4d1885bf4
iew.java
68b14054b96571d4009c6c5a9b4c3413d908a523 27-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"" into jb-mr1-dev
bb4b601673a4f910d3e467bc5ce39538438859ce 27-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"

This reverts commit 6bf6eb7d5f9207d6a3e1d6b61f17a8654d06fbdb.
and also fbc21e126f329b7b7c161858c1390ccb023be07e

I have also removed all unnecessary calls to resolveLayoutDirection(int). This is possible as
we are resolving layout params on every child of a ViewGroup as of commit
fcc3348f61b2992f0b84e8e8dcb3535fc715298f

Change-Id: I262a375b03fcc3c9261cbe2edebb6ec42ec2e186
iewGroup.java
07ce0ca265274c5ba95e6ec3e0950e38b8ce97ea 27-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7419054 TextView Drawables resolution is broken in RTL mode" into jb-mr1-dev
1957d281ea123e4925e51fa5ad22ce239ef2a07d 26-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7419054 TextView Drawables resolution is broken in RTL mode

- check layout direction previous value in the onResolveDrawables(int) callback
- dont do any Drawables resolution if we cannot resolve the layout direction
- also remove unnecessary call to resolveRtlPropertiesIfNeeded() in ViewGroup when
adding a child as the call to resolveRtlPropertiesIfNeeded() will be done into
the measure() call itself later

Change-Id: I62237af3d307dfea203f7f2865551d1c61a0e0b8
iew.java
iewGroup.java
92130f6407dc51c58b3b941d28a6daf4e04b8d62 25-Oct-2012 Jeff Brown <jeffbrown@google.com> Add MediaRouter API to get presentation display.

This new API makes it possible for an application to ask on
which Display it should show a Presentation based on the currently
selected media route.

Also added a new API on DisplayManager to query displays that
support a certain category of uses.

Improved the documentation of the Presentation class to explain
how to choose an appropriate Display for presentation.

Bug: 7409073
Change-Id: Iab451215e570ae55f3718fc228303143c800fe51
isplay.java
isplayInfo.java
3e297339f8b77d54f520d5471c90c9d04e78400e 25-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "FIx bug #7414801 Should make private and final View.TEXT_DIRECTION_DEFAULT and View.TEXT_ALIGNMENT_DEFAULT constants" into jb-mr1-dev
72898e982867ff11ff6494ad71898176e30127a9 25-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> FIx bug #7414801 Should make private and final View.TEXT_DIRECTION_DEFAULT and View.TEXT_ALIGNMENT_DEFAULT constants

- made them private and final
- fixed comment

Change-Id: Ia1d22329edb7ac26e7bcd0489770a99ad41c4f0e
iew.java
9933331506c91e535ba277bef9c44e1852ccf16c 24-Oct-2012 Romain Guy <romainguy@google.com> Merge "Ensure we have a GL context before deleting View layers Bug #7391098" into jb-mr1-dev
f0681b34dffc1510cbd9c3da5c3a7e695553fa8d 24-Oct-2012 Jeff Brown <jeffbrown@google.com> Secure windows, secure surface views and secure displays.

Add new API to determine whether a display is secure.
Add new API to make a SurfaceView secure.
Clarify documentation.

Bug: 7368436
Change-Id: I7068c34c910e43b4bc72e43fa0dded59a25f0fe2
isplay.java
isplayInfo.java
urfaceView.java
indowManager.java
bd17bd34311ba5af4b6ac9ddc4b8c71888f2e6f1 24-Oct-2012 Romain Guy <romainguy@google.com> Ensure we have a GL context before deleting View layers
Bug #7391098

The existing code was doing a make current to guarantee we have a
current context. This can however fail when the surface is destroyed
which could lead to GL calls without an EGL context, and therefore
potential leaks. This change fixes the issue by using a technique
found in HardwareRenderer.destroyHardwareResources(). If the surface
is not available then we use a special 1x1 pbuffer as a way to get
a valid context.

Change-Id: I716d3799bf90120d793d76e90a83956837ecd491
ardwareRenderer.java
6757572b39d3802c4d7b69467b5ebf69a96c208b 24-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Add throwing InvalidDisplayException from addView." into jb-mr1-dev
fbba753f62f13a12d9287c67921d1ea60e92768d 24-Oct-2012 Chet Haase <chet@google.com> Merge "Handle offscreen animations correctly" into jb-mr1-dev
b75ade9cce02dffb967ff4719381254585074c58 24-Oct-2012 Romain Guy <romainguy@google.com> Merge "Use existing display list to render the resize buffer Bug #7400903" into jb-mr1-dev
6018aeec27914f138f36b00d8f00136a87562fd3 23-Oct-2012 Craig Mautner <cmautner@google.com> Add throwing InvalidDisplayException from addView.

Throw an InvalidDisplayException to addView if the display being
added to has been removed. Handle this exception in Dialog.show()
by removing the view after it has been added and rethrow the
exception from there.

Add javadoc to ViewManager.addView and Presentation.show explaining
the new exception and how best to handle it.

Bug: 7368565 partially fixed. It remains for the Videos app to
handle Presentation.show throwing the InvalidDisplayException.

Change-Id: Ib4303c9b3f7bf7a0cfa95d19bd60a0c128658c48
iewManager.java
iewRootImpl.java
indowManager.java
indowManagerGlobal.java
3561d062ff01f3455c984e4cfcd101a64a2e902f 23-Oct-2012 Chet Haase <chet@google.com> Handle offscreen animations correctly

A bug in software rendering caused animations on views that are offscreen
to not get drawn, therefore the animation doesn't continue (since old-style
animations depend on the logic in the drawing code to keep running). Fix is
to special case the isAnimating case in ViewRoot to go ahead and schedule
a traversal even if the dirty rect does not intersect with the visible region.

Issue #7396035 Animations starting offscreen don't draw run/end/draw properly (sw rendering only)

Change-Id: Iae25b3a424ddc5a16ba431ecd68cf42d5500db3f
iewRootImpl.java
cd79b35c3828e0ebf4c9e68da75f9d857ccf01db 24-Oct-2012 Jamie Gennis <jgennis@google.com> Merge "Surface: add the PhysicalDisplayInfo#secure field" into jb-mr1-dev
95429c3d1b8113c23b0aad3b74d724dccfad7fa9 23-Oct-2012 Jamie Gennis <jgennis@google.com> Surface: add the PhysicalDisplayInfo#secure field

Bug: 7368436
Change-Id: I38bf7bbfca354380c30da7516f628cf40416d350
urface.java
3a2d6aaf8e71a89f82517369acc03d46ffe9bb22 23-Oct-2012 Romain Guy <romainguy@google.com> Use existing display list to render the resize buffer
Bug #7400903

Change-Id: Ia2e534e47b4f67c280e2de7ce99cae0202751c42
iewRootImpl.java
41308e2936c768103d0e9c82500e97938d6797f1 23-Oct-2012 Romain Guy <romainguy@google.com> Properly draw the window background on window resize
Bug #7385090

This change gets rid of two silly asumptions:
- That a layer needs to be cleared with opaque black (it shouldn't,
it's already cleared to transparent and the view will cover it up
with its own background)
- The the clip should be dirty at the beginning of a frame only
when the render target is opaque

Change-Id: I415b6d3cab196057fb0281419a53fef601a44e28
iewRootImpl.java
23d622418b5c67dc43faabd930d1c59c5ce34f6a 22-Oct-2012 Jamie Gennis <jgennis@google.com> Merge "Set the secureness when creating displays" into jb-mr1-dev
5311c4476ec59f0cd1502b81b03141bac48ee385 22-Oct-2012 Adam Powell <adamp@google.com> Remove View's long press callbacks when ACTION_CANCEL is received

Bug 7391646

Change-Id: Icd100d3eff63a54c892367fb70dec517257a01f8
iew.java
2dd0c3a576925be4b5f0438a57af626e6e162e0e 22-Oct-2012 Daniel Sandler <dsandler@android.com> Merge "New lockscreen: allow search gesture from nav bar." into jb-mr1-dev
d3156a2a5656e154b517b5fd3498fc46c045fcd3 20-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7164967 android.view.cts.ViewGroup_MarginLayoutParamsTest#testResolveMarginsRelative failures on JO

This was a regression introduced by a previous CL.

- we actually need to let the layout params resolution goes all the time
as we dont have any "isResolved" state and a public API for doing its reset thru ViewGroup.

The current implementation is simple and works even if it is doing sometimes a bit more
than it should really do. This is a well conscious tradeoff.

Change-Id: I5c4d532331b3970dfe88f016bc305cbc4a0d83f1
iewGroup.java
7bbf8163fb83afc54b353a8def52bfb87ecce047 20-Oct-2012 Jamie Gennis <jgennis@google.com> Set the secureness when creating displays

This change makes use of the new 'secure' argument to the
ISurfaceComposer::createDisplay method. In this change both the overlay and
wifi displays are hard-coded to be non-secure displays.

Bug: 7368436
Change-Id: Ib65312f2adab5104d8deefbfc32af9dc106a9129
urface.java
d5483c3157a28e2ebc05a0c918df8a2be0a7fc89 19-Oct-2012 Daniel Sandler <dsandler@android.com> New lockscreen: allow search gesture from nav bar.

Show a lights-out pip if home is invisible but search is
still OK.

Change-Id: Ifc69c12296cc8e8cf7c89dd06173d7abf499a878
iew.java
398a6713c355cf59af071e944268aec7c0096b5a 19-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7367429 Popup window should get its direction from it Anchor View if it can" into jb-mr1-dev
8b946c055ddd90cf79cd407c9f68a013d5d24c2a 19-Oct-2012 Romain Guy <romainguy@google.com> Merge "Defer layer rendering to avoid stalls Bug #7326824" into jb-mr1-dev
0ed07a0a30ef71053d0426956d3c198bb7540d4e 19-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Allow getDisplayContentLocked to return null..." into jb-mr1-dev
09a5321c60c02d944684abb98e0daec9dd810fab 19-Oct-2012 Dave Burke <daveburke@google.com> Merge "Revert "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.""" into jb-mr1-dev
579e14016c4a972e70cd2bd0c6d89bbd7e9e941c 19-Oct-2012 Dave Burke <daveburke@google.com> Revert "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.""

This reverts commit 57fca90ac65ecfe97acd4c93d442c3db8f815e11

Change-Id: I21b007a7d150a4c23f25a706cdba5cb86198198f
ayoutInflater.java
iewGroup.java
b003e28c1d65d06fcb5690ff2955d007d8f7a626 18-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7367429 Popup window should get its direction from it Anchor View if it can

- set the popup layout direction depending on the anchor view's layout direction
(if not defined before)
- make first pass of ViewRootImpl.performTraversals() and configuration update
not override any layout direction that could have been set before

Change-Id: I8e86ca805f0caf52c058d06aa7861df56fb862e6
iewRootImpl.java
45c77ca0f6afd568ff6d149e17fb43c684e51722 19-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix missing @hide on ViewGroup.resolveLayoutParams()" into jb-mr1-dev
1e0ed6b2320893efdecdf300a9adf1dce3700710 19-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix missing @hide on ViewGroup.resolveLayoutParams()

- as we dont need this to be public

Change-Id: Ib8de262eec26d4785b13875d59599369b06a067d
iewGroup.java
07f85fecdd9f13a617953c7377ff62b4133b4e30 19-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7374285 GridLayout layout param margins are broken in RTL mode" into jb-mr1-dev
7c25aab491707f7324f9941b8cfa9bd2b4b97e76 19-Oct-2012 Romain Guy <romainguy@google.com> Defer layer rendering to avoid stalls
Bug #7326824

When a layer is taken out of the cache and initialized it gets cleared
to prepare it for future rendering. This triggers the following sequence
of operations:

glBindFramebuffer(layer.fbo)
attach texture storage to FBO
glClear()
glBindFramebuffer(defaultFbo)

The clear forces a resolve on tilers which stalls the CPU for a little
while, thus producing jank during animations. This change moves the
clear to the next frame when we know we will have to execute a resolve
anyway.

Change-Id: Ic1939c25df20ed65a4c48dc81ee549b2cd8b6ec3
ardwareRenderer.java
2d5618c22101cfc4d6478cfe1d846798389540c1 18-Oct-2012 Craig Mautner <cmautner@google.com> Allow getDisplayContentLocked to return null...

... and check for null returns. This prevents DisplayContent objects
from containing null Display references.

Bug: 7368565 fixed.
Change-Id: I830fb4c1349204c366193657a95a92c48ccee66c
indowManagerGlobal.java
fcc3348f61b2992f0b84e8e8dcb3535fc715298f 18-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7374285 GridLayout layout param margins are broken in RTL mode

- resolve layout params in ViewGroup when layout direction is changed
- layout param resolution is checking the previous layout direction to
check if we need to resolve

Change-Id: I70af2ad2b4ec83c2ec6c93b3ff445852500d1687
iew.java
iewGroup.java
871a6d7d4fb3bffaff37e45f0b4f5e3c862239d2 18-Oct-2012 Justin Ho <justinho@google.com> Merge "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."" into jb-mr1-dev
4e360f06003dd31da25dc8529fa1876ab573d0aa 18-Oct-2012 Justin Ho <justinho@google.com> Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."

This reverts commit f49d835dfe1bd21920ff8a48cbdfb9c1fd632fd9

Change-Id: If0093f23d6458e53619220fbf0aa5f844ad2c790
ayoutInflater.java
iewGroup.java
4db3165793a837ffc8197184fbc13ef2217e3dfc 18-Oct-2012 Justin Ho <justinho@google.com> Merge "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height." into jb-mr1-dev
f49d835dfe1bd21920ff8a48cbdfb9c1fd632fd9 18-Oct-2012 Justin Ho <justinho@google.com> This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.

This reverts commit 57fca90ac65ecfe97acd4c93d442c3db8f815e11

Change-Id: I0fe25056cd54b8852b32ae4621e048d3f5c7d555
ayoutInflater.java
iewGroup.java
9911d18f0ebc9a68e41838471de507a04ea8fd9d 17-Oct-2012 Chet Haase <chet@google.com> Fix for previous commit on non-interesecting invalidations

An error in the logic meant that some valid invalidations weren't getting through,
causing Launcher (for one) to get stuck sometimes.

Change-Id: I180622623b19770cd61034a5bd7991a5e2fd0a64
iewRootImpl.java
d95316e2c78c7e6cfacac9cced66f7ace36d6497 17-Oct-2012 Chet Haase <chet@google.com> Merge "Skip drawing offscreen objects" into jb-mr1-dev
b78ee0ef60e5323b15b4ffdc97be4d889e272b79 17-Oct-2012 Chet Haase <chet@google.com> Skip drawing offscreen objects

Previous logic in ViewRoot would schedule and perform a draw
when it was requested by offscreen objects. The problem was that the
logic checking for an interesection between the offscreen invalidation rectangle
and the onscreen display rectangle was flawed. The fix was to use the return value
from Rect.intersect() to do the right thing and skip drawing.

Issue #7366568 Offscreen invalidates can cause useless work for framework

Change-Id: Ie4e277c695dacee39848a8a223f0c4ee34d9bb4d
iewRootImpl.java
e9a33c6098f51c687665adbed799860df2569ad0 17-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7363252 Popup and Dialog UI widgets should be RTL aware" into jb-mr1-dev
161cfef36d8fac79f8665ecdb78d3f8f8f5ba5af 17-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7363015 Padding is wrong for first item in a ListPopupWindow" into jb-mr1-dev
144d405511e9ed685568e50db87b22cc42b6a252 17-Oct-2012 Justin Ho <justinho@google.com> Merge "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."" into jb-mr1-dev
57fca90ac65ecfe97acd4c93d442c3db8f815e11 17-Oct-2012 Justin Ho <justinho@google.com> Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."

This reverts commit dcf59629beed8182759a1068ab8ee997935bef82

Change-Id: I27426a0ffe993973ffb0b05ce1ed3afe73fcd87d
ayoutInflater.java
iewGroup.java
cf12897cf553bfd07734dad3de071915fd21d4eb 17-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7363252 Popup and Dialog UI widgets should be RTL aware

- set the Configuration's layout direction in ViewRootImpl instead of PhoneWindow$DecorView
- then remove unecessary API on ListPopupWindow for passing the layout direction

Change-Id: Ia2c6e4aa8cb82aed9b088bc3b8004ea0a1ded1f3
iewRootImpl.java
a7e0bcd87287ff2f11cdd872026f2eb9ee22bcd0 17-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7363015 Padding is wrong for first item in a ListPopupWindow

- when adding a View to a ViewGroup reset all RTL properties of the View
to be added instead of only resetting its layout direction

Change-Id: Idfa3acce1700c52e20ebfd4c9c4f4ecb3c1d7520
iewGroup.java
8e6145013a6533ca6a33e03c8a5e45ad2de431e4 17-Oct-2012 Jim Miller <jaggies@google.com> Merge "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height." into jb-mr1-dev
dcf59629beed8182759a1068ab8ee997935bef82 17-Oct-2012 Jim Miller <jaggies@google.com> This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.

Revert "Revert "Revert "Fix for bug 6050753."""

This reverts commit 6868d6f349610c15256471cc3d5fa708cbfd5f1d

Change-Id: I8843d92dba14c82f06d9ee59517cf11b2abbbf04
ayoutInflater.java
iewGroup.java
964629aca8d076826198a21b654ed858618b5619 16-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Occasionally triple tap on the keyboard toggles screen magnification." into jb-mr1-dev
55468c64bc4f3c4b16bf144f66907d75bb656b0a 16-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Occasionally triple tap on the keyboard toggles screen magnification.

1. Sometimes unlocking the device when the IME is up and triple tapping on the keyboard
toggles screen magnification. The core reason is that when the kayguard window is
shown we hide all other windows and when it is hidden we show these windows. We did
not notify the screen magnifier for windows being shown and hidden. Also when the
windows are shown we may reassign layers to put the IME or the wallpaper in the
right Z order. The screen magnifier is now notified upon such layer reassignment
since window layers are used when computing the magnified region.

bug:7351531

Change-Id: I0931f4ba6cfa565d8eb1e3c432268ba1818feea6
DisplayContentChangeListener.aidl
40b7ea443612213e9c973393658f07c176c3269e 16-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility focus drawing does not take into account view's transformation matrix." into jb-mr1-dev
6868d6f349610c15256471cc3d5fa708cbfd5f1d 16-Oct-2012 Mathias Agopian <mathias@google.com> Revert "Revert "Fix for bug 6050753.""

Emergency revert -- fix reboot loop.

This reverts commit 8e63bcc63fd002231f8391af8982eeb235d096c8.

Change-Id: I4373b867d756de09cdf6aa0aba9e6ff8f47bcdbc
ayoutInflater.java
iewGroup.java
809bb404da66498f1723279542d2a7d1f4512052 16-Oct-2012 Jamie Gennis <jgennis@google.com> Merge "Flag window animation transactions as animations." into jb-mr1-dev
b6ce6e42cc89864354c7ecb9ae80504a6c9dddcf 16-Oct-2012 Jamie Gennis <jgennis@google.com> Flag window animation transactions as animations.

This change makes WindowManager use the new eAnimation flag when animating
windows. This prevents some of the window updates from being combined with
updates from prior animation frames.

Bug: 7353840
Change-Id: I5a9f8fa2c1a2f5f08363a45cd9f28bb97cd77080
urface.java
78bd9835eb99fd829026a05dc543c6708367ca5b 16-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus drawing does not take into account view's transformation matrix.

1. We are using the view drawing bounds but did not take into account the transformation
matrix. This leads to showing ugly artifacts on the launcher's hotseat which is
pretty much the first thing we see.

2. Updated the documentation of View.getDrawingRect to be more explicit that the
results does not have the transformation matrix applied.

bug:7354033

Change-Id: Ief2e0ea8da05471d71e215ce4497d94ff6e92d1a
iew.java
iewRootImpl.java
69fbc3c089e3399ebd94cc3a7ba846f426a7b32d 16-Oct-2012 Romain Guy <romainguy@google.com> Merge "Revert "Fix for bug 6050753."" into jb-mr1-dev
edefaa25db7c9cd4facab258a0fd5913c6493bd0 16-Oct-2012 Romain Guy <romainguy@google.com> Merge "Ensure we always request conformant OpenGL ES 2.0 contexts" into jb-mr1-dev
8efca54693b1fa956eede0367fffe8bb0d3531f0 16-Oct-2012 Romain Guy <romainguy@google.com> Ensure we always request conformant OpenGL ES 2.0 contexts

Change-Id: I6b9d6f2dace02ad28baef6811007302b8e552a54
ardwareRenderer.java
8e63bcc63fd002231f8391af8982eeb235d096c8 15-Oct-2012 Romain Guy <romainguy@google.com> Revert "Fix for bug 6050753."

This reverts commit c29f031598811486d83f418fd08fbfe1fc41788a.
ayoutInflater.java
iewGroup.java
edc900528937cd03f0d3a94fdf73d019324a2054 15-Oct-2012 Romain Guy <romainguy@google.com> Update javadoc

Some View.post*() methods can be invoked from arbitrary thread
independently of whether the View is attached to a window.

Change-Id: I587b5909ab8b06665978d001548d56c8c22043c1
iew.java
84ebb35f392478600ddf8f08107fb345f13ef91c 12-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7334966 Padding is still broken in RTL languages

- do correct resolution and reset propagation for all RTL properties (padding and drawables included)
- fix CheckedTextView padding too

Change-Id: Ie603683a2324b2a6ef2c03633d01d5726c883b90
iew.java
iewGroup.java
ec139240480702e80cd56c0309394f7549a993f3 11-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)" into jb-mr1-dev
9aefa1457967b52f1865173aa70896db84f111f1 11-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Send accessibility event for content change upon setting content description." into jb-mr1-dev
1eac6b7b0554eb126d113e49009208a1da5f23d9 09-Oct-2012 Satoshi Kataoka <satok@google.com> Don't update the text services locale in the main thread

This is a revised version of I9f8a81d3c9261a6cfc00292b9f5cb06053b9112d

Bug: 6761326
Change-Id: I43a0a65df6e4b6941bd0dca548c4af20b7e5bf58
extservice/TextServicesManager.java
b708f7703b98e14f01311dbc93e2636abe4790c9 11-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Send accessibility event for content change upon setting content description.

1. Since the content description is generated dynamically we need to notify
clients when it changes so they can drop cached state to get the most
recent content. This really is used by the caching we do to optimize
the window query APIs. Otherwise, the user does not see the current
content.

bug:7327556

Change-Id: I9be46508e86864566e027c64565eb1d787ec9363
iew.java
6bf6eb7d5f9207d6a3e1d6b61f17a8654d06fbdb 11-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)

Part 2

- fix remaining UI widgets by asking layout params resolution when needed

Change-Id: I97c41639da645d77eeda85feec3bbcc7fc1260b9
iewGroup.java
2918ab6c3258639148b8a5c78a34483af195246e 11-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7326778 Rename LayoutParams.onResolveLayoutDirection(int)

- rename to LayoutParams.resolveLayoutDirection(int)
- upate 17.txt too

Change-Id: I54fe28dc47cfdb65ef0b5b0244dabbe1d675c781
iew.java
iewGroup.java
27258209fee11a45154875c3c5493962f55904d2 10-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Return true on successful accessiblity action click/long click." into jb-mr1-dev
96985fccdcff69c8410caee23aa088cbd8af34b6 10-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Return true on successful accessiblity action click/long click.

1. If a view is clickable or long clickable perfroming the corresponding
accessiblity action should return true no matter whether there is a
registered on click/long click listener. Currently true is returned
only if there is a listener but it is also possible that a sub-class
overrides performClick and does work there. For example CompoundButton.
Now if the view is clickable or long clickable we will call the
perfrom* method and return true, which is we clicked.

2. Fixed some JavaDoc indentation.

bug:7318777

Change-Id: Id603fee378b8f7d07f1128b5641ede57640bab53
iew.java
3307958c6b4b3707c8861db829893b1f5820b677 09-Oct-2012 Adam Powell <adamp@google.com> Allow more scaling values to be tuned in resource overlays

Bug 7267507

Change-Id: I3fba6882a0ac4cb7d34430ba36dec83c030a73cd
caleGestureDetector.java
9e316a1a2a8d734315bbd56a85308f9657a92913 09-Oct-2012 Jeff Brown <jeffbrown@google.com> Blank or unblank all displays as need.

Ensures that both the internal display and HDMI are blanked
or unblanked in tandem.

Bug: 7309812
Change-Id: Ie8b96d393e8bb20d23c92f3320142d9f7cf42aff
urface.java
133fcdf44bccbda1fe7931bca7d911806435491b 08-Oct-2012 Romain Guy <romainguy@google.com> Merge "Clear draw flags when updating TextureView's layer Bug #7171323" into jb-mr1-dev
52b307ebc86e12e368694442eb8751e7e0de239e 08-Oct-2012 Romain Guy <romainguy@google.com> Clear draw flags when updating TextureView's layer
Bug #7171323

Finally!

Change-Id: Iefef8fb9a8ef1fe4b374005067145319312c57cf
extureView.java
33877e15b8bfc50bd874027689a4794aa93b923d 07-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Adds showWhenLocked attribute to Activities." into jb-mr1-dev
5962b12bedc4a1d0354816c1cd6b06ba04f6d807 05-Oct-2012 Craig Mautner <cmautner@google.com> Adds showWhenLocked attribute to Activities.

The new attribute allows an Activity such as the alarm to appear
on all users screens.

Bug: 7213805 fixed.
Change-Id: If7866b13d88c04af07debc69e0e875d0adc6050a
WindowManager.aidl
indowManager.java
d9c99124d4870361c7c1e28fb78adf245eb1305a 06-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Incorrect temporary detach of accessibility focused view may lead to a crash." into jb-mr1-dev
c8860602726d771c69a3fefedfa03419d1c03b1c 06-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Incorrect temporary detach of accessibility focused view may lead to a crash.

1. If an app naither reattaches nor removes detached view that has
accessibility focus, an exception in the drawing of accessibility
focus occurs since we are trying to compute the focused rect by
offseting the bounds of the focused view in coords of the root
but the focused one is not attached.

bug:7297191

Change-Id: Ib69d52e474b8ea365754f5311f5e809bd757dd1a
iewGroup.java
iewRootImpl.java
020daada9d5311921fe3185c68f083cf4aac18f8 06-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility focus not cleared on temporary detach." into jb-mr1-dev
8d0739da7ff6589101f1dc2d5f579f3bfdefd3b4 06-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus not cleared on temporary detach.

1. There was a path for removing a view without clearing its accessibility focus.
Then when we try to draw the focused rectangle we get an exception since the
accessibility focused view is not attached to the view tree when computing
the location of the rectangel to draw.

bug:7297191

Change-Id: I81e3c35e830e27cf95e73accb665629d0c456afb
iewGroup.java
2874a54068af1e7de3c1c046cc0061412daafaf8 06-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Add flag for displaying non-user's Windows to user." into jb-mr1-dev
88400d3a31139c40c4014faf86c243647087ef6c 30-Sep-2012 Craig Mautner <cmautner@google.com> Add flag for displaying non-user's Windows to user.

Created a new flag that indicates that a window should be shown
to all users. For the flag to be valid the owner of the window
must have system permissions.

Also separated system window types into those that show to all
users (e.g. StatusBar, Keyguard, ....) and those that appear only
to the owning users (e.g. Drag, ANR, TOAST, ...). Those that appear
only to their owner can override their default behavior using
the new flag (e.g. LowBattery).

Fixes bug 7211965.

Change-Id: I1fdca25d57b7b523f0c7f8bceb819af656c388d4
indowManager.java
indowManagerPolicy.java
5075f8e3237cb950104049fd8b5677e6aad0306f 06-Oct-2012 Romain Guy <romainguy@google.com> Merge "Update TextureView's layer on size change Bug #7171323" into jb-mr1-dev
88801b270f693ffd4125534724f204135f592f72 05-Oct-2012 Romain Guy <romainguy@google.com> Update TextureView's layer on size change
Bug #7171323

Change-Id: I24bedd7775ebf585ffcbd43b661e9c961f380c29
extureView.java
c38c9be031ddad5cf551b55458889f11e01dc5b2 04-Oct-2012 Jeff Brown <jeffbrown@google.com> Coordinate screen on with the window manager.

Bug: 7267457
Change-Id: Ic2c322253639e1f0b2e4e72a7b145025d0240f93
WindowManager.aidl
indowManagerPolicy.java
f752202bee88e31ce765483ba2efa6999ae9c9ad 04-Oct-2012 Adam Cohen <adamcohen@google.com> Plumbing to allow keyguard to be shown with user switcher (issue 7175023)

-> Also reduced calls to lockNow, and moved this call in ActivityManagerService

Change-Id: I9ba34ca902f7c0f71fa4ec302104688ca8d11f55
WindowManager.aidl
indowManagerPolicy.java
dce8b948320e933e46e4a38c496f56555472495f 05-Oct-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix parceling of display info flags." into jb-mr1-dev
3f2ba6220bf74cb5157d6fafee9c76f526acea68 04-Oct-2012 Jeff Brown <jeffbrown@google.com> Fix parceling of display info flags.

Bug: 7283429
Change-Id: I5365a3b06d9b9f2414f9a9d2c94b0906c41b4ece
isplayInfo.java
ebf7e2851cab55348153fca299c52042b125924d 04-Oct-2012 Satoshi Kataoka <satok@google.com> Merge "Close the current input method when attached view doesn't have a handler" into jb-mr1-dev
dfab363807b3b44be4032e410f016e0a0d018426 03-Oct-2012 Romain Guy <romainguy@google.com> Fix rendering artifacts on tiled renderers
Bug #7275145

This change fixes ViewRoot and adds extra debug information. It does
not solve the problem entirely. Another CL will.

Change-Id: I7e604ba38aad7f421769783dcbd998d6905ab2d9
LES20RecordingCanvas.java
ardwareRenderer.java
iew.java
iewDebug.java
iewRootImpl.java
3573950e0b30178dc963de3fa00aba2ebcfd552d 02-Oct-2012 Satoshi Kataoka <satok@google.com> Close the current input method when attached view doesn't have a handler

Bug: 7187452
Change-Id: Iba4f7ac89f5806e871aaeb97f366935b83b95a5a
nputmethod/InputMethodManager.java
d27f1cd30b140f042e11032e4aa4381756e2998f 03-Oct-2012 Adam Powell <adamp@google.com> Merge "Further refine touchMajor processing in ScaleGestureDetector" into jb-mr1-dev
5b5c414e31c4a8433a3290b931687a05dadc97b6 03-Oct-2012 Adam Powell <adamp@google.com> Further refine touchMajor processing in ScaleGestureDetector

On some devices the information coming from the touchscreen is very
noisy or otherwise unreliable. Perform some processing on the data
we have to try to provide a smoother experience.

Bug 7267507

Change-Id: I863125f58577f522de05a1361b81c2e42975fd89
caleGestureDetector.java
bcbe9cf475835102ae2490dc9f067a3ac78a9551 03-Oct-2012 Jeff Brown <jeffbrown@google.com> Merge "Add new Display API for secure video capabilities." into jb-mr1-dev
77aebfdbae489c3712ae3f9bca29d01fb1f09dc2 02-Oct-2012 Jeff Brown <jeffbrown@google.com> Add new Display API for secure video capabilities.

Added a new API to determine whether the display supports
protected buffers so that an application can choose a different
content stream or change how it decodes the content so
that it will be viewable on the display.

At present, wifi display does not fully support protected
buffers although this may be enhanced in the future.

Bug: 6986623
Change-Id: If53a53d72b0ec92753cc4b29f99fcb131e00449b
isplay.java
isplayInfo.java
acb1c124aca178b6231bf3029745e20fffdf2020 02-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7266459 android.widget.cts.TableLayoutTest#testColumnStretchableEffect failures on JO

- do not ask for requestLayout() nor invalidate() in View.onMeasure() when
resolving RTL properties

Change-Id: I7961fcb4c046d96391a4e748350573534481ae2b
iew.java
a85236e510b26002761bd5856fb371f7aed37527 02-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus should not scroll automatically.

1. We use auto scroll when a view gets accessibility focus.
Pros: Having magnification and TalkBack enabled together (not a common use case)
will have the accessibility focused view on the screen (it is auto panned).
Cons: A blind user can get stuck in a very lock scroll view - not good.

2. We do not auto scroll when a view gets accessibility focus.
Pros: A blind user cannot get stuck in a long scroll view as he has to explicitly
scroll.
Cons: The magnified area will not pan to ensure the accessibility focused view
is visible.

Option one is the better trade off and this change removes the auto scrolling.

bug:7265773

Change-Id: I209b54ed18acad36c1f35b4c09b980e45ec9bbff
iew.java
efe9b483547ac44dbc88bdfd6a54be5c95c2d889 02-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7259242 text is left justified with no padding" into jb-mr1-dev
075bb6b3dfb9e58aa44c3b8588ab233a832956a3 02-Oct-2012 Adam Powell <adamp@google.com> Merge "DO NOT MERGE - Revert fixes for ImageView/MeasureSpec/RelativeLayout" into jb-mr1-dev
6e6d78116b584272aeda6924d1802ba18d4b8758 02-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7259242 text is left justified with no padding

(padding is still hard)

- fix Toasts: basically the background drawable padding was not
taken into account

Change-Id: Iefd29782f50b6f6a56578cfeb2af119d381207f0
iew.java
cb6f950f15919794d26a55c20090fe5dacd11e4a 02-Oct-2012 Jeff Brown <jeffbrown@google.com> Merge "New internal API to eliminate poke locks." into jb-mr1-dev
946d05b95f849684b709a3750ef189388d6dc5a9 02-Oct-2012 Adam Powell <adamp@google.com> DO NOT MERGE - Revert fixes for ImageView/MeasureSpec/RelativeLayout

MeasureSpec.makeMeasureSpec has a bug where a negative or very large
size parameter will cause the resulting MeasureSpec value to
overflow. RelativeLayout partially relies on this when measuring
children with mode UNSPECIFIED; a default value of -1 in a local
variable ends up being passed to makeMeasureSpec, overflowing a mode
value to create a measurespec that is very large in size, with AT_MOST
as the mode. The correct behavior is for RelativeLayout to propagate
the UNSPECIFIED mode.

Unfortunately a number of custom view implementations in apps rely on
the buggy behavior as they do not implement their own onMeasure
method. This makes them fall back to View's default onMeasure
implementation, which accepts the spec's size unconditionally for
AT_MOST or EXACTLY modes, but falls back on
getSuggestedMinimum[Width|Height] for UNSPECIFIED. If the view had no
background drawable with dimensions and no minWidth field set, this
fix for RelativeLayout causes some views to measure with a size of 0
rather than a size of the 30-bit version of 0xFF...

Revert these fixes in the interests of compatibility. The next version
will conditionally use the new behavior if targetSdk > JB-MR1.

This also required reverting a fix for ImageView's adjustViewBounds
functionality, as it cannot be implemented reliably if this
RelativeLayout fix is not also in place.

Revert "Fix UNSPECIFIED measurement in RelativeLayout"

This reverts commit 132a742b94b9716451ddef30cec20548b346f1b9.

Revert "Fix adjustViewBounds handling for ImageView"

This reverts commit d5edc7721791ad807b9a8fbd923b8d6e73c399cc.
iew.java
1e3b98d47df596d0c4eadbdf60143709f8465b28 01-Oct-2012 Jeff Brown <jeffbrown@google.com> New internal API to eliminate poke locks.

Added a new WindowManager.LayoutParams inputFeatures flag
to disable automatic user activity behavior when an input
event is sent to a window.

Added a new WindowManager.LayoutParams field userActivityTimeout.

Bug: 7165399
Change-Id: I204eafa37ef26aacc2c52a1ba1ecce1eebb0e0d9
indowManager.java
80766f1bdf19493bcbd4eae95fcea393c0b7f7ac 01-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7259242 text is left justified with no padding

(padding is hard)

- set correct values to mUserPaddingLeftInitial / mUserPaddingRightInitial
- reset padding to initial values depending on layout direction

Change-Id: I5cfb941b4874eafbfcfb5e2926f5a3c80b4931d3
iew.java
6a2d17f71342f981c9df1dc5beff33e30eb3ae2b 30-Sep-2012 Chet Haase <chet@google.com> Fix texture corruption

When memory gets low on a device, activities flush everything they can.
Hardware-accelerated activites, such as Launcher, flush GL resources and destroy
the GL context. However, some resources were still hanging around, due to deferred
destruction policies (we don't delete layers until the DisplayLists they are in
are finalized, to ensure we don't deref deleted objects). This meant that we were
referring to obsolete GL data in these objects. in particular, it meant that we might
come around later, after a new GL context was created, and delete a texture object
that was incorrect. We use the layer's "texture id" to refer to the texture underlying the
layer. But if there's a new GL context, then this texture ID is no longer valid, and
we may be deleting the texture that a different object (layer, icon, whatever) is referring
to, because the driver may return that same ID under the new GL context.

The fix is to more aggressively delete things that we know will not be used again
when the GL context is destroyed. In particular, we delete all resources being used
by all DisplayLists at GL context destruction time.

Issue #7195815 Textures corruption on all devices, in many apps

Change-Id: I52d2d208173690dbb794a83402d38f14ea4c6c22
isplayList.java
LES20DisplayList.java
ardwareRenderer.java
iew.java
10c84edcfa674f13d798f4de65f95c76269c6191 30-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7199562 UI mirroring for RTL locales (Arabic, Hebrew, Farsi): Play settings" into jb-mr1-dev
8ed6b6a96bf887e0b49c48838a9f22bb0f256296 30-Sep-2012 Romain Guy <romainguy@google.com> Merge "Perform a long computation to catch bitmap sizes > 32 bits Bug #7257930" into jb-mr1-dev
af61cc4cbb307dc3b9cb6f4aa232a0257157c9d2 30-Sep-2012 Romain Guy <romainguy@google.com> Perform a long computation to catch bitmap sizes > 32 bits
Bug #7257930

Change-Id: I28d08024fabe8103251d480524b0b0f2fd2d2aba
iew.java
47fb191841c50f45f39c5fcce3554e4990188583 29-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7199562 UI mirroring for RTL locales (Arabic, Hebrew, Farsi): Play settings

- do not need those variables. Use what we already have in View.
- reset padding to initial values before changing it.

Change-Id: Ib396b3dca6e98a94d83a538a9b594b5eb426c453
iew.java
f2e5cf487e9bda4da1b902cb5c816ba48c9b7004 30-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev
343e11345ed496003f605e1b3bba5850d3e6cf0e 29-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- remove onPaddingChanged(int) and fold it into onRtlPropertiesChanged(int)

Change-Id: I1d7f02d2b4538c6c991bd4285501bbc73e6aa5c3
iew.java
d5edc7721791ad807b9a8fbd923b8d6e73c399cc 27-Sep-2012 Adam Powell <adamp@google.com> Fix adjustViewBounds handling for ImageView

When computing the adjusted view bounds, don't constrain the
dimensions by the original estimate if the opposite dimension has a
fixed size. This can result in the view never getting properly
enlarged.

Also fix a long-standing bug in MeasureSpec.makeMeasureSpec where
oversized or negative values could result in broken packed values.

Bug 7240251

Change-Id: I359d108ff52b6f3b5c4bf393d2271d28999c0127
iew.java
8af2a13d038002522c2f4e5d65bd703db9f86a08 28-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug # 7172247 API REVIEW: android.view.ViewGroup.MarginLayoutParams" into jb-mr1-dev
669aa7cb35e0d32fbf6f26a44e5ab8f6fae37de9 28-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Other improvements for bug #6427629 Clean up layout direction APIs" into jb-mr1-dev
f3a2bf8edd2e070a24f0d7c105d78b38576e14ac 28-Sep-2012 Adam Powell <adamp@google.com> ScaleGestureDetector does the safety dance.

Warn in the event of possibly bogus event streams and don't try to
clear empty history.

Bug 7241640
Bug 7243006

Change-Id: I037cf1334cab790ef5998ca5f8f6b323ed5f4459
caleGestureDetector.java
08874db8ed9f81f1d0f205bbffe87f913e50bc57 28-Sep-2012 Romain Guy <romainguy@google.com> Merge "Fix HierarchyViewer so it can load Contacts" into jb-mr1-dev
97723b2eb415d044d8dcee6a5ee3a2a3fb607b15 28-Sep-2012 Romain Guy <romainguy@google.com> Fix HierarchyViewer so it can load Contacts

Change-Id: I5d5f400a9283f9c2431d91a10f85be42b02fe6a0
iewDebug.java
10a2979e551243f337e4ae1a2951c282546c7433 28-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7249363 Icons in the Camera UI (to switch camera types and on the focus ring) are missing" into jb-mr1-dev
7befb7deb2ac15134b3bb190520cba19165d16dd 28-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Global gesture to toggle Accessibility system-wide.

1. This change adds a global gesture for enabling accessibility.
To enable this gesture the user has to allow it from the
accessibility settings or use the setup wizard to enable
accessibility. When the global gesture is enabled the user
can long press on power to bring the global actions dialog
and then hold with two fingers for a few seconds to enable
accessibility. The appropriate feedback is also provided.

2. The global gesture is writing directly into the settings for
the current user if performed when the keyguard is not on. If
the keygaurd is on and the current user has no accessibility
enabled, the gesture will temporary enable accessibility
for the current user, i.e. no settings are changed, to allow
the blind user to log into his account. As soon as a user
switch happens the new user settings are inherited. If no
user change happens after temporary enabling accessibility
the temporary changes will be undone when the keyguard goes
away and the device will works as expected by the current user.

bug:6171929

3. The initialization code for the owner was not executed due
to a redundant check, thus putting the accessibility layer in
an inconsistent state which breaks pretty much everything.

bug:7240414

Change-Id: Ie7d7aba80f5867b7f88d5893b848b53fb02a7537
ccessibility/IAccessibilityManager.aidl
75aefb8fe8d3b1fd6664f73273ad18d0236d4e82 28-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7249363 Icons in the Camera UI (to switch camera types and on the focus ring) are missing

- no need to initialize mPaddingLeft/Right to UNDEFINED_PADDING

Change-Id: Icfdcc9bcb904228443e9adfde8038b5d8764365b
iew.java
03b8d3a9a4d5c04953e2370fc44fe5e40a381910 28-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug # 7172247 API REVIEW: android.view.ViewGroup.MarginLayoutParams

- remove isLayoutRtl() from public API

Change-Id: If700e3f5f30e3c98403b48dbcdd892535d929e2d
iewGroup.java
9a04856d5ecb07dea564feae2942fd485b53f3dd 26-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Other improvements for bug #6427629 Clean up layout direction APIs

- hide isLayoutRtl() from public API

- canResolveXXX() is now smarter: use recursion to get its returned value

- in ViewGroup, if resolution cannot be done then dont ask resolution for
its children

- in ViewGroup, addViewInner() needs to ask to resolve the child. This is
needed for example by ListView which is using the same measurespec before
and after its childs being attached.

It also take care of the general case where a measure pass is done when not
attached to a parent (and thus asking for resolution that will "fail" if we
are using IHNERIT) and never done again. That would lead to never do a
resolution.

- some code refactoring

Change-Id: I120dd2fef7397944f5ba8deff0686b108dc827d2
iew.java
iewGroup.java
4af1146145550dee904bcaa744abfa582c8756b7 28-Sep-2012 Chet Haase <chet@google.com> Merge "Force redraw of new/resized windows" into jb-mr1-dev
391fef0f5d99c13df3d86a5798614c0695046732 28-Sep-2012 Chet Haase <chet@google.com> Force redraw of new/resized windows

Our use of the GL flag EGL_SWAP_BEHAVIOR_PRESERVED_BIT caused a problem
with windows that are resized, where some of the contents were not being
updated when the window was first placed/resized. The fix is to force the
window to redraw completely when it is first resized.

Issue #7246918 Label selection view disappears

Change-Id: I3562141569502af581a3d63b1290c598abb57ade
iewRootImpl.java
bbd1029b702ea56804101ece9acd455282174293 27-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7241988 Padding is mostly set to "0"

- make RTL compatibility mode more straighforward. Done only in constructor
and resolved() is only done for real RTL case.

- fix also issue concerning needRtlPropertiesResolution(): we were missing
padding and drawables bits.

Change-Id: Ic0569f7542a0d66244e8c4bd35ae85949e39c559
iew.java
5a864aa0d8919d38b23c9e7e90455181d3a979e3 27-Sep-2012 Adam Powell <adamp@google.com> Merge "ScaleGestureDetector bugfixes" into jb-mr1-dev
abde042a824c3fc2f3537ef136017dfa006258b9 27-Sep-2012 Adam Powell <adamp@google.com> ScaleGestureDetector bugfixes

* Use radius, not diameter.

* Properly determine initial span on ACTION_DOWN.

Change-Id: Ia1dcff6589f8226181a9beaecef34440e9e16330
caleGestureDetector.java
62fbb8311a1fe84fd1b09e27169757c85d7933cb 26-Sep-2012 Jesse Hall <jessehall@google.com> Merge "Document interaction of SurfaceView and post-layout transforms" into jb-mr1-dev
fea9df6386d66089b004719f194625e159bb344a 26-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev
bd43152bda835c5a9a619a5869344a6a3af11917 26-Sep-2012 Romain Guy <romainguy@google.com> Always set the EGL_BUFFER_PRESERVED EGL_SWAP_BEHAVIOR
Bug #7221173

Change-Id: I231a47187792c93af9e3b9321fd1e25bc2f20117
ardwareRenderer.java
c9f345ff7bc59916d5168d49d9312b2ff7a07daa 26-Sep-2012 Jesse Hall <jessehall@google.com> Document interaction of SurfaceView and post-layout transforms

Bug: 7179570
Change-Id: I9c4d71242bcb832c0cb3b62ec26aba54f146d70a
urfaceView.java
d736d2069b94348b519089348f4a85eb482db668 26-Sep-2012 Adam Powell <adamp@google.com> Further tweak touchMajor/Minor stabilization in ScaleGestureDetector

Change-Id: Ifa717c7dee96c5a2eb18a414a257f01762365b00
caleGestureDetector.java
a4ce6ae0d379c8866697d064cfd1661ea156405e 25-Sep-2012 Adam Powell <adamp@google.com> Smooth out handling of touchMajor/touchMinor in ScaleGestureDetector.

Bug 7199099

Change-Id: I7268268237cc690c2ff952d4b2cd2ddc6dce2ca5
caleGestureDetector.java
989ae759f8037fc5427ce8c289a3f49151080df4 26-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing argument expectations of View.requestRectangleOnScreen

1. In a previous patch the implementation of the method was fixed
in terms of end result but this broke some assumptions about the
method arguments. This change updates the argument expectations.

bug:7172035

Change-Id: I76d738b1c74dfb1dd45fc667f3217911f1c10a5f
iew.java
1f88ba8bf67bb9264e39547ab1201aa3c5395d0e 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- getLayoutDirection() / getTextDirection() / getTextAligment() dont do resolution
- resolution done into onMeasure()
- use XX_RESOLVED bits to check if resolution needs to be done
- code formatting

Change-Id: Ie46a5535860e90f3449b96cfe0aa04dd7e3006d7
iew.java
iewGroup.java
ef09a210dd6ea481158b7028ec2424a7f5769ed2 25-Sep-2012 Romain Guy <romainguy@google.com> Don't destroy the same texture twice
Bug #7221449

SurfaceTexture already deletes the GL texture when detachFromContext
is invoked. The newly introduced refcount would casue the Layer
object to be destroyed later and attempt to delete the GL texture
again. By the time the second cleanup occurs, the texture name
might have been reused by somebody else, resulting in erroneous
behaviors.

Change-Id: I257c589fea64b34c00f46fbfaa7732e6854a5e41
LES20Canvas.java
LES20Layer.java
LES20TextureLayer.java
ardwareLayer.java
extureView.java
4bbcc6549738f3d69831b2bd9eb4accec3e9920e 24-Sep-2012 Eric Laurent <elaurent@google.com> Display a fixed volume silder when docked.

Align UI indication to volume policy when docked: the music volume
cannot be adjusted when docked or connected to HDMI. Display
a disabled slider at max volume in this case to be consistent.

Bug 4335692.

Change-Id: I6f8db143b0e2ecf54e4bdacd88afdeb661a98a18
olumePanel.java
ed1b6f4fc0af836624b2edc2830eb918bf04cf3c 25-Sep-2012 Romain Guy <romainguy@google.com> Really Trigger the log when EGL_NO_CONTEXT is returned by eglCreateContext
Bug #7216919

Change-Id: Ie4a855ee51a0a4fad69bae8f377189d0c653f543
ardwareRenderer.java
c002936e4bd042db3024202b3e9696835a730cfa 25-Sep-2012 Romain Guy <romainguy@google.com> Trigger the log when EGL_NO_CONTEXT is returned by eglCreateContext
Bug #7216919

Change-Id: If2059227d55e8ddb2d2673ee36029c3c92dd9a3d
ardwareRenderer.java
ec1996131d2e17408a22fd55fbc3edba5ea80d02 25-Sep-2012 Jean-Baptiste Queru <jbq@google.com> Merge into jb-mr1-dev

Change-Id: I97ff2551b36a1b590f2d314cabfcf198dd10f404
c68accd35e9ee0a49172ef144664f0fe9187ccd7 25-Sep-2012 Jean-Baptiste Queru <jbq@google.com> Merge into jb-mr1-dev

Change-Id: Icd17d762c9d8e96ea6b78b18fa8f66471bc694ae
4c7dc4aa5c6c155d7756ad40befc931fc0719976 25-Sep-2012 Romain Guy <romainguy@google.com> Add extra error check when eglCreateContext fails
Bug #7216919

Change-Id: I322cbe4579d7a4eb2a64d288175e145d0badc857
ardwareRenderer.java
8d0243a3d0269d3a57d90eb2e7b12b41f53b27d9 25-Sep-2012 Jeff Brown <jeffbrown@google.com> Fix surface view on secondary display.

Bug: 7183618
Change-Id: I8d743b5db8f362afb97f720846d990f9a722b3bd
urfaceView.java
f7a3e979a7ab3be4715408b6328f27e56a7c9326 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev
1a7d487380460b4aea37140baf6bf4bf7f92f8a5 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- rename getResolvedTextAlignment() to getTextAlignment()

Change-Id: I6a2b6c9ec4f5cea1adde46e35d5f3c49880791ee
iew.java
iewGroup.java
be4c5dd9d0b3ec1e020431f0e618a4cf38f9c57d 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev
97e146cf02f87b91f81c37d53644e5415efddb72 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- rename getResolvedTextDirection() to getTextDirection()

Change-Id: Id2a6025daf5521dcd676e454fc6bb9955fdccf2d
iew.java
iewGroup.java
239e430578fd2d3bd38a646595a82bca95359bd7 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev
e3f2ac9e526e5b4de4d2ae113e644c1cb14b1ce6 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev
e56ffdc7b31b0937628609cc3bbaa15879023569 23-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- rename getResolvedLayoutDirection() to getLayoutDirection()

Change-Id: I3afe56c0db0751952f5056c23893cb7455531d29
iew.java
iewGroup.java
4457e85a7090ad51726d50a4daf981d917cceedd 19-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- canResolveXxx() should be hidden
- resetResolvedXxx() should be hidden
- resolveDrawables(), resolveLayoutDirection(), resolvePadding(), resolveTextAlignment(), resolveTextDirection() should be hidden
- onResolvedXxx() should be merged into one callback
- fix also an issue with setting the layout direction of the drawable in ImageView
- fix also an issue with checking if TextAlignment can be resolved

Change-Id: I1402269ddf8632525f5550f80e5610e1a7b4034d
iew.java
iewGroup.java
c0e1f268451550368d1d3d3558f8ce2459ed5713 23-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #7184877: Calendar Locksceen Widget crashes and forces phone to reboot" into jb-mr1-dev
3b84206bba19ae2bc9decef6a88f97951c2a205c 23-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7184877: Calendar Locksceen Widget crashes and forces phone to reboot

Don't kill the system uid if we are running out of RAM.

Change-Id: Ie1818a3241fc80d4dfa19f8e8bdad22d164d7baa
iewRootImpl.java
8e586f61dd4f7fa53b01e63ac779ffc7cde05bdd 22-Sep-2012 Romain Guy <romainguy@google.com> Merge "Add support for a new developer setting: overdraw debugging" into jb-mr1-dev
7c450aaa3caac2a05fcb20a177483d0e92378426 22-Sep-2012 Romain Guy <romainguy@google.com> Add support for a new developer setting: overdraw debugging

Change-Id: I350ba4486577c3289f82c20938f7a35138778727
ardwareRenderer.java
0a5c5567f2d7e203d95c80a8d3353d0acd98b5f9 22-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Multi-user support for the accessibility layer." into jb-mr1-dev
58d37b55bd228032355360ea3303e46a804e0516 18-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Multi-user support for the accessibility layer.

1. This change converts the accessibility manager service to
maintain a state per user. When the user changes the services
for the user that is going away are disconnected, the local
accessibility managers in the processes for this user are
disabled, the state is swapped with the new user's one, and
the new user state is refreshed.

This change updates all calls into the system to use their
user specific versions when applicable. For example, regisetring
content observers, package monitors, calls into other system
services, etc.

There are some components that are shared across users such
as UI created by the system process and the SystemUI package.
Such components are managed as a global state shared across
all users and are updated accordingly on a user switch. Since
the SystemUI is running in a normal app process this change
adds hidden APIs on the local window manager to allow the
SystemUI to notify the accessibility layer that it will run
accross users.

Calls to AccessibiltyManager's isEnabled(), isTouchExplorationEnabled()
and sendAccessibilityEvent return false or a are a nop for a
background user sice he should not send accessibility events,
and should not perform touch exploration.

Update the internal accessibility tests due to changes in the
AccessibilityManager.

This change also fixes several issues that were encountered
such as calling out the accessibility manager service with a
lock held.

Removed some incorrect debugging code from the TouchExplorer
that was leading to a system crash.

bug:6967373

Change-Id: I2cf32ffdee1d827a8197ae4ce717dc0ff798b259
ccessibility/AccessibilityManager.java
ccessibility/IAccessibilityManager.aidl
e87bf030766198bf5e1fe846167dba766e27fb3f 21-Sep-2012 Jeff Brown <jeffbrown@google.com> Support HDMI hotplug.

Bug: 7206678
Change-Id: Ia5212b16658a5f5a2ccf8528eca7bebd45ca857a
horeographer.java
isplayEventReceiver.java
11cb642756093a4af901b1525375b1eb2b5c3e2b 21-Sep-2012 Romain Guy <romainguy@google.com> Update layers in a single batch at the beginning of a frame
Bug #7186819

Change-Id: Ice5926dfedfb3be3a3064e65008dafa2852407da
LES20Canvas.java
LES20RenderLayer.java
LES20TextureLayer.java
ardwareCanvas.java
ardwareLayer.java
ardwareRenderer.java
iew.java
iewRootImpl.java
8da91a699cefccb8d9abf2b72221bc8c1f1874fc 21-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7205072 Text inside popup window is too close to the edge" into jb-mr1-dev
3e27c34e0ef0563be9ee14ca9fc80cf6adabdd70 21-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7205072 Text inside popup window is too close to the edge

- if targetSDK is pre JB-MR1 then we really need to use the User padding
when it is defined and valid

Change-Id: If416fbc181b8784de446e9171529147ab03c9373
iew.java
0516a9ecb0d4d76acd2f1c4c2521f44c696789a8 19-Sep-2012 Eric Laurent <elaurent@google.com> Fix safe volume warning message flickering

Do not display a new warning message when one is already showing.

Bug 7064975.

Change-Id: I920656c6d742a969c29e8f42a438ecbc794d1114
olumePanel.java
4c97ef9094f7a52dbc983ed12ce5f3b586f2d769 20-Sep-2012 Romain Guy <romainguy@google.com> Merge "Add support for QCOM_tiled_rendering Bug #7186819" into jb-mr1-dev
2b7028eabac80cec170572bc0e945a1d4224e595 20-Sep-2012 Romain Guy <romainguy@google.com> Add support for QCOM_tiled_rendering
Bug #7186819

This optional OpenGL extension can be used by tiled renderers to optimize
copies from main memory to tiles memory.

Change-Id: Id4a5d64e61ad17f50e773e8104b9bf584bb65077
ardwareRenderer.java
36901b6c6029b561b4600916cbacc57d4e933703 20-Sep-2012 Jeff Sharkey <jsharkey@android.com> Move HAS_TRANSIENT_STATE flag into a safe area.

Previously, this flag conflicted with other text direction flags,
which can cause weird interactions across the View hierarchy,
specifically with ListView.

Also adds dumpFlags() utility to dump values of all know flags for
documentation and sanity checking.

Bug: 7189738
Change-Id: Iceb2f93f68a800e19a5889ced93abcce4932b067
iew.java
52716deb4008da1d566dfd711edc0a9c6de5f79f 19-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix deadlock in LockPatternUtils by using local id." into jb-mr1-dev
f1b674197577e815040cd75ef86d611965d603ad 19-Sep-2012 Craig Mautner <cmautner@google.com> Fix deadlock in LockPatternUtils by using local id.

Activity manager now updates window manager's current user id
directly and immediately rather than waiting for a broadcast
update. Window manager passes this through policy to the
KeyguardViewMediator and into LockPatternUtils. LockPatternUtils
no longer goes to Activity to get the current user id if it finds
that its local id is non-default.

Fixes bug 7193726.

Change-Id: Id5613e7a9fe9e5b49e83c26b74504f587c3998c2
indowManagerPolicy.java
072533e934e759b95228ba61152e7d958b641b96 19-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7146516 Padding can be "over" resolved" into jb-mr1-dev
efa568525fc7755ac49e44e75246b2be1ef5269f 19-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix some typos in Javadoc for Accessibility APIs" into jb-mr1-dev
69542e48c3ee35f116431c2eb64a8db3073c9f8e 19-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix some typos in Javadoc for Accessibility APIs

Change-Id: Ie3ca20e1c3bb11fb59bd7dcaed9ea92be320b3eb
iew.java
98c370e71d93ed2704018e2bc3455f00c08821a9 19-Sep-2012 Adam Powell <adamp@google.com> Merge "Make invalidateOptionsMenu asynchronous" into jb-mr1-dev
4b6d93fd0485b46a3a15a71516d39b4f72d9b3db 19-Sep-2012 Adam Powell <adamp@google.com> Make invalidateOptionsMenu asynchronous

Process any pending menu invalidations on the animation tick, before
traversals are performed. Collapse multiple menu invalidations
together.

Bug 7189372

Change-Id: I7a33ae9813980eb8fbcc958804de2c03328ecca8
indow.java
9ffc6047f14883f853b643a2913bd590995b9031 19-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7173155 API REVIEW: android.view.View" into jb-mr1-dev
c11f77fbae8391ca3c2d3ec93d024cba0be5cf55 19-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7173155 API REVIEW: android.view.View

- remove getFocusRect(Rect) as it was redundant
- fix Javadoc

Change-Id: I3784c4b0a38770cba5d3ba09196f9271050a3c20
ocusFinder.java
iew.java
20586fa0353f63453766140b32a4778793ce2b43 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7173351 API REVIEW: android.util.LocaleUtil" into jb-mr1-dev
dbed514e137de66d19050b72ad941a687e13c9d4 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7172699" into jb-mr1-dev
d3d9f3f1004dfee2649a26cfe8dba948cd364904 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7173351 API REVIEW: android.util.LocaleUtil

Change-Id: I08fd491eff714059e9ec874fadebe7eb556c34d5
iew.java
49b0a9b4705d869f05a57ed3acf42ba5652294b2 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7172699

- remove @link as we are already using a @see which is doing a link by itself

Change-Id: I6ff6979bb2d960c3c980cdf0a88885b92e80fd7f
ravity.java
iew.java
21dfd7c5fe9e42d2ef3ac7423065c86dfe8f29da 18-Sep-2012 Eric Laurent <elaurent@google.com> Merge "Update headphone volume safety warning message." into jb-mr1-dev
740ee65d460401c266a7108c9aa4c6e7fbe58489 18-Sep-2012 Romain Guy <romainguy@google.com> Add extra EGL error checking

Change-Id: I7cacef41ed08118c5eecf674e3d8461473692968
ardwareRenderer.java
b6397c71709d9129c889028e89899789c667c339 18-Sep-2012 Eric Laurent <elaurent@google.com> Update headphone volume safety warning message.

Change-Id: Ic2d5d9d247b76b6ede0f90b861c235c1c0f5dc08
olumePanel.java
603f6de35f21d74ae242d52d501f4f5c25ff4f4c 15-Sep-2012 Chet Haase <chet@google.com> Fix occasional crash bug with layers

Launcher occasionally crashes with a stack trace indicating that the memory
of a Layer object is corrupt. It is possible for us to delete a Layer
structure and then, briefly, use it to draw a DisplayList again before
that DisplayList gets recreated (without the layer that got deleted).

When this happens, if the memory got corrupted, it's possible to crash.

The fix is to add Layer to the other objects which we currently refcount
(bitmaps, shaders, etc.). Then instead of deleting a Layer, we decrement the
refcount. We increment when creating it, then increment it again when it's
referenced from a DisplayList. Then we decrement the refcount instead of
deleting it, and decrement when we clear a DisplayList that refers to it.
Then when the refcount reaches 0, we delete it.

Issue #6994632 Native crash in launcher when trying to launch all apps screen

Change-Id: I0627be8d49bb2f9ba8d158a84b764bb4e7df934c
LES20Canvas.java
LES20RenderLayer.java
LES20TextureLayer.java
ardwareLayer.java
iew.java
iewRootImpl.java
39a37c3bb3d21c119cca536f85c298db805f86cd 17-Sep-2012 Eric Laurent <elaurent@google.com> Merge "headphone volume limitation" into jb-mr1-dev
c34dcc1e1ebf152bb400abbb8bc25f7dc0c3ba97 10-Sep-2012 Eric Laurent <elaurent@google.com> headphone volume limitation

Limit music volume when headphones or headset are inserted.
Display warning message when user wants to increase the volume
above a platform specific volume and request user acknowledgement
before proceeding.

TODO: exact wording of the warning message must be defined by UX.

Change-Id: I00f429f602534c6d8783126b929371c4d432e6e2
olumePanel.java
b1861c3e89c3e869c95c5c01b78320a1dcef26ad 16-Sep-2012 Adam Powell <adamp@google.com> Minor fixes/clarifications for previous patch.

Change-Id: Ib44f6de570064b3f3ddf70b6727b479a09ae5d7a
caleGestureDetector.java
828e56ea6e8f4d5aa650052580f1f7873ad8296d 15-Sep-2012 Adam Powell <adamp@google.com> Squish!

Take touch point size into account during the detection of scaling
gestures. Average together the major/minor axes of the size.

Add a config resource for tuning the minimum span requred to begin
(or end) a scale. This may be altered in a device-specific overlay
for devices that deviate too far from their assigned density bucket.

Change-Id: I2986888e9427a7e4cb56717d59c4fa7858ba9ca7
caleGestureDetector.java
77276b60851a158ad3e142cb3b091d57ae5ceffb 14-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding accessibility events for touch and gesture detection states.

1. Currently the system fires accessibility events to announce the
start and end of a touch exploration gesture. However, such a
gesture starts after we have decided that the user is not
performing a gesture which is achieved by measuring speed of
movement during a threshold distance. This allows an accessibility
service to provide some feedback to the user so he knows that
he is touch exploring.

This change adds event types for the first and last touches
of the user. Note that the first touch does not conincide with
the start of a touch exploration gesture since we need a time
or distance to pass before we know whether the user explores
or gestures. However, it is very useful for an accessibility
service to know when the user starts to interact with the
touch screen so it can turn the speech off, to name one
compelling use case.

This change also provides event types for the start and end
of gesture detection. If the user has moved over the threshold
with a speed greater than X, then the system detects gestures.
It is useful for an accessibility service to know the begin
and end of gesture detection so it can provide given feedback
type for such a gesture, say it may produce haptic feedback
or sound that differs for the one for touch exploration.

The main benefit of announcing these new events is that an
accessibility service can provide feedback for each touch
state allowing the user to always know what he is doing.

bug:7166935

Change-Id: I26270d774cc059cb921d6a4254bc0aab0530c1dd
ccessibility/AccessibilityEvent.java
2dc6af2082b93849b2e5519a8ae7504757286aa9 14-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Fixup a comment." into jb-mr1-dev
565f0425ba60ced217ebe44422a1f2b2c62e2850 14-Sep-2012 Jeff Brown <jeffbrown@google.com> Fixup a comment.

Change-Id: I7b73f7e0f0aa903e5cd02d1cdb678e65a6d40e0c
isplay.java
f84208faf8e9ab7bbf81224006662fc3219c6ad4 14-Sep-2012 Romain Guy <romainguy@google.com> Prevent crash when invalidating all Views
Bug #7165793

A ViewRootImpl's root view can be null. Check for this condition to
prevent an NPE invalidateWorld(). Other messages perform a similar
check to properly handle the case where mView == null.

Change-Id: I5bcfc41c48a469d38b21be74df2f6c715b0f9352
iewRootImpl.java
33aef98fd28dcac0a2ad37e7329afd3e666f5e0a 13-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Allowing association between a view and its label for accessibility.

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 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: I7b837265c5ed9302e3ce352396dc6e88413038b5
iew.java
ccessibility/AccessibilityNodeInfo.java
83835b17f259fc38478c72b7f59b14796bbc622a 14-Sep-2012 Adam Powell <adamp@google.com> Merge "Break flings with opposing velocities" into jb-mr1-dev
cd66359ab9d072b18631276ee4431b2e689a870b 11-Sep-2012 Adam Powell <adamp@google.com> Break flings with opposing velocities

Change-Id: Iafab692997ad7c2cbbf02d786a716e6edb6475a7
estureDetector.java
cdfc56a3872f6bae7c43aedd5c718c5fa3fbdf9d 14-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Add preliminary API for reporting display capabilities." into jb-mr1-dev
dcd8c81bf4beb719888b6be1b9418303c9075938 13-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Propagate systemUiVisibility changes to window manager" into jb-mr1-dev
7eac0f557cd87486d0f10b7c72e25aeb195a4351 13-Sep-2012 Craig Mautner <cmautner@google.com> Propagate systemUiVisibility changes to window manager

The mAttachInfo.mSystemUiVisibility value was changing in
View.dispatchAttachedToWindow but
mAttachInfo.mRecomputeGlobalAttributes was not being set.
Consequently ViewRootImpl.collectViewAttributes was returning
without updating the subtreeSystemUiVisibility. This is fixed
by calling needGlobalAttributesUpdate in dispatchAttachedToWindow.

WIthin ViewRootImpl.collectViewAttributes the assignment to
subtreeSystemUiVisibility was only being made if
mAttachInfo.mSystemUiVisibility was changed within
collectViewAttributes. But mAttachInfo.mSystemUiVisibility
was changing outside of collectViewAttributes in
dispatchAttachedToWindow. Consequently subtreeSystemUiVisibility
was never updated. By looking for a mismatch between
subtreeSystemUiVisibility and mSystemUiVisibility
subtreeSystemUiVisibility gets assigned whenever it is out of
sync.

Fixes bug 7091817.

Change-Id: I1e97a7dec14dc9594876175ae26370fb9030a8a6
iew.java
iewRootImpl.java
c5df37c285221d0fb113f55b9e78b35632241d3f 13-Sep-2012 Jeff Brown <jeffbrown@google.com> Add preliminary API for reporting display capabilities.

Change-Id: Ie18dce5b5d130f9a7cdfca08cddbf9b099312277
isplay.java
isplayInfo.java
bbbb154c8986f5c731f159ec6d043945b896183b 13-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix Javadoc spelling" into jb-mr1-dev
3c78702db58af95b71b87c356f8fb0f95f3b70a7 13-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Maybe fix issue #7146119: exception in FragmentManager" into jb-mr1-dev
61a21770b789ad87b5ed5da3565d0d39939fdd5c 13-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix Javadoc spelling

Change-Id: I93685d3d092ce5e16bfa0e65e11d85ae030f3f29
iewGroup.java
b967464049d7a75face9237a89903342c4724f8a 12-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Enforce encapsulation for MarginLayoutParams startMargin and endMargin" into jb-mr1-dev
a40627daee4891ab842fa509af254b349bff3a47 12-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Enforce encapsulation for MarginLayoutParams startMargin and endMargin

Change-Id: Ibaf5ade22612dfa52173978e4b520a6407162d13
iewGroup.java
7e7786a4d11351519d8047cd60f59a43d460ee9e 11-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7146516 Padding can be "over" resolved

- need to cache the initial User padding and use it for restoring
to the initial state of padding before doing padding resolution

Change-Id: I4efdaea7ba21930537bf5032e80e70d70bf38b5b
iew.java
8d5e6f8d4a2bd39c6656cbac4f963d2527d707bf 11-Sep-2012 Dianne Hackborn <hackbod@google.com> Maybe fix issue #7146119: exception in FragmentManager

Seems like we should never be dispatching input events to windows
that currently don't have focus.

Change-Id: I524796df69f3fdda4147cb37e7b85b79bad88762
iewRootImpl.java
0bb4d078afeadf4996240d0ac41514c28e5f795a 12-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Screen magnifier should handle window rebuilds correctly." into jb-mr1-dev
9b4125e435b6bc8f8bd2f6e569d9b0b296ab16ef 12-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Screen magnifier should handle window rebuilds correctly.

1. The way for computing the magnified region was simplistic and
incorrect. It was ignoring window layering resulting in broken
behavior. For example, if the IME is up, then the everything else
is magnifed and the IME not. Now the keyguard appears and covers
the IME but the magnified region does not expand while it would
since the keyguard completely covers the not magnified IME window.

bug:7138937

Change-Id: I21414635aefab700ce75d40f3e913c1472cba202
indowInfo.java
9ba2a188919e6e5bf8c042b26527fc090de677ef 11-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge changes I4ad08873,If0562677,I5fe6ba32 into jb-mr1-dev

* changes:
Don't auto-discover peers until scan requested.
Use wfdInfo to filter available sinks.
Allow adb shell am display-size to use bigger sizes.
c574fd04cc192fa30af5dd065c5d0cd4c50f8db4 11-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing implementation of View.requestRectangleOnScreen(Rect, boolean)." into jb-mr1-dev
ee6c6ae5b2111bbb602dbc8030ba3c8eb014cc6e 11-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing implementation of View.requestRectangleOnScreen(Rect, boolean).

1. The implementation was not taking into account the transformation
matrices if the views.

2. The rectangle that was passed as an argument to
ViewParent.requestChildRectangleOnScreen was modified by
some implementations - now care is taken to prevent it.

3. The scroll of child was used when a rectangle of its coordinate
system was mapped to one in the parent system. However, the
scroll shows how much a parent has scrolled its descendants, so
the scroll of the parent has to be used not the child.

bug:7139556

Change-Id: I5b09eb7f105047e95282f74308968d5465831c84
iew.java
9d9ece3c1e16001b63244459cdf4b428f4272d2e 11-Sep-2012 Dianne Hackborn <hackbod@google.com> Animations for user switching.

The window manager now has a facility to provide a full-screen
animation, which the activity manager uses every time a user
switch happens.

The current animation is just a simple dumb slide until we get
a design from UX.

Also some cleanup: moved the portrait task animations to the
default config so we always have an animation for them, and finally
got the java symbol stuff out of public.xml.

Change-Id: I726f77422b2ef5f2d98f961f8da003e045f0ebe8
WindowManager.aidl
nimation/RotateAnimation.java
43aa15912891930833edfc101615a9c881de54a1 11-Sep-2012 Jeff Brown <jeffbrown@google.com> Allow adb shell am display-size to use bigger sizes.

We now support scaling the logical display to fit the
physical display, whatever size it is. So we can allow
adb shell am display-size to use more or less arbitrary sizes
although we do enforce an upper and lower bound to
protect the user.

Change-Id: I5fe6ba32ad1f9e4fbcd6915f7d36850b987bbcc0
WindowManager.aidl
d7f5a51baf2c46436dc5bac3807fb0d46cbff304 10-Sep-2012 Victoria Lease <violets@google.com> Merge "IME support for trackball and generic motion events" into jb-mr1-dev
b38070caa5143ab9fd1883e0c7c879533a480bc7 24-Aug-2012 Victoria Lease <violets@google.com> IME support for trackball and generic motion events

Trackball and generic motion events now pass through the IME in case
it would like to handle them before passing them on to the view
hierarchy.

While I was at it, I also...
...fixed the documentation on InputMethodService.onKeyUp()
...added documentation to InputMethodService.onTrackballEvent()
...added trackball and generic motion events to the "input" command
...fixed input consistency verification involving ACTION_OUTSIDE

Bug: 7050005
Change-Id: I40ab68df4a9542af6df25de6ec2ec500e4c02902
nputEventConsistencyVerifier.java
iewRootImpl.java
nputmethod/InputMethodManager.java
nputmethod/InputMethodSession.java
7017e48380ab0c1be033594bb2a9331898ad5be8 08-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Add support for Wifi display." into jb-mr1-dev
d15ebf25c595b855f6978d0600218e3ea5f31e92 05-Sep-2012 Chet Haase <chet@google.com> Enable changing properties of layer paint

Previously, to draw a layered view with a changed Paint object for the
drawLayer operation, you'd have to invalidate the parent view, to get the
native DisplayList to pick up the new Paint properties. This change adds
API and functionality so that the developer can call setLayerPaint(), which
does the proper invalidation (lightweight, doesn't cause redrawing the view).

Issue #6923810 Make it easy to efficiently animate a layer's Paint

Change-Id: I7fea79788d50f6d9c86dd5e5b2a4490cb95142bb
LES20Canvas.java
LES20Layer.java
ardwareLayer.java
extureView.java
iew.java
cbad976b2a36a0895ca94510d5208a86f66cf596 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for Wifi display.

Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80
urface.java
6543c292b2d1cb3547f4565f89b7cb649ad955d6 07-Sep-2012 Romain Guy <romainguy@google.com> Merge "The drawables cache strikes again Bug #7117785" into jb-mr1-dev
f6aa537c2dddfa9c68af161c082b5d4f316bd068 07-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make ProgressBar / SeekBar / RatingBar widgets aware of layout direction" into jb-mr1-dev
3540f1f28be473d066bf79956e6b3184c85b32b5 07-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Granular navigation uses mContentDescription instead of getCpontentDescription()s" into jb-mr1-dev
05282aa43eec80485fea126afd901f7009433adb 07-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Granular navigation uses mContentDescription instead of getCpontentDescription()s

1. Getting the value of the content description via the method since
there is nothing preventing developers to override the method to
return a desired value (they should not do that but it is feasible).

bug:7079008

Change-Id: Iaf5848e9b065454ebfefccf685415fbf034ae475
iew.java
1cf70bbf96930662cab0e699d70b62865766ff52 06-Aug-2012 Svetoslav Ganov <svetoslavganov@google.com> Screen magnification - feature - framework.

This change is the initial check in of the screen magnification
feature. This feature enables magnification of the screen via
global gestures (assuming it has been enabled from settings)
to allow a low vision user to efficiently use an Android device.

Interaction model:

1. Triple tap toggles permanent screen magnification which is magnifying
the area around the location of the triple tap. One can think of the
location of the triple tap as the center of the magnified viewport.
For example, a triple tap when not magnified would magnify the screen
and leave it in a magnified state. A triple tapping when magnified would
clear magnification and leave the screen in a not magnified state.

2. Triple tap and hold would magnify the screen if not magnified and enable
viewport dragging mode until the finger goes up. One can think of this
mode as a way to move the magnified viewport since the area around the
moving finger will be magnified to fit the screen. For example, if the
screen was not magnified and the user triple taps and holds the screen
would magnify and the viewport will follow the user's finger. When the
finger goes up the screen will clear zoom out. If the same user interaction
is performed when the screen is magnified, the viewport movement will
be the same but when the finger goes up the screen will stay magnified.
In other words, the initial magnified state is sticky.

3. Pinching with any number of additional fingers when viewport dragging
is enabled, i.e. the user triple tapped and holds, would adjust the
magnification scale which will become the current default magnification
scale. The next time the user magnifies the same magnification scale
would be used.

4. When in a permanent magnified state the user can use two or more fingers
to pan the viewport. Note that in this mode the content is panned as
opposed to the viewport dragging mode in which the viewport is moved.

5. When in a permanent magnified state the user can use three or more
fingers to change the magnification scale which will become the current
default magnification scale. The next time the user magnifies the same
magnification scale would be used.

6. The magnification scale will be persisted in settings and in the cloud.

Note: Since two fingers are used to pan the content in a permanently magnified
state no other two finger gestures in touch exploration or applications
will work unless the uses zooms out to normal state where all gestures
works as expected. This is an intentional tradeoff to allow efficient
panning since in a permanently magnified state this would be the dominant
action to be performed.

Design:

1. The window manager exposes APIs for setting accessibility transformation
which is a scale and offsets for X and Y axis. The window manager queries
the window policy for which windows will not be magnified. For example,
the IME windows and the navigation bar are not magnified including windows
that are attached to them.

2. The accessibility features such a screen magnification and touch
exploration are now impemented as a sequence of transformations on the
event stream. The accessibility manager service may request each
of these features or both. The behavior of the features is not changed
based on the fact that another one is enabled.

3. The screen magnifier keeps a viewport of the content that is magnified
which is surrounded by a glow in a magnified state. Interactions outside
of the viewport are delegated directly to the application without
interpretation. For example, a triple tap on the letter 'a' of the IME
would type three letters instead of toggling magnified state. The viewport
is updated on screen rotation and on window transitions. For example,
when the IME pops up the viewport shrinks.

4. The glow around the viewport is implemented as a special type of window
that does not take input focus, cannot be touched, is laid out in the
screen coordiates with width and height matching these of the screen.
When the magnified region changes the root view of the window draws the
hightlight but the size of the window does not change - unless a rotation
happens. All changes in the viewport size or showing or hiding it are
animated.

5. The viewport is encapsulated in a class that knows how to show,
hide, and resize the viewport - potentially animating that.
This class uses the new animation framework for animations.

6. The magnification is handled by a magnification controller that
keeps track of the current trnasformation to be applied to the screen
content and the desired such. If these two are not the same it is
responsibility of the magnification controller to reconcile them by
potentially animating the transition from one to the other.

7. A dipslay content observer wathces for winodw transitions, screen
rotations, and when a rectange on the screen has been reqeusted. This
class is responsible for handling interesting state changes such
as changing the viewport bounds on IME pop up or screen rotation,
panning the content to make a requested rectangle visible on the
screen, etc.

8. To implement viewport updates the window manger was updated with APIs
to watch for window transitions and when a rectangle has been requested
on the screen. These APIs are protected by a signature level permission.
Also a parcelable and poolable window info class has been added with
APIs for getting the window info given the window token. This enables
getting some useful information about a window. There APIs are also
signature protected.

bug:6795382

Change-Id: Iec93da8bf6376beebbd4f5167ab7723dc7d9bd00
DisplayContentChangeListener.aidl
WindowManager.aidl
WindowSession.aidl
iew.java
iewRootImpl.java
indowInfo.aidl
indowInfo.java
indowManager.java
indowManagerPolicy.java
0af4b8b0c8b038bca9b4f60eb81f71e186f471ce 12-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Make ProgressBar / SeekBar / RatingBar widgets aware of layout direction

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: I8d76299090abf6b2b187696b1a83e71d7a44b1ce
iew.java
5f49c3023a512efbef8bc9515d310c7a72be4af2 07-Sep-2012 Romain Guy <romainguy@google.com> The drawables cache strikes again
Bug #7117785

Draawables created from the ConstantState cache found in Resources must be
mutated before they can be safely modified by apps. Failure to do so results
in all drawables sharing the same constant state to be affected by the
modification.

In the case of the bugreport above, the status bar code plays tricks with
a background drawable and modifies its color to implement a fade in/out
effect. This drawable comes from a cached resource (color 0x0) and the
modifications made by the status bar apply to other clients of this drawable,
most notably the recents panel.

This change fixes several things:
- Simplifies colors caching by removing the assetCookie from the key. This
should result in better reuse of cached drawables
- Makes View.setBackgroundColor() honor the mutate() contract
- Ensure StateListDrawable properly mutates its children before modifying
them
- Optimize Bitmap/ColorDrawable to mark them mutated when they are not
created from an existing ConstantSate. The same optimization should be
applied to other drawables in the future

Change-Id: I54adb5d5b914c7d8930bf9b46f7e3f9dcbf4bcab
iew.java
9e130e70eff57d15c0888f51c4f1a7cc4cd62573 07-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Limit certain actions to default Display." into jb-mr1-dev
5851c6e63879ce7c08d345e80db9a2872657a59f 07-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Convert resized() method to new parameters." into jb-mr1-dev
656e3af44432be6a2ba60289b8e787fad2506ceb 07-Sep-2012 Craig Mautner <cmautner@google.com> Convert resized() method to new parameters.

When the BaseIWindow.resized method got switched from taking (int x,
int y, ...) to taking (Rect, ...) the SurfaceView.MyWindow override
never got updated.

Fixes bug 6992324.

Change-Id: Id0b9625559ae0100336f4573f09d313138c8a6e7
urfaceView.java
3667aa364f6882cc37b46f87c55b7e1230158d1c 06-Sep-2012 Chris Craik <ccraik@google.com> Don't trigger log for empty views

Change-Id: Idb2193d6dd064e5c4af1f02d0df2a83a7db0e0f8
iew.java
10e9d1d7ad6296fca388451c71238cc43fe54756 06-Sep-2012 Chris Craik <ccraik@google.com> Log if a view fails to fit in the drawing cache

Large software layers won't draw if they're larger than the size of the drawing
cache, in which case this log will be triggered.

bug:7078391
Change-Id: Ib42a060b8e3b3642417df9243a086aa15b2989b1
iew.java
69b0818179201fadc9d2a384d692d8ae4aecd85c 05-Sep-2012 Craig Mautner <cmautner@google.com> Limit certain actions to default Display.

Stop messing up PhoneWindowManager state when passing in windows
from non-default Display.

Change-Id: I472f7a13c5e2241fbf1f79ae1c8045fd92af016c
indowManagerPolicy.java
f87633f38c399edf5b2c358992ecbbbbbad5a648 05-Sep-2012 Mathias Agopian <mathias@google.com> Merge "update to new SurfaceComposerClient API" into jb-mr1-dev
0d727c714b75b9d9c927eca83aacba8938b08537 05-Sep-2012 Satoshi Kataoka <satok@google.com> Merge "Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype parameters are changed" into jb-mr1-dev
63f1c43fbef157397869475ef30d23e631b88bbe 05-Sep-2012 Mathias Agopian <mathias@google.com> update to new SurfaceComposerClient API

Change-Id: I8f2c96df56fe3a851b8ec03bb8734db0b6bea3d5
urface.java
47ec2fb37046797bebc82b505a13c552021b9ff3 01-Sep-2012 Adam Powell <adamp@google.com> Delay starting scale gesture events until a touch slop threshold

Change-Id: I13132ce1d912b54e251f7afed5143c72a2ec2e78
caleGestureDetector.java
e62e6d8731ab1e02c1632ebc011792d07b902af8 02-Jul-2012 Satoshi Kataoka <satok@google.com> Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype parameters are changed

Bug: 6752230
Change-Id: I3a2d512e395fe8645edf6ab82108948b927c629a
nputmethod/InputMethodInfo.java
nputmethod/InputMethodSubtype.java
398341927f3dca68d71024483aa276d10af4c080 02-Sep-2012 Craig Mautner <cmautner@google.com> Minor refactors.

- Refactor DragState to take Display instead of DisplayContent.
- Rename xxxAnimationLw methods in WindowManagerPolicy to xxxPostLayout
to reflect animation refactoring.

Change-Id: I502f2aa45a699ad395a249a12abf9843294623f0
indowManagerPolicy.java
f83ec838915c13158ddfda0cf4da5865b260b9c6 01-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "More improvements to the display manager." into jb-mr1-dev
3b9a4160c99b2375b4874ccabf92eac68be06af6 01-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Initial draft of high-level multi-display APIs." into jb-mr1-dev
4ed8fe75e1dde1a2b9576f3862aecc5a572c56b5 31-Aug-2012 Jeff Brown <jeffbrown@google.com> More improvements to the display manager.

Added more complete support for logical displays with
support for mirroring, rotation and scaling.

Improved the overlay display adapter's touch interactions.

A big change here is that the display manager no longer relies
on a single-threaded model to maintain its synchronization
invariants. Unfortunately we had to change this so as to play
nice with the fact that the window manager wants to own
the surface flinger transaction around display and surface
manipulations. As a result, the display manager has to be able
to update displays from the context of any thread.

It would be nice to make this process more cooperative.
There are already several components competing to perform
surface flinger transactions including the window manager,
display manager, electron beam, overlay display window,
and mouse pointer. They are not manipulating the same surfaces
but they can collide with one another when they make global
changes to the displays.

Change-Id: I04f448594241f2004f6f3d1a81ccd12c566bf296
isplay.java
isplayInfo.java
urface.java
a492c3a7b2c18426fd0cb4d017eacbc368195dc5 24-Aug-2012 Jeff Brown <jeffbrown@google.com> Initial draft of high-level multi-display APIs.

This patch introduces the ability to create a Context that
is bound to a Display. The context gets its configuration and
metrics from that display and is able to provide a WindowManager
that is bound to the display.

To make it easier to use, we also add a new kind of Dialog
called a Presentation. Presentation takes care of setting
up the context as needed and watches for significant changes
in the display configuration. If the display is removed,
then the presentation simply dismisses itself.

Change-Id: Idc54b4ec84b1ff91505cfb78910cf8cd09696d7d
indowManager.java
indowManagerImpl.java
f4247c250dd0ce50c8fa4e59bad33d0ba9b68692 31-Aug-2012 Adam Powell <adamp@google.com> Merge "GestureDetector - Mask action when checking POINTER_UP" into jb-mr1-dev
f90165aeda1a8353c1b5e837b1ef4a818ecbefc5 31-Aug-2012 Adam Powell <adamp@google.com> GestureDetector - Mask action when checking POINTER_UP

Bug 7088494

Change-Id: I723e9b77f0d0473f9d769e53aaa568c4aaac90aa
estureDetector.java
6cab6005a8746bdf86fd98a2a004f08d9473a445 31-Aug-2012 Chet Haase <chet@google.com> Merge "Make detachViewFromParent more robust" into jb-mr1-dev
ca479d468be963661fd82634f4b57f21c13f1fe6 31-Aug-2012 Chet Haase <chet@google.com> Make detachViewFromParent more robust

Calling detachViewFromParent() without calling remove or attach in the
same drawing frame could, in some situations, cause a crash in the native
DisplayList code. detach/attach are intended to be very lightweight and do
not manage the native DisplayList content the same way that add/remove do.
Nor do they cause an invalidate() or requestLayout(), which would cause the
native structures to get recreated appropriately.

This fix makes this process more robust in two ways:
- DisplayLists should not get finalized (therefore destroying their native
structures) when there are still parent DisplayLists referring to them
(each DisplayList keeps references to its child DisplayLists). This will
prevent the native crash associated with unmatched detach*() calls.
- The docs for detach/attach have been enhanced to make it easier for
developers to understand how to use these methods more correctly and
successfully.

Issue #7064818 detachViewFromParent() should be more robust

Change-Id: I53befc04d5d58c225060f397725566d470488c9b
LES20DisplayList.java
LES20RecordingCanvas.java
iewGroup.java
0fa814d7e6d16e68fa715175cf3122b19fd9e59c 31-Aug-2012 Romain Guy <romainguy@google.com> Merge "Don't quickReject() children if FLAG_CLIP_CHILDREN isn't set" into jb-mr1-dev
fbb4321b94927fd6bd39d327fe56787989b11c71 31-Aug-2012 Romain Guy <romainguy@google.com> Don't quickReject() children if FLAG_CLIP_CHILDREN isn't set

External report: http://code.google.com/p/android/issues/detail?id=36788

Change-Id: Ibdaecf37ab013e30b16e9dc7a6e50156d72c3e4f
iew.java
8b300ed14f74a28ac7752d33b39bc7ac91bd9b26 30-Aug-2012 Craig Mautner <cmautner@google.com> Merge "Don't die(immediate) if from performTraversals." into jb-mr1-dev
7a8b68c432a5bb0cd0992e885d58db5ffd2cdd8a 30-Aug-2012 Adam Powell <adamp@google.com> Merge "Use focal point for scrolling in GestureDetector" into jb-mr1-dev
df2390adc3879b7040425e75e4acc64729612b9c 30-Aug-2012 Craig Mautner <cmautner@google.com> Don't die(immediate) if from performTraversals.

The Drive application was calling PopupWindow.dismiss from within
onMeasure. This caused dispatchDetachedFromWindow to be called
from within performTraversals. Since dispatchDetachedFromWindow
destroys much of what performTraversals uses this was a disaster
waiting to happen.

This fix adds a check for seeing if die(immediate=true) is being
called from within performTraversals. If it is then die doesn't
execute doDie immediately, but instead treats it as a call to
die(immediate=false).

Fixes bug 6836841.

Change-Id: I833289e12c19fd33c17a715b2ed2adcf8388573a
iewRootImpl.java
7808581ca3b462fb187aed6b0d1b86fb83a8a215 30-Aug-2012 Romain Guy <romainguy@google.com> Merge "Pre-multiply color components for 2-stop gradients Bug #7033344" into jb-mr1-dev
d679b57ef279239cf11bb6c9bd14fb99b07971c9 30-Aug-2012 Romain Guy <romainguy@google.com> Pre-multiply color components for 2-stop gradients
Bug #7033344

Change-Id: Ia168501f1dc56ba7a1bb0c55078320432309a66a
iew.java
05a1e1f64e06b113a64591be2c28c9f6814490a5 29-Aug-2012 Adam Powell <adamp@google.com> Use focal point for scrolling in GestureDetector

Remove workaround for obsolete touchscreen hardware. Provide a better
focal point for scroll events.

Change-Id: I879acb4cfd23bd3762d0332e4df2203d913ae869
estureDetector.java
29d8d267dd97f66d829478778de5e0c56b965a47 30-Aug-2012 Jeff Brown <jeffbrown@google.com> Fix build for some javac compilers.

It seems some compiler versions don't like trailing
commas in attribute lists. Weird.

Change-Id: I3a05f49a2e94f63fe1662d14c1d8a7ee249d8a16
indowManager.java
d5ea3b464795d4e6adbdd174d1bd2f78b628e280 30-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Add initial multi-display support." into jb-mr1-dev
bd6e1500aedc5461e832f69e76341bff0e55fa2b 28-Aug-2012 Jeff Brown <jeffbrown@google.com> Add initial multi-display support.

Split the DisplayManager into two parts. One part is bound
to a Context and takes care of Display compatibility and
caching Display objects on behalf of the Context. The other
part is global and takes care of communicating with the
DisplayManagerService, handling callbacks, and caching
DisplayInfo objects on behalf of the process.

Implemented support for enumerating Displays and getting
callbacks when displays are added, removed or changed.

Elaborated the roles of DisplayManagerService, DisplayAdapter,
and DisplayDevice. We now support having multiple display
adapters registered, each of which can register multiple display
devices and configure them dynamically.

Added an OverlayDisplayAdapter which is used to simulate
secondary displays by means of overlay windows. Different
configurations of overlays can be selected using a new
setting in the Developer Settings panel. The overlays can
be repositioned and resized by the user for convenience.

At the moment, all displays are mirrors of display 0 and
no display transformations are applied. This will be improved
in future patches.

Refactored the way that the window manager creates its threads.
The OverlayDisplayAdapter needs to be able to use hardware
acceleration so it must share the same UI thread as the Keyguard
and window manager policy. We now handle this explicitly as
part of starting up the system server. This puts us in a
better position to consider how we might want to share (or not
share) Loopers among components.

Overlay displays are disabled when in safe mode or in only-core
mode to reduce the number of dependencies started in these modes.

Change-Id: Ic2a661d5448dde01b095ab150697cb6791d69bb5
horeographer.java
isplay.java
isplayInfo.java
iew.java
indowManager.java
indowManagerImpl.java
f0340d156c9adf974cba36e806049f66e111fab7 29-Aug-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Don't overwrite accessibility delegates in AbsListView items." into jb-mr1-dev
618cbea4e746196cbde43746706bec02e14b487b 28-Aug-2012 Adam Powell <adamp@google.com> New implementation for ScaleGestureDetector

This solves the problems around active pointer tracking when the
caller may skip events in the MotionEvent stream and replaces the
old implementation with a much simpler algorithm.

Change-Id: I6b15a2e215cab7b9559db800fcc57374702357fc
caleGestureDetector.java
b72fe7a2635906d6244efedfe302c2c46e564803 28-Aug-2012 alanv <alanv@google.com> Don't overwrite accessibility delegates in AbsListView items.

Bug: 6856579
Change-Id: I2963edcefdc0dd5e1413b57858e6f319904a269d
iew.java
3e7e7f025e8d7dc6ab8c361118c8e949bdf3e451 27-Aug-2012 Jeff Brown <jeffbrown@google.com> Fix improper use of CloseGuard.

Change-Id: I37131a86e27a4be55956384a3566de9dcfd90fe5
isplayEventReceiver.java
nputEventReceiver.java
64a55af0ac700baecb0877235eb42caac59a3560 26-Aug-2012 Jeff Brown <jeffbrown@google.com> Add plumbing for new surface flinger display API.

Cleaned up the implementation of Surface and SurfaceSession
to use more consistent naming and structure.

Added JNI for all of the new surface flinger display API calls.

Enforced the requirement that all Surfaces created by
the window manager be named.

Updated the display manager service to use the new methods.

Change-Id: I2a658f1bfd0437e1c6f9d22df8d4ffcce7284ca2
urface.java
urfaceSession.java
0b722fe9ce98d97dbcb6fefd170b85ab7037e528 25-Aug-2012 Jeff Brown <jeffbrown@google.com> Use new surface flinger API.

Change-Id: Ic888577408a59a36481a48010e19c5e77c24e211
urface.java
urfaceSession.java
b570c64ad18735b47df053dd79bfb79a74106236 24-Aug-2012 Victoria Lease <violets@google.com> avert 2500ms wait in InputMethodManager

When dispatching input events to the main thread, the event is
handled directly rather than queued. If we have a timeout waiting for
the event to happen, it has to be registered before we call the
dispatcher, otherwise we'll wait for the timeout even though the event
has already been handled.

Bug: 6734044
Change-Id: I6826163dbc6133b385cf1076bb077fb4e82870a1
nputmethod/InputMethodManager.java
b47bbc3d80badb94229bc4ce7a2d5006faa9ef15 23-Aug-2012 Craig Mautner <cmautner@google.com> Clean up displayId and layerStack usage.

Make better use of Display object by saving it in DisplayContent.
Only use layerStack when referring to Surfaces. Get displayId from
default Display or default DisplayContent. Remove warnings.

Fixes bug 7038151.

Change-Id: Ie493f0f5e755dc9b91ee969ff561c2a098283ead
urface.java
4b72463d7cb807912ca359f3b5a160f59d985c1d 21-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Add factory test feature to shut off on long press power." into jb-mr1-dev
9a538ee7bde42ad36f43edc48594282d98e191a4 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Add factory test feature to shut off on long press power.

Bug: 6847329
Change-Id: I2f4f975c3af2d13ccc06812a5a42e79032700862
indowManagerPolicy.java
99de2459e200e0c86d55d5eee7ea000fd030990f 20-Aug-2012 Adam Powell <adamp@google.com> Merge "Respect child drawing order when dispatching touch events" into jb-mr1-dev
bf5740e75efd87ae0213486e78e029403804c6f0 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Improve display manager debugging.

Change-Id: Iae794fe99a7cf9809f64eafb216091126a2f7e39
isplay.java
isplayInfo.java
98365d7663cbd82979a5700faf0050220b01084d 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Refactor for multi-display support.

Split WindowManagerImpl into two parts, the WindowManager
interface implementation remains where it is but the global
communications with the window manager are now handled by
the WindowManagerGlobal class. This change greatly simplifies
the challenge of having separate WindowManager instances
for each Context.

Removed WindowManagerImpl.getDefault(). This represents the
bulk of this change. Most of the usages of this method were
either to perform global functions (now handled by WindowManagerGlobal)
or to obtain the default display (now handled by DisplayManager).

Explicitly associate each new window with a display and make
the Display object available to the View hierarchy.

Add stubs for some new display manager API features.

Start to split apart the concepts of display id and layer stack.
since they operate at different layers of abstraction.
While it's true that each logical display uniquely corresponds to a
surface flinger layer stack, it is not necessarily the case that
they must use the same ids. Added Display.getLayerStack()
and started using it in places where it was relatively easy to do.

Change-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61
horeographer.java
isplay.java
WindowSession.aidl
urface.java
urfaceView.java
iew.java
iewConfiguration.java
iewRootImpl.java
indow.java
indowManagerGlobal.java
indowManagerImpl.java
indowManagerPolicy.java
f337a89b4d6f6fd0a49b6edd7f895f06cb96d28b 18-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "More view hierarchy, fragment debugging." into jb-mr1-dev
4702a856973a553deb82f71b1d3b6c3db5dbf4ba 18-Aug-2012 Dianne Hackborn <hackbod@google.com> More view hierarchy, fragment debugging.

Add a View.toString() method.

Rename all of the View private flags to have a PFLAG prefix to
avoid going insane trying to figure out which constant goes with
which flag.

Activity.dump() now includes a summary of the activity's view
hierarchy, using the View.toString() method.

All exceptions thrown by FragmentManager now perform a dump of
the owning activity state, where appropriate.

Change-Id: I6482e397e10cb5a0612ab02ce6ed5131823437a6
ardwareRenderer.java
urfaceView.java
iew.java
iewDebug.java
iewGroup.java
iewPropertyAnimator.java
iewRootImpl.java
a6478a3a130c3680bc6d8fa6490ac805fa15bdd2 18-Aug-2012 Adam Powell <adamp@google.com> Respect child drawing order when dispatching touch events

Make sure that touch events are always dispatched to the "topmost"
view when views overlap.

Bug 6996501

Change-Id: I4df25dd7531c4b268c8377c0bf0945ab862733b9
iewGroup.java
d2ae85d41ec1651dd1bf4c33fe31833ba5c5cff5 17-Aug-2012 Michael Jurka <mikejurka@google.com> Merge "Adding a thumbnail scale down animation" into jb-mr1-dev
54e5a825f2f82839e63e37ec32dc1b0757e95dfe 17-Aug-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve resolution of RTL related properties" into jb-mr1-dev
23c89fd1685a006957dc0f2aacf167b4449f3d80 13-Aug-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve resolution of RTL related properties

- fix bug #6887370 ListPreference shows misaligned radio drawables (in CheckedTextView?)
- fix bug #6938146 "Show more cards..." text on bottom button is not centered

- also defer scrollbar initialization as we need resolved padding values for them

Change-Id: Ife651ffe6bbcc228ff6724f3d9b91079fac3a740
iew.java
iewGroup.java
832cb229cd748505c90f74ae8154fc3557d61a73 13-Apr-2012 Michael Jurka <mikejurka@google.com> Adding a thumbnail scale down animation

Recents animation will temporarily look a bit
wrong, but a subsequent change will fix this.
WindowManager.aidl
9630704ed3b265f008a8f64ec60a33cf9dcd3345 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Power manager rewrite.

The major goal of this rewrite is to make it easier to implement
power management policies correctly. According, the new
implementation primarily uses state-based rather than event-based
triggers for applying changes to the current power state.

For example, when an application requests that the proximity
sensor be used to manage the screen state (by way of a wake lock),
the power manager makes note of the fact that the set of
wake locks changed. Then it executes a common update function
that recalculates the entire state, first looking at wake locks,
then considering user activity, and eventually determining whether
the screen should be turned on or off. At this point it may
make a request to a component called the DisplayPowerController
to asynchronously update the display's powe state. Likewise,
DisplayPowerController makes note of the updated power request
and schedules its own update function to figure out what needs
to be changed.

The big benefit of this approach is that it's easy to mutate
multiple properties of the power state simultaneously then
apply their joint effects together all at once. Transitions
between states are detected and resolved by the update in
a consistent manner.

The new power manager service has is implemented as a set of
loosely coupled components. For the most part, information
only flows one way through these components (by issuing a
request to that component) although some components support
sending a message back to indicate when the work has been
completed. For example, the DisplayPowerController posts
a callback runnable asynchronously to tell the PowerManagerService
when the display is ready. An important feature of this
approach is that each component neatly encapsulates its
state and maintains its own invariants. Moreover, we do
not need to worry about deadlocks or awkward mutual exclusion
semantics because most of the requests are asynchronous.

The benefits of this design are especially apparent in
the implementation of the screen on / off and brightness
control animations which are able to take advantage of
framework features like properties, ObjectAnimator
and Choreographer.

The screen on / off animation is now the responsibility
of the power manager (instead of surface flinger). This change
makes it much easier to ensure that the animation is properly
coordinated with other power state changes and eliminates
the cause of race conditions in the older implementation.

The because of the userActivity() function has been changed
so that it never wakes the device from sleep. This change
removes ambiguity around forcing or disabling user activity
for various purposes. To wake the device, use wakeUp().
To put it to sleep, use goToSleep(). Simple.

The power manager service interface and API has been significantly
simplified and consolidated. Also fixed some inconsistencies
related to how the minimum and maximum screen brightness setting
was presented in brightness control widgets and enforced behind
the scenes.

At present the following features are implemented:

- Wake locks.
- User activity.
- Wake up / go to sleep.
- Power state broadcasts.
- Battery stats and event log notifications.
- Dreams.
- Proximity screen off.
- Animated screen on / off transitions.
- Auto-dimming.
- Auto-brightness control for the screen backlight with
different timeouts for ramping up versus ramping down.
- Auto-on when plugged or unplugged.
- Stay on when plugged.
- Device administration maximum user activity timeout.
- Application controlled brightness via window manager.

The following features are not yet implemented:

- Reduced user activity timeout for the key guard.
- Reduced user activity timeout for the phone application.
- Coordinating screen on barriers with the window manager.
- Preventing auto-rotation during power state changes.
- Auto-brightness adjustment setting (feature was disabled
in previous version of the power manager service pending
an improved UI design so leaving it out for now).
- Interpolated brightness control (a proposed new scheme
for more compactly specifying auto-brightness levels
in config.xml).
- Button / keyboard backlight control.
- Change window manager to associated WorkSource with
KEEP_SCREEN_ON_FLAG wake lock instead of talking
directly to the battery stats service.
- Optionally support animating screen brightness when
turning on/off instead of playing electron beam animation
(config_animateScreenLights).

Change-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
indowManagerPolicy.java
756220bd1912535840388a6743830d2e59ad4964 15-Aug-2012 Dianne Hackborn <hackbod@google.com> Add API to create new contexts with custom configurations.

This allows you to, say, make a Context whose configuration
is set to a different density than the actual density of the device.

The main API is Context.createConfigurationContext(). There is
also a new API on ContextThemeWrapper that allows you to apply
an override context before its resources are retrieved, which
addresses some feature requests from developers to be able to
customize the context their app is running in.

Change-Id: I88364986660088521e24b567e2fda22fb7042819
ontextThemeWrapper.java
b7df3a714f43ee6fe0861e8bc81c4b15082b751e 09-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Make display info accessible from hidden api." into jb-mr1-dev
c89b14bba0f6cc2c91629080617f7ed215f697f3 08-Aug-2012 Romain Guy <romainguy@google.com> It seems that apparently useless public APIs are actually useful
Bug #6953651

Change-Id: Ic47ce504e63262711f5d3edc76f7d2b9c12471ad
LES20RenderLayer.java
LES20TextureLayer.java
ardwareLayer.java
iewRootImpl.java
88a4292186fef902db476d63529d0b15a17d9d4d 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 807c7ae0: am 7835d4fb: Merge "Fix SurfaceView notifies on invalid surfaces."

* commit '807c7ae00bc5b8a7fe68ba4acbfa3909a955ae70':
Fix SurfaceView notifies on invalid surfaces.
807c7ae00bc5b8a7fe68ba4acbfa3909a955ae70 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 7835d4fb: Merge "Fix SurfaceView notifies on invalid surfaces."

* commit '7835d4fb4e99bac698599a269ce7f84f2de1fb46':
Fix SurfaceView notifies on invalid surfaces.
2ab1b7d9abc1b720b63ae01abcf1df0dc780eed4 08-Aug-2012 Jeff Brown <jeffbrown@google.com> Make display info accessible from hidden api.

Change-Id: I83f3899b9ef10da4fe9a71f40dee8e940b32ec46
isplay.java
96f1ee9867f966857c2dbd8cdd168d8fcdf72224 08-Aug-2012 Adam Powell <adamp@google.com> Merge "Fix a padding resolution bug for adapter-based views" into jb-mr1-dev
0090f20001470ed078177ccfc1f5e03842258fe1 08-Aug-2012 Adam Powell <adamp@google.com> Fix a padding resolution bug for adapter-based views

If padding has not been resolved by the time measure() is called,
resolve it.

Bug 6938579

Change-Id: Idd3ffa3e4e441cd462d6594b1e20d153d7632994
iew.java
2440e670de0294bdf64592849613db9b8f00ee11 07-Aug-2012 Romain Guy <romainguy@google.com> Catch padding changes in ViewGroup to properly clip children
Bug #6886339

RTL support introduced a new way to handle padding which broke
existing behavior in ViewGroup.setPadding(). The new code path
was not notifying ViewGroup which would prevent it from setting
a flag used to clip children.

Change-Id: I584143714cb81fd664b4ecd9fb51d56bae04ba05
iew.java
iewGroup.java
17112ad8a21a77620eb1ff14dcf8bdd6b7859712 07-Aug-2012 Romain Guy <romainguy@google.com> Cleanup of libhwui

Change-Id: Ib7f5771548462c00027a8ad57badfb68c50644f9
LES20RenderLayer.java
LES20TextureLayer.java
ardwareLayer.java
iewRootImpl.java
85b1041f891b4bbfe81e4f6423397fca50c14e5b 07-Aug-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Window position not reported if the window is not moved." into jb-mr1-dev
758143ecfedbe08cc6c4fed0ad8ad7a854194ca4 07-Aug-2012 Svetoslav Ganov <svetoslavganov@google.com> Window position not reported if the window is not moved.

1.If a window is shown but never moved the window window
is never notified for its current location. Therefore,
accessibility nodes do not contain correct bounds in
screen coordinates.

bug:6926295

Change-Id: I7df18b095d33ecafffced75aba9e4f4693b0c393
ccessibilityInteractionController.java
Window.aidl
iewRootImpl.java
nputmethod/InputMethodManager.java
4ff0cf4b83605bff630c4e6f1fabe4f72a3f93a1 06-Aug-2012 Romain Guy <romainguy@google.com> Add new debug tool to track hardware layers updates

You can setprop debug.hwui.show_layers_updates true to flash
hw layers in green when they update. This is also a setting
in the Dev. section of the settings app.

Change-Id: Ibe1d63a4f81567dc1d590c9b088d2e7505df8abf
ardwareRenderer.java
dde331cebd87982faded6818ad5f9927ff994c96 03-Aug-2012 Dianne Hackborn <hackbod@google.com> We can now (kind-of) change screen density on the fly.

Preloaded drawables now have a density associated with them, so we
can load the correct drawable if we are using a different density.

Window manager now formally keeps track of the density for each
screen, allowing it to be overridden like you can already do with
size, and relies on this density to drive itself internally and
the configurations it reports.

There are a new set of Bitmap constructors where you provide a
DisplayMetrics so they can be constructed with the correct density.
(This will be for when you can have different windows in the same
app running at different densities.)

ActivityThread now watches for density changes, and pushes them
to the DENSITY_DEVICE and Bitmap global density values for that
process.

A new am command allows you to change the density.
isplay.java
WindowManager.aidl
extureView.java
iew.java
iewDebug.java
indowManagerPolicy.java
7de53949bc89e1e79ed63d730beaa49f838038b6 03-Aug-2012 Craig Mautner <cmautner@google.com> Merge "Add features to DisplayManager." into jb-mr1-dev
fbe963f4ad8056c8615ce4bdfce5d1387fbf77ae 03-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove unnecessary code." into jb-mr1-dev
5098fd8a0e3d2da32d5c4ffa729959caf779fc75 03-Aug-2012 Jeff Brown <jeffbrown@google.com> Remove unnecessary code.

Bug: 6926595
Change-Id: Ice3138675c024e9efe9c7922e1e0a05f19cdde54
isplay.java
9de4936c99b979f6010440b043edc6d6142d1980 02-Aug-2012 Craig Mautner <cmautner@google.com> Add features to DisplayManager.

Added Surface.setDisplayId().
Added callbacks to DisplayManagerService.

Change-Id: Idd3f85f8ca1f1208962f1196efd6a3ab51c8c259
urface.java
4f67ba6ba4e861b287a3ff0323c107aa77f66264 02-Aug-2012 Craig Mautner <cmautner@google.com> Refactor DisplayManagerService to be functional.

Change-Id: Ieac1eca172be5dc5db45302d3afa26188acd4d6d
isplay.java
437a0fbd57662e1d9d260da6f62ff83da2769a7e 02-Aug-2012 Craig Mautner <cmautner@google.com> Merge "Introduce multiple displays with DisplayContent." into jb-mr1-dev
59c009776dae5ccbdfb93d7151ff2065ca049dc3 30-Jul-2012 Craig Mautner <cmautner@google.com> Introduce multiple displays with DisplayContent.

Fix a couple of bugs that turned up.
Remove touch/focus from display. Add iterators for access.
Respond to comments. Remove TODOs, and some deviceId parameters.

Change-Id: Idcdb4f1979aa7b14634d450fd0333d6eff26994d
WindowManager.aidl
908aecc3a63c5520d5b11da14a9383f885b7d126 01-Aug-2012 Dianne Hackborn <hackbod@google.com> Start moving away from DisplayMetrics.DENSITY_DEVICE.

This puts in most of the infrastructure needed to allow us to
switch between different densities at run time. The main remaining
uses of the global are to initialize the Bitmap object (not sure
what to do about that since it doesn't have anything passed in
the constructor to get this information from), and being able to
load drawables if we need a different density than what was preloaded
by zygote.

Change-Id: Ifdbfd6b7a5c59e6aa22e63b95b78d96af3d96848
isplay.java
isplayInfo.java
iewRootImpl.java
f750b8ce3c8cb30bcbc5fe53087c7e9035078eba 02-Jul-2012 Andreas Röhl <andreas.rohl@sonyericsson.com> Fix SurfaceView notifies on invalid surfaces.

SurfaceView notifies registered callbacks on invalid
Surfaces.

Change-Id: Iddc9a5cd073fb73a0e7e9b9ca64ff4fac0777ca7
urfaceView.java
6881a10557acf3b0270de54799d6f19437acf584 27-Jul-2012 Craig Mautner <cmautner@google.com> Small step towards supporting multiple displays

Change-Id: I353449c2b464394988c7e0203656b5851a0c9127
WindowManager.aidl
WindowSession.aidl
urface.java
urfaceView.java
iewRootImpl.java
440f32bbd48272095a5482abc87b8769ebd515b6 26-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am ddd88726: am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit 'ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4':
Fix several cases of broken droiddoc syntax external issue 35214
fa25bf5382467b1018bd9af7f1cb30a23d7d59f7 24-Jul-2012 Jeff Brown <jeffbrown@google.com> Add display manager skeleton.

The purpose of this change is to remove direct reliance on
SurfaceFlinger for describing the size and characteristics of
displays.

This patch also starts to make a distinction between logical displays
and physical display devices. Currently, the window manager owns
the concept of a logical display whereas the new display
manager owns the concept of a physical display device.

Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
isplay.java
isplayInfo.aidl
isplayInfo.java
WindowManager.aidl
urface.java
ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4 26-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit '71930dd77e4dc6f6be5c648019d2ab0da5f0584c':
Fix several cases of broken droiddoc syntax external issue 35214
a8b9defade5b937d4ad64f9aff4bca792298f43c 23-Jul-2012 Jeff Brown <jeffbrown@google.com> Stop using raw display size except in window manager.

We don't actually need the raw size in these places.
The logical size is good enough.

Starting to move dependencies on surface flinger
and window manager out of the Display class.

Change-Id: I2065bee8e5bf7f42c5a452dd1e8479e40ebb0d37
isplay.java
iewConfiguration.java
iewRootImpl.java
indowManagerImpl.java
71930dd77e4dc6f6be5c648019d2ab0da5f0584c 25-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit 'a45746efadd11bb7dfab026fb3c81a25fae74ca4':
Fix several cases of broken droiddoc syntax external issue 35214
a45746efadd11bb7dfab026fb3c81a25fae74ca4 19-Jul-2012 Jeff Smith <whydoubt@yahoo.com> Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
urfaceHolder.java
iew.java
iewGroup.java
extservice/TextServicesManager.java
2624c3adbecaf9ca2f97b7912899ecd1bc0a05da 25-Jul-2012 Ed Heyl <edheyl@google.com> Merge "Account for static child transformations correctly"
63cf0752226383cfc8fa35a3233413301b49fab7 25-Jul-2012 Romain Guy <romainguy@google.com> Merge "Make HardwareRenderer able to target generic Surface objects"
786fc93d71b833ab6b02b0c7ea5e30f25cceeedf 25-Jul-2012 Romain Guy <romainguy@google.com> Make HardwareRenderer able to target generic Surface objects

Change-Id: I4b7199a1eb30e0df354ae12c4819adc69db5df40
ardwareRenderer.java
iewRootImpl.java
599913d6e8e610665fad7edd7dfbd3cd48758b3a 24-Jul-2012 Chet Haase <chet@google.com> Account for static child transformations correctly

Optimizations in drawing and invalidation in JB did not correctly
account for static child transforms
(View.getChildStaticTransformation()).
For the invalidation part, this meant that views were not properly
setting the invalidation bounds (which should be transformed by
the static transform), so the affected area of the invalidation
was potentially incorrect. For the drawing part, this meant that
views outside of their parent's bounds were being incorrectly
rejected when the static transform would, in fact, place the views
inside of those bounds.

The fix is in two parts:
- drawing: avoid the early quickReject() logic for containers that
have static transformations set on them
(ViewGroup.setStaticTransformationsEnabled()).
- invalidation: Include the static transform in the invalidation
area propagated up the view hierarchy.

Issue #6864203 The child position outside of parent is not drawn
even it will be drawn inside of the parent after applying static
transformation

Change-Id: I73bea01feab250bdcae2d575313be355a4a3c8f5
iew.java
iewGroup.java
85d28a00043e5985b11f517031d7b2317ac19e10 24-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Replace left/right with start/end for Gravity / LayoutParams / Padding"
b6a45cb92892f9080b7a2f131b4386fd1167efbb 24-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make RelativeLayout aware of layout direction"
f443f98e7f41badd8f5d6f7bf7d26432e79a88ed 14-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Make RelativeLayout aware of layout direction

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: Ica92841fa0c13c25fcf89c4700b0771eec4fd6d7
iewGroup.java
d32460c5b7bea7b06e345397fdbaca58d9732dcf 21-Jul-2012 Jeff Brown <jeffbrown@google.com> Refactor local window manager implementation.

The objective of this refactoring is to remove the reliance on
WindowManager wrapper objects for compatibility mode and for
managing sub-windows.

Removed the WindowManager.isHardwareAccelerated() method since
it is never used.

Change-Id: I4840a6353121859a5e0c07d5cc307a437c595d63
horeographer.java
isplay.java
indow.java
indowManager.java
indowManagerImpl.java
23e7c35ab5d43242d35b1019ce1a50bfb495cd27 20-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove dead code in window manager.

The 'nest' parameter is always false so we can get rid of support
for redundantly added views.

Change-Id: I30c6a856797bdc72c4e1aa4cb26b930a33ce9a16
iewRootImpl.java
indowManagerImpl.java
bc700adbe0729b2d031e14aa25590ecf67c66a4f 20-Jul-2012 Satoshi Kataoka <satok@google.com> Merge "Fix a crash in InputMethodManager when switching the IME in the system process"
aac0d4ed026d1cfbcf3fa81c6e4eb96f4347ca17 20-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Replace left/right with start/end for Gravity / LayoutParams / Padding

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: Id9af5375fb9b0edeae5232c77e52ecd497bd2e67
urfaceView.java
34caec99407570766d27106f73668802150e7357 20-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> Views with node providers are important for accessibility in auto mode.

1. If a view's important for accessibility attribute is set to auto the
framework is responsible to determine if it really is. Views with
accessibility node providers should be important for accessibilty
since they are roots of virtual view trees and such trees are
always important.

bug:6843043

Change-Id: I4b352c59fdefdf9ad220714a43ecb9e01d1c1c1f
iew.java
4e5184f929d2498714bc7734fe10b9b8810cb071 13-Jul-2012 Satoshi Kataoka <satok@google.com> Fix a crash in InputMethodManager when switching the IME in the system process

Bug: 6789252
Change-Id: I66f51da1299532793ef8fa700f35b0811670f235
nputmethod/InputMethodManager.java
016456e4327fdd501afafc1958653bdbc4fe7af5 18-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix padding resolution

Change-Id: I2181a0a4057be0d20744b1512dbc1fbc53490d81
iew.java
a9108a217e039492855fbeacda2ab6c4f4a3f70a 18-Jul-2012 Adam Powell <adamp@google.com> Add View#generateViewId; make RadioGroup use it

Bug 6448164

generateViewId provides a way for applications to generate opaque ID
values suitable for use with View#setId that will not collide with
values generated by aapt for R.id.

Fix a bug where RadioGroup assumes object hash codes will always be
positive.

Change-Id: I3e2870cd672d6061bb465128f428c81aeef0c44b
iew.java
c69238ebc8d011ce225c9540bcf4e79bd3fa8eb0 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove dithering support."
3cc321ecf505d87850740ad3c63849e6793a8ef6 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove dithering support.

The dithering flag is no longer implemented in Surface Flinger
so this is all dead code.

Change-Id: I74c0e452923207e5b7cfe0eeca9457e5cb990947
urface.java
indowManager.java
abae83d155aac24ff52c850eda0f0d36c71cd3d1 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove freeze(), unfreeze() and setFreezeTint()."
f422a5669457c152e36e889c820d64b37e005167 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove freezeDisplay(), which is no-op."
ef4e817ad642303509da1cb28ce5a265e1ac3e17 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove freeze(), unfreeze() and setFreezeTint().

This is all dead code.

Change-Id: Ia8a3068606bfe277a16cde5690f47996657863e8
urface.java
55e395ab33f24b009d87a4d45a5566394260fff7 16-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove freezeDisplay(), which is no-op.

Change-Id: I981ee49e6e2d41a09feaee4b384392e83f7faf3d
urface.java
c9c9a48e7bafae63cb35a9aa69255e80aba83988 16-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> Removing a workaround for incorrect window position on window move.

1. The window manager was not notifying a window when the latter
has been moved. This was causing incorrect coordinates of the
nodes reported to accessibility services. To workaround that
we have carried the correct window location when making a
call from the accessibility layer into a window. Now the
window manager notifies the window when it is moved and the
workaround is no longer needed. This change takes it out.

2. The left and right in the attach info were not updated properly
after a report that the window has moved.

3. The accessibility manager service was calling directly methods
on the window manager service without going through the interface
of the latter. This leads to unnecessary coupling and in the
long rung increases system complexity and reduces maintability.

bug:6623031

Change-Id: Iacb734b1bf337a47fad02c827ece45bb2f53a79d
ccessibilityInteractionController.java
InputFilter.aidl
InputFilterHost.aidl
WindowManager.aidl
nputFilter.java
iew.java
iewRootImpl.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/IAccessibilityInteractionConnection.aidl
6bcfe893d46b1adb5a89920b82707c3d55a53e27 13-Jul-2012 Chet Haase <chet@google.com> am 0f8e402e: Force invalidates on non-visible views. DO NOT MERGE

* commit '0f8e402e954c6e37102fa70f81a1d8ec47156338':
Force invalidates on non-visible views. DO NOT MERGE
87e8b25ea3c95be5921a79c65fbf4060de2e2e84 13-Jul-2012 Chet Haase <chet@google.com> Merge "Remove redundant computeScroll() call for hw-accelerated views"
401b1f85746ab7005907747a59534def967d825b 13-Jul-2012 Romain Guy <romainguy@google.com> Merge "Remove obsolete optimization"
f877308f77f7c6f3edd91618a092207dd3be9077 13-Jul-2012 Romain Guy <romainguy@google.com> Remove obsolete optimization

Change-Id: I2d43c009c62a7f4a4a2e0a6303bdfa692c4b8c8c
iew.java
iewConfiguration.java
526057bc77150e608666bbc80a0c9626254650a0 13-Jul-2012 Chet Haase <chet@google.com> Remove redundant computeScroll() call for hw-accelerated views

View.draw() calls computeScroll() to initialize scrolling values correctly.
But getDisplayList() also calls computeScroll() for the same reason, resulting
in 2 calls to that method for hw-accelerated views.
Fix: avoid calling computeScroll() in View.draw() for views with display lists.

Change-Id: I57a3862e2d554752cd0fdb862513cbb3dfb3105c
iew.java
c643ca97a800486359a5fd756936c716dbfffb0d 13-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix bug in IME handling of pending key events."
2499bbecc26ef14a57339b7b8540fce6df280cb1 13-Jul-2012 Jeff Brown <jeffbrown@google.com> Fix bug in IME handling of pending key events.

Bug: 6812529
Change-Id: I7195a4346d44d65a79969a1bb5daa3bb8a018600
nputmethod/InputMethodManager.java
0f8e402e954c6e37102fa70f81a1d8ec47156338 03-Jul-2012 Chet Haase <chet@google.com> Force invalidates on non-visible views. DO NOT MERGE

An optimization prunes invalidates on views which are not inside their
parent's bounds. This works in most cases, but it is possible to run
a situation where a view has been invalidated (and is thus waiting to
be redrawn), but the pruning logic ensures that that draw call
will not happen. Further, when/if the view comes into the bounds
of its parent again, it may still not be redrawn, because now future
invalidates on the view are noop'd because it is already in an invalidated
state (and thus will not propagate invalidates up the hierarchy).

The fix is to remove the optitmization. This will cause some overhead
sending the invalidation request up to the view root, but this
overhead is minimal (and only extra for cases of out-of-bounds views),
and the more expensive part of rendering these views will still not be done
since the view root will avoid re-drawing the hierarchy when the dirty
rectangle is empty.

Issue #6813661 offscreen views don't get invalidated properly (may remain invisible when returning onscreen)

Change-Id: Ic4b439540084a7163be9afc585bea6560d073280
iewGroup.java
iewRootImpl.java
f0af1d5cb255f136d2fff773be7518ffd7ae3b93 12-Jul-2012 Romain Guy <romainguy@google.com> Remove unused View.flushLayer() API

Change-Id: I5d4c7388afb5265964ab6b769cc0abfee9745c84
LES20Canvas.java
LES20Layer.java
ardwareLayer.java
iew.java
7d3082a3f09e32e7c42b2896e90902157039b10e 12-Jul-2012 Romain Guy <romainguy@google.com> Update View's opacity when changing the background color

Change-Id: Ib5851d47918c99d4906055a9d0245ea100aee231
iew.java
4c9dfc4da992f67a86209d8b2b8539d697373ad6 12-Jul-2012 Romain Guy <romainguy@google.com> Merge "Update layers' opaque property when needed"
846a533945576e5cb1a66529ca3a52d71749f04f 12-Jul-2012 Romain Guy <romainguy@google.com> Update layers' opaque property when needed

Before this change, changing a View's opacity would not be reflected
by hardware layers. This could cause layers to retain their previous
opacity.

Change-Id: Iba2c8b4242deca021651df9324cc7c585a64653d
LES20Canvas.java
LES20Layer.java
LES20RenderLayer.java
LES20TextureLayer.java
ardwareLayer.java
iew.java
fbf885b652272013f44da71e9f77923333bf62eb 10-Jul-2012 Craig Mautner <cmautner@google.com> Merge "Notify client side of window movement."
905bd369510838b35db61c30d6b8e2c5f564be6a 10-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make ScrollBar widget aware of layout direction"
55aeca913f17e5cb9ab07ef79b0b01377ae88cbd 10-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve resolution of inherited layout direction"
15d03bf2a6102c1be9a90da4296155a93da97244 10-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix MarginLayoutParams resolution"
fd8d9c4c0a3930c9b2585cd54ea4288fbb15cceb 10-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo bounds in screen incorrect if application scale not one V2.0.

1. If the application does not accommodate different screen density the
system applies an application scale equal to the device density over
the a default density. The AccessibilityNodeInfo coordinates were not
reported after applying the compatibility scale, therefore the bounds
in parent and screen were not as perceived by the user.

bug:6764586

Change-Id: Id9de3de885210d0725d1f3fde38e769b0cfd12a7
ccessibilityInteractionController.java
iew.java
69bd55844b2b2b78a0ff43e5123954cab3693ea6 02-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix MarginLayoutParams resolution

- need to keep initial left/right values for correct resolution

Change-Id: Ia8d0fec7d3c427086b7b5898e544e369b2de4229
iewGroup.java
05e91ed5a7ea17f021e1811166942a7d758e1cce 03-Jul-2012 Chet Haase <chet@google.com> Force invalidates on non-visible views to traverse the hierarchy

An optimization prunes invalidates on views which are not inside their
parent's bounds. This works in most cases, but it is possible to run
a situation where a view has been invalidated (and is thus waiting to
be redrawn), but the pruning logic ensures that that draw call
will not happen. Further, when/if the view comes into the bounds
of its parent again, it may still not be redrawn, because now future
invalidates on the view are noop'd because it is already in an invalidated
state (and thus will not propagate invalidates up the hierarchy).

The fix is to remove the optitmization. This will cause some overhead
sending the invalidation request up to the view root, but this
overhead is minimal (and only extra for cases of out-of-bounds views),
and the more expensive part of rendering these views will still not be done
since the view root will avoid re-drawing the hierarchy when the dirty
rectangle is empty.

Issue #6773607 Layered views animating from offscreen sometimes remain invisible

Change-Id: Ia2c1a2b9d3e7f267253cb325ccceff1e7fdbe8bd
iewGroup.java
iewRootImpl.java
9dc2cc53ac332d73376f64cc8e7c713762d74bdd 04-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityNodeInfo bounds in screen incorrect if application scale not one."
983119ab22a18c743e4084dff27f35e3f490dd34 04-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo bounds in screen incorrect if application scale not one.

1. If the application does not accommodate different screen density the
system applies an application scale equal to the device density over
the a default density. The AccessibilityNodeInfo coordinates were not
reported after applying the compatibility scale, therefore the bounds
in parent and screen were not as perceived by the user.

bug:6764586

Change-Id: Iae2d6ea81049364194c7cb09df2240b5eda3d939
iew.java
a0fd78897c532246e0da3819bcfcb66299076084 03-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Remove the accessibility focus search code."
7a82b2be0674cc9c925c6892aa8a534896e277f9 03-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> AnnounceForAccessibility is broken for any view that has a ContentDescription.

1. The purpose of the View#announceForAccessibility method is to
give a message to the user that is not related to a predefined
view state change. The current implementation is grabbing the
source view's content description which in general overrides
the event text which defeats the purpose of the announcement.

bug:6721440

Change-Id: I8814914bea38c5f4c04f57391a64cf2bb06cb975
iew.java
27e2da7c171afa39358bbead18fbe3e6b8ea6637 03-Jul-2012 Svetoslav Ganov <svetoslavganov@google.com> Remove the accessibility focus search code.

1. In JellyBean we have added some APIs to search for next accessibility
focus in various directions and set accessibility focus from hover.
However, we have decided that there is not clean answer for how this
should behave and the APIs were hidden. Now the accessibility service
is responsible for that. The unused code is now taken out.

2. This patch also takes out the hidden attribute accessibiligyFocusable
since we moved the responsibility for implementing focus search strategy
to accessibility services and we did not need that for Jellybean which
is a good sign that this is not needed. I general this is one less thing
for an app developer to worry about. We can add this if needed later.

bug:6773816

Change-Id: I0c858d72c93a2b7ff1f8f35a08d33ec4b9eb85fd
ccessibilityInteractionController.java
ocusFinder.java
iew.java
iewGroup.java
iewParent.java
iewRootImpl.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityNodeProvider.java
5702d4dfb5b81491f873a3617f8d8fc8dc5279e6 30-Jun-2012 Craig Mautner <cmautner@google.com> Notify client side of window movement.

Add a one way method to notify Views that the window has moved
on the screen. Fixes issues arising from the IME popping up and
translating the window that uses it. Accessibility was left unaware
of these movements and was drawing the box around the wrong widgets.
Similarly PopupWindow used getLocationOnScreen to determine how
much screen real estate was above and below the anchor point to
determine where to put an anchored window.

Fixes bug 6623031.

Change-Id: I4731a94d5424c1ec77bf1729fba8fc9ea34cae46
Window.aidl
iew.java
iewRootImpl.java
4efade8a85d1352d91dcb4f4be2c337223688840 29-Jun-2012 Michael Jurka <mikejurka@google.com> Merge "Removing setChildrenLayersEnabled"
ba64974141bb04d35759c7a8f1741d23c172f9a5 29-Jun-2012 Michael Jurka <mikejurka@google.com> Removing setChildrenLayersEnabled

Change-Id: I88d8228eadb59160648f2c4e131fcd85945f2109
iew.java
iewGroup.java
b93911f2e05450de86aa0075144750bc31f499c2 27-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve resolution of inherited layout direction

allow to resolve it even more lazily: if resolution is asked then do it
only if possible (the View needs to have a parent that can also do its
resolution)

Change-Id: I8e808f0ef392521e59b27b82f86e9058f20af9ba
iew.java
a4b7f2f75e7803193429ec1179fb5e2eb1c6fbda 21-May-2012 Dianne Hackborn <hackbod@google.com> Use two fingers to work some magic...

Change-Id: Ibcb3dbd3d158c22da8277e544d81fb47eadccd49
WindowSession.aidl
indowManager.java
indowManagerPolicy.java
41e6e0c49f51e5bafca4912d407202f572d4e208 23-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am c34188a9: resolved conflicts for merge of f8f76d52 to jb-dev-plus-aosp

* commit 'c34188a95405526416325604386af4f48ba20918':
Add the possibility to modify the View focus rect
c34188a95405526416325604386af4f48ba20918 23-Jun-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of f8f76d52 to jb-dev-plus-aosp

Change-Id: I83beeb45320de2c3fc3a00c2f5cd86a17ac1dc9f
c91b6ca442cc4573a314c78864d1e5a3e1f27ac6 22-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Make ScrollBar widget aware of layout direction

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)
- also use isLayoutRtl() for being more concise

Change-Id: Ibf861333effdc646398fcd9354d96f2156550607
iew.java
eb129a266c9401fcb62330805cf82a98e896c134 21-Jun-2012 Romain Guy <romainguy@google.com> am 16613476: am 0d6f4c06: Dejank: don\'t allocate when scrolling lists

* commit '16613476c80f20736ef6bd3d217ab56aa57b03c9':
Dejank: don't allocate when scrolling lists
0d6f4c06df0b0e35125f088ca028c7226b274dc4 21-Jun-2012 Romain Guy <romainguy@google.com> Dejank: don't allocate when scrolling lists

The new display list properties introduces in JB were causing numerous
and expensive memory allocations while scrolling lists. During a scroll
ListView sometimes attempts to apply an offset to views before they are
drawn for the first time. This had the side effect of generating a new
IllegalStateException and its entire stack trace. The exception was
caught inside the display list and never seen by users.

Generating an exception is very expensive both in terms of allocated
memory and CPU time spent crawling the stack.

List scrolls/flings are a common case of this issue but it also happens
during various types of animations. A simple alpha animation, for instance,
can cause the problem to occur.

Another side effect of this issue is more frequent and longer GC pauses.

Change-Id: Ic1b37cc84f7c8f290209cfb990d030e96d6e0dc7
LES20DisplayList.java
c63c7bf94413ef36b282830e3c250a3b9013dbcd 20-Jun-2012 Romain Guy <romainguy@google.com> am b56fe8ab: am f96d117e: Merge "Add extra systrace tracing" into jb-dev

* commit 'b56fe8abf6735337b65e050f44e1baf2f3f813ed':
Add extra systrace tracing
f96d117e9bf2d5998677521330697628c95ec3f1 20-Jun-2012 Romain Guy <romainguy@google.com> Merge "Add extra systrace tracing" into jb-dev
77e67cf9055378d00bb57f458129462f33047039 20-Jun-2012 Romain Guy <romainguy@google.com> Add extra systrace tracing

This change shows how much time is spent updating and executing
framework display lists within a frame.
This change also fixes a crash that happnes if you attempt to
perform a dumpsys gfxinfo while the app is drawing (we are telling
developers to use this new tool.)

Change-Id: Ia4047a78a42b545ab77176ef4f371c300686548c
ardwareRenderer.java
73b21cfa50fbad38a8802289dd9618f7fd383e34 20-Jun-2012 Chet Haase <chet@google.com> am 3662fe5e: am ebc9d317: Merge "Handle non-started LayoutTransition animations correctly" into jb-dev

* commit '3662fe5e3507ada2a592b8df6120b8cebfb5d8d9':
Handle non-started LayoutTransition animations correctly
ddbb346e5a08c94dca44d681af53f0d9dc75cadf 19-Jun-2012 Chet Haase <chet@google.com> Handle non-started LayoutTransition animations correctly

A recent change to LayoutTransition noop'd animations in non-visible
parents, to avoid artifacts like scaling/moving from (0,0,0,0). But there
was logic in ViewGroup that didn't account for transitions that didn't actually
run an animation, causing a disconnect between the state of a parent (getting ready
to remove an item later) and the state of the transition (not running, therefore
not needing the child to be removed later).

The fix was to detect when the transition did not start and avoid adding the
view to the list of children to be removed later.

Issue #6602502 Playing video through crackle application only audio is heard no video is displayed

Change-Id: Id5260580ab0d6dd165c62006c7bd579fd821a5f5
iewGroup.java
629f051f7d061f4db4a174dbd267a96f0c8113df 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 586b8ee6: am 2f442304: Merge "Remote volume handling" into jb-dev

* commit '586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c':
Remote volume handling
2f4423043ffeaf232ec984be03743326f08cdc8a 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Remote volume handling" into jb-dev
3114ce3861f20f9a5c2c59dd2629197a1f4874a8 12-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling

Extend RemoteControlClient class to enable an applicaton to
specify more information about how it's playing media, now covering
usecases where media playback happens "remotely". This playback
information can be used to set the volume and maximum volume
used remotely.
Declare a new intent and associated extras in Intent,
ACTION_VOLUME_UPDATE, so an application can be notified that
the volume it handles should be updated. It can then use
the new RemoteControlClient.setPlaybackInformation() method
to notify AudioService what the volume is.
Extend AudioService to maintain playback information associated
with the RemoteControlClient information in the stack of
media button event receivers (mRCStack). The information
about the active remote is cached so the stack doesn't have
to be iterated over in order to retrieve remote playback info.
Events to "adjust" the remote volume based on hardware key
presses cause the client application to be notified of
volume updates, and the volume panel to display the volume
set by the app.
Revise which stream type is controlled when none is specified
according to latest guidelines for remote playback.
Update VolumePanel class to support a new pseudo stream type,
AudioService.STREAM_REMOTE_MUSIC, that corresponds to the
remote playback volume, and uses the new "media route" icon.
Enable it to receive asynchronously new volume values for
the remote that will be displayed if the UI is still up,
and ignored otherwise.
Now supports hiding/showing sliders dynamically so remote
volume only appears when AudioService has a remote control
client handling remote volume.
Define new java symbols for the two media route icons.
Modify lockscreen behavior: don't automatically control music
volume when music is active, consider also remote playback.

Still to do:
- playback information set by RemoteControlClient should post
a message for AudioService to update playback information
instead of updating it synchronously

Change-Id: I557aa687239f9acfe33a609f05876c67fa7eb967
olumePanel.java
fce27d8edd1ef0bc283ac0053cab0261f2cd9929 18-Jun-2012 Scott Anderson <saa@android.com> Merge "Clean up IntToStrings for window TYPE_*"
c32b2091d6441e7709342ca62f0976fc4a0367e4 18-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 45c4a8df: am ec7c7ebf: Merge "API for finding accessibility focus in virtual tree not needed." into jb-dev

* commit '45c4a8df9487f53af37ded1f5a1ebe500e89b493':
API for finding accessibility focus in virtual tree not needed.
ec7c7ebf01121d17f7a12e827bd77c024eab54e8 18-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "API for finding accessibility focus in virtual tree not needed." into jb-dev
9471faf5dcc3ebf88bbc1a01809eb7312e65f829 18-Jun-2012 Adam Powell <adamp@google.com> am 8f695c52: am 706a8699: Merge "Make MediaRouter UI more robust around route count changes" into jb-dev

* commit '8f695c525f5baa623a8b951bd3a1fd2b5efd1ceb':
Make MediaRouter UI more robust around route count changes
91a5f4bef5720cf38e61634fd1337901bf17c694 18-Jun-2012 Jeff Brown <jeffbrown@google.com> am 79476980: am d7a04de1: Capture window manager\'s last ANR state in bug report.

* commit '7947698096d4b09bb0f662fdca89cfa5d475743e':
Capture window manager's last ANR state in bug report.
7e8aac14c3a930dea0ca7a1d1e0e8a384fbf8916 18-Jun-2012 Adam Powell <adamp@google.com> am bb20575f: am 130b4572: ActionProvider API update

* commit 'bb20575f85ada8ccdacefc53f0da7e00fdf12a16':
ActionProvider API update
a2f0fc1e6892a10e5786ec34849066af9d1ed004 18-Jun-2012 Jeff Brown <jeffbrown@google.com> am 4440d158: am 5aa02e20: Merge "Revert "Synthesize fake vsyncs when the screen is off."" into jb-dev

* commit '4440d158b88f948ced442797baffad35743406af':
Revert "Synthesize fake vsyncs when the screen is off."
041982bf50b3ce4a26170c52c732f328f519f650 18-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 11832db4: am 531d5866: Merge "Accessibility focus search and setting it from hover are performed by the client." into jb-dev

* commit '11832db437d04d71dec9a78382138b2dd6518e37':
Accessibility focus search and setting it from hover are performed by the client.
706a8699008ce416a7fbd9a4215726fdb00ee803 18-Jun-2012 Adam Powell <adamp@google.com> Merge "Make MediaRouter UI more robust around route count changes" into jb-dev
d7a04de16798acc04ec0a89a0c7d9f1cf60d1521 17-Jun-2012 Jeff Brown <jeffbrown@google.com> Capture window manager's last ANR state in bug report.

Currently just grabbing the window state but we could grab
other things as part of the last ANR report.

Bug: 6680398
Change-Id: I23aa70907b1bdcb21c8acc556fde196ca790ef6a
indowManagerPolicy.java
45a02e0809c14a52aa24658666df0d41ce661857 18-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> API for finding accessibility focus in virtual tree not needed.

1. The function for finding where the accessibility focus in a virtual
node tree presented by an AccessibilityNodeProvider is not needed
API since the framework already keeps track of the accessibility
focused virtual node in order to draw the focus rectangle. This API
adds unnecessary complexity to developers of AccessibilityNodeProviders.

bug:6675330

Change-Id: I84774686b06a995073a39e45b8ef22f2cd04b773
ccessibilityInteractionController.java
iew.java
iewRootImpl.java
ccessibility/AccessibilityNodeProvider.java
39d5c6172503620ac3761148adac5fd7fa20d02d 16-Jun-2012 Adam Powell <adamp@google.com> Make MediaRouter UI more robust around route count changes

Improve the API around ActionProvider visibility overriding. Allow the
application to notify whatever is hosting the ActionProvider that
visibility has changed in a way that is friendly to alternate support
library-style reimplementations of MenuItem.

Allow MediaRouter.Callback implementations to add or remove themselves
or other Callbacks during dispatch of callback events.

Make MediaRouteActionProvider track the visibility of corresponding
menu items more accurately.

Change-Id: Ic7ddb6a87c3637904750d2661e4a9fa323b09ea0
ctionProvider.java
130b4572d1f3df702e5b296a655d15a41f6d4c66 16-Jun-2012 Adam Powell <adamp@google.com> ActionProvider API update

* Add ActionProvider#overridesItemVisibility and isVisible.
These methods allow an ActionProvider to override the
visibility of a MenuItem that it is bound to. If a MenuItem
has been explicitly hidden by the application, it will not
be visible.

* Change MediaRouteActionProvider to not require a MediaRouter
callback, to avoid extra lifecycle management headaches.

Change-Id: I606fa98b3a6a3e60a953dd024274f9bf9c67acdd
ctionProvider.java
5aa02e20186a9e30553a8ef0d53d5fad4c0b7597 16-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Revert "Synthesize fake vsyncs when the screen is off."" into jb-dev
531d5866d8e2529e2ae1c6ef12202119753bec03 16-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility focus search and setting it from hover are performed by the client." into jb-dev
8ffe8b304e4778b3c95e57ad5a77cd41c9cf9f7b 15-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus search and setting it from hover are performed by the client.

1. Currently we are providing accessibility focus search algorithm in the
framework and we are also setting accessibility focus from hover. It
appears that implementing a focus search strategy that works for all
accessibility services is non trivial task if feasible. Based on
feedback from the developers of two such services at Google - TalkBack
and BarilleBack - the built in focus search does not quite match what
they need and they would like to implement a custom strategy.

Hence, having APIs for accessibility focus search in the framework does
not make. Therefore, we are hiding this APIs and later will take out the focus
search logic and allow the accessibility service to implement search.

Also putting accessibility focus from hover is tightly integrated with
the focus search since the set of views that get accessibility focus
from hover should be the same as the set of views returned by the
focus search routine. Therefore, we are letting the accessibility service
decide where to put accessibility focus when it gets an accessibility
hover event.

bug:6675330

Change-Id: Ie152230990a6602f3fd1d82de2177d0b1444d654
iew.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityNodeProvider.java
ba726113e525823f2594507d098f2d99426655f6 15-Jun-2012 Jeff Brown <jeffbrown@google.com> Revert "Synthesize fake vsyncs when the screen is off."

This reverts commit 858491ba13ab5d45a5ec462d002b5856703b1b2b

It turns out that Surface Flinger is supposed to generate fake vsyncs while the screen is off, but sometimes it wasn't working due to a bug. That bug has now been fixed by the following change: I7c6abc23bb021d1dfc94f101bd3ce18e3a81a73e
horeographer.java
84ce6565b0ba22d2c97b79322577f691dda1a95f 15-Jun-2012 Jeff Brown <jeffbrown@google.com> am 655410e7: am 5c74bca4: Merge "Synthesize fake vsyncs when the screen is off." into jb-dev

* commit '655410e7b3c79bb705aaba0bdfc77ecdaa25d4ca':
Synthesize fake vsyncs when the screen is off.
5c74bca49a48c3316aca9fed00d287cb8cbc2be4 15-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Synthesize fake vsyncs when the screen is off." into jb-dev
858491ba13ab5d45a5ec462d002b5856703b1b2b 15-Jun-2012 Jeff Brown <jeffbrown@google.com> Synthesize fake vsyncs when the screen is off.

When the screen is off, we might not receive real vsync pulses from
the hardware which would cause posted Choreographer callbacks to not run.
This is bad because messages in the Looper might be blocked behind a barrier
that is scheduled to be removed by one of those Choreographer callback
(see ViewRootImpl.doTraversals). Until the barrier is removed, those messages
will not run. To prevent starvation of the Looper, we synthesize fake vsync
pulses at a reduced rate whenever the display hardware stops generating them.

This change should fix a variety of rare non-deterministic bugs where
the system might appear to be unresponsive while the screen is off,
and spurious ANRs reported shortly after the screen is turned back on.

Bug: 6574842
Bug: 6636995
Bug: 6643559
Change-Id: I263f2fdf979afd79e5ac47a0cc5d34a93b860c21
horeographer.java
04ddf3c0508f3d50e6ab82cecc0adc92f52b7803 14-Jun-2012 Jeff Brown <jeffbrown@google.com> Allow applications to recover from IME related ANRs.

Timeout after 2.5 seconds.

Because communication with an IME occurs asynchronously
using oneway binder calls, it's possible for an input event
that was delegated to the IME to be dropped on the floor.
When this happens, the app (not the IME!) will get blamed
for the problem and will ANR forever.

Even if an event is not dropped on the floor, we should
eventually time out event dispatch to the IME if it's
being too slow.

This patch implements a timeout on all events delegated
to the IME. When the timeout expires, the event is marked
as having not been handled by the IME and the application
gets a crack at it. We also write a message to the log when
this occurs.

Ensure that we do not invoke the event finished callback
while holding the InputMethodManager's lock to avoid
potential deadlocks.

Fixed a minor bug where the InputMethodManager would not
remember the id of the current input method. This caused
the log messages and dumpsys state to print "null" as the
current input method id.

Bug: 6662465
Change-Id: Ibb3ddeb087ee6998996b0b845134e16a18aa3057
iewRootImpl.java
nputmethod/InputMethodManager.java
f2361156c4aee3dad26f25c410fcf255656922d1 15-Jun-2012 John Reck <jreck@google.com> Fix doc link

Change-Id: I5d2e6f04ed0ece6bf66b0b969c345108a1d372c5
iewDebug.java
01b76dcbddb05d1267409088284fc13b1e55accf 14-Jun-2012 Romain Guy <romainguy@google.com> am 06116b08: am a989b334: Merge "Don\'t create a giant layer for all notifications Bug #6642475" into jb-dev

* commit '06116b08dad51923672dde2d884baf0e0dc70d2e':
Don't create a giant layer for all notifications Bug #6642475
e526f14e3bc6b82e7977708c13683b21a0df7935 14-Jun-2012 John Reck <jreck@google.com> Merge "Show WebView layers in hierarchyviewer"
a989b334fd097114ce1016ce1668597a213a441c 14-Jun-2012 Romain Guy <romainguy@google.com> Merge "Don't create a giant layer for all notifications Bug #6642475" into jb-dev
54ab347fdde0e4d14d923cca80e5bcc7b879fc52 14-Jun-2012 Romain Guy <romainguy@google.com> Don't create a giant layer for all notifications
Bug #6642475

When expanding the status bar, create one layer per notification instead of
a single giant layer for the pile of notifications. This prevents layer
creation failure when the total height of the notifications is larger
than the maximum allowed texture size in OpenGL ES 2.0.

This change only enables layers on notifications that will be visible
once the notification area is fully expanded.

Change-Id: I3c791a66cf5ac0973f3a65cfcd84b95209d580f3
iewRootImpl.java
indowManagerImpl.java
926cf56676d760579573470c7848dbf119a86779 14-Jun-2012 John Reck <jreck@google.com> Show WebView layers in hierarchyviewer

Change-Id: I373e084d236baafe17982cfc367d167b81ca3e20
iewDebug.java
2c89d171fa055255c629b4823739d6f44a3a9bea 14-Jun-2012 Jeff Brown <jeffbrown@google.com> am fc959a38: am 9e197141: Merge "Add new ASSIST key and map it to the global assist intent." into jb-dev

* commit 'fc959a389564f2ffef9c4ceba0b1ff119dd53933':
Add new ASSIST key and map it to the global assist intent.
de7a8ead2467a4a152a5a9b2416c8048f1b48bbb 14-Jun-2012 Jeff Brown <jeffbrown@google.com> Add new ASSIST key and map it to the global assist intent.

Moved some duplicate code from SearchPanelView and LockScreen
over to SearchManager to avoid creating yet another copy of it
in PhoneWindowManager.

Bug: 6594275
Change-Id: Ib4ebcd6817639d17548952ab2ce7cb876c05777c
eyEvent.java
14584f1b6dbd6c3baf6da13b089427d177b50378 13-Jun-2012 Chris Craik <ccraik@google.com> am 06d6204a: am d772c487: Merge "Fix attachFunctor path to ignore delay" into jb-dev

* commit '06d6204a2ea7dd263b718018dbb81a88b9a516d5':
Fix attachFunctor path to ignore delay
d772c4878e2207795e92b26a462fd02bca7e3c2e 13-Jun-2012 Chris Craik <ccraik@google.com> Merge "Fix attachFunctor path to ignore delay" into jb-dev
cb82b942c89bf69b6c03e2f4951f519c1be115dc 13-Jun-2012 Chris Craik <ccraik@google.com> Fix attachFunctor path to ignore delay

Don't defer functor invocation when calling attach functor directly.

bug:6653638

Change-Id: Ifffc027df16612f380f39b82b7d0a4411d53b4ea
ardwareRenderer.java
95fc7a246f48773eec28b5a7de1fab4632df6d7f 13-Jun-2012 Romain Guy <romainguy@google.com> Merge "Remove ViewTreeObserver allocations"
c39ed4a6e54f5b11a2eb07e9aeb58597bd8c78ed 12-Jun-2012 Romain Guy <romainguy@google.com> Remove ViewTreeObserver allocations

A couple of allocations remain to handle possibly recursive listeners.

Change-Id: I72fd271c2fc4f4ad427a27e0665f780cae117aea
iewTreeObserver.java
5ef59976b1a0c8d03e0f3c5b41a3493b55fe9ee3 12-Jun-2012 Dianne Hackborn <hackbod@google.com> am f59467b3: am aabd9c23: Merge "Fix issue #6634325: View.setKeepScreenOn and..." into jb-dev

* commit 'f59467b3d6c5df8bf90de799e212275e5c26de86':
Fix issue #6634325: View.setKeepScreenOn and...
d3f97dc0fb08f4738f2e4c78df001b59f311951e 12-Jun-2012 Jeff Brown <jeffbrown@google.com> am 14afbba6: am ea6b8188: Merge "Improve ANR diagnostics." into jb-dev

* commit '14afbba66355fab168bed25c9bab33058372584a':
Improve ANR diagnostics.
2dc7232140ab6a107056540d5ed90fce9f104d99 12-Jun-2012 Jeff Brown <jeffbrown@google.com> am 62007aba: am 519e91ef: Merge "Detect bad behavior earlier in Choreographer." into jb-dev

* commit '62007aba1998055cf6ab3e610ed97dbe06341056':
Detect bad behavior earlier in Choreographer.
bc62684f02d93bcbdaa555bc230af4b5605aa912 12-Jun-2012 Romain Guy <romainguy@google.com> am 265888fe: am 6b5caee4: Merge "Prevent crash in WebView when disabling the hw renderer Bug #6596807" into jb-dev

* commit '265888fe6a57d5b77279c97b68cfa25865267e6b':
Prevent crash in WebView when disabling the hw renderer Bug #6596807
23ef5fcff4d99ce05ace9fd43dd0c1ace9489579 12-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 5d15f40a: am f372e331: Merge "NPE when iterating by character and word in Launcher widgets." into jb-dev

* commit '5d15f40a19be01fa9c5a9674b31b6b18774cbeac':
NPE when iterating by character and word in Launcher widgets.
681f745916e4809f46e0d742437f7d724fc5be35 12-Jun-2012 Jeff Brown <jeffbrown@google.com> am 7d9a18ee: Merge "resolved conflicts for merge of 926a5c50 to jb-dev-plus-aosp" into jb-dev-plus-aosp

* commit '7d9a18eeb684e87da5a907c96d25da21918119b5':
Remove edge slop handling from ScaleGestureDetector.
aabd9c230f9849e8d52d2cb2e33bac7f163590d5 12-Jun-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6634325: View.setKeepScreenOn and..." into jb-dev
9d0908919a65a4f3158a8fc50aaf320dfed36278 12-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6634325: View.setKeepScreenOn and...

...MediaPlayer.setScreenOnWhilePlaying seem broken

We need to correctly clear the keep screen on flag when the view
hierarchy request is gone... and to do that, we need to keep the
actual state of the flag requested by the app. Also when the app
changes its state, we need to compute the proper value based on
both the app request and any requests in the view hierarchy.

Bug: 6634325
Change-Id: I060e9a34a10faffbaa77c06098cf21298bb4969f
iewRootImpl.java
265f1ccc5128319d81eee70ee2d2ae81573efb11 12-Jun-2012 Jeff Brown <jeffbrown@google.com> Improve ANR diagnostics.

When an ANR occurs, log the associated reason.

When an event takes too long to process (currently more than 2 seconds)
log basic information about the event including how long it actually
took.

Dump the contents of the inbound, outbound and wait queues as part
of dumpsys input.

Bug: 6574842
Change-Id: I9ab754c320f609cb86fe266c469a61e7032dfed6
horeographer.java
519e91ef84aab79d0e18ba72e8a133d2306b821c 12-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Detect bad behavior earlier in Choreographer." into jb-dev
4fdf9c6e2a177845bb4cc20f69b83555de209144 12-Jun-2012 Jeff Brown <jeffbrown@google.com> Detect bad behavior earlier in Choreographer.

Detect wonky vsync timestamps (should they occur) and
warn loudly about them.

Warn when too many frames are skipped. The threshold is pretty
conservative right now (only warn if at least 30 frames are skipped)
but it can be adjusted using system property. Even skipping just a
couple of frames is enough to generate noticeable jank.
The threshold is currently intended to help track down bigger problems
such when an app does too much work on the UI thread.

Bug: 6574842
Change-Id: I4aac7e5e17d1fb51adb0510e318a72a28b3775ed
horeographer.java
6b5caee49085c63b0197fd1e5e952f3b76abe33d 11-Jun-2012 Romain Guy <romainguy@google.com> Merge "Prevent crash in WebView when disabling the hw renderer Bug #6596807" into jb-dev
f372e331e46bb9852520fa76c76f99ad99441893 11-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "NPE when iterating by character and word in Launcher widgets." into jb-dev
527ee91b60426b5a344e9905c7f9a14d6d26219e 11-Jun-2012 Romain Guy <romainguy@google.com> Prevent crash in WebView when disabling the hw renderer
Bug #6596807

A crash would occur in the following situation:
- WebView registers a functor with the hardware renderer
- The hardware renderer gets disabled
- WebView attemps to unregister its functor

Unregistering the functor fails because the hardware renderer is now disabled.
When the renderer becomes enabled again, the functor is invoked, which leads
to a native crash.

This change simply allows functors to always be unregistered, even when the
renderer is disabled. A disabled renderer only means that it will not be used
for rendering; as such, unregistering a functor is a valid operation and
should be allowed.

Change-Id: I0ff897a0cca7e048c609033215cd0f7f5c940bcc
iewRootImpl.java
bbd31559f32f86a100904fe8a5bc37677b5ba441 11-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> NPE when iterating by character and word in Launcher widgets.

1. The character and word iterators were use the application
context to keep track of locale changes. However, for widgets
the context from which the app context is obtained is custom
created therefore the app context is null and the iterators
code does not expect that. Now we are caching the locale
and update it when the configuration changes.

bug:6642281

Change-Id: I3fd201ab9e4efd79e3bdc8afd8ee644e4354a7fb
ccessibilityIterators.java
iew.java
926a5c507b2e532d1f1348dc8a5672b76ae1f4dc 11-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove edge slop handling from ScaleGestureDetector." into jb-dev
a656414e948231177e41a74c2ab5e4015d09ba9d 10-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 3dbb70ec: am 86bbf705: Merge "Settings crash after enabling TalkBack accessibility." into jb-dev

* commit '3dbb70ec9c593e11dd19efa528a99e9ec21d63e0':
Settings crash after enabling TalkBack accessibility.
3dbb70ec9c593e11dd19efa528a99e9ec21d63e0 10-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 86bbf705: Merge "Settings crash after enabling TalkBack accessibility." into jb-dev

* commit '86bbf70587602c1fd86fce1a2a4be78da45aaedc':
Settings crash after enabling TalkBack accessibility.
076f17375b9530d40767b990016a83a9fcd18bf2 09-Jun-2012 Jeff Brown <jeffbrown@google.com> Remove edge slop handling from ScaleGestureDetector.

The edge slop code could violate invariants of ScaleGestureDetector,
such as the assumption that if an ACTION_POINTER_DOWN is observed
or if getPointerCount() >= 2, then there must be at least two
active pointers to choose from. But due to the edge slop handling,
it was possible for findNewActiveIndex to return -1 in this
case, resulting in a crash.

Bug: 6613154
Change-Id: I4e08e38a49ab27dac1be9484e19de086bc43624a
caleGestureDetector.java
ee33ad24cdc31ed0d7f99e110e041b0a63c9b0f1 09-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Settings crash after enabling TalkBack accessibility.

1. AccessibilityInput filter was not checking whether the touch
explorer instance is not null before passing it an accessibility
event. If the accessibility event is dispatched before the input
filter is installed but after it is created we runt into this
case.

2. Added a missing null check in accessibility node info.

bug:6635089

Change-Id: Ia389dc1f427427eb73794f6331ccb870e0b44c55
ccessibility/AccessibilityNodeInfo.java
4210a6f08b18604b94df5a8983628650645112b5 07-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 8114f439: am ddbcce81: Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev

* commit '8114f439fe8b409a00ac704b37128922690e2186':
Cannot interact with dialogs when IME is up and on not touch explored popups.
8114f439fe8b409a00ac704b37128922690e2186 07-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am ddbcce81: Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev

* commit 'ddbcce81acaa744d35c727d9a530b04255fab5af':
Cannot interact with dialogs when IME is up and on not touch explored popups.
ddbcce81acaa744d35c727d9a530b04255fab5af 07-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev
86783474fdec98a22bc22e224462767eab13e273 07-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Cannot interact with dialogs when IME is up and on not touch explored popups.

1. If the last touch explored location is within the active window we
used to click on exact location if it is within the accessibility
focus otherwise in the accessibility focus center. If the last touch
explored location is not within the active window we used to just
click there. This breaks in the case were one has touch explored
at a given place in the current window and now a dialog opens *not*
covering the touch explored location. If one uses swipes to move
accessibility focus i.e. to traverse the dialog without touching
it one cannot activate anything because the touch explorer is using
the last touch explored location that is outside of the active
window e.g the dialog.

The solution is to clear the last touch explored location when a
window opens or accessibility focus moves. If the last touch
explored location is null we are clicking in the accessibility
focus location.

bug:6620911

2. There is a bug in the window manager that does not notify a
window that its location has changed (bug:6623031). This breaks
accessibility interaction with dialogs that have input because
when the IME is up the dialog is moved but not notified. Now
the accessibility layer gets incorrect location for the
accessibility focus and the window bounds.

The soluion is when the accessibility manager service calls
into the remove thress to obtain some accessibility node infos
it passes the window left and top which it gets from the
window manager. These values are used to update the attach info
window left and top so all accessibility node infos emitted
from that window had correct bounds in screen coordinates.

bug:6620796

Change-Id: I18914f2095c55cfc826acf5277bd94b776bda0c8
ccessibilityInteractionController.java
iew.java
iewRootImpl.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/IAccessibilityInteractionConnection.aidl
9dc7d19309f9906fe34b19622dc7731934031d25 07-Jun-2012 Chet Haase <chet@google.com> am b4b0a7fe: am a1723d18: Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev

* commit 'b4b0a7fea8735dc7de4bdcfe5e7f065a39ee8e2d':
Revert "Remove ViewTreeObserver allocations"
b4b0a7fea8735dc7de4bdcfe5e7f065a39ee8e2d 07-Jun-2012 Chet Haase <chet@google.com> am a1723d18: Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev

* commit 'a1723d18662d1316f931a6b4b3ee6ddc42743ee4':
Revert "Remove ViewTreeObserver allocations"
a1723d18662d1316f931a6b4b3ee6ddc42743ee4 07-Jun-2012 Chet Haase <chet@google.com> Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev
89b8838496dca5920c6cd86aef555a5e180556d2 07-Jun-2012 Chet Haase <chet@google.com> am ca43c961: am 44b2fe3f: Track canvas clearing for swap buffers logic.

* commit 'ca43c96127e9f7cdab8ee70638a2445347eebd08':
Track canvas clearing for swap buffers logic.
ca43c96127e9f7cdab8ee70638a2445347eebd08 07-Jun-2012 Chet Haase <chet@google.com> am 44b2fe3f: Track canvas clearing for swap buffers logic.

* commit '44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2':
Track canvas clearing for swap buffers logic.
0f8ffd83745f718a476564f35a2f7fd4637275bc 07-Jun-2012 Chet Haase <chet@google.com> Revert "Remove ViewTreeObserver allocations"

This reverts commit b999cc118fe430699e9a67d5dab355125b873abb.

There was an assumption in this earlier change that observer dispatching could not be
recursive - we could only ever have one iteration on the observer listener list. This
assumption broke down in a specific app, and maybe in more, so reverting the change for now.
We should probably find a way to accomplish the same allocation-minimizing goal without
causing exceptions when violating our assumptions.

Issue #6620795 [Application compatibility] Lufthansa app crashes

Change-Id: I1c1f9ad329c14398feb0e74ce77e1a07111f7d1f
iewTreeObserver.java
44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2 07-Jun-2012 Chet Haase <chet@google.com> Track canvas clearing for swap buffers logic.

A previous fix made it necessary for a frame to render something to GL
in order to cause a call to eglSwapBuffers(). Besides the calls being
tracked as part of issuing a DisplayList, there is also a potential call
to clear the canvas (via glClear()) on non-opaque surfaces. This call is also
good to track, since a surface that gets cleared without any other drawing operations
is worth flipping to the screen (to erase old contents on that surface).

This fix tracks the status of the pre-draw operations to find out whether
glClear() was called and then sets the drawing status appropriately.

Issue #6606422 QuickContact dismissal is janky again (Tracking)

Change-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
4e772cb9387b9631f8830e3ac73474fa627ddf62 07-Jun-2012 Chris Craik <ccraik@google.com> am 6d99a024: am 8f1f714f: Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev

* commit '6d99a024647ff845179311d611dcf031965ba96d':
Revert "Add more temporary logging for investigating detachFunctor"
6d99a024647ff845179311d611dcf031965ba96d 07-Jun-2012 Chris Craik <ccraik@google.com> am 8f1f714f: Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev

* commit '8f1f714f831bf8bf10f94211c42e36ef2851810d':
Revert "Add more temporary logging for investigating detachFunctor"
8f1f714f831bf8bf10f94211c42e36ef2851810d 07-Jun-2012 Chris Craik <ccraik@google.com> Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev
932b7f6765968bd526c03512f3805fbc3924dc29 06-Jun-2012 Chris Craik <ccraik@google.com> Revert "Add more temporary logging for investigating detachFunctor"

bug:6608646

This reverts commit 8857b2f76abad1e4ec742dfd85d0c997880be376

Change-Id: I1563b5974c52b84201ae448298f804eb0dcc235d
ardwareRenderer.java
iewRootImpl.java
5fccbbebdf010ed9457cab8a720f68a0b4e9d4c7 06-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am cf27a374: am 538252cd: Merge "Removing leftover code to sync accessibility and input focus." into jb-dev

* commit 'cf27a3743941d9ccb1d20a294085819049fac028':
Removing leftover code to sync accessibility and input focus.
cf27a3743941d9ccb1d20a294085819049fac028 06-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 538252cd: Merge "Removing leftover code to sync accessibility and input focus." into jb-dev

* commit '538252cd37945612a4761ff03d87022d56e33b96':
Removing leftover code to sync accessibility and input focus.
538252cd37945612a4761ff03d87022d56e33b96 06-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Removing leftover code to sync accessibility and input focus." into jb-dev
462a7284b52503f1d7f2b3b9c9e9397d0c40d0ed 06-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Removing leftover code to sync accessibility and input focus.

1. We have decided to let the accessibility services take care
for syncing accessibility and input focus. Some apps may
move input focus when a given view takes input focus which
dragging accessibility focus can lead to a loop in the
focus traversal. This change removes some leftover sync
code.

bug:6616861

Change-Id: I57cb44e315a386d13596794d3767b559e9ee3d99
iew.java
b85afc25d5d4ef3aab378691d8df306c99f7ab96 06-Jun-2012 Adam Powell <adamp@google.com> resolved conflicts for merge of 1178569b to master

Change-Id: If2bb6ccaee99bcf199cd93f24eba217fe6ff485e
1178569b261a094fe6fb830e91f002e4fcd9fc1a 06-Jun-2012 Adam Powell <adamp@google.com> am f6452d0c: Merge "More fun with MediaRouter" into jb-dev

* commit 'f6452d0cac64b72005af330411b5a895f0038312':
More fun with MediaRouter
f6452d0cac64b72005af330411b5a895f0038312 06-Jun-2012 Adam Powell <adamp@google.com> Merge "More fun with MediaRouter" into jb-dev
690ffb4e1f735148a15f2036d9a3c1962fba188c 05-Jun-2012 Adam Powell <adamp@google.com> More fun with MediaRouter

Add action provider, button, and styles. Extend ActionProvider to
allow for getting references to MenuItem instances.

Implement toggle mode for the MediaRouteButton/ActionProvider. Dialog
selection yet to come.

Change-Id: Ibe3188570f503bbf8dd00cf154663435656a7171
ctionProvider.java
7510230583e5ef5a94392e8ccdb1416b8d9f37cc 06-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am f1abc425: am cab5b8a9: Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev

* commit 'f1abc4253111907ffb8e5ba19dffa8d00d92fc45':
Nodes with contentDescription should always be important for accessibility.
f1abc4253111907ffb8e5ba19dffa8d00d92fc45 06-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am cab5b8a9: Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev

* commit 'cab5b8a91d6fbcbb694284038f5529ff02f10f78':
Nodes with contentDescription should always be important for accessibility.
cab5b8a91d6fbcbb694284038f5529ff02f10f78 06-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev
e47957a0bbe2164467ff6e7a566b0c9e4689cdc9 05-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Nodes with contentDescription should always be important for accessibility.

1. Now after setting the content description on a view we mark is as
important for accessibility of the current important for accessibility
mode of that view is auto.

2. Minor tweak to a touch explorer coefficient to make performing double
tapping easier.

bug:6615353

Change-Id: I3b477f533a3ebde85d425caf32ace5e851240f88
iew.java
3683fe8328abc3fa2e4caf8ca443cf41de6f018b 05-Jun-2012 Chris Craik <ccraik@google.com> am 34e5f5a5: am 3676b137: Merge "Add more temporary logging for investigating detachFunctor" into jb-dev

* commit '34e5f5a534d915f253ae51cbcfe15c12e25a78a4':
Add more temporary logging for investigating detachFunctor
34e5f5a534d915f253ae51cbcfe15c12e25a78a4 05-Jun-2012 Chris Craik <ccraik@google.com> am 3676b137: Merge "Add more temporary logging for investigating detachFunctor" into jb-dev

* commit '3676b137ecf2f24e88e8a3567c11234e7d4416d2':
Add more temporary logging for investigating detachFunctor
3676b137ecf2f24e88e8a3567c11234e7d4416d2 05-Jun-2012 Chris Craik <ccraik@google.com> Merge "Add more temporary logging for investigating detachFunctor" into jb-dev
0fc37e46b44774f7706dea08b7b1ea7030d0fbe8 05-Jun-2012 Chet Haase <chet@google.com> am 7c54ef9a: am 14f73a02: Merge "Restore opaque alpha value when AlphaAnimation finishes" into jb-dev

* commit '7c54ef9a0e27b5146a51ebeb267a0a6a1fd9174f':
Restore opaque alpha value when AlphaAnimation finishes
8857b2f76abad1e4ec742dfd85d0c997880be376 05-Jun-2012 Chris Craik <ccraik@google.com> Add more temporary logging for investigating detachFunctor

bug:6596807
Change-Id: Ic9e34e323b12a887f2e8df0773a6155627b6a64f
ardwareRenderer.java
iewRootImpl.java
7c54ef9a0e27b5146a51ebeb267a0a6a1fd9174f 05-Jun-2012 Chet Haase <chet@google.com> am 14f73a02: Merge "Restore opaque alpha value when AlphaAnimation finishes" into jb-dev

* commit '14f73a02a42b5e4c700fe70e8c2d38dc518480b4':
Restore opaque alpha value when AlphaAnimation finishes
bce6f97202dba948808e702a7a75d9ed8f46f537 05-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am b25605cd: am 72d6835c: Merge "Accessibility focus should not clear selection when taken away." into jb-dev

* commit 'b25605cd7111bcab41ec10547f015bd2d6215c91':
Accessibility focus should not clear selection when taken away.
2143337d50a983e9d9579f8ffb9fad8282f618e0 05-Jun-2012 Chet Haase <chet@google.com> Restore opaque alpha value when AlphaAnimation finishes

Alpha values were being set correctly on native Display Lists during an
AlphaAnimation, but not when the animation finished. Only non-1 values
were being propagated to the Display List properties.

The fix is to track when we've set a non-1 alpha value from an AlphaAnimation
and to notice that flag when the value is 1 (because the animation ended), so that
we propagate that value correctly. Using the flag avoids sending a value of 1
(by far the most common case) unless we really need to restore it after animating
it with non-1 values.

Issue #6600592 Sometimes album art blends with list asset on queue

Change-Id: I51047d756a4ac42a2d907a4d77963cc23dfb1db3
iew.java
defdb1e49172fe7c9737347489dbb77361af955a 15-Dec-2010 Tobias Dubois <tobias.dubois@sonyericsson.com> Add the possibility to modify the View focus rect

This change makes it possible for a view to supply a different rectangle than
the drawing rect to be used by the FocusFinder when finding a new view to give
focus to. This is useful if e.g. the total view area is larger than the
interactive area of the view.

The default implementation of getFocusRect() will return getDrawingRect().
The existing behaviour is only changed if getFocusRect() is overridden by a
subclass of android.view.View

Change-Id: I52dd95c6fa296b744e354217051dcec1bb3c8e92
ocusFinder.java
iew.java
b25605cd7111bcab41ec10547f015bd2d6215c91 05-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 72d6835c: Merge "Accessibility focus should not clear selection when taken away." into jb-dev

* commit '72d6835c7cea35d0faf5f1584bf2c475fcbf93c8':
Accessibility focus should not clear selection when taken away.
0a047bdcdd0ea8c58fa80bd4631fe8a8d02df050 05-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus should not clear selection when taken away.

1. Currently accessibility focus removal was clearing the selection
in the view - in particular the accessibility cursor position
which in the TextView case is the selection. This leads to a
scenario where the selection may be cleared when the app does
not explect. Further, the selection should not be cleared
since the user can be say several pages in the content and
removing and putting back accessibility focus would cause a
tedious traversal to get to the previous position.

bug:6469840

Change-Id: Iba3c01600fa2c9c39f99085a5fbc4328aa539ea8
iew.java
0cd655ad2dcc16035f26300001ac2b3bd62d1c46 05-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Revert "Revert "Clean up layout direction APIs for Drawable"""
b03b434089cf2106c467b2827a65e5c589c91d01 04-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Revert "Revert "Clean up layout direction APIs for Drawable""

This reverts commit c96132ff53e5c26f5b0170edd85072006fb2bc70
iew.java
193fc075a2a19517c175a5760fc5e9f10d0f2e31 04-Jun-2012 Christopher Tate <ctate@google.com> Docs tweak

Cross-reference the flag manipulation methods in Window to make
it easier to discover them.

Change-Id: I81ef38fd69b43683e4ec8d48c058496470533b53
indow.java
92bc9393e6aaa46ffc1d9aa1fde05bf4f25d6dff 04-Jun-2012 Dianne Hackborn <hackbod@google.com> am 5a70063f: am 6593be0c: Merge "Work on issue #6579997: Mariner entrance animation" into jb-dev

* commit '5a70063f7ea8c910eefb025018ef02e84ff319f0':
Work on issue #6579997: Mariner entrance animation
5a70063f7ea8c910eefb025018ef02e84ff319f0 04-Jun-2012 Dianne Hackborn <hackbod@google.com> am 6593be0c: Merge "Work on issue #6579997: Mariner entrance animation" into jb-dev

* commit '6593be0c200f69d932e40e05e9df54b89c157c48':
Work on issue #6579997: Mariner entrance animation
6593be0c200f69d932e40e05e9df54b89c157c48 04-Jun-2012 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #6579997: Mariner entrance animation" into jb-dev
5a7161701441764d3cddc5397cfebcb8ec62a783 04-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am cdb2a216: am 7b4799ca: Merge "Client app crashes if accessibility service uses invalid focus type." into jb-dev

* commit 'cdb2a2167d0f0676cc613a358073267d86d2851c':
Client app crashes if accessibility service uses invalid focus type.
cdb2a2167d0f0676cc613a358073267d86d2851c 04-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 7b4799ca: Merge "Client app crashes if accessibility service uses invalid focus type." into jb-dev

* commit '7b4799cafa6624862a172aaf2ececf661850b03c':
Client app crashes if accessibility service uses invalid focus type.
7b4799cafa6624862a172aaf2ececf661850b03c 04-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Client app crashes if accessibility service uses invalid focus type." into jb-dev
2ef6905003c20010032ee993dfcc5899ad9be6f8 04-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Client app crashes if accessibility service uses invalid focus type.

1. If an accessibility service uses an invalid focus type argument
when trying to find where focus is the queried application crashes.
The same happens if the serivce calls focus search with an invalid
derection. While we need the argument check in the controller that
runs in the app process the accessibility service has to be the
palace where an exception is thown for the invalid argument so
the developer can fix his code.:

bug:6508797

Change-Id: Ib0d74f374fa60ee8fd6117f11c23af34f6c26ad3
ccessibility/AccessibilityNodeInfo.java
94456bb32c282a2b07468bd0ffbacf2283023a00 04-Jun-2012 Jeff Brown <jeffbrown@google.com> am 7d3fa093: am f47e76e2: Merge "Make velocity tracker strategy configurable." into jb-dev

* commit '7d3fa093bbd34e19f6b580b6258c8ea4e138c777':
Make velocity tracker strategy configurable.
7d3fa093bbd34e19f6b580b6258c8ea4e138c777 04-Jun-2012 Jeff Brown <jeffbrown@google.com> am f47e76e2: Merge "Make velocity tracker strategy configurable." into jb-dev

* commit 'f47e76e2c78e78e26110786e99548d718d177c32':
Make velocity tracker strategy configurable.
f47e76e2c78e78e26110786e99548d718d177c32 04-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Make velocity tracker strategy configurable." into jb-dev
9eb7d86181729c3eb769d71123c4ce9ffc868f08 01-Jun-2012 Jeff Brown <jeffbrown@google.com> Make velocity tracker strategy configurable.

This change is very useful for testing purposes because it makes it
easy to compare different implementations to see how they behave.

There is no change to the current default strategy.

Bug: 6413587
Change-Id: I4d8567aa4160571ba9fa397ce419882cd9366749
elocityTracker.java
bc595b798ea55fefddedb253afb6ac8c7849eff6 04-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am b59d0618: am b6585d19: Merge "Double input focus and focus movement in list not working." into jb-dev

* commit 'b59d06186130921c02b6a4b0c98d0c43379df6d4':
Double input focus and focus movement in list not working.
b59d06186130921c02b6a4b0c98d0c43379df6d4 04-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am b6585d19: Merge "Double input focus and focus movement in list not working." into jb-dev

* commit 'b6585d19311f13ec28fa38a3c849589dba8c293a':
Double input focus and focus movement in list not working.
b6585d19311f13ec28fa38a3c849589dba8c293a 04-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Double input focus and focus movement in list not working." into jb-dev
a55a94bfb3a6de5f203224d75fcbfa40694c8d01 03-Jun-2012 Adam Powell <adamp@google.com> am 58e29c06: am 7c86958d: Merge "Add MediaRouter API." into jb-dev

* commit '58e29c06610054419339bb0a75c44ab30d6fe89a':
Add MediaRouter API.
58e29c06610054419339bb0a75c44ab30d6fe89a 03-Jun-2012 Adam Powell <adamp@google.com> am 7c86958d: Merge "Add MediaRouter API." into jb-dev

* commit '7c86958d73e7216a92bdfd84fce4440e1def7eaa':
Add MediaRouter API.
7c86958d73e7216a92bdfd84fce4440e1def7eaa 03-Jun-2012 Adam Powell <adamp@google.com> Merge "Add MediaRouter API." into jb-dev
b552d89e901225e2b6aa2602e874ab984c638415 02-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Double input focus and focus movement in list not working.

1. The clearFocus routine in ViewGroup was clearing the pointer
to the descendant which has focus after calling clear focus
on that child. However, currently clearing the focus of a view
causes the view that loses focus to try to give the focus to
the first focusable which potentially sets the pointer to the
child that has input focus in the ViewGroup but the ViewGruop
essentially clears that pointer. This resulted in having two
focused views at the same time in some cases.

2. AbsListView was not calling the super implementation of add
focusables if the focus type was not accessibility.

bug:6559819

Change-Id: I478dfed000b5de3f9b15e12eb82aa3d34c2301e4
iewGroup.java
665ef836b5aacee69bf517c8c2718bd01303f2d1 02-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am 40404f43: am cba5e879: Merge "Calling the correct method when adding accessibility focusables." into jb-dev

* commit '40404f435c17dfbbedfdf358c48f0f91df91b84f':
Calling the correct method when adding accessibility focusables.
40404f435c17dfbbedfdf358c48f0f91df91b84f 02-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am cba5e879: Merge "Calling the correct method when adding accessibility focusables." into jb-dev

* commit 'cba5e879e825fe37bc1eb092c14f3a5c4d7a29d1':
Calling the correct method when adding accessibility focusables.
c96132ff53e5c26f5b0170edd85072006fb2bc70 02-Jun-2012 Jean-Baptiste Queru <jbq@google.com> Revert "Clean up layout direction APIs for Drawable"

This reverts commit c1da65187a4b9de8f72bd617ef937030187c0a92.
iew.java
84375876fcef73c5fa9c3de205c7db908ee14e15 02-Jun-2012 Dianne Hackborn <hackbod@google.com> Work on issue #6579997: Mariner entrance animation

Add a new variation of ActivityOptions that allows you to
supply custom animation resources and get a callback when the
animation starts.

Use this in SearchPanelView to determine when to start hiding
the search panel instead of having a fixed delay.

Fix some issues in the activity manager where we would cancel
the options in cases where we should actually keep them to give
to the window manager for a transition. (Basically when the
activity being started is not actually ending up launched, but
just results in a shift in the activity stack.)

Note that this is not quite what the design calls for -- the
entire search UI is waiting and then disappearing when the
animation starts, instead of the ring first disappearing while
waiting for the time to fade out the circle.

Change-Id: Iee9a404ba530908d73cdbd4a9d0d2907ac03428f
WindowManager.aidl
a90e4512ab81dcd8cdbefdd2ffa0de55fca1caa3 02-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Calling the correct method when adding accessibility focusables.

1. Since we added explicit accessibility focusable attribute when
adding focusables views that do so should call this method. Some
views were not updated to do so.

bug:6581924

Change-Id: Id64c0b2d76e5269ebf3fbe17203e73b174bdb843
iew.java
9a1de308cea2d160778fd977825f10a07b49d738 22-May-2012 Adam Powell <adamp@google.com> Add MediaRouter API.

This is just the initial state tracking. Still to go is
actually triggering Bluetooth A2DP correctly and tracking
process state in the system server.

Change-Id: I33031d52799d6e2d7208910da833831085cc3677
ctionProvider.java
78068825416a4a0f3b2fdf57491ba4932c2bb6c4 01-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Clean up layout direction APIs for Drawable"
c1da65187a4b9de8f72bd617ef937030187c0a92 01-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Clean up layout direction APIs for Drawable

- see bug #6427629

Change-Id: I3119db3022bba0ee325b6d0d4471bfebd850ec10
iew.java
6604496b5334924ddf59d9175c5c0e58e695c06e 01-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am dd5543a6: am ac483ac4: Merge "AccessibilityInteractionController crash with IndexOutOfBoundException." into jb-dev

* commit 'dd5543a6ffb2f543d9a45b541808561370c34f86':
AccessibilityInteractionController crash with IndexOutOfBoundException.
dd5543a6ffb2f543d9a45b541808561370c34f86 01-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> am ac483ac4: Merge "AccessibilityInteractionController crash with IndexOutOfBoundException." into jb-dev

* commit 'ac483ac41f19b9956069eebdc0275ccf90d4e01d':
AccessibilityInteractionController crash with IndexOutOfBoundException.
ac483ac41f19b9956069eebdc0275ccf90d4e01d 01-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityInteractionController crash with IndexOutOfBoundException." into jb-dev
30ac645210ecf96ae28fc5cb3b663aeb83dbdec1 01-Jun-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityInteractionController crash with IndexOutOfBoundException.

1. The findAccessibilityNodeInfosByTextUiThread was reusing an ArrayList
instance also used by the logic to initialize an AccessibilityNodeInfo.
Hence, if the find method got some view and creates the infos for them
the method creating the info was reusing the same array list and was
nuking its contents.

bug:6556585

Change-Id: I1d013bf7b1f715f8b4c4ba60c677233bec40647c
ccessibilityInteractionController.java
fbe8857237e6a725fc20e2bcf2642c459bd610a9 01-Jun-2012 Chet Haase <chet@google.com> am d0140062: am 561ff8a7: Merge "Skip eglSwapBuffers() call when we do not draw to GL" into jb-dev

* commit 'd0140062db85ae17e807e514fe14d2d0581645fb':
Skip eglSwapBuffers() call when we do not draw to GL
d0140062db85ae17e807e514fe14d2d0581645fb 01-Jun-2012 Chet Haase <chet@google.com> am 561ff8a7: Merge "Skip eglSwapBuffers() call when we do not draw to GL" into jb-dev

* commit '561ff8a74e3d9ea15f58d9b6534da9ea5a63d84b':
Skip eglSwapBuffers() call when we do not draw to GL
561ff8a74e3d9ea15f58d9b6534da9ea5a63d84b 01-Jun-2012 Chet Haase <chet@google.com> Merge "Skip eglSwapBuffers() call when we do not draw to GL" into jb-dev
aeb7723a123dc09dc4ada55393a6c68858f45b3b 01-Jun-2012 Scott Anderson <saa@android.com> Clean up IntToStrings for window TYPE_*

Remove duplicates and add missing entries for the conversions
from window types to strings.

Change-Id: I4378e1191b156bd0b73ac23bc43bc3bfd1c3f198
Signed-off-by: Scott Anderson <saa@android.com>
indowManager.java
35ec6b7b30298c16c350cd45e4369f1266778c40 01-Jun-2012 Chris Craik <ccraik@google.com> am 7d4c2ec0: am 53913ed5: Merge "Force webview invalidates on unsuccessful functor attach" into jb-dev

* commit '7d4c2ec0f4dc1843ed5e3f6768d55cc9506052c6':
Force webview invalidates on unsuccessful functor attach
7d4c2ec0f4dc1843ed5e3f6768d55cc9506052c6 01-Jun-2012 Chris Craik <ccraik@google.com> am 53913ed5: Merge "Force webview invalidates on unsuccessful functor attach" into jb-dev

* commit '53913ed55ce2b5f0d2137b2a7b67eaf7556c0c28':
Force webview invalidates on unsuccessful functor attach
53913ed55ce2b5f0d2137b2a7b67eaf7556c0c28 01-Jun-2012 Chris Craik <ccraik@google.com> Merge "Force webview invalidates on unsuccessful functor attach" into jb-dev
486590963e2207d68eebd6944fec70d50d41116a 01-Jun-2012 Chet Haase <chet@google.com> Skip eglSwapBuffers() call when we do not draw to GL

The fix is to track when we issue GL drawing commands, and to skip the
call to eglSwapBuffers() when a DisplayList does not result in
any actual rendering calls to GL.

Issue #6364143 QuickMuni list items and buttons flicker instead of fade

Change-Id: I60a02c61a58c32d92481a1e814b4c8a49c6a37a3
isplayList.java
ardwareRenderer.java
41ee465734d0006797a8fd36e88976c1e85d161c 01-Jun-2012 Chris Craik <ccraik@google.com> Force webview invalidates on unsuccessful functor attach

Functor attach should always be successful, but adding a fallback just in
case. Also invalidates the WebView on initial content arriving.

bug:6511995
Change-Id: Ibca16505afec9f693ea4a7cc4966cd6d7353725c
ardwareRenderer.java
iewRootImpl.java
30e4e88c91828d18f6e0cc9fd8011c2bd8877953 31-May-2012 Amith Yamasani <yamasani@google.com> am 2afe8252: am 4a3a9685: Merge "Protect volumepanel slider creation from race condition." into jb-dev

* commit '2afe8252addcf080d4752e85f6d0f21c930fde7f':
Protect volumepanel slider creation from race condition.
2afe8252addcf080d4752e85f6d0f21c930fde7f 31-May-2012 Amith Yamasani <yamasani@google.com> am 4a3a9685: Merge "Protect volumepanel slider creation from race condition." into jb-dev

* commit '4a3a9685d17cb29f70a7c56a3d33f2c8d5288e72':
Protect volumepanel slider creation from race condition.
4a3a9685d17cb29f70a7c56a3d33f2c8d5288e72 31-May-2012 Amith Yamasani <yamasani@google.com> Merge "Protect volumepanel slider creation from race condition." into jb-dev
0597161ee43cfaa7dbe14691a134fb358a00317a 31-May-2012 Philip Milne <pmilne@google.com> Merge "Fix for bug 6050753."
a654986978c870ed33af2ad696cd6e61d9fed489 31-May-2012 Amith Yamasani <yamasani@google.com> Protect volumepanel slider creation from race condition.

It is possible for 2 different threads to poke the mStreamControls at the same time,
causing the monkey bug mentioned in the bug report below.

Bug: 6411852

Couldn't think of any other reason Stream type 3 (MUSIC) wouldn't exist in the list.
It's possible that a programmatic call came in at the same time as the volume key press.

Synchronizing blocks where the mStreamControls are populated and accessed.

Change-Id: Ifedec6b0f8bad9634cb9e079fda785c433bdb7a7
olumePanel.java
8f2a0da78f641d6aac9dfc7dfec56088f6f89fcb 31-May-2012 Jeff Brown <jeffbrown@google.com> am bbffc261: am 9154b877: Merge "Fix comparison of device source bits." into jb-dev

* commit 'bbffc261cc3607d03c12227cdd3f78a4f4e28e1a':
Fix comparison of device source bits.
bbffc261cc3607d03c12227cdd3f78a4f4e28e1a 31-May-2012 Jeff Brown <jeffbrown@google.com> am 9154b877: Merge "Fix comparison of device source bits." into jb-dev

* commit '9154b877807a1222abf46608cdff66428e906328':
Fix comparison of device source bits.
9154b877807a1222abf46608cdff66428e906328 31-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix comparison of device source bits." into jb-dev
7e4ff4b986d626493afb676dd4824d2b3663260a 30-May-2012 Jeff Brown <jeffbrown@google.com> Fix comparison of device source bits.

Bug: 6576743
Change-Id: I6952b052e2ab9e62ddd46ab76f4df37ecc656757
nputDevice.java
028d0aacdd22df8fe51fb05544d11fff321f49fb 30-May-2012 Satoshi Kataoka <satok@google.com> am 3022b6b9: am 17150cf9: Fix locale in TextServicesManagerService

* commit '3022b6b9cdc581647747cfefa2ff365af05b02e8':
Fix locale in TextServicesManagerService
3022b6b9cdc581647747cfefa2ff365af05b02e8 30-May-2012 Satoshi Kataoka <satok@google.com> am 17150cf9: Fix locale in TextServicesManagerService

* commit '17150cf91be1478e367c2ef5e4f5baaa66b487d0':
Fix locale in TextServicesManagerService
17150cf91be1478e367c2ef5e4f5baaa66b487d0 30-May-2012 Satoshi Kataoka <satok@google.com> Fix locale in TextServicesManagerService

Bug: 6542210
Change-Id: I1670fac014beb834ec7c065ebf040d0ff3cf4161
extservice/TextServicesManager.java
76abb24afa366b6de0176cc14bc50ea7533418a6 30-May-2012 Jean Chalard <jchalard@google.com> am 887568c4: am 01bf82f2: Merge "Add/refine comments to reflect key event policies" into jb-dev

* commit '887568c4f4e49b78b1549459b265377c7ee4e8c0':
Add/refine comments to reflect key event policies
887568c4f4e49b78b1549459b265377c7ee4e8c0 30-May-2012 Jean Chalard <jchalard@google.com> am 01bf82f2: Merge "Add/refine comments to reflect key event policies" into jb-dev

* commit '01bf82f27297536399f7dcde214d1a082e3613ef':
Add/refine comments to reflect key event policies
01bf82f27297536399f7dcde214d1a082e3613ef 30-May-2012 Jean Chalard <jchalard@google.com> Merge "Add/refine comments to reflect key event policies" into jb-dev
b616547cd5915793ebb5f7b85e815895c54b1d93 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 378aa011: am a5c896af: Merge "Updating the behaviour of accessibility text iterators." into jb-dev

* commit '378aa011d5f989166b62e9db6328a5881a1a73a0':
Updating the behaviour of accessibility text iterators.
378aa011d5f989166b62e9db6328a5881a1a73a0 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am a5c896af: Merge "Updating the behaviour of accessibility text iterators." into jb-dev

* commit 'a5c896afe89aaf40166343232d85980b94974032':
Updating the behaviour of accessibility text iterators.
a5c896afe89aaf40166343232d85980b94974032 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Updating the behaviour of accessibility text iterators." into jb-dev
35742844bca9c51ae4264d0dc10f19cfdcb4ab0b 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am b554ee35: am 48d1daca: Merge "Accessiblity scroll event firing callback not properly reset." into jb-dev

* commit 'b554ee35853369e898d5feea9ea4b6667a682dac':
Accessiblity scroll event firing callback not properly reset.
b554ee35853369e898d5feea9ea4b6667a682dac 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 48d1daca: Merge "Accessiblity scroll event firing callback not properly reset." into jb-dev

* commit '48d1daca98703a470f04b4e217d9e6dae6d61dd2':
Accessiblity scroll event firing callback not properly reset.
48d1daca98703a470f04b4e217d9e6dae6d61dd2 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessiblity scroll event firing callback not properly reset." into jb-dev
4a812aeb8b90925b6a53365972047f95d9b58b17 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessiblity scroll event firing callback not properly reset.

1. We use a delayed callback to throttle the amount of accessibility
scroll events fired by the view tree. The callback to do so was
not properly reset when removed putting the view tree in a bad
state resulting in no scroll events being fired at all.

bug:6549005

Change-Id: Ibf72d7e009e4545a336c9471f46015910290703e
iew.java
b042f2d9908e20852e4077878e50a0c07b8eee79 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 09dfd60b: am bb1b7cf6: Merge "Adding accessibility focusable attribute (hidden for now)." into jb-dev

* commit '09dfd60bc37585e2670e4ca997940256e5b21ac8':
Adding accessibility focusable attribute (hidden for now).
09dfd60bc37585e2670e4ca997940256e5b21ac8 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am bb1b7cf6: Merge "Adding accessibility focusable attribute (hidden for now)." into jb-dev

* commit 'bb1b7cf66bc17165b656c2aaed8027f9e5992306':
Adding accessibility focusable attribute (hidden for now).
bb1b7cf66bc17165b656c2aaed8027f9e5992306 30-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding accessibility focusable attribute (hidden for now)." into jb-dev
f9817f7a3b4463f75a4cd9c4050bb89525476a9f 23-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding accessibility focusable attribute (hidden for now).

1. This attribute specifies whether a view can take accessibility
focus. It has three values: 1) auto - the system determines
based on whether the view is actionable and has actionable
predecessor. Accessibility services can put accessibility focus
on such a node at will; 2) yes ; this view always takes access
focus; 3) no - the view cannot takes accessibility focus and
accessibility services cannot put accessibility focus on it.

Change-Id: I2ebf4e7c75bf6b39e1742b6868b37ccdd4cc7d28
iew.java
39f2aee640eea62b43fa79f28dec3a962e5cb065 29-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Updating the behaviour of accessibility text iterators.

1. Iterators were skipping content on reversing direction.

2. The cursor was positioned at the beginning of the next text segment
when moving forward and at end of the previous text segment when moving
backwards. This is incorrect and now the cursor is positioned at the
end of the segment when moving forward and at the beginning when moving
backward.

3. The cursor position was not properly set when reaching the end/start
of the text.

4. The iterators were reporting strictly the next/previous segment even
if the cursor is within such a segment. Thus, when traversing some
content may be skipped. Now moving forward moves the selection to
the next segment end and the start position is either the old index
if it was within a segment or the start of the segment. Same in
reverse.

bug:6575099

Change-Id: Ib48a649cec53910339baf831a75e26440be6e576
ccessibilityIterators.java
iew.java
405bc51c5dc73846a4abdc325cd234eb2d37469f 29-May-2012 Jean Chalard <jchalard@google.com> Add/refine comments to reflect key event policies

Make clearer how the platform is handling key events following some
unfortunate uses by third party applications. Also highlight the
changes in Jelly Bean default keyboard.

Bug: 6566711
Change-Id: Ibcdaf54c6d629fd0733529bfe2fffc82f555f084
eyEvent.java
iew.java
nputmethod/InputConnection.java
c0ed6efe5f9b3c06a1297592647bd52a0f84215a 25-May-2012 Christopher Tate <ctate@google.com> am 115284bc: Merge "Support volume-changed sounds on master-volume-only configs" into ics-aah

* commit '115284bc124ce2874f32ad36956f475959513388':
Support volume-changed sounds on master-volume-only configs
c4b78d206ffcdccac01e3436a4a3462bef9672ed 22-May-2012 Christopher Tate <ctate@google.com> Support volume-changed sounds on master-volume-only configs

Some products manipulate only the master volume, and the existing
code does not play volume-change tones when the master volume
is adjusted. This CL includes some config-driven behavior that
will play those tones (via the system stream) if desired.

Bug 6498986

Change-Id: I2415773325d0a0039efc67897bc371b1f2e18063
olumePanel.java
98fd5a5fbc24c93593e79fa56669f36dbb452f09 24-May-2012 Romain Guy <romainguy@google.com> am ed130313: am 94328c30: Merge "Clear bitmap references from display lists as early as possible Bug #6555840" into jb-dev

* commit 'ed1303132912f0d39bcd008c3efbc0422d7433fc':
Clear bitmap references from display lists as early as possible Bug #6555840
ed1303132912f0d39bcd008c3efbc0422d7433fc 24-May-2012 Romain Guy <romainguy@google.com> am 94328c30: Merge "Clear bitmap references from display lists as early as possible Bug #6555840" into jb-dev

* commit '94328c308bc8d283841ac6434d47b4c56389a388':
Clear bitmap references from display lists as early as possible Bug #6555840
94328c308bc8d283841ac6434d47b4c56389a388 24-May-2012 Romain Guy <romainguy@google.com> Merge "Clear bitmap references from display lists as early as possible Bug #6555840" into jb-dev
38c2ece5ce4c59f30e5832779bf1d86d68b1c442 24-May-2012 Romain Guy <romainguy@google.com> Clear bitmap references from display lists as early as possible
Bug #6555840

Apps like Google+ with large bitmaps displayed in listivews could
run into memory issues because of these references.

Change-Id: I39486bda13ce00c5a3b6481139ad54547506a8b4
isplayList.java
LES20DisplayList.java
iew.java
iewRootImpl.java
5284148f28d25f69bae3f34037f65275edaa0186 24-May-2012 satok <satok@google.com> am 77f79a39: am f927e17a: Use correct spell check locale

* commit '77f79a39c0e6aa540f8204adb39ec6671ee053e7':
Use correct spell check locale
77f79a39c0e6aa540f8204adb39ec6671ee053e7 24-May-2012 satok <satok@google.com> am f927e17a: Use correct spell check locale

* commit 'f927e17ae543b6edeae8200cc86c59c3ee740670':
Use correct spell check locale
f927e17ae543b6edeae8200cc86c59c3ee740670 24-May-2012 satok <satok@google.com> Use correct spell check locale

Bug: 6542210
Change-Id: I414aa2321f30e396996d90fb8e90c1dbb3bb7b9e
extservice/SpellCheckerSubtype.java
425f126a0f2284423f4ccea0b00fbd5ea670a6c9 24-May-2012 Romain Guy <romainguy@google.com> am a865d7d7: am df3633b3: Merge "Make it harder for apps to mess up ViewGroup\'s internal state Bug #6421288" into jb-dev

* commit 'a865d7d7d3612d99e3b1407793610056c7df163c':
Make it harder for apps to mess up ViewGroup's internal state Bug #6421288
a865d7d7d3612d99e3b1407793610056c7df163c 24-May-2012 Romain Guy <romainguy@google.com> am df3633b3: Merge "Make it harder for apps to mess up ViewGroup\'s internal state Bug #6421288" into jb-dev

* commit 'df3633b38969e134c5370449b8247827c705ac1e':
Make it harder for apps to mess up ViewGroup's internal state Bug #6421288
df3633b38969e134c5370449b8247827c705ac1e 24-May-2012 Romain Guy <romainguy@google.com> Merge "Make it harder for apps to mess up ViewGroup's internal state Bug #6421288" into jb-dev
393a52c9f628bbf2ab68508913177650f9183ee4 23-May-2012 Romain Guy <romainguy@google.com> Make it harder for apps to mess up ViewGroup's internal state
Bug #6421288

Change-Id: I8c2c597f45391d3c1ae40c8341a68bb25d8ad4d9
iew.java
iewGroup.java
nimation/Animation.java
eed38b6d7fe403c40bf89b23949e7e090a1eaa2d 23-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 1eab75b9: am 321a56c8: Merge "Clearing accessibility focus of a view did not update the global state." into jb-dev

* commit '1eab75b9ba87fe73e5709ef4e77adc78e55b96c9':
Clearing accessibility focus of a view did not update the global state.
1eab75b9ba87fe73e5709ef4e77adc78e55b96c9 23-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 321a56c8: Merge "Clearing accessibility focus of a view did not update the global state." into jb-dev

* commit '321a56c8481577f812c2ba0a10df7d43503a9314':
Clearing accessibility focus of a view did not update the global state.
321a56c8481577f812c2ba0a10df7d43503a9314 23-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Clearing accessibility focus of a view did not update the global state." into jb-dev
c00d00865d51e8c08d1f90b2b34c699b63a7105e 23-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Clearing accessibility focus of a view did not update the global state.

1. The code in clear accessibility focus was not updaing the global
accessibility focus reference in view root if the view not a
descendant has accessibility focus.

bug:6382856

Change-Id: I0c99578b5afd1f1f5d0df5bba05b0a03b5951a43
iew.java
26743444c6ade01f97c4b9ac5c7f248ca27c6d5c 22-May-2012 Dianne Hackborn <hackbod@google.com> am d7b376f2: am 2bccea24: Merge "Fix issue #6499411: Characters not displayed (but suggestion bar is working)" into jb-dev

* commit 'd7b376f22346da4704ea4ca667331fc94eec9195':
Fix issue #6499411: Characters not displayed (but suggestion bar is working)
d7b376f22346da4704ea4ca667331fc94eec9195 22-May-2012 Dianne Hackborn <hackbod@google.com> am 2bccea24: Merge "Fix issue #6499411: Characters not displayed (but suggestion bar is working)" into jb-dev

* commit '2bccea2461556a525c5c65be0364b5b9404c8651':
Fix issue #6499411: Characters not displayed (but suggestion bar is working)
ac92087a9a1c464d4b0a58c82dae01cbaa088e89 22-May-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6499411: Characters not displayed (but suggestion bar is working)

The problem was that when dismissing the lock screen, the window manager
would briefly turn off force hiding when it started animating the transition
and then turn it back on until the transition was done.

This would cause it to briefly switch focus to the app behind and then
take focus off it. The app would find out it got focus, and re-start
input on itself, asking the input method service to do so. At this
point the input method service would ask the window manager if the
caller really had focus, and it may or may not be told no depending
on the timing. If it is told no, then it doesn't allow the focus
switch to happen at that point, ignoring the new input connection,
and ultimately when focus does really switch the IME is left talking
with an old dead input connection.

I added some code to the input connection to make sure when we are
no longer using one that we mark it inactive and can't use it. This
bug was especially difficult to track down because it would only
visibly break when a GC happened during this time, causing the weak
reference on the input connection to become null. With this change
it will now always break (though in the scenario here only if you
hit the race condition correctly).

Change-Id: I81a6164dc140c548da1a9736e42cd253e8238a80
nputmethod/InputMethodManager.java
0c1e7d339c1ae707cae2acf42f2b5e83dfa9cf43 22-May-2012 Jeff Brown <jeffbrown@google.com> am 4535899b: am 1957fd27: Merge "Add public API to Choreographer." into jb-dev

* commit '4535899b9cf07fdf1063848bdd8caaabe36b3cd5':
Add public API to Choreographer.
4535899b9cf07fdf1063848bdd8caaabe36b3cd5 22-May-2012 Jeff Brown <jeffbrown@google.com> am 1957fd27: Merge "Add public API to Choreographer." into jb-dev

* commit '1957fd271f4e76c471d483df98cf23abf3e92360':
Add public API to Choreographer.
1957fd271f4e76c471d483df98cf23abf3e92360 22-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Add public API to Choreographer." into jb-dev
cae804901eb5761e42d5bac7cdd6f15d37e3ceb3 22-May-2012 Jeff Brown <jeffbrown@google.com> Add public API to Choreographer.

The API allows applications to post FrameCallbacks that will
run on vsync and that are provided with the frame time.

Change-Id: Ieb39fcdd085ef8a57805b8f78e7a307f416ff21d
horeographer.java
8e61c58cf75f78e37b110cb4f38567c1b2133723 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 6ea0fd0f: am 9faa9374: Merge "Changing the interaction model of the touch explorer." into jb-dev

* commit '6ea0fd0f3f54a36a92b4decd746f06497cf825e8':
Changing the interaction model of the touch explorer.
6ea0fd0f3f54a36a92b4decd746f06497cf825e8 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 9faa9374: Merge "Changing the interaction model of the touch explorer." into jb-dev

* commit '9faa9374c1398ca4a0f3fbfc4feaa5cddeb073b0':
Changing the interaction model of the touch explorer.
207efc59be1cd045dffc1cbb86e98576e52bcd1b 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 34757fdd: am f4062864: Merge "Accessibility focus and input focus do not sync - part 2" into jb-dev

* commit '34757fdd37c3fba882de7ade1706e4c577b01830':
Accessibility focus and input focus do not sync - part 2
9faa9374c1398ca4a0f3fbfc4feaa5cddeb073b0 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Changing the interaction model of the touch explorer." into jb-dev
34757fdd37c3fba882de7ade1706e4c577b01830 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am f4062864: Merge "Accessibility focus and input focus do not sync - part 2" into jb-dev

* commit 'f40628645df750991ced8dde803dd57225fca04f':
Accessibility focus and input focus do not sync - part 2
f40628645df750991ced8dde803dd57225fca04f 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility focus and input focus do not sync - part 2" into jb-dev
525ae2075cf96d3a2ac67cd3a662069fd579f42d 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus and input focus do not sync - part 2

1. This patch has somecode that syncs input and accessibility
focus or tries to put accessibility focus on the top most
container that was missed by the previous patch.

Change-Id: I08f21670b1c6e9f363d5714b1976fb52d84baae4
iew.java
iewRootImpl.java
9152de9a033476cb19a725845508a76ec11af21f 22-May-2012 Romain Guy <romainguy@google.com> am 09fca0b4: am 493743e0: Merge "Flip TextureView\'s layer after calling setSurfaceTexture() Bug #6531172" into jb-dev

* commit '09fca0b44f13dee64e8cee090576439a2116eff3':
Flip TextureView's layer after calling setSurfaceTexture() Bug #6531172
09fca0b44f13dee64e8cee090576439a2116eff3 22-May-2012 Romain Guy <romainguy@google.com> am 493743e0: Merge "Flip TextureView\'s layer after calling setSurfaceTexture() Bug #6531172" into jb-dev

* commit '493743e0137f34939dd7f3674e9102942ef7e4e8':
Flip TextureView's layer after calling setSurfaceTexture() Bug #6531172
493743e0137f34939dd7f3674e9102942ef7e4e8 22-May-2012 Romain Guy <romainguy@google.com> Merge "Flip TextureView's layer after calling setSurfaceTexture() Bug #6531172" into jb-dev
51f7c6b3620549429cd6c62e38bace43085e04fb 22-May-2012 Romain Guy <romainguy@google.com> Flip TextureView's layer after calling setSurfaceTexture()
Bug #6531172

Changing the surface texture would not update the layer properties
nor its transform matrix.

Change-Id: I54e155a410d7e72f1a8edf3a4ab0034bf764ae28
extureView.java
c18cced700e79bdb183b47af884ffdfcb5727f28 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 5182a5bc: am 4ce106f5: Merge "Fixing some minor issues in accessibility focus." into jb-dev

* commit '5182a5bcf7a975c6183e0925dec0d3ac35071de9':
Fixing some minor issues in accessibility focus.
5182a5bcf7a975c6183e0925dec0d3ac35071de9 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 4ce106f5: Merge "Fixing some minor issues in accessibility focus." into jb-dev

* commit '4ce106f5cff5670bf1aae4190612dc8e972f5c28':
Fixing some minor issues in accessibility focus.
4ce106f5cff5670bf1aae4190612dc8e972f5c28 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing some minor issues in accessibility focus." into jb-dev
f76a83cfcf32402edb78666733b5ebf9ec6ac2e2 22-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing some minor issues in accessibility focus.

1. Now accessibility focus does not drag input focus and
vice versa. Having the two focuses chase each other
can lead to some pathological cases. For example, a
container is input focusable and manages input focus
for its children i.e. as soon as it gets input focus
it sets input focus to a child. Now assume input and
accessibility focus are on a child and focus search
finds the parent to take accessibility focus, now
putting accessibility focus to the parent will put
input focus there and the parent will put input focus
to the child which as a result will put accessibility
focus there, thus resulting in traversal loop.

bug:6522900

2. Fixed asymmetrical behavior of accessibility focus search
for AbsListView.

bug:6520016

3. Fixed accessibility focus search getting stuck in an
empty AbsListView.

bug:6520049

Change-Id: Ia26e5be7b5a9f340f873861ff466c787467b98dc
iew.java
8242b07378af28502585aae14fd20f36862e6f8c 22-May-2012 Dianne Hackborn <hackbod@google.com> am 7ad04d3f: am af5c0118: Merge "Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)" into jb-dev

* commit '7ad04d3ff4c1d9d2a26387c4247d8fc75551ea77':
Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)
7ad04d3ff4c1d9d2a26387c4247d8fc75551ea77 22-May-2012 Dianne Hackborn <hackbod@google.com> am af5c0118: Merge "Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)" into jb-dev

* commit 'af5c01185bb9f76fd6cbdc87344f1d9b60ebdd8c':
Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)
af5c01185bb9f76fd6cbdc87344f1d9b60ebdd8c 22-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)" into jb-dev
7a83b93e12e4a215b90bfa32a753a5a53525d011 21-May-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)

Change-Id: I20b6d58fa47851cf401bbeb16960d118bbd1d965
estureDetector.java
fc6fe5206cbfba35f3668a162dea842f41f2e3bc 22-May-2012 Romain Guy <romainguy@google.com> am 7eac5eca: am d4cc9253: Merge "Remove DEBUG_LATENCY flag" into jb-dev

* commit '7eac5eca431a824777530fb322b8c25015813954':
Remove DEBUG_LATENCY flag
7eac5eca431a824777530fb322b8c25015813954 22-May-2012 Romain Guy <romainguy@google.com> am d4cc9253: Merge "Remove DEBUG_LATENCY flag" into jb-dev

* commit 'd4cc925358305dff4ea3d0ff94b882c51f06db26':
Remove DEBUG_LATENCY flag
abafe372ee70496ac6b323e1d05d397785651779 21-May-2012 Romain Guy <romainguy@google.com> am 6fa51de8: am 46a8b1ac: Merge "Remove unused, obsolete debug code" into jb-dev

* commit '6fa51de80bae65a93346ed18628010a0867607cc':
Remove unused, obsolete debug code
534e6488bc8bf27bcf1c1a74b6a6472bc73ba4db 21-May-2012 Jeff Brown <jeffbrown@google.com> am dd8e50f4: am cf39bdf3: Add support for switching between multiple keyboard layouts.

* commit 'dd8e50f4b96578acd402ff4b199ca1649adf25fd':
Add support for switching between multiple keyboard layouts.
b1b0058346190d6194afc7a87dd7d19cc6fd02c5 21-May-2012 Dianne Hackborn <hackbod@google.com> am 72669b5f: am 13a0271c: Merge "Add aapt support for generating proguard rules for onClick methods." into jb-dev

* commit '72669b5f4663937b09d33f9d951f0b86a03fa98b':
Add aapt support for generating proguard rules for onClick methods.
68373bf4841c93ca322806654c66f5939d4301d6 21-May-2012 Romain Guy <romainguy@google.com> am 1b61dc2e: am 43a760ba: Merge "Don\'t crash on Surface.unlockAndPost() but log & try again Bug #6482593" into jb-dev

* commit '1b61dc2eb7f738bb49142db14a7d339e2fd90545':
Don't crash on Surface.unlockAndPost() but log & try again Bug #6482593
891a844646ce7f7b62cbe963a7e08bdea5bef4e4 21-May-2012 Dianne Hackborn <hackbod@google.com> am bcb7f04a: am e312c61f: Merge "Improve fitSystemWindows() documentation." into jb-dev

* commit 'bcb7f04a7ca05a606d1b293dbe975f1710135be7':
Improve fitSystemWindows() documentation.
e15ccb93add99ebb9cd7aec03a04faa37f45b39d 17-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Changing the interaction model of the touch explorer.

1. Now the user have to double tap to activate the last
item. If the last touched window is not active because
it does not take input focus the click on the last
touch explored location. Othewise the click is on the
accessibility focus location.

bug:5932640

Change-Id: Ibb7b97262a7c5f2f94abef429e02790fdc91a8dd
iewConfiguration.java
e2d7f182ff2db26723089206c7d01f6695bd3dfc 21-May-2012 Romain Guy <romainguy@google.com> Remove DEBUG_LATENCY flag

This flag was replaced with the more versatile and powerful systrace.

Change-Id: I2267698f86fe9ba9e1102856795ca641001fecd5
iewDebug.java
iewRootImpl.java
6fa51de80bae65a93346ed18628010a0867607cc 21-May-2012 Romain Guy <romainguy@google.com> am 46a8b1ac: Merge "Remove unused, obsolete debug code" into jb-dev

* commit '46a8b1acdbbaa9bcbd0127b4f4580b5a8ec38119':
Remove unused, obsolete debug code
13b907353f18215b52b5ceda24bbf520d91d72a1 21-May-2012 Romain Guy <romainguy@google.com> Remove unused, obsolete debug code

All these features have either been abandonned and left un-maintained
for years or can be replaced by systrace.

Change-Id: I42e4579a8078744047e5fe08a7a15254970b09bc
ardwareRenderer.java
iew.java
iewDebug.java
iewGroup.java
iewRootImpl.java
cc1508d0dc956e2b378918e8bf5159a7d8f54946 21-May-2012 Romain Guy <romainguy@google.com> am 09528f96: am c8c4ced8: Merge "Call invalidate() immediately when a frame is available" into jb-dev

* commit '09528f96f4bc5e1d7acb9c00011d232182fb93b2':
Call invalidate() immediately when a frame is available
128f15e2ca7eb22d2e20d7ff788216f132a4a13f 21-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 65e8ecf3: am a1daf827: Merge "Fix paragraph iterator." into jb-dev

* commit '65e8ecf37b5aadf267eb5ff40b53b871f7be32d8':
Fix paragraph iterator.
92302af1ee436076dc35d5a97835169ad440147c 21-May-2012 Craig Mautner <cmautner@google.com> am a978d9bf: am d51a68b3: Merge "Eliminate deferred surface destruction." into jb-dev

* commit 'a978d9bfefa8f7cb1591a1789effa955d902a9cf':
Eliminate deferred surface destruction.
dd8e50f4b96578acd402ff4b199ca1649adf25fd 21-May-2012 Jeff Brown <jeffbrown@google.com> am cf39bdf3: Add support for switching between multiple keyboard layouts.

* commit 'cf39bdf3dff5e29447f6ce734b76dc3490385e58':
Add support for switching between multiple keyboard layouts.
cf39bdf3dff5e29447f6ce734b76dc3490385e58 18-May-2012 Jeff Brown <jeffbrown@google.com> Add support for switching between multiple keyboard layouts.

Also show a notification when an external keyboard is connected
and does not have a keyboard layout selected yet.

Bug: 6405203
Change-Id: Id0ac6d83b3b381f8a236b2244a04c9acb203db3c
indowManagerPolicy.java
72669b5f4663937b09d33f9d951f0b86a03fa98b 19-May-2012 Dianne Hackborn <hackbod@google.com> am 13a0271c: Merge "Add aapt support for generating proguard rules for onClick methods." into jb-dev

* commit '13a0271cb81d497edbf93f3d6ecf4b9b8da4ee69':
Add aapt support for generating proguard rules for onClick methods.
13a0271cb81d497edbf93f3d6ecf4b9b8da4ee69 19-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Add aapt support for generating proguard rules for onClick methods." into jb-dev
9275197d35a99c3f187d18d0eda6ead3b8a32603 19-May-2012 Dianne Hackborn <hackbod@google.com> Add aapt support for generating proguard rules for onClick methods.

Also fix Activity menu inflater when using the dark on light
theme wrapper to still be able to find onClick listeners.

Change-Id: Ie206db26d1df96041bc477804e476b02ad99dc9d
enuInflater.java
1b61dc2eb7f738bb49142db14a7d339e2fd90545 19-May-2012 Romain Guy <romainguy@google.com> am 43a760ba: Merge "Don\'t crash on Surface.unlockAndPost() but log & try again Bug #6482593" into jb-dev

* commit '43a760ba84a5357bae792a33ad4a0e946f02679c':
Don't crash on Surface.unlockAndPost() but log & try again Bug #6482593
43a760ba84a5357bae792a33ad4a0e946f02679c 19-May-2012 Romain Guy <romainguy@google.com> Merge "Don't crash on Surface.unlockAndPost() but log & try again Bug #6482593" into jb-dev
bcb7f04a7ca05a606d1b293dbe975f1710135be7 19-May-2012 Dianne Hackborn <hackbod@google.com> am e312c61f: Merge "Improve fitSystemWindows() documentation." into jb-dev

* commit 'e312c61f9320c3feb4cfbfcab781a65ee5a417af':
Improve fitSystemWindows() documentation.
dddcd22b7ea56b1d3e31f2bbc35c80cb047de879 19-May-2012 Romain Guy <romainguy@google.com> Don't crash on Surface.unlockAndPost() but log & try again
Bug #6482593

Change-Id: Ib477b58e2b7a6cb19a87d05f2aa0448e04d82f7c
iewRootImpl.java
e312c61f9320c3feb4cfbfcab781a65ee5a417af 18-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Improve fitSystemWindows() documentation." into jb-dev
d5333f92894ae54943199d02015f0c9ef4548fd6 18-May-2012 Dianne Hackborn <hackbod@google.com> Improve fitSystemWindows() documentation.

Change-Id: I6528f2530e6514344e454510f2fa037b55daebb7
iew.java
ba910bc004bbf6f0e9aa1daab0bcd6a898b60ecd 18-May-2012 Dianne Hackborn <hackbod@google.com> am cefbeb68: am 20c0cdbb: Merge "Have the stable layout take into account the window\'s fullscreen flag." into jb-dev

* commit 'cefbeb683416a2bbc20905f280eaeadb349cb9d9':
Have the stable layout take into account the window's fullscreen flag.
72e15ceb85ecbe066c2ba33ca7e086dc511a8d23 18-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am cefd97c8: am e54c5f13: Merge "Exposing some accessiblity actions only for enabled views." into jb-dev

* commit 'cefd97c8546d6dca184e8ac9589ab2ff1b795c06':
Exposing some accessiblity actions only for enabled views.
09528f96f4bc5e1d7acb9c00011d232182fb93b2 18-May-2012 Romain Guy <romainguy@google.com> am c8c4ced8: Merge "Call invalidate() immediately when a frame is available" into jb-dev

* commit 'c8c4ced83872f3eeabd93da34d8376903c42a00b':
Call invalidate() immediately when a frame is available
c8c4ced83872f3eeabd93da34d8376903c42a00b 18-May-2012 Romain Guy <romainguy@google.com> Merge "Call invalidate() immediately when a frame is available" into jb-dev
52c145ff5ce34980d866155bb154913a847d955b 18-May-2012 Romain Guy <romainguy@google.com> Call invalidate() immediately when a frame is available

This change ensures that applications producing surface texture updates
at a steady rate will display the updates on screen at the same rate,
v-synced.

Change-Id: I663685b34d12809fbf8945c44851e30a2052ce74
extureView.java
65e8ecf37b5aadf267eb5ff40b53b871f7be32d8 18-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am a1daf827: Merge "Fix paragraph iterator." into jb-dev

* commit 'a1daf82732c8529bcf9258f42e2cc22be9fa684b':
Fix paragraph iterator.
3cd72d442b6b5b82976e7afec218b2479474cde8 18-May-2012 Adam Powell <adamp@google.com> am f53952a9: am 648337b3: Merge "Fix a bug where late-invalidating views with animations would be held for too long by ViewRootImpl" into jb-dev

* commit 'f53952a9a7aa5ed8af4867b9efcc765c7910b038':
Fix a bug where late-invalidating views with animations would be held for too long by ViewRootImpl
148e0b7a1d537f97a5a97317759b22efd165f99b 18-May-2012 Jeff Brown <jeffbrown@google.com> am 7ce7fe3b: am 33ebe8c8: Merge "Add systrace method tags for measure and layout." into jb-dev

* commit '7ce7fe3b6170c5765a8045a78a272e13f1064d6a':
Add systrace method tags for measure and layout.
9b48e8063d363ab1bc7011d20de790d9083e873b 18-May-2012 Jeff Brown <jeffbrown@google.com> am 046c8619: am 0d28cdf1: Merge "Fix a possible starvation issue related to vsync." into jb-dev

* commit '046c86191653ef3ba49c1397cb2242562a410ae4':
Fix a possible starvation issue related to vsync.
88b2b90e7d79292229ca92b6bf416bfe61092fb1 18-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am c2f64117: am c5fb5805: Merge "Accessiblity focus not following input focus and text nav broken." into jb-dev

* commit 'c2f6411741949924d42e2c4aaefc33e6312cdd68':
Accessiblity focus not following input focus and text nav broken.
9768832da837e7716555d394bd13fb879a223860 17-May-2012 alanv <alanv@google.com> Fix paragraph iterator.

Bug: 6509239
Change-Id: I628d7fd07cda24c66a0fa3f456e0141786e768a5
ccessibilityIterators.java
a978d9bfefa8f7cb1591a1789effa955d902a9cf 17-May-2012 Craig Mautner <cmautner@google.com> am d51a68b3: Merge "Eliminate deferred surface destruction." into jb-dev

* commit 'd51a68b3d2d347be989b53af1777454f97ad9b46':
Eliminate deferred surface destruction.
d51a68b3d2d347be989b53af1777454f97ad9b46 17-May-2012 Craig Mautner <cmautner@google.com> Merge "Eliminate deferred surface destruction." into jb-dev
bf08af3323117e15a65b74e66b7499d31537f9e1 17-May-2012 Craig Mautner <cmautner@google.com> Eliminate deferred surface destruction.

Removing the code that delays a surface destruction when
WindowManager.FLAG_KEEP_SURFACE_WHILE_ANIMATING is set. The lock
screen that continued to animate after destroySurfaceLocked is no
longer used and this code was causing problems.

Also mDrawState was being set to NO_SURFACE in destroySurfaceLocked
even if the surface ended up not being destroyed. Later when it was
reused the false value of mDrawState was messing things up.

The screen lock bug referenced below no longer levaes the user stuck
with a black lockscreen. However it occasionally powers back up in the
launcher screen rather than the lock screen.

Fixes bug 6485955.

Change-Id: I684104c7e7c39c161a5118aa890889fbae92e635
indowManager.java
cefbeb683416a2bbc20905f280eaeadb349cb9d9 17-May-2012 Dianne Hackborn <hackbod@google.com> am 20c0cdbb: Merge "Have the stable layout take into account the window\'s fullscreen flag." into jb-dev

* commit '20c0cdbbf79cef18e59514e0f53dfbcac0bef600':
Have the stable layout take into account the window's fullscreen flag.
20c0cdbbf79cef18e59514e0f53dfbcac0bef600 17-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Have the stable layout take into account the window's fullscreen flag." into jb-dev
cefd97c8546d6dca184e8ac9589ab2ff1b795c06 17-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am e54c5f13: Merge "Exposing some accessiblity actions only for enabled views." into jb-dev

* commit 'e54c5f13652166c5896ccfa55f047301a6c8b876':
Exposing some accessiblity actions only for enabled views.
e54c5f13652166c5896ccfa55f047301a6c8b876 17-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Exposing some accessiblity actions only for enabled views." into jb-dev
fb1e80a247221ee7e8f5c5deba04812021d9d07e 17-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Exposing some accessiblity actions only for enabled views.

1. Some accessibility actions should not be performed on disabled
views. For example, scrolling should not be permitted while
accessibility focus should be. Made a quick pass over the
actions we expose now.

Change-Id: I36626dfbc0d2f480309a910f58f1de64e9e05675
iew.java
f53952a9a7aa5ed8af4867b9efcc765c7910b038 17-May-2012 Adam Powell <adamp@google.com> am 648337b3: Merge "Fix a bug where late-invalidating views with animations would be held for too long by ViewRootImpl" into jb-dev

* commit '648337b3a8024b22a77977024cdf171f83999d56':
Fix a bug where late-invalidating views with animations would be held for too long by ViewRootImpl
648337b3a8024b22a77977024cdf171f83999d56 17-May-2012 Adam Powell <adamp@google.com> Merge "Fix a bug where late-invalidating views with animations would be held for too long by ViewRootImpl" into jb-dev
7ce7fe3b6170c5765a8045a78a272e13f1064d6a 17-May-2012 Jeff Brown <jeffbrown@google.com> am 33ebe8c8: Merge "Add systrace method tags for measure and layout." into jb-dev

* commit '33ebe8c8c2179af371514b9c7a7d88faf531b18b':
Add systrace method tags for measure and layout.
3e3c4ee0475ad7096201a5f00f2e9be22fb891dd 17-May-2012 Adam Powell <adamp@google.com> Fix a bug where late-invalidating views with animations would be held
for too long by ViewRootImpl

Change-Id: I1e32bf2683b50f8834f215a753f881b5d4b8dbc9
iewRootImpl.java
c8d2668bc4506aa9e771931534c6379cf687d41e 17-May-2012 Jeff Brown <jeffbrown@google.com> Add systrace method tags for measure and layout.

Change-Id: I739f6384b390d1b34b09b622ca0f752de1dd7304
iewRootImpl.java
5b5cc4d5361c1817938d2db58ad40aab528b3ac3 16-May-2012 Dianne Hackborn <hackbod@google.com> Have the stable layout take into account the window's fullscreen flag.

When using stable layouts, you are typically expected to hide and
show the status bar through the system UI fullscreen flag. This hides
both the status bar and the action bar. The stable layout assumed
that when not hiding the status bar through the system UI flags, that
the status bar would be visible.

This change makes things a little smarter, also looking at the
window's fullscreen flag (which only hides the status bar). If this
flag is set on the window, then the stable layout now assumes that
the status bar will never be shown. This allows us to position the
action bar correctly in the situation where the application has set
the window to fullscreen and requested a stable layout, instead of
always leaving room for the status bar above it.

Change-Id: I757072ae99cd3741753af7210dbf51afe94d3db5
iew.java
046c86191653ef3ba49c1397cb2242562a410ae4 17-May-2012 Jeff Brown <jeffbrown@google.com> am 0d28cdf1: Merge "Fix a possible starvation issue related to vsync." into jb-dev

* commit '0d28cdf1c870ade242250ec1a82c710885982b4b':
Fix a possible starvation issue related to vsync.
0d28cdf1c870ade242250ec1a82c710885982b4b 17-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix a possible starvation issue related to vsync." into jb-dev
c2f6411741949924d42e2c4aaefc33e6312cdd68 16-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am c5fb5805: Merge "Accessiblity focus not following input focus and text nav broken." into jb-dev

* commit 'c5fb5805c92429b08ca715df37e949f31591466a':
Accessiblity focus not following input focus and text nav broken.
c5fb5805c92429b08ca715df37e949f31591466a 16-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessiblity focus not following input focus and text nav broken." into jb-dev
b080660dfd69ea6f0a034946b2ff8d94e97a2537 16-May-2012 Jeff Brown <jeffbrown@google.com> Fix a possible starvation issue related to vsync.

This makes a noticeable improvement in cases where applications
post messages that need to be processed between animation frames.

Bug: 6418353
Change-Id: If225742e37aeaf3f0ca9710f9bf43dbb03bcde12
horeographer.java
64899e5c8ff7309e3209454fd4833d1b7a4b57be 16-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessiblity focus not following input focus and text nav broken.

1. View is checking if the accessibility focus is its
descendant it clears the accessibility focus state
in ViewRootImpl. The check in View was missing the
case that the descendant may be the view itself. In
such a case we want the normal clearing code to run.

2. The check whether a view has iterable text for
accessibility was inverted and text nav was not
working.

Change-Id: I1a13b6809fb7f205fff76ca09cd449179d06e530
iew.java
dd36336ce9ef164046d0759a2fc32cb5ff888d50 16-May-2012 Romain Guy <romainguy@google.com> am 9e981d83: am d44a1686: Merge "Don\'t draw onto a hw surface using the software renderer Bug #6485955" into jb-dev

* commit '9e981d83f1b8a1f1f88b67c32b1459a23455d3fe':
Don't draw onto a hw surface using the software renderer Bug #6485955
f22a7c34a4397a9f6add295952b2c7e7defd38b5 16-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am a379e733: am 67d10a58: Merge "Prefetching of accessibility node infos getting incorrect views." into jb-dev

* commit 'a379e733b81e44b7d91d90ea93bc26e43230fdb1':
Prefetching of accessibility node infos getting incorrect views.
9e981d83f1b8a1f1f88b67c32b1459a23455d3fe 16-May-2012 Romain Guy <romainguy@google.com> am d44a1686: Merge "Don\'t draw onto a hw surface using the software renderer Bug #6485955" into jb-dev

* commit 'd44a16864d549e08506d0f80198031f05a03bd15':
Don't draw onto a hw surface using the software renderer Bug #6485955
a379e733b81e44b7d91d90ea93bc26e43230fdb1 16-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 67d10a58: Merge "Prefetching of accessibility node infos getting incorrect views." into jb-dev

* commit '67d10a5867ac26155117f2ffda84f9d2a21dbcf0':
Prefetching of accessibility node infos getting incorrect views.
d44a16864d549e08506d0f80198031f05a03bd15 16-May-2012 Romain Guy <romainguy@google.com> Merge "Don't draw onto a hw surface using the software renderer Bug #6485955" into jb-dev
413baf8a03db180607efaca0bb60c15a153c4322 16-May-2012 Romain Guy <romainguy@google.com> Don't draw onto a hw surface using the software renderer
Bug #6485955

If an invalidate gets scheduled right before the EGL surface is destroyed,
the next draw pass is done in software. This causes the software renderer
to connect to the surface forever which prevents the hardware renderer
from coming back when the screen is turned back on.

The fix here is to ignore the draw request when hw acceleration is requested
but not yet available. Proper software fallback will still happen when an
error is encountered with hardware rendering (in which case hw acceleration
will not be marked as requested anymore.)

Change-Id: I1edc4a51c8dd38240aa2345092a18a081a756fc1
iewRootImpl.java
4528b4e882584745f48263fa6626987e63832a2a 16-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Prefetching of accessibility node infos getting incorrect views.

1. The prefetcher of accessibility nodes infos was not folloing
the childForAccessibility relationship when finding the views
whose node infos to prefetch.

2. NumberPicker was not reporting the correct parent.

bug:6471710

Change-Id: Ia7ad5dd031fb4b3816dfe630d5212201cfafa236
ccessibilityInteractionController.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfoCache.java
446d44778e913c749d65ed331c054fcc628e196d 15-May-2012 Chris Wren <cwren@android.com> am 69337714: am 78cb7cf7: Allow animations to run past cancelled draws, if the view is visible.

* commit '69337714812db8735a66785f62db39f46a70fd26':
Allow animations to run past cancelled draws, if the view is visible.
da350b9ef3095ec64a262758e595d5c6e039efd2 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am db3cf0dd: am 0e29ac9e: Merge "Accessibility focus traversal in virtual nodes." into jb-dev

* commit 'db3cf0dd580ce976ea9b90aeebc60ff34f62372a':
Accessibility focus traversal in virtual nodes.
ae197fd160e5cb04559a4f3ba82b3e326ff90b2c 15-May-2012 Romain Guy <romainguy@google.com> am d5cfec8d: am 7b8523aa: Merge "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)" into jb-dev

* commit 'd5cfec8d34a59f2a4e98b655b5e49775d69ad64c':
Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)
38f4c223c0fde274c2089b1dad026593c06de06f 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am d83a0800: am 8ce2d78a: Merge "Improving accessibility focus traversal." into jb-dev

* commit 'd83a0800679583ccc99a90a128f8d6c11afbeca4':
Improving accessibility focus traversal.
57ea2e0eaf78f7b54b68070548beb4099e4e3d9f 15-May-2012 Jeff Brown <jeffbrown@google.com> am e2ec70bf: am 00ff4748: Merge "More VelocityTracker refactoring." into jb-dev

* commit 'e2ec70bf92e80800bd5163f56632b9eb14cce290':
More VelocityTracker refactoring.
50e8a1649aae26db0986e3967fede71ab7383d85 15-May-2012 Eric Laurent <elaurent@google.com> am dd99f70a: am dfae6db0: Merge "Implement new volume display policy." into jb-dev

* commit 'dd99f70a3f8e661799ecda271d31fc385a80ecb5':
Implement new volume display policy.
69337714812db8735a66785f62db39f46a70fd26 15-May-2012 Chris Wren <cwren@android.com> am 78cb7cf7: Allow animations to run past cancelled draws, if the view is visible.

* commit '78cb7cf7d1d82834c4405650a17e387370004570':
Allow animations to run past cancelled draws, if the view is visible.
db3cf0dd580ce976ea9b90aeebc60ff34f62372a 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 0e29ac9e: Merge "Accessibility focus traversal in virtual nodes." into jb-dev

* commit '0e29ac9e4ede6e75a5ca91eb744bbff83949c71e':
Accessibility focus traversal in virtual nodes.
d5cfec8d34a59f2a4e98b655b5e49775d69ad64c 15-May-2012 Romain Guy <romainguy@google.com> am 7b8523aa: Merge "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)" into jb-dev

* commit '7b8523aaed11a3b5ee286776023233036ac0759d':
Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)
d83a0800679583ccc99a90a128f8d6c11afbeca4 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 8ce2d78a: Merge "Improving accessibility focus traversal." into jb-dev

* commit '8ce2d78aa89e89e9a5607d8809bf6d248508a531':
Improving accessibility focus traversal.
e2ec70bf92e80800bd5163f56632b9eb14cce290 15-May-2012 Jeff Brown <jeffbrown@google.com> am 00ff4748: Merge "More VelocityTracker refactoring." into jb-dev

* commit '00ff47484f8137aa3e59f680ff07d2662cfb4088':
More VelocityTracker refactoring.
dd99f70a3f8e661799ecda271d31fc385a80ecb5 15-May-2012 Eric Laurent <elaurent@google.com> am dfae6db0: Merge "Implement new volume display policy." into jb-dev

* commit 'dfae6db0228a2ba4e34deb48d54fb06a2637e6a2':
Implement new volume display policy.
78cb7cf7d1d82834c4405650a17e387370004570 15-May-2012 Chris Wren <cwren@android.com> Allow animations to run past cancelled draws, if the view is visible.

Bug: 6475482
Change-Id: Iecb3a04744282135efa0049f1b70a46dc4a6bb23
iewRootImpl.java
0e29ac9e4ede6e75a5ca91eb744bbff83949c71e 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility focus traversal in virtual nodes." into jb-dev
791fd31a68c59395952005886ba799169f80a29a 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus traversal in virtual nodes.

1. Finished the implementation of support for maintaining
accessibility focus in view with virtual descendants.

2. Finished the NumberPicker implementation of virtual
subtree such that all requred attributes are reported
and ensuring that it support accessibility focus in
its virtual descentants.

3. Fixed a bug where if a predecessor of the view that is
accessiiblity focused is removed the accessibliity focus
host in ViewRootImpl is not cleared leading to a crash
when trying to draw the accessibility focus highlight.:

bug:6472646
bug:6433864

Change-Id: I3645642b87b4a26025c0b2ba9dfaad92d11a48f1
ccessibilityInteractionController.java
iew.java
iewRootImpl.java
7b8523aaed11a3b5ee286776023233036ac0759d 15-May-2012 Romain Guy <romainguy@google.com> Merge "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)" into jb-dev
e651cc6239616a202f6e96ebc2ed93b4b8b3627c 15-May-2012 Romain Guy <romainguy@google.com> Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)

Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
LES20Canvas.java
24ef21aeebb247f5dd6de13aea878f3d7194143a 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am e436812e: am 844047ac: Merge "Fix inconsitency in aAccessibilityNodeInfo cache." into jb-dev

* commit 'e436812e85f4a8da724f4fe36c1547a1b806f1f9':
Fix inconsitency in aAccessibilityNodeInfo cache.
c8f6d8014a1f32885ad6c1285383b23cd5361152 15-May-2012 Michael Jurka <mikejurka@google.com> am 87f6f809: am 143a02aa: Merge "Prevent ViewPropertyAnimators from getting started twice" into jb-dev

* commit '87f6f809935bbb46f85f158d693e46c5802ddd1d':
Prevent ViewPropertyAnimators from getting started twice
76af556c8d70bad552bf5cc1047f0c018fc5f906 15-May-2012 Chet Haase <chet@google.com> am c63aaee9: am 728e4394: Merge "Minor touch-up of Animation docs" into jb-dev

* commit 'c63aaee9ff45cec1c47edff8de21c7732ccc6bcf':
Minor touch-up of Animation docs
e3fa874baeec2c28c4a8047e1aad24f61bb6c45c 15-May-2012 Mathias Agopian <mathias@google.com> am 41f089e0: am 7ed1d661: Merge "fix SurfaceView visibility state changes" into jb-dev

* commit '41f089e0863067fea5ebe27c33d7545aed9736cf':
fix SurfaceView visibility state changes
6917b2a10d9b701282fbfb85be48eeb7e7877882 15-May-2012 Dianne Hackborn <hackbod@google.com> am 2da87ec3: am 2a7a6ca0: Merge "Implement new window cropping." into jb-dev

* commit '2da87ec32e72c2c25998e2444155c00074cfbd40':
Implement new window cropping.
9a19d16a1a44b8f394f93e116adb48024148f8ef 15-May-2012 Guang Zhu <guangzhu@google.com> am 58b0dcde: am 0d607fbe: accessibility bug fix in NumberPicker

* commit '58b0dcde83354bd1ae9091a7cbc7f207fb29960a':
accessibility bug fix in NumberPicker
e436812e85f4a8da724f4fe36c1547a1b806f1f9 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 844047ac: Merge "Fix inconsitency in aAccessibilityNodeInfo cache." into jb-dev

* commit '844047acb7133c0b6b7128f19b76f93eaca9371e':
Fix inconsitency in aAccessibilityNodeInfo cache.
87f6f809935bbb46f85f158d693e46c5802ddd1d 15-May-2012 Michael Jurka <mikejurka@google.com> am 143a02aa: Merge "Prevent ViewPropertyAnimators from getting started twice" into jb-dev

* commit '143a02aa79fbc28490bac39fabb6db0608774630':
Prevent ViewPropertyAnimators from getting started twice
c63aaee9ff45cec1c47edff8de21c7732ccc6bcf 15-May-2012 Chet Haase <chet@google.com> am 728e4394: Merge "Minor touch-up of Animation docs" into jb-dev

* commit '728e43948c9b4d18a900fa50acad8d2734947b21':
Minor touch-up of Animation docs
41f089e0863067fea5ebe27c33d7545aed9736cf 15-May-2012 Mathias Agopian <mathias@google.com> am 7ed1d661: Merge "fix SurfaceView visibility state changes" into jb-dev

* commit '7ed1d6613e2f5aa05158a87888f5a6474eca5cc1':
fix SurfaceView visibility state changes
2da87ec32e72c2c25998e2444155c00074cfbd40 15-May-2012 Dianne Hackborn <hackbod@google.com> am 2a7a6ca0: Merge "Implement new window cropping." into jb-dev

* commit '2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517':
Implement new window cropping.
58b0dcde83354bd1ae9091a7cbc7f207fb29960a 15-May-2012 Guang Zhu <guangzhu@google.com> am 0d607fbe: accessibility bug fix in NumberPicker

* commit '0d607fbe546ac943de38dad33ae681b09efec6ea':
accessibility bug fix in NumberPicker
8ce2d78aa89e89e9a5607d8809bf6d248508a531 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Improving accessibility focus traversal." into jb-dev
00ff47484f8137aa3e59f680ff07d2662cfb4088 15-May-2012 Jeff Brown <jeffbrown@google.com> Merge "More VelocityTracker refactoring." into jb-dev
dfae6db0228a2ba4e34deb48d54fb06a2637e6a2 15-May-2012 Eric Laurent <elaurent@google.com> Merge "Implement new volume display policy." into jb-dev
e5dfa47d84668376b84074c04570fb961870adeb 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Improving accessibility focus traversal.

1. Now the views considered during the accessibility focus search
are the ones that would get accessibility focus when thovered
over. This way the user will get the same items i.e. feedback
if he touch explores the screen and uses focus traversal. This
is imperative for a good user experience.

2. Updated which focusables are considered when searching for access
focus in ViewGroup. Generally accessibility focus ignores focus
before/after descendants.

3. Implemented focus search strategy in AbsListView that will traverse
the items of the current list (and the stuff withing one item
before moving to the next) before continuing the search if
forward and backward accessibility focus direction.

4. View focus search stops at root namespace. This is not the right
way to prevent some stuff that is not supposed to get a focus in
a container for a specific state. Actually the addFocusables
for that container has to be overriden. Further this approach
leads to focus getting stuck. The accessibility focus ignores
root names space since we want to traverse the entire screen.

5. Fixed an bug in AccessibilityInteractionController which was not
starting to search from the root of a virtual node tree.

6. Fixed a couple of bugs in FocusFinder where it was possible to
get index out of bounds exception if the focusables list is empty.

bug:5932640

Change-Id: Ic3bdd11767a7d40fbb21f35dcd79a4746af784d4
ccessibilityInteractionController.java
ocusFinder.java
iew.java
iewGroup.java
iewParent.java
iewRootImpl.java
844047acb7133c0b6b7128f19b76f93eaca9371e 14-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fix inconsitency in aAccessibilityNodeInfo cache." into jb-dev
8c78752f2bf786ca3e6f45b9dc6955d3b4bba59c 14-May-2012 Eric Laurent <elaurent@google.com> Implement new volume display policy.

Whenever a stream type is muted, the progress bar in volume panel
is at 0.
If a stream is muted by ringer mode and does not control ringer mode,
the progress bar is disabled.
Pressing VOL- when in vibrate or silent mode resets the last audible
volume of ringtone stream (music strem on tablets) to 0.

VolumePanel implementation:
- Always prefer AudioManager APIs over AudioService APIs when available on both.
- Do not use AudioManager.shouldVibrate() (deprecated).

Change-Id: I57fcb19ada4e8d729b6b41d668496562ebe340c3
olumePanel.java
143a02aa79fbc28490bac39fabb6db0608774630 14-May-2012 Michael Jurka <mikejurka@google.com> Merge "Prevent ViewPropertyAnimators from getting started twice" into jb-dev
728e43948c9b4d18a900fa50acad8d2734947b21 14-May-2012 Chet Haase <chet@google.com> Merge "Minor touch-up of Animation docs" into jb-dev
ac592fb3b6daf7d155438c7a1727932d88201dce 14-May-2012 Jeff Brown <jeffbrown@google.com> am a4881637: am 58770232: Merge "Move power HAL interactions to PowerManagerService." into jb-dev

* commit 'a48816375f68a8b4a945efcb68e405308a50adc9':
Move power HAL interactions to PowerManagerService.
671543f762b76659fcedc27c6cbeaeb94502a610 14-May-2012 Jamie Gennis <jgennis@google.com> am 592cbb83: am c9e27d4b: Merge "Surface: replace active rect with window crop" into jb-dev

* commit '592cbb835aa5ed104badf7de6c144a7b90300620':
Surface: replace active rect with window crop
e60a635919ce8f1f5d868d51a87d7fc5da4ddda0 14-May-2012 Adam Powell <adamp@google.com> am e48c70e4: am 7fc4fbcc: Merge "Automatic persistent text selection for ListViews" into jb-dev

* commit 'e48c70e4d9302795d5f02d352c7907302ca5c8b6':
Automatic persistent text selection for ListViews
d4bef4b7866ed42db4495997626bde1dbc3075d1 14-May-2012 Jeff Brown <jeffbrown@google.com> am 47272c93: am b12b6b51: Merge "Minor refactoring before starting on velocity tracker changes." into jb-dev

* commit '47272c932ab6157022aaefd015e5d1df9dc5bd2f':
Minor refactoring before starting on velocity tracker changes.
7008d7b7f3730aef59d510d2a48e166114e090a4 14-May-2012 Chet Haase <chet@google.com> am fd086b95: am 76f08218: Merge "Fix quickReject logic for transformed views" into jb-dev

* commit 'fd086b95103e8c7fbe853f5702aaa7d04f2141f0':
Fix quickReject logic for transformed views
ad4fc6f764bcd2bdbac726efbfbfb6f4ffe113b6 14-May-2012 Chet Haase <chet@google.com> am 4a70bc72: am 26511012: Merge "Clear animations in DisplayLists when done" into jb-dev

* commit '4a70bc72a87427115d9d64516145283dc96745f2':
Clear animations in DisplayLists when done
7ed1d6613e2f5aa05158a87888f5a6474eca5cc1 14-May-2012 Mathias Agopian <mathias@google.com> Merge "fix SurfaceView visibility state changes" into jb-dev
85bd0d62830a098c1bdc720dfdcf4fe1b18b657c 14-May-2012 Jeff Brown <jeffbrown@google.com> More VelocityTracker refactoring.

Bug: 6413587
Change-Id: Ida1152e7a34d5fe5caab5e6b5e1bc79f6c7a25e6
elocityTracker.java
500998d401e1c936bf60facecd5e9699d2eadb66 14-May-2012 Michael Jurka <mikejurka@google.com> Prevent ViewPropertyAnimators from getting started twice
iewPropertyAnimator.java
2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517 14-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Implement new window cropping." into jb-dev
85afd1b6f871d471fdff1980134676a5f1690525 13-May-2012 Dianne Hackborn <hackbod@google.com> Implement new window cropping.

The window manager now performs the crop internally, evaluating
it every animation from, to be able to update it along with
the surface position.

Change-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32
Window.aidl
WindowSession.aidl
urfaceView.java
iew.java
iewRootImpl.java
indowManagerPolicy.java
cbeb33249d5beec7903f18269c991a5515c5d981 13-May-2012 Mathias Agopian <mathias@google.com> fix SurfaceView visibility state changes

SurfaceView didn't recompute the transparent region
when the INVISIBLE state (as opposed to GONE) was involved.

Bug: 6467123
Change-Id: I05930bd568a345331840c1ad8d9123ef4904c04f
urfaceView.java
0d607fbe546ac943de38dad33ae681b09efec6ea 12-May-2012 Guang Zhu <guangzhu@google.com> accessibility bug fix in NumberPicker

* moved View#isVisibleToUser to protected with @hide
* added a new View#isVisibleToUser(Rect), so that a portion of
the view can be tested for visibility
* NumberPicker will report its concrete class name
* code to append virtual children was at wrong place
* boundInScreen for increment and decrement buttons are reported
wrong

Change-Id: Ic5d644b3e1efa15b1f0537907c8cdd4ce43a97c1
iew.java
d6a98aafab10aeb6f059421815600e425a349266 13-May-2012 Romain Guy <romainguy@google.com> am 30b013bf: am d303dd3d: Merge "Prevent NPE in TextureView.getBitmap()" into jb-dev

* commit '30b013bfbad60e20b7f812d0c5e41893fb7503fa':
Prevent NPE in TextureView.getBitmap()
a48816375f68a8b4a945efcb68e405308a50adc9 12-May-2012 Jeff Brown <jeffbrown@google.com> am 58770232: Merge "Move power HAL interactions to PowerManagerService." into jb-dev

* commit '58770232216cd735afdfd3dd53151070e06de5ce':
Move power HAL interactions to PowerManagerService.
58770232216cd735afdfd3dd53151070e06de5ce 12-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Move power HAL interactions to PowerManagerService." into jb-dev
7304c343821309dd15f769b18f1de2fa43751573 12-May-2012 Jeff Brown <jeffbrown@google.com> Move power HAL interactions to PowerManagerService.

This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server. Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
indowManagerPolicy.java
c406be9036643ebe41bafcd94fe4aa861b4e4f4f 12-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Fix inconsitency in aAccessibilityNodeInfo cache.

1. Fixed errors in the accessibility node cache.

A. The cache was not catching the case when the current window changes as a
result the user touch exploring it. As a result the cache had nodes from
more that one window but the node ids are not unique thus causing a mess.

B. The node info tree was prefetched regardless if a prefetched node is root
name space (i.e. view ids - not accessibility ids - are namespaced) while
the prefetched nodes were taking this into account. As a result there can
get disconnected subtrees in the cache.

C. When an event for a property change such as focus was received the cache
we were removing the source node. As a result there may be disconnected nodes.

D. When a node was added to the cache and an older version exists there was
no check if it will point to the same children and parent. As a result if
the state of the node has fewer children the subtrees rooted at the no
longer present children will stay disconnected in the cache.

E. When a node got accessibility or input focus the old one in the cache was
not removed. As a result you may have a state with more than one access
or input focus.

2. Added integrity check enabled only on user builds when a specific flag is set
for the cache which checks whether:

A. All nodes are from the same window.

B. All nodes are connected.

C. There are no duplicates.

D. There is only one input focus.

E. There is only one accessibility focus.

3. The reported accessibility node info tree was stopping at the root namespace
boundary which is not correct. The reported tree has to reflect everything
on the screen that the user can see such a workspace with widgets. The root
namespace is added to avoid clash of view id but the accessibility ids are
unique no matter if the view is inflated from a remote view.

4. Added calls to notify the accessibility layer when a preoprty that is interesting
for accessibiliy has changed.

bug:6471710

Change-Id: I069470d91f209ba16313fa6539787a55efa3512e
iew.java
iewGroup.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfoCache.java
592cbb835aa5ed104badf7de6c144a7b90300620 12-May-2012 Jamie Gennis <jgennis@google.com> am c9e27d4b: Merge "Surface: replace active rect with window crop" into jb-dev

* commit 'c9e27d4ba1f46eb29aa8a794685ecb7c492d5d83':
Surface: replace active rect with window crop
c9e27d4ba1f46eb29aa8a794685ecb7c492d5d83 12-May-2012 Jamie Gennis <jgennis@google.com> Merge "Surface: replace active rect with window crop" into jb-dev
e48c70e4d9302795d5f02d352c7907302ca5c8b6 12-May-2012 Adam Powell <adamp@google.com> am 7fc4fbcc: Merge "Automatic persistent text selection for ListViews" into jb-dev

* commit '7fc4fbccd6129e286a1f9c640eb3229b91792bce':
Automatic persistent text selection for ListViews
7fc4fbccd6129e286a1f9c640eb3229b91792bce 12-May-2012 Adam Powell <adamp@google.com> Merge "Automatic persistent text selection for ListViews" into jb-dev
4242893e326cf013eba51931f00faf3ed428d670 12-May-2012 Chet Haase <chet@google.com> Minor touch-up of Animation docs

Change-Id: Ifd615d352b9924d562f4238c8ed36a8f4e6a91fa
iew.java
057a585fba01d92c38f27a8c080622dfd0c6f556 11-May-2012 Adam Powell <adamp@google.com> Automatic persistent text selection for ListViews

Use View transient state tracking to allow selection to persist across
ListView-style item view recycling.

Fix some bugs with transient state tracking.

Bug 6110122

Change-Id: Ic084b8fc2289bff718b19478a37ce64459b3ed4c
iew.java
47272c932ab6157022aaefd015e5d1df9dc5bd2f 11-May-2012 Jeff Brown <jeffbrown@google.com> am b12b6b51: Merge "Minor refactoring before starting on velocity tracker changes." into jb-dev

* commit 'b12b6b5116e3d76474296b45f570693bb10d6c99':
Minor refactoring before starting on velocity tracker changes.
b12b6b5116e3d76474296b45f570693bb10d6c99 11-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Minor refactoring before starting on velocity tracker changes." into jb-dev
fd086b95103e8c7fbe853f5702aaa7d04f2141f0 11-May-2012 Chet Haase <chet@google.com> am 76f08218: Merge "Fix quickReject logic for transformed views" into jb-dev

* commit '76f082189ec451433d942fcee5ca2913f4132e6b':
Fix quickReject logic for transformed views
8a90e6e3174083f274538567d851f98478fc83e9 11-May-2012 Jeff Brown <jeffbrown@google.com> Minor refactoring before starting on velocity tracker changes.

Bug: 6413587
Change-Id: I5eba2bb57193bff78cb3740de5f87aca0b31d154
elocityTracker.java
1a3ab175b099edf545474f11fa165473428a98a1 11-May-2012 Chet Haase <chet@google.com> Fix quickReject logic for transformed views

When a parent draws its child views, each child's bounds is checked
against the current dirty region. If the view falls outside of that
region is is rejected and doesn't enter into the parent's DisplayList.

This works in general, for both transformed and untransformed views
(because we skip this check if the view is transformed). But it breaks down
when the transform properties of the view change later, since DisplayList
properties simply push these values down to the view's DisplayList without
invalidating the parent. If a view is rejected when untransformed, then there
is nothing to cause it to be considered again until something causes an
invalidate of the parent.

The fix is to note when a view is rejected and record that information.
Later, when one of the transform-related properties change, we invalidate the parent
to force the check to happen again, which will cause the view to get drawn
if it's visible.

Issue #6477730 quickRejected views must recreate their DisplayLists on transform changes

Change-Id: I70caf198005cd7e424a37bccc6ae050e09880a6c
iew.java
4a70bc72a87427115d9d64516145283dc96745f2 11-May-2012 Chet Haase <chet@google.com> am 26511012: Merge "Clear animations in DisplayLists when done" into jb-dev

* commit '26511012c40dbe704f4791654b28b9e0e05589d8':
Clear animations in DisplayLists when done
26511012c40dbe704f4791654b28b9e0e05589d8 11-May-2012 Chet Haase <chet@google.com> Merge "Clear animations in DisplayLists when done" into jb-dev
78b8ef3f3ad8ab935f677d8d672db0d97bff8119 07-May-2012 Jamie Gennis <jgennis@google.com> Surface: replace active rect with window crop

This change replaces the setActiveRectCrop method on Surface, which was called
from app processes, with the setWindowCrop method that is to be called from the
window manager.

Bug: 6299171
Change-Id: Ica51efcd8c488a526e7013b83d80df4856694519
urface.java
iewRootImpl.java
30b013bfbad60e20b7f812d0c5e41893fb7503fa 11-May-2012 Romain Guy <romainguy@google.com> am d303dd3d: Merge "Prevent NPE in TextureView.getBitmap()" into jb-dev

* commit 'd303dd3da2af272d0beaac956a12e145b8386f45':
Prevent NPE in TextureView.getBitmap()
78245f77d2724ee3a053f13fbcb0359751b9f842 11-May-2012 Romain Guy <romainguy@google.com> Prevent NPE in TextureView.getBitmap()

This crash could occur when invoking setSurfaceTexture() then getBitmap()
before the View has a chance to be drawn.

Change-Id: I25c55df15750e59b9c916e8f750de2c89718d39e
extureView.java
5c2a9ddcf2764f2cb34251d86ccdbf722f7f49cb 11-May-2012 Dianne Hackborn <hackbod@google.com> am 00389a51: am b1b55e6c: Fix build.

* commit '00389a5198d17a650b00b981b5a9174dbb88fc9f':
Fix build.
00389a5198d17a650b00b981b5a9174dbb88fc9f 11-May-2012 Dianne Hackborn <hackbod@google.com> am b1b55e6c: Fix build.

* commit 'b1b55e6c6b079d75c13dcc23ca3ebce847bb42f8':
Fix build.
b1b55e6c6b079d75c13dcc23ca3ebce847bb42f8 11-May-2012 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: Ie255c93442d0b62032ac25e6de97f2c03e5df3ba
iew.java
50d99215023ee346a95eb72c413759d6a58f82a5 11-May-2012 Dianne Hackborn <hackbod@google.com> am de888fec: am 255d1e15: Merge "Fix issue #6475693: OnSystemUiVisibilityChangeListener reporting..." into jb-dev

* commit 'de888fec6b7c2f2c9a32a7e9faf38083f67da4d8':
Fix issue #6475693: OnSystemUiVisibilityChangeListener reporting...
de888fec6b7c2f2c9a32a7e9faf38083f67da4d8 11-May-2012 Dianne Hackborn <hackbod@google.com> am 255d1e15: Merge "Fix issue #6475693: OnSystemUiVisibilityChangeListener reporting..." into jb-dev

* commit '255d1e1540833fb1980791b2e340cad4cb18b3b7':
Fix issue #6475693: OnSystemUiVisibilityChangeListener reporting...
255d1e1540833fb1980791b2e340cad4cb18b3b7 11-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6475693: OnSystemUiVisibilityChangeListener reporting..." into jb-dev
cf67578c7f99492273a8f8446dd18ddc5af2ae76 11-May-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6475693: OnSystemUiVisibilityChangeListener reporting...

...incorrect visibility when the ActionBar overflow menu is opened

Don't report layout flags in system UI visibility callback. Update
docs to reflect this.

Change-Id: Icfa411b5537de037cafbcac04991101e8b9138c4
iew.java
iewGroup.java
iewRootImpl.java
afd5c3ee60c45ebb5d63d2d0d14f08130075883b 10-May-2012 Chet Haase <chet@google.com> Clear animations in DisplayLists when done

The matrix calculated by Animations is pushed down to the native
DisplayList object, and is then used when the DL is issued to the
GL renderer. This works while the animation is running, but the end
of animations is not handled correctly. In particular, we never clear the
animation, so whatever the last frame of the animation calculated will
persist on that DisplayList object until it is recreated.

The fix is to note when we used to be animating and are no longer
doing so, taking that opportunity to push the cleared state down
to the DisplayList.

Issue #6448993 action bar -- including settings menu -- disappears on Nakasi

Change-Id: I73cdadaef40d87ccbc1beb02599c4d70506ea42b
LES20DisplayList.java
iew.java
86ba4aaa712f68282273e632ef72981da165e9a3 10-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 37fd7976: am a1dc761c: Adding scroll actions to accessibility node info.

* commit '37fd797699eb8e481d69f7f5a19cd05b8a5b7170':
Adding scroll actions to accessibility node info.
37fd797699eb8e481d69f7f5a19cd05b8a5b7170 10-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am a1dc761c: Adding scroll actions to accessibility node info.

* commit 'a1dc761c8322355eb1bb71d3d6c9c603c1d1fc0f':
Adding scroll actions to accessibility node info.
a1dc761c8322355eb1bb71d3d6c9c603c1d1fc0f 10-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding scroll actions to accessibility node info.

1. Scrolling actions are crucial for enabling a gesture based
traversal of the UI and specifically scrollable containers
especially lists and anything backed by an adapter. Since
accessibility focus can land only attached views, it cannot
visit views for adapter items not shown on the screen.
Auto scrolling the list as a result of putting access focus
ot a list item does not work well since the user may get
trapped in a long list. Adding an accessibility node provider
to emit virtual views for one view before the first and one
after the last is complex and suffers the limitation of trapping
the user. Accessibility service need an explicit scroll actions
which may be performed upon an explicit user action. Hence,
the user is informed for the start/end of the visible part of
the list and he makes a deliberate choice to scroll. This will
benefit also people developing Braille devices since they can
scroll the content without telling the user to stop using the
Braille controller and take the device out of his pocket to scroll
and go back to the Braille controller.

NOTE: Without these action large portions of the screen will be
hard to access since users will have to touch and explore to
find and scroll the list.

Change-Id: Iafcf54d4967893205872b3649025a4e347a299ed
ccessibility/AccessibilityNodeInfo.java
e5c511a1cceffd17b8edb355f2c19a7498a5e229 10-May-2012 Michael Jurka <mikejurka@google.com> am bf1b5fa9: am 421dceb0: Merge "Making transition out of recents look better" into jb-dev

* commit 'bf1b5fa944158044a595706924b935b5577ec0f0':
Making transition out of recents look better
d41bf1a287af3ac453bb776ddfcda47a5d0923f3 10-May-2012 Dianne Hackborn <hackbod@google.com> am 014afea3: am a482d366: Merge "Fixed typo in findAccessibilityFocus API." into jb-dev

* commit '014afea3cec7ff93d195753103478826796c310f':
Fixed typo in findAccessibilityFocus API.
a5526619487bf58014e4d4a7f9810f7cb1c6f53d 10-May-2012 Jeff Brown <jeffbrown@google.com> am 3631131e: am 571d4cbe: Merge "Fix bugs in fallback key handling." into jb-dev

* commit '3631131e5fcb939931f985bffdb14af71dc0f388':
Fix bugs in fallback key handling.
bf1b5fa944158044a595706924b935b5577ec0f0 10-May-2012 Michael Jurka <mikejurka@google.com> am 421dceb0: Merge "Making transition out of recents look better" into jb-dev

* commit '421dceb0a4fd8f20349a0de277f82b56e71cb90b':
Making transition out of recents look better
421dceb0a4fd8f20349a0de277f82b56e71cb90b 10-May-2012 Michael Jurka <mikejurka@google.com> Merge "Making transition out of recents look better" into jb-dev
455af7f7b002c15ec85701a8333ef9862683e7e1 10-May-2012 Dianne Hackborn <hackbod@google.com> am 67cc7f2e: am a53de062: Add callback hack to find out when to load system properties.

* commit '67cc7f2e60bc6532d00bb3c473b9a1d32cdafce2':
Add callback hack to find out when to load system properties.
014afea3cec7ff93d195753103478826796c310f 10-May-2012 Dianne Hackborn <hackbod@google.com> am a482d366: Merge "Fixed typo in findAccessibilityFocus API." into jb-dev

* commit 'a482d36635cbfbbfb4aee9fc79d55514bf6b7464':
Fixed typo in findAccessibilityFocus API.
3631131e5fcb939931f985bffdb14af71dc0f388 10-May-2012 Jeff Brown <jeffbrown@google.com> am 571d4cbe: Merge "Fix bugs in fallback key handling." into jb-dev

* commit '571d4cbeec4adad050b8e188770e7e7dedc558f1':
Fix bugs in fallback key handling.
67cc7f2e60bc6532d00bb3c473b9a1d32cdafce2 10-May-2012 Dianne Hackborn <hackbod@google.com> am a53de062: Add callback hack to find out when to load system properties.

* commit 'a53de0629f3b94472c0f160f5bbe1090b020feab':
Add callback hack to find out when to load system properties.
a482d36635cbfbbfb4aee9fc79d55514bf6b7464 10-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Fixed typo in findAccessibilityFocus API." into jb-dev
21385cd83d7d7938b57a4acbaa236dd4c7804ed4 03-May-2012 Michael Jurka <mikejurka@google.com> Making transition out of recents look better

- Fading out recents first, then scaling up app
thumbnail
- Fade Recents out over 130ms
- Delay the window animation for 200ms first,
then animate for 200ms (previously we didn't delay
and then animated for 300ms)

Bug: 6390075

Change-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682
WindowManager.aidl
57aab755441a28c2e5c78c35a57b940afc2799e0 10-May-2012 alanv <alanv@google.com> Fixed typo in findAccessibilityFocus API.

Change-Id: I3ca1448792a1b712f781c1bfa73823ca08ea3d39
ccessibilityInteractionController.java
iewRootImpl.java
ccessibility/AccessibilityNodeProvider.java
571d4cbeec4adad050b8e188770e7e7dedc558f1 10-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix bugs in fallback key handling." into jb-dev
a53de0629f3b94472c0f160f5bbe1090b020feab 09-May-2012 Dianne Hackborn <hackbod@google.com> Add callback hack to find out when to load system properties.

Use this to reload the trace and layout bounds properties.

This is ONLY for debugging.

Change-Id: I1c4bdb52c823520c352c5bac45fa9ee31160793c
iew.java
iewRootImpl.java
indowManagerImpl.java
fd23e3ed976b22b9a92ddb2cb3a46f9d2a0ce23f 09-May-2012 Jeff Brown <jeffbrown@google.com> Fix bugs in fallback key handling.

If a fallback key is generated using a key plus a modifier,
then it's possible we might get a different fallback key
generated if the modifier has changed. PhoneWindowManager
needs to remember which fallback is last generated for a
given key code so that it can apply the same fallback action.

When generating cancellation events, it's important to have
preserved the policyFlags of the original event. Otherwise
we may not dispatch the cancellation properly. For example,
some actions are not performed if the POLICY_FLAG_TRUSTED
is not specified.

Remember the metaState associated with a key event so we can
include it when canceled.

Tell the policy when a fallback is being cancelled so that it
can clean up its state.

After a SEARCH shortcut is invoked, clear the flag indicating
that a shortcut is pending. This is to prevent SEARCH from
getting stuck down in the case where we might forget to send
the up. (Shouldn't happen anymore after the prior fixes.)

Bug: 5616255
Change-Id: I68f0a9679c7af464eaf31c099f2aa50b53fecf1f
eyCharacterMap.java
iewRootImpl.java
7956d5a01992bd2d56466beb864c4b28ec4f19d9 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 72912116: am a3b67289: Merge "Fixing View.getBoundsOnScreen()" into jb-dev

* commit '72912116cf0ff08dc655f065cff173d53b7152bd':
Fixing View.getBoundsOnScreen()
eda88f00891f94d2d419869a091c0604cd078f6b 09-May-2012 Jeff Brown <jeffbrown@google.com> am 3d42f8f8: am 9ac663ef: Merge "Disable input dispatch until boot finished." into jb-dev

* commit '3d42f8f8cab56ab33cb587a7aa857051d92ada90':
Disable input dispatch until boot finished.
1313b08011cfd4c89ab1101c0672f8dc8de2de23 09-May-2012 Romain Guy <romainguy@google.com> am 3607c338: am 27ef44c4: Merge "Invalidate display lists immediately when views are removed/added quickly" into jb-dev

* commit '3607c338c75bbfbc7e3ac61b5ead4eaf1ac61427':
Invalidate display lists immediately when views are removed/added quickly
2da197dff2062e4ba0f37f7fd3ef920ed9e86c74 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am aecb9b59: am 59f3f585: Merge "Add performAccessibilityAction to AccessibilityDelegate." into jb-dev

* commit 'aecb9b59e6c9e9a864bf4b302f978fb950df09ff':
Add performAccessibilityAction to AccessibilityDelegate.
eacfff7f47e9398e7201d213623603588cae3212 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am c2f5e797: am 6704c233: Merge "AccessibilityNodeInfo for visible views should reported." into jb-dev

* commit 'c2f5e797506fbc4235d4940846f3e2110e67daa6':
AccessibilityNodeInfo for visible views should reported.
529ddb895e74d226ba957da9b389dbce0f1c3071 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am ca1e49ca: am cdbbecf3: Merge "Accessibility focus on temporary detached view not cleared." into jb-dev

* commit 'ca1e49cad5b5eebdd47039289b604bea6f00e8f7':
Accessibility focus on temporary detached view not cleared.
f1ce8554ba100bbaa328d8216c82d4fdfd1b4956 09-May-2012 satok <satok@google.com> am c496652b: am 05f5236f: Merge "Make InputMethodSubtype thread safe" into jb-dev

* commit 'c496652b867b046cf825d1e0c000504e65d9be67':
Make InputMethodSubtype thread safe
1c08c1b0f1e3dbaa6c53c78054ae0ce17547f4a6 09-May-2012 Jeff Brown <jeffbrown@google.com> am e8e94a07: am 41a4704b: Merge "Small tweaks to orientation." into jb-dev

* commit 'e8e94a0743eae912658865645db75619533449b3':
Small tweaks to orientation.
807a4331ab02304f5a08f16b6a5eeececc1ee353 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am ba23196f: am 911b0c0b: Merge "Accessibility focus actinos incorectly set on accessibility node info." into jb-dev

* commit 'ba23196f1626409334f74e2d7e7cb34bef0b6f7f':
Accessibility focus actinos incorectly set on accessibility node info.
4833ca2903e89eab93b353f00a1e4904a73d79bb 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 755b2146: am b2ee0d57: Merge "Text traversal at various granularities." into jb-dev

* commit '755b2146735c15deb0eb611430a7da1e363d82a1':
Text traversal at various granularities.
b166539a473a280fbb395281685d31310f806682 09-May-2012 Romain Guy <romainguy@google.com> am 0064c032: am e79e8758: Merge "Remove ViewTreeObserver allocations" into jb-dev

* commit '0064c032f4a890970c285567520c057976909ea9':
Remove ViewTreeObserver allocations
012c9ed9ce4e60c2b2d6f590b80ec4e74d6767ff 09-May-2012 Jeff Brown <jeffbrown@google.com> am 1f455691: am 2fd54c41: Merge "Improve animation timing." into jb-dev

* commit '1f455691fe344e9dd44b092036f0dc8b8b00cce1':
Improve animation timing.
72912116cf0ff08dc655f065cff173d53b7152bd 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am a3b67289: Merge "Fixing View.getBoundsOnScreen()" into jb-dev

* commit 'a3b6728933c13599f3b2f22aad7016cdaa04d706':
Fixing View.getBoundsOnScreen()
3d42f8f8cab56ab33cb587a7aa857051d92ada90 09-May-2012 Jeff Brown <jeffbrown@google.com> am 9ac663ef: Merge "Disable input dispatch until boot finished." into jb-dev

* commit '9ac663ef9ab6ec455403d1e71bf897c34d3b311e':
Disable input dispatch until boot finished.
3607c338c75bbfbc7e3ac61b5ead4eaf1ac61427 09-May-2012 Romain Guy <romainguy@google.com> am 27ef44c4: Merge "Invalidate display lists immediately when views are removed/added quickly" into jb-dev

* commit '27ef44c46d24a5800e227d945ffede813d7f28f7':
Invalidate display lists immediately when views are removed/added quickly
aecb9b59e6c9e9a864bf4b302f978fb950df09ff 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 59f3f585: Merge "Add performAccessibilityAction to AccessibilityDelegate." into jb-dev

* commit '59f3f5853cd05103b5a83f5ddbe584a5270a9c6b':
Add performAccessibilityAction to AccessibilityDelegate.
c2f5e797506fbc4235d4940846f3e2110e67daa6 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 6704c233: Merge "AccessibilityNodeInfo for visible views should reported." into jb-dev

* commit '6704c233390743890d23338a2329dcda5709b810':
AccessibilityNodeInfo for visible views should reported.
ca1e49cad5b5eebdd47039289b604bea6f00e8f7 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am cdbbecf3: Merge "Accessibility focus on temporary detached view not cleared." into jb-dev

* commit 'cdbbecf357bf47e6eee6ba54caee5791834b5deb':
Accessibility focus on temporary detached view not cleared.
c496652b867b046cf825d1e0c000504e65d9be67 09-May-2012 satok <satok@google.com> am 05f5236f: Merge "Make InputMethodSubtype thread safe" into jb-dev

* commit '05f5236f6093b7f518677289f023f033832218f7':
Make InputMethodSubtype thread safe
e8e94a0743eae912658865645db75619533449b3 09-May-2012 Jeff Brown <jeffbrown@google.com> am 41a4704b: Merge "Small tweaks to orientation." into jb-dev

* commit '41a4704b09f98723f4ddec895c9f2e651a5c0c8e':
Small tweaks to orientation.
ba23196f1626409334f74e2d7e7cb34bef0b6f7f 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 911b0c0b: Merge "Accessibility focus actinos incorectly set on accessibility node info." into jb-dev

* commit '911b0c0b15ae4f14a6f755278679ef9c6a6e6c05':
Accessibility focus actinos incorectly set on accessibility node info.
755b2146735c15deb0eb611430a7da1e363d82a1 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am b2ee0d57: Merge "Text traversal at various granularities." into jb-dev

* commit 'b2ee0d57672faf42ca88fa878dc7e688046c915e':
Text traversal at various granularities.
0064c032f4a890970c285567520c057976909ea9 09-May-2012 Romain Guy <romainguy@google.com> am e79e8758: Merge "Remove ViewTreeObserver allocations" into jb-dev

* commit 'e79e87581280f4f3b26b1d4496b34cbb9aa39ae5':
Remove ViewTreeObserver allocations
1f455691fe344e9dd44b092036f0dc8b8b00cce1 09-May-2012 Jeff Brown <jeffbrown@google.com> am 2fd54c41: Merge "Improve animation timing." into jb-dev

* commit '2fd54c416b6f648e93bfa9dcb34fe8c6e4847a0f':
Improve animation timing.
14b2b74c13d0a22b396d10601bd683d80378810a 09-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing View.getBoundsOnScreen()

1. The function was not setting the initial rect properly.

bug:6462629

Change-Id: I7a832a979576fc5745794c68fb8414257efb21dd
iew.java
9ac663ef9ab6ec455403d1e71bf897c34d3b311e 09-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Disable input dispatch until boot finished." into jb-dev
27ef44c46d24a5800e227d945ffede813d7f28f7 08-May-2012 Romain Guy <romainguy@google.com> Merge "Invalidate display lists immediately when views are removed/added quickly" into jb-dev
2a0f228a30c85a124f92a5a7c1b10a81cf69af6d 08-May-2012 Romain Guy <romainguy@google.com> Invalidate display lists immediately when views are removed/added quickly

The deferred invalidation of display list could cause problems with
view like TextureView who destroy resources when detached from the
window but only recreate them later at draw time. This would cause
temporary flashes or other visual glitches on screen.

Change-Id: I018488ba09743df21c6434ea610813014fb80a85
iew.java
iewRootImpl.java
c042ee2acd8529b95c5dc99240d626e61d2500cd 08-May-2012 Jeff Brown <jeffbrown@google.com> Disable input dispatch until boot finished.

Bug: 6263070
Change-Id: I25e15e3d8af8eb3343c7b684fec345337d9f6aab
indowManagerPolicy.java
59f3f5853cd05103b5a83f5ddbe584a5270a9c6b 08-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Add performAccessibilityAction to AccessibilityDelegate." into jb-dev
6704c233390743890d23338a2329dcda5709b810 08-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityNodeInfo for visible views should reported." into jb-dev
3ed259a43cd6532c9cf835c925fc89c2f4f75bc1 08-May-2012 Philip Milne <pmilne@google.com> am 2a52d26c: am 7bb66c9c: Hide optical bounds feature for JB.

* commit '2a52d26c0b917de8b1e4d20ebad87b9b3825f6ca':
Hide optical bounds feature for JB.
cdbbecf357bf47e6eee6ba54caee5791834b5deb 08-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility focus on temporary detached view not cleared." into jb-dev
961bf0e9b4ef94f52ae66856ac573995f1f34578 08-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus on temporary detached view not cleared.

1. When a view that has accessibility focus is temporary detached
we try to draw the focus highlight and crash. Since the detached
view will be modified and then either attached or detached from
the window we should not keep accessibility focus on a temporary
detached view. Otherwise, we may have a scenario where the user
thinks he is in one item scroll acound and being in completely
different item because of the view being recycled but the user
has no clue.

2. Clearing accessibility focus when the view is removed from the
parent as opposed as when it is detached from the window. Since
we may have transitioning views for removal we do not want
accessibility focus on such views during the anumation.

bug:6457339

Change-Id: I62287a089ec6850fb1d691ae26dea54e1da39c94
iew.java
iewGroup.java
05f5236f6093b7f518677289f023f033832218f7 08-May-2012 satok <satok@google.com> Merge "Make InputMethodSubtype thread safe" into jb-dev
e52eb4e289bf8d7b04582803b0d0f9ab7399c1af 08-May-2012 satok <satok@google.com> Make InputMethodSubtype thread safe

Bug: 6327800
Change-Id: I549d1ec377793e918800d919b39fd8f4b6f0db41
nputmethod/InputMethodSubtype.java
41a4704b09f98723f4ddec895c9f2e651a5c0c8e 08-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Small tweaks to orientation." into jb-dev
8eeefefc8451c97745add2b4d508116aaffbcb22 08-May-2012 alanv <alanv@google.com> Add performAccessibilityAction to AccessibilityDelegate.

Change-Id: I43dff2ced959af5d8a9ce9ed18858a6e74cb35c6
iew.java
daf5d894ef71c5674e83b11de8b408e3bdabe4c7 08-May-2012 Jeff Brown <jeffbrown@google.com> Small tweaks to orientation.

Improved threshold for detecting external acceleration.

Bug: 5976859
Change-Id: Iaf2298fba8eda72d1cacbb2f3aea72f460a9262f
indowOrientationListener.java
911b0c0b15ae4f14a6f755278679ef9c6a6e6c05 08-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility focus actinos incorectly set on accessibility node info." into jb-dev
0a1bb6dffc358c01e10555c5c833edb7dba69659 07-May-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo for visible views should reported.

1. AccessibilityNodeInfos for visible views should always
be reported and the clients should be able to check
whether that node info is shown to the user. For example,
focus search may return a node that is not on the screen
and the accessibility layer may decide to give it focus
which scroll the source view in the screen.

bug:6421991

Change-Id: Idc1fd8512dda767abe802aacedb0c69582e6fc2a
ccessibilityInteractionController.java
iew.java
ccessibility/AccessibilityNodeInfo.java
b2ee0d57672faf42ca88fa878dc7e688046c915e 08-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Text traversal at various granularities." into jb-dev
02afe2cfd35f684117a9eed3c31edea311ce7d95 08-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus actinos incorectly set on accessibility node info.

bug:6456267

Change-Id: I9fce268623cebef49dd613d193a36a0a1a0654aa
iew.java
e79e87581280f4f3b26b1d4496b34cbb9aa39ae5 08-May-2012 Romain Guy <romainguy@google.com> Merge "Remove ViewTreeObserver allocations" into jb-dev
6d17a936f73976971135aa1e6248662533343292 28-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Text traversal at various granularities.

1. Implementing text content navigation at various granularities.
For views that have content description but no text the
content description is the traversed at character and word
granularities. For views that inherit from TextView the
supported granularities are character, word, line, and page.

bug:5932640

Conflicts:

core/java/android/view/View.java

Conflicts:

core/java/android/view/View.java

Change-Id: I66d1e16ce9ac5d6b49f036b17c087b2a7075e4c0
ccessibilityIterators.java
iew.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityNodeInfo.java
59bbef0cd781f4933fd8a0a85b6067f36e529e02 08-May-2012 Jeff Brown <jeffbrown@google.com> Improve animation timing.

Detect when a vsync message was significantly delayed which may
indicate that a frame was skipped. When this happens, update
the frame time to reflect the approximate start time of the
current frame instead of the start time of the frame that was
skipped a long time ago.

Removed an unnecessary call to getCurrentPlayTime() in the
animator framework. The result was always zero and the call
just made the code confusing.

Bug: 6443611
Change-Id: I92b24f7ffd74c59b75a727b6bfc0bb51fc92a73a
horeographer.java
b999cc118fe430699e9a67d5dab355125b873abb 08-May-2012 Romain Guy <romainguy@google.com> Remove ViewTreeObserver allocations

This change replaces CopyOnWriteArrayList with a custom CopyOnWriteArray.
The new CopyOnWriteArray only allocates when a concurrent modification
is detected. Only one loop can iterate over CopyOnWriteArray at any
given time and the class is not thread safe.

Change-Id: Ie67a1ec20ff095350bf3c5d4f87cdb231ad57221
iewTreeObserver.java
2a52d26c0b917de8b1e4d20ebad87b9b3825f6ca 07-May-2012 Philip Milne <pmilne@google.com> am 7bb66c9c: Hide optical bounds feature for JB.

* commit '7bb66c9cae7847e3d58f412a73d54ee5d4bcaba0':
Hide optical bounds feature for JB.
7bb66c9cae7847e3d58f412a73d54ee5d4bcaba0 07-May-2012 Philip Milne <pmilne@google.com> Hide optical bounds feature for JB.

Change-Id: I1fe38e9c64515acd550baa930ebc0af4c139bf40
iewGroup.java
c0496ffd0e2a2d2549bd7911e56cb23c734bea50 07-May-2012 Romain Guy <romainguy@google.com> am 9929b59a: am 9d7bbcb8: Merge "Log more frame data when profiling GL apps" into jb-dev

* commit '9929b59ac5d0c5b0ab400d9d8edf4163ca4c557d':
Log more frame data when profiling GL apps
9929b59ac5d0c5b0ab400d9d8edf4163ca4c557d 07-May-2012 Romain Guy <romainguy@google.com> am 9d7bbcb8: Merge "Log more frame data when profiling GL apps" into jb-dev

* commit '9d7bbcb89a3f14331c55ed2bbdcf768a4aa91cc1':
Log more frame data when profiling GL apps
a21f877434dd25a93869b8641e3c38618bf317a9 07-May-2012 Romain Guy <romainguy@google.com> Log more frame data when profiling GL apps

Change-Id: Ib7377c22a2258aa6510677d80df34bb7e73dc714
ardwareRenderer.java
475fc468423186b8e9d60a557aa4fd2a6fc6bfc2 06-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 9879659a: am 2551e5a1: Merge "API REVIEW: android.view.accessibility" into jb-dev

* commit '9879659a1cbfe404c725df1e57ff92f151bf65bc':
API REVIEW: android.view.accessibility
d88eb08cc2766f5be2e1eff096a0cacee6714c16 06-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am ae825876: am 3f28a1b7: Merge "Performing click and long click for accessiblity not returning result." into jb-dev

* commit 'ae825876fa9303ff4b3ad0964085a2a338089139':
Performing click and long click for accessiblity not returning result.
9879659a1cbfe404c725df1e57ff92f151bf65bc 06-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 2551e5a1: Merge "API REVIEW: android.view.accessibility" into jb-dev

* commit '2551e5a1d9990514d8116e352b8e5c2f10a9d303':
API REVIEW: android.view.accessibility
ae825876fa9303ff4b3ad0964085a2a338089139 06-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 3f28a1b7: Merge "Performing click and long click for accessiblity not returning result." into jb-dev

* commit '3f28a1b7ebb3500d13a1672ab76fe68e9c0a75e8':
Performing click and long click for accessiblity not returning result.
2551e5a1d9990514d8116e352b8e5c2f10a9d303 06-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "API REVIEW: android.view.accessibility" into jb-dev
3f28a1b7ebb3500d13a1672ab76fe68e9c0a75e8 06-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Performing click and long click for accessiblity not returning result." into jb-dev
6455f207ab1f486160b8a14a2986c3da5d2f9540 06-May-2012 Romain Guy <romainguy@google.com> am f4588f83: am ec4d9040: Merge "Attempt to recover from apps destroying their window at draw time Bug #6436642" into jb-dev

* commit 'f4588f837361c1710f1fe69347f7505053bf2cad':
Attempt to recover from apps destroying their window at draw time Bug #6436642
f4588f837361c1710f1fe69347f7505053bf2cad 06-May-2012 Romain Guy <romainguy@google.com> am ec4d9040: Merge "Attempt to recover from apps destroying their window at draw time Bug #6436642" into jb-dev

* commit 'ec4d9040f603b57b1706299f51838b6cc68b8f99':
Attempt to recover from apps destroying their window at draw time Bug #6436642
ec4d9040f603b57b1706299f51838b6cc68b8f99 06-May-2012 Romain Guy <romainguy@google.com> Merge "Attempt to recover from apps destroying their window at draw time Bug #6436642" into jb-dev
1f59e5c19bf72f88eed6f8de08b0a879d999f61c 06-May-2012 Romain Guy <romainguy@google.com> Attempt to recover from apps destroying their window at draw time
Bug #6436642

Change-Id: I906b9c68225683f97b9c97c153a1132cf9ac6509
iewRootImpl.java
4fa22f0b4d271a41e2a459e1d927c4ce54d15847 06-May-2012 Romain Guy <romainguy@google.com> am 95b0c45b: am aaa71475: Merge "Remove unnecessary framework allocations" into jb-dev

* commit '95b0c45b06d9a053f9050e0f0ef1171a18ae0711':
Remove unnecessary framework allocations
95b0c45b06d9a053f9050e0f0ef1171a18ae0711 06-May-2012 Romain Guy <romainguy@google.com> am aaa71475: Merge "Remove unnecessary framework allocations" into jb-dev

* commit 'aaa7147595346fdd398e2932817e075acbb8e497':
Remove unnecessary framework allocations
aaa7147595346fdd398e2932817e075acbb8e497 06-May-2012 Romain Guy <romainguy@google.com> Merge "Remove unnecessary framework allocations" into jb-dev
ab4c4f4ff73e66b7767640dbe6d4115237c48242 06-May-2012 Romain Guy <romainguy@google.com> Remove unnecessary framework allocations

These allocations were frequently triggered by the home screen. This change
removes dozens of allocations during page scrolls on home.

Change-Id: I7289efa28ecf5bd62459042b10062aa9cf0432dd
iew.java
36cade591a1bb40acbf3f271a4b414dfd894cf1d 06-May-2012 Dianne Hackborn <hackbod@google.com> am 7bedac94: am 139e5aa1: Fix issue #6404215: New ActionBar auto-hide can conflict with application

* commit '7bedac9417d60608003d739c8caed7ca81683825':
Fix issue #6404215: New ActionBar auto-hide can conflict with application
7bedac9417d60608003d739c8caed7ca81683825 06-May-2012 Dianne Hackborn <hackbod@google.com> am 139e5aa1: Fix issue #6404215: New ActionBar auto-hide can conflict with application

* commit '139e5aa1da51b27231ab36344cf2d0dafab23f1e':
Fix issue #6404215: New ActionBar auto-hide can conflict with application
139e5aa1da51b27231ab36344cf2d0dafab23f1e 06-May-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6404215: New ActionBar auto-hide can conflict with application

The action bar now maintains separate states for the things that can
impact its visibility (calls from the app, action mode, system UI) so
that the changes in these won't incorrectly mix together.

Also added a hack to force the status bar to be shown when showing
the action bar for an action mode, when the UI is in a state where
the action bar would be shown with a gap above where the status bar
is.

Change-Id: Ib0950a7f585c5d2c9e77d11b237ba6e150f15ebd
iew.java
iewRootImpl.java
773f2624ec01aabf10cfa755cb6f1081ba9b4faf 06-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Performing click and long click for accessiblity not returning result.

1. When performing the click and long click actions the code in View
was not returning the resilt of the called method.

bug:6426849

Change-Id: I0cf396a8373f622948ed436ce09f8d1dcf246acd
iew.java
4256391861f91e1f66f7684c4b2aee9e4b248c3b 05-May-2012 Dianne Hackborn <hackbod@google.com> am ce1d03b3: am 3fd4a382: Merge "Implement cropping of windows based on system UI elements." into jb-dev

* commit 'ce1d03b39935c42cfa0d11ef782c8c6a2fd823d4':
Implement cropping of windows based on system UI elements.
ce1d03b39935c42cfa0d11ef782c8c6a2fd823d4 05-May-2012 Dianne Hackborn <hackbod@google.com> am 3fd4a382: Merge "Implement cropping of windows based on system UI elements." into jb-dev

* commit '3fd4a3822160e8ad84122641a56c9f92540d02b5':
Implement cropping of windows based on system UI elements.
3556c9a8068497d0de8964fd3be719c68eae1f00 05-May-2012 Dianne Hackborn <hackbod@google.com> Implement cropping of windows based on system UI elements.

Start calling Surface.setActiveRect().

Change-Id: I94197059c971c6ab7820e615ea8f285482b86c75
iew.java
iewRootImpl.java
2b435aada3d274a9c08d334946fff1ab9ba15b48 05-May-2012 Svetoslav Ganov <svetoslavganov@google.com> API REVIEW: android.view.accessibility

1. Changed all references to granularity to movement
granularity. BTW, to be more precise it should be
text movement granularity.

bug:6435232

Change-Id: If6366b002ca3390f74918995b342baff2cbcfd01
iew.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityNodeInfo.java
1758ce900d1db506ba65b46ac3e40abbdc85723e 05-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 9878a04b: am 5fd72a2c: Merge "Finding focus for from rectangle now working." into jb-dev

* commit '9878a04b3cedf842de29110baa46fb040b5c7887':
Finding focus for from rectangle now working.
9878a04b3cedf842de29110baa46fb040b5c7887 05-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 5fd72a2c: Merge "Finding focus for from rectangle now working." into jb-dev

* commit '5fd72a2cceae9955af316f32e17a84515c317738':
Finding focus for from rectangle now working.
5fd72a2cceae9955af316f32e17a84515c317738 05-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Finding focus for from rectangle now working." into jb-dev
fc6ef88a3d9f0649ed9cd16043433c8f1352c18f 04-May-2012 Fabrice Di Meglio <fdimeglio@google.com> am 8396830d: Merge "Hide RTL related APIs - DO NOT MERGE" into jb-dev

* commit '8396830d8fedc08c0a9de36bcce3c8b65691729f':
Hide RTL related APIs - DO NOT MERGE
66388dcb09018933ccd1d38eae563f0890ba4f06 04-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Hide RTL related APIs - DO NOT MERGE

- fix bug #6441155 API review: @hide RTL layout APIs

Change-Id: I13c5ea5f579cecffed9d517f06180ab0576cd26a
ravity.java
iew.java
iewGroup.java
edc773cab7a3e89752747419cd67a18e12c44901 04-May-2012 Romain Guy <romainguy@google.com> am 531d164d: Merge "Fix javadoc" into jb-dev

* commit '531d164d677b5f924896fd758d8f544ed7a8d07a':
Fix javadoc
531d164d677b5f924896fd758d8f544ed7a8d07a 04-May-2012 Romain Guy <romainguy@google.com> Merge "Fix javadoc" into jb-dev
3dd4b51fc37c1f05b1b583f5706e3a12216b9822 04-May-2012 Romain Guy <romainguy@google.com> Fix javadoc

Change-Id: I1f1262a9a385e981a98876f8396ad375ab74827d
isplayList.java
78c481c18254bb4b45329fd4e4cb4da381593a80 04-May-2012 Chet Haase <chet@google.com> am 4380f954: Merge "Minor doc fixes for animation- and view-related things" into jb-dev

* commit '4380f9542fcb4a452332ecbea6a2036a2b159ab3':
Minor doc fixes for animation- and view-related things
4380f9542fcb4a452332ecbea6a2036a2b159ab3 04-May-2012 Chet Haase <chet@google.com> Merge "Minor doc fixes for animation- and view-related things" into jb-dev
5bdf114327fa219ed5a5243883713c09c020aa3a 04-May-2012 Craig Mautner <cmautner@google.com> am 602290a0: Merge "Retain current visibility when copying layoutparam" into jb-dev

* commit '602290a01124b2eac045b066a87a6fc4911153c6':
Retain current visibility when copying layoutparam
602290a01124b2eac045b066a87a6fc4911153c6 04-May-2012 Craig Mautner <cmautner@google.com> Merge "Retain current visibility when copying layoutparam" into jb-dev
3fe38c0e73e520c6c38454a41a4cffa16faaf67d 04-May-2012 Craig Mautner <cmautner@google.com> Retain current visibility when copying layoutparam

The LayoutParams members, systemUiVisibility and
subtreeSystemUiVisibility are derived values rather than app-generated
values. When copying LayoutParams members make sure these values are
not overwritten.

Overwriting them was causing the STATUS_BAR_DISABLE_XXX flags to be
overwritten exposing elements that should have remained hidden.

Fixes bug b6374541.

Change-Id: Iaae4b4167e1b148bbdba4d05f473844f7fa3bf8d
iewRootImpl.java
cb150fe9e6495256019b02be51e736679b57c1b5 04-May-2012 Chet Haase <chet@google.com> Minor doc fixes for animation- and view-related things

Issue #6016341 Add info about properties and ViewPropertyAnimator to View reference docs
Issue #6441062 Misleading docs in ViewPropertyAnimator

Change-Id: Ica7c026c770fe2e57013fe443ede5428cd6b6604
iew.java
iewPropertyAnimator.java
d4daf5212ebee0886ad02ceb6301a829cb1674a1 03-May-2012 Jeff Brown <jeffbrown@google.com> am e19dbd9f: Merge "Separate the internal and external display rotations." into jb-dev

* commit 'e19dbd9f9d0fea5959d8384d5d9d577d25cc8963':
Separate the internal and external display rotations.
e19dbd9f9d0fea5959d8384d5d9d577d25cc8963 03-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Separate the internal and external display rotations." into jb-dev
e43a4e90173cdb1a8e22a8e8e05356c12df44a0e 03-May-2012 Adam Powell <adamp@google.com> am f27ba974: Merge "JB API cleanup; ActionMode and View docs" into jb-dev

* commit 'f27ba974d5af68baf071282de65a22ca6e59244c':
JB API cleanup; ActionMode and View docs
f27ba974d5af68baf071282de65a22ca6e59244c 03-May-2012 Adam Powell <adamp@google.com> Merge "JB API cleanup; ActionMode and View docs" into jb-dev
785c447b2bc625209706fd128ce61781c3a4183b 03-May-2012 Adam Powell <adamp@google.com> JB API cleanup; ActionMode and View docs

Bugs 6435315, 6434937

Add ActionMode#getTitleOptionalHint() and extend documentation for
View#hasTransientState/setHasTransientState

Change-Id: I2049fb79864c33b34e3bbd13df32861e308c99ad
ctionMode.java
iew.java
63655269b8e6708ad6544d8b12223fea785b40f2 03-May-2012 Svetoslav Ganov <svetoslavganov@google.com> am 7a5f3e40: Merge "Virtual nodes are always important for accessibility." into jb-dev

* commit '7a5f3e4048b0af08606b689b4f4a39d6040c3c23':
Virtual nodes are always important for accessibility.
7a5f3e4048b0af08606b689b4f4a39d6040c3c23 03-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Virtual nodes are always important for accessibility." into jb-dev
93de746e5554bc9397ca8109f57875d92e64eabc 03-May-2012 Jeff Brown <jeffbrown@google.com> Separate the internal and external display rotations.

When attached to an HDMI touch screen, the input system needs
to know the size and rotation of the external display independent
of the internal display. The size was already being reported
separately but not the rotation. The inconsistency can cause problems
if the internal display's natural rotation is portrait but
the external display's natural rotation is landscape.

Change-Id: Id344f04c1ba032625f6265766be66f9ddaa2cc0b
isplay.java
52a623700f9bcba7ef8bfe3ba7ff6160a1bd65e8 02-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Virtual nodes are always important for accessibility.

1. Virtual nodes should be made important since the implementer of
the tree represented by the nodes decides which node to report.
In the case with native widgets we decide in the framework but
in the case of the node provider, the implementer of the latter
makes the call. Hence, if a node in not important the provider
should not report it in the first place. The issue this patch
solves is to allow events from virtual nodes to be propagated
to the accessibility services.

bug:6432588

Change-Id: Ie01f84e9e0ef2280da934b98283962a5db38abc2
ccessibility/AccessibilityRecord.java
dcc81035423c1c221409f20b28ba94a8ca74d55d 02-May-2012 Chet Haase <chet@google.com> am fe5984f4: Merge "Corrects invalidation logic for layered views" into jb-dev

* commit 'fe5984f43a5be9f95d1febb806f3aee8601c7ff4':
Corrects invalidation logic for layered views
fe5984f43a5be9f95d1febb806f3aee8601c7ff4 02-May-2012 Chet Haase <chet@google.com> Merge "Corrects invalidation logic for layered views" into jb-dev
810a8676df1d504da17bad80c7bd6638bdd97711 02-May-2012 Chet Haase <chet@google.com> Corrects invalidation logic for layered views

A bug in the invalidation logic meant that changes to a view
would not cause parents in the view hiearchy that were set to have
a layer (e.g., View.LAYER_TYPE_HARDWARE) to get invalidated properly.
So even though the child view was all set to recreate its display list
according to the property change, the layer in the tree above it would stay
as-is, meaning that the change would not show up on the screen.

Issue #5887530 DropTarget text does not change color with the icon

Change-Id: Ie6eac4f406d172cb437822d9fe76340ab2afaf1c
iewGroup.java
c6b939789a8fd3efcac2b71fc2baeb4442fbe1e8 02-May-2012 satok <satok@google.com> am e849230f: Merge "DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition" into jb-dev

* commit 'e849230f444653e692024b4321044cb9f6188919':
DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition
e849230f444653e692024b4321044cb9f6188919 02-May-2012 satok <satok@google.com> Merge "DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition" into jb-dev
1bc0a49e3cade697201e454bb6e46ee789cef6e4 25-Apr-2012 satok <satok@google.com> DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition

Bug: 5137498
Change-Id: Ieb8fd700d193eddaa31b0c5ebd8c7f7885586372
indowManagerPolicy.java
c3cca66404571454ee13b341925fe45efd5036e6 02-May-2012 Jeff Brown <jeffbrown@google.com> am 0632b35b: Merge "Improve handling of built-in keyboard." into jb-dev

* commit '0632b35b6828cd4324b3d218c2e38f895e819aad':
Improve handling of built-in keyboard.
0632b35b6828cd4324b3d218c2e38f895e819aad 02-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Improve handling of built-in keyboard." into jb-dev
daa3753a04699724d2cfe824ac1f5a266d643a05 02-May-2012 Jeff Brown <jeffbrown@google.com> Improve handling of built-in keyboard.

The window manager policy made some incorrect assumptions about the
meaning of the Configuration.keyboard field. We need to be more
careful about distinguishing between built-in and external keyboards.

Most of this change is to move the determination of the parts of
the Configuration related to input devices into the WindowManagerService
leveraging new features of the InputManagerService to good effect.

Then we plumb through the flag that indicates whether a device
is internal or external so that we can be more particular about
how the lid switch effects changes to the Configuration.

Bug: 6424373
Change-Id: I36a1c22ade35e578955465a25940a33f227b9763
nputDevice.java
indowManagerPolicy.java
c6eda48e0ac261f3e8f949d65d785b85b6e6f542 01-May-2012 Jean-Baptiste Queru <jbq@google.com> am e28ccbab: am 7a082985: Merge "Fixes an issue that occured unexpected exception "pointerIndex out of range"."

* commit 'e28ccbab9a5634b6d9557240161310451c660e47':
Fixes an issue that occured unexpected exception "pointerIndex out of range".
e28ccbab9a5634b6d9557240161310451c660e47 01-May-2012 Jean-Baptiste Queru <jbq@google.com> am 7a082985: Merge "Fixes an issue that occured unexpected exception "pointerIndex out of range"."

* commit '7a0829850ee8d1ee2f436c40c8a5af2ff7d96533':
Fixes an issue that occured unexpected exception "pointerIndex out of range".
7a0829850ee8d1ee2f436c40c8a5af2ff7d96533 01-May-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Fixes an issue that occured unexpected exception "pointerIndex out of range"."
af8978226f5e929bd5d4dab04edd11218e8ac6ce 01-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityNodeInfo.getActionSymbolicName() is missing A11y focus actions." into jb-dev
fb68fdb9c6e915e38ec5c7f4b0d526b613e4ea8b 01-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility should not change input focus behavior." into jb-dev
e9bda15f87c11a8827ca0ffc865611176805cc0a 01-May-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo.getActionSymbolicName() is missing A11y focus actions.

1. The new actions were not added to this helper method so it was
throwing an InvalidArgumentException.

bug:6421059

Change-Id: I132348a50bb900ee19b95cc92c26ce47609ccb1c
ccessibility/AccessibilityNodeInfo.java
cf8a3b82241a320f568f8448184df6da5bbcf152 01-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility should not change input focus behavior.

1. Removed a change in the input focus behavior I forgot
to take out when submitted the main accessibility focus
patch. Ugh..

bug:6320098

Change-Id: Id7942e8aac64ba4bf6df7e19f733fa70b368d1bb
iewRootImpl.java
b40696cc216f6a5874189fe83055ddaa7b428ce0 01-May-2012 Jamie Gennis <jgennis@google.com> Surface: add JNI plumbing for setActiveRect.

Bug: 6299171
Change-Id: If26e63ebe7def645626af251bed899ff9389f8e5
urface.java
459e459ef99f494238128aa4142fe2e97adae35b 01-May-2012 Jamie Gennis <jgennis@google.com> Merge "TextureView: don't call onSTAvailable due to setST" into jb-dev
1e945c4fda0242e8ae02ccb7a2262556f41b42cc 30-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Add system insets to windows." into jb-dev
8a34d6800e70da45bac662873f6951c8d8295a15 18-Apr-2012 Jamie Gennis <jgennis@google.com> TextureView: don't call onSTAvailable due to setST

This change makes TextureView skip calling the onSurfaceTextureAvailable
callback when setSurfaceTexture is used to change the TextureView's
SurfaceTexture.

Change-Id: Ie08f72f157c3bfce3215076b21994026ef66d88d
extureView.java
951bb421668b82ca014f75d265b161f6ff64d36b 30-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Finding focus for from rectangle now working.

1. The FocusFinder code was ignoring the rectangle.

bug:6400513

Change-Id: I218425182b9cc2cda01fc4b5d75e9ac94a22561c
ocusFinder.java
2f87014ea2f177e715032b07004d05e2549a63a8 30-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Enabling accessibility focus only if explore by touch is on." into jb-dev
0e8fd5eddb8fe09e47732d1659c682b7eeee646b 30-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Populating accessibility node info with supported actions." into jb-dev
10890607f88eb639394cb16ac3006202bf1995ce 30-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing crash in ViewGroup.dispatchPopulateAccessibilityEvent" into jb-dev
18dcf2f1cd3f84cbdffd8394e16475a13d6243df 30-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing crash when drawing accessibility focus indicator." into jb-dev
07b726c86b1d0b22e51b08cb4234f8212864d9f9 30-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Enabling accessibility focus only if explore by touch is on.

1. Now we will enable the accessibility focus only if Explore by
Touch is enabled. Enabling this feature allows a blind user to
touch the screen and set the accessibility focus at this
location as well as get spoken feedback. Also an accessibility
service can move the accessibility as a result of user gestures
detected only if Explore by Touch is enabled. Since we will
handle some gestures by default if not accessibility service
does so to provide reasonable built-in navigation of the UI
by "objects" we need the accessibility focus functionality.

bug:6383361

Change-Id: I13ce6072a90f5838c7656379788144c99a772bf0
iew.java
iewRootImpl.java
5c58de3a523a384c47b0b1e0f5dd9728a74cd9f7 29-Apr-2012 Dianne Hackborn <hackbod@google.com> Add system insets to windows.

This will be used to determine which parts of a window a completely
hidden by system UI elements (status bar, nav bar, system bar) so
that they can be clipped out from rendering.

Change-Id: I2c6c6ac67dbdfeed82d2c089ef806fb483165bd9
Window.aidl
WindowSession.aidl
urfaceView.java
iewRootImpl.java
indowManagerPolicy.java
cfcff98ab33e91747bfb4a52e05230dc45323b5a 29-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Populating accessibility node info with supported actions.

1. The system does not allow performing an accessibility action
on an accessibility node info unless it explicitly states it
supports that action. Adding the new accessibility actions
to the info emitted by a view.

bug:6407647

Change-Id: I8dad1dc60ec68b4da5ed2349a1366a88820175a1
iew.java
d7910dd42a24705172f2794de940f715bbc41410 29-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing crash in ViewGroup.dispatchPopulateAccessibilityEvent

1. There was a double call to recycle of a pooled instance
which was causing an exception. Removed an unnecessary call.

bug:6408689

Change-Id: Ic74b743c6be28ca95ab84b15f28edb5bc95f0a88
iewGroup.java
1d74df226619101d905d872c8e609d315409695e 29-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing crash when drawing accessibility focus indicator.

1. Added a lacking null check for the accessibility node
info returned by an accessibility node provider. If
the provider implementation is not correct this may
happen.

2. Added clearing of the current accessibility focused
node when the window focus changes. Now it is cleared
in every case and if it happens that accessibility is
enabled when the window gets focus, the accessibility
focus will be properly set.

bug:6381296

Change-Id: Ieea1b07762745e6d932fc4ed4febfe77760b25b7
iewRootImpl.java
79c6346100b555a8a3d51b3b1c34dbbe99305b9a 28-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "When a window is first shown only draw once while animating." into jb-dev
ffd6ea4523d8fa1210d2a7bb757cc65e1d18465f 28-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Resample touch events on frame boundaries." into jb-dev
65340c1682dc73671d59cfbe27ee86549d23ed1d 28-Apr-2012 Philip Milne <pmilne@google.com> Merge "Fixes for optical bounds feature." into jb-dev
7a23b49a8ceb07d3fa12c45fd42cd16131fd746a 25-Apr-2012 Philip Milne <pmilne@google.com> Fixes for optical bounds feature.

1. Make the feature opt-in (ViewGroup::layoutMode defaults to CLIP_BOUNDS) without inheritance.
2. Rename COMPONENT_BOUNDS to CLIP_BOUNDS.
3. Rename LAYOUT_BOUNDS to OPTICAL_BOUNDS.
4. Complete GridLayout implementation.
5. Change the default_gap between components to 8dp, to align with the Style Guide.

Change-Id: I8d40dfc5f4ca469f6424eb3ff60d07bec56e3a9f
iew.java
iewGroup.java
f613da0e5f79d261d99008d25665f5992af86c0b 28-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Simplify the consume before traversal heuristic." into jb-dev
5c55c40be084044ed7bb7ce46aa2befeedc9db38 28-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Clear IMM references when window dismissed." into jb-dev
e19d5f02728e34704a5e2c0fb9d7e54ef11aaa69 28-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Use choreographer frame time to schedule animations." into jb-dev
4478de3c02c1fb2f4f888e696ee1b13721e936d9 28-Apr-2012 Jeff Sharkey <jsharkey@android.com> Clear IMM references when window dismissed.

Match behavior of removeViewLocked(), where InputMethodManager clears
any strong references to Views, and also clear mCurRootView. Without
this, IMM can leak a DecorView instance after the user has left the
application.

Bug: 6413553
Change-Id: Iad09cf5dbb7f6f156fd39ed243431432e00f8945
indowManagerImpl.java
nputmethod/InputMethodManager.java
5084e69b2ce2880f9ac9346618a5ab35c030cf62 28-Apr-2012 Romain Guy <romainguy@google.com> Merge "Make debug.layout usable with hw acceleration on" into jb-dev
cbc6774ef0285956da74193e5d217738e7411830 28-Apr-2012 Romain Guy <romainguy@google.com> Make debug.layout usable with hw acceleration on

Change-Id: I35e41f83fc5049f5ede6b8a6731800bd6da50391
iewGroup.java
771526c88f5cc4b56a41cb12aa06a28d377a07d5 28-Apr-2012 Jeff Brown <jeffbrown@google.com> Resample touch events on frame boundaries.

Bug: 6375101
Change-Id: I8774e366306bb2b6b4e42b913525bf25b0380ec3
nputEventReceiver.java
iewRootImpl.java
c887843b19c5a31bcd14e0b29b035d2a6e1e6149 28-Apr-2012 Romain Guy <romainguy@google.com> Merge "New constant used by dev settings" into jb-dev
4b8c4f886b3d57e6ffe1a4650487c67334674a40 28-Apr-2012 Romain Guy <romainguy@google.com> New constant used by dev settings

Change-Id: I42f103ae8a9b9f051367c72131f0b216e200f6e0
ardwareRenderer.java
iew.java
12d3a94397c33fdb773a1eaaaa13cab80bf0c571 27-Apr-2012 Dianne Hackborn <hackbod@google.com> When a window is first shown only draw once while animating.

On some hardware allocating a new graphics buffer is quite
expensive, which blocks updates to the UI. This can cause
glitches when performing window animations.

To reduce these glitches, the view hierarchy will now only
allow itself to be drawn once if its window is being shown
while the window manager is animating, not resuming draws
until it is told that the animation is done.

Change-Id: Ie15192f6fddbd0931b022a72c76ddd55ca266d84
Window.aidl
iewRootImpl.java
indowManagerImpl.java
330314c6fb7c178c0f0da65d6aa8c9e7d3004568 27-Apr-2012 Jeff Brown <jeffbrown@google.com> Simplify the consume before traversal heuristic.

Calling doConsumeBatchedInput() from doTraversals() can result
in redundant attempts to consume batched input. Instead of making
this call directly, just schedule consume batched input at the
same time as traversals are scheduled. This should have the same
overall effect.

Bug: 6375101
Change-Id: Ie5799e6a68fedbd1978cca6d03852d9a7f1b1f64
iewRootImpl.java
20c4f87b2916d05e860d11568d7db6b2d340e909 27-Apr-2012 Jeff Brown <jeffbrown@google.com> Use choreographer frame time to schedule animations.

Instead of using the current uptime millis, which can exhibit
substantial jitter depending on when the code runs, use the
current frame's vsync time when performing animations. The frame
time provides a more consistent pulse.

Bug: 6375101
Change-Id: Icf307cd8524246607db7496c6fef9a5eeb7c0439
horeographer.java
97d5c418730946a0332f601cd140ed0b12ea19c1 27-Apr-2012 Jeff Brown <jeffbrown@google.com> Remove unused pipelining optimization.

Bug: 6375101
Change-Id: I5fcbbabfafae9e1661adac7b2becc748e42c4b66
horeographer.java
iewRootImpl.java
69b2be163d6ba00fead46c2e01ec775d8487e777 26-Apr-2012 Jeff Brown <jeffbrown@google.com> Add yet more keyboard layouts.

Bug: 6110399
Change-Id: I8e2ce1cd350dddb006df51286e127dce65a8117f
eyCharacterMap.java
8f94ec1565339015f3c62b3936b99a16f094c5aa 25-Apr-2012 Philip Milne <pmilne@google.com> Merge "Fix for layout debug mode."
604f440dfd6e5ee857f1e71d12c635d4ee1afcbc 25-Apr-2012 Philip Milne <pmilne@google.com> Fix for layout debug mode.

Change-Id: I0d02aa4cf7e18c2bbb01a3296e573f2f9de60bf1
iewGroup.java
9ca10c8c3c94151889f6906e2d239a978e8b473b 25-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding explicit text traversal granularities and actions for web navigation."
b7ff3255c6d4e12f9d2334e3bbec0a125b7b09dc 25-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding explicit text traversal granularities and actions for web navigation.

1. The granularities for traversing the text content of an accessibility
node info are now predefined constants and custom ones will not be
supported. This is the simplest solution - we can always add namespaced
user defined ones (unlikely).

2. Added actions for traversing web content. These actions can be used by
an accessibility service to transparently drive the JavaScript based
screen reader that is used for handling web content.

3. Added a new accessibility event type for traversing the content of a
view. This event is needed to announce to the user what is the next
element, i.e. the one next to the cursor, after the view's text was
traversed.

bug:5932640
bug:6389591

Change-Id: I144647da55bc4005c64f89865ef333af8359e145
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityNodeInfo.java
e4cd3b0d9529a1ef8d388ece83a101227e206cc3 25-Apr-2012 Jim Miller <jaggies@google.com> Merge "Fix 6299832: Add search target swipe action to navigation bar on phones"
e898ac59db04d8ab0762180ca8ec7cea1347aa09 07-Apr-2012 Jim Miller <jaggies@google.com> Fix 6299832: Add search target swipe action to navigation bar on phones

This adds a feature to swipe upward on the navigation bar to invoke
voice search on phones.

Change-Id: I462076fd43b1c66c5bf624f00b297c6d3414a19a
indowManager.java
80193e7748a70a83ac7bd0915476eaf52240433f 25-Apr-2012 Mathias Agopian <mathias@google.com> Merge "add a (hidden) api on Surface to query if the consumer is running behind the producer"
0430ce908510f501276e7f588ba5c34d33a9d27a 25-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Removing hierarchical accessibility focus directions."
c14bacf1fb511472138eeb5dc84a9423fc003214 24-Apr-2012 Mathias Agopian <mathias@google.com> add a (hidden) api on Surface to query if the consumer is running behind the producer

Change-Id: I71ec1602f66a4850b130893fc7017b5b1ac1b647
urface.java
b2b15716d8b5b5814e82575a592e76f522f6a4c6 24-Apr-2012 Philip Milne <pmilne@google.com> Merge "Promote layout debugging code from GridLayout to ViewGroup."
0b7d747e900dd9e6e6f62f10772c2dded9b9d0c6 24-Apr-2012 Gilles Debunne <debunne@google.com> Merge "Editor uses a SpanWatcher to track EasyEditSpans"
76f287e416ded85734b610f316e38d243d2ddb09 23-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Removing hierarchical accessibility focus directions.

1. The accessibility focus directions are not needed since an
accessibility service just get the root, first child, next
sibling, previous sibling and call execute the action to
give it accessibility focus. Now the accessibility node
info tree is properly ordered taking into account layout
manager directions for both layout manager that we report
and ones that we have determined as not important for
accessibility. Also the position of a node info are ordered
properly based on their coordinates after all transformations
as opposed to child index.

bug:5932640

Change-Id: I994a8297cb1e57c829ecbac73a937c2bcbe0bac7
ccessibilityInteractionController.java
ocusFinder.java
iew.java
iewGroup.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityNodeProvider.java
ba6be8a62dcdb3ffd210cd36b9af4e3a658eac47 24-Apr-2012 Romain Guy <romainguy@google.com> Prevent WebView from crashing when detached from the window
Bug #6365056

WebView enqueues a functor in the hardware renderer to handle
animations and this functor is called at a later time by the
hardware renderer. However, the functor was not removed from
the queue when WebView was removed from the window. This could
cause the hardware renderer to attempt to execute an invalid
functor and lead to a crash.

Change-Id: I9d38e80f3fdc5e29d4d0cdfa1e893c251a954508
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
iewRootImpl.java
c62589cbecef6e748bcc6c6f4ea6a8ff7656923f 12-Apr-2012 Gilles Debunne <debunne@google.com> Editor uses a SpanWatcher to track EasyEditSpans

Will also fix Bug 6344997

The previous TextWatcher mechanism was inneficient. It require an
expensive getSpans() call to retrieve all the spans and then search
for the one we're interested in in case it has been changed.

The SpanWatcher is faster, it will broadcast the add/changed/removed
events we're interested in.

Now that we can rely on SpanWatcher, use it to directly track
addition and removals of EasyEditSpans.

No unit test for this feature which require an integration with
the voice IME. Easy to test manually though.

Change-Id: Idabcacc48c479bf9868d5204c0b0ca709207ede2
nputmethod/ExtractedText.java
10ca24a97cefc14fca1b26f59e627f487b3b108b 24-Apr-2012 Philip Milne <pmilne@google.com> Promote layout debugging code from GridLayout to ViewGroup.

Layout debugging code draws rectangles around:

1. Layout insets (red)
2. Bounds (blue)
3. Margins (magenta)

Layout debug mode is enabled with:

adb shell setprop debug.layout true

Change-Id: Ia155a2d0fbf33693a1e3c040f627ea3a534e1aff
iew.java
iewGroup.java
19f86e831ee0629b24385b0bb51d27ff91961dd2 24-Apr-2012 Romain Guy <romainguy@google.com> Invoke onTrimMemory with an EGL context
Bug #6369600

Change-Id: I3ded47c3688ef2f2873495392c35e898357204da
ardwareRenderer.java
indowManagerImpl.java
1271e2cc80b01d577e9db339459ef0222bb9320d 20-Apr-2012 Chet Haase <chet@google.com> Remove USE_DISPLAY_LIST_PROPERTIES flag

This flag was still hanging around pending any need to disable
DisplayList properties. But things seem stable, so it's time to clean up
and simplify the code.

At the same time, I reduced redundance in DisplayList dimensions. We
used to call drawDisplayList() with width/height parameters that were
used to do a clip reject. This is redundant with the DisplayList properties
that set the bounds of the DisplayList; the left/right and top/bottom properties
represent the same width/height properties formerly used in drawDisplayList().
The new approach is to not pass dimensions to drawDisplayList(), but to
instead pull those dimensions directly from the DisplayList when needed.

Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
iewGroup.java
iewPropertyAnimator.java
7838025812f30f466ee502d3cbb92923312524da 21-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Make InputEvent.getEventTime() public."
b11499d2db0ba9782363ec6bf714b583e8585212 21-Apr-2012 Jeff Brown <jeffbrown@google.com> Make InputEvent.getEventTime() public.

Also add new methods to access the event timestamp in
nanoseconds. Hidden for now but useful for prototyping.

Bug: 6374616
Change-Id: I7030734a908e8e31a17a356debc269db7c0f0783
nputEvent.java
eyEvent.java
otionEvent.java
d6e716dce95089e3acceef2267175d1dba1b4035 21-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding a couple of missing accessibility focus directions.

Change-Id: Id404155591cf3fe5f9bef3ed8fe0d03908944ce1
iew.java
122b2c32dea573a3efbd0d608a70b7cd169d99dd 21-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing a couple of issues I have introduces in the last patch.

1. Fix waiting for the wrong instance.

2. Fix cloning of accessibility node info.

Change-Id: Icabf0d4bc947602a32fddc6642cc787f2bc766e4
ccessibility/AccessibilityNodeInfo.java
72de2062485f711c9a2291c204fd2c0fb6c4e20f 21-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding support for traversing the content of a node info at granularity."
aa780c110922148a6a4ba06734bb2b0bb8c98f93 20-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding support for traversing the content of a node info at granularity.

1. A view that creates an accessibility node info may add to the info
a list of granularity labels. These are granularities by which the
source view can iterate over its content. For example a text view
may support character, word link while a web view may additionally
support buttons, tables, etc. There are actions on accessibility
node info to go to the next/previous at a given granularity which
is passesed as an argument.

2. Added Bundle argument to the APIs for performing accessibility
actions. This is generic and extensible.

bug:5932640

Change-Id: I328cbbb4cddfdee082ab2a8b7ff1bd7477d8d6f9
ccessibilityInteractionController.java
iew.java
iewRootImpl.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityNodeProvider.java
ccessibility/IAccessibilityInteractionConnection.aidl
d6b1098e1f46530528dfea415655468ec994bbb6 20-Apr-2012 John Reck <jreck@google.com> Support fallback action if unhandled key event

Bug: 6023055

Change-Id: Ib802c4b9d1b606f9ea7a5081e30c50b5bd78e30c
iewRootImpl.java
fefd20e927b7252d63acb7bb1852c5188e3c1b2e 20-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding an opt-in mechanism for gesture detection in AccessibilityService.

1. An accessibility service has to explicitly opt in to be notified
for gestures by the system. There is only one accessibility service
that handles gestures and in case it does not handle a gesture
the system performs default handling. This default handling ensures
that we have gesture navigation even if no accessibility service
would like to participate/customize the interaction model.

bug:5932640

Change-Id: Id8194293bd94097b455e9388b68134a45dc3b8fa
ccessibility/AccessibilityInteractionClient.java
749e796eb3a42e21613a3b360000373601a8f50d 20-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> UI test automation cannot get the root node and gets null children.

1. The AccessibilityInteractionController was using an incorrect
looper i.e. not the UI thread looper which was causing getting
the root node to fail.

2. The AccessibilityNodeInfo was populated by a ViewGroup with the
children for accessibility without checking whether these children
are really displayed.

bug:6362875

Change-Id: I7906d89571eb9d57d10f971639f88632926dd077
ccessibilityInteractionController.java
iew.java
59a422e90035ce5df45c526607db2d3303e3112e 20-Apr-2012 Jeff Brown <jeffbrown@google.com> Ensure that touch and hover targets are cleared when needed.

When views are removed from a view or a view is detached from
a window, we need to update the touch and hover targets appropriately.

Failing to do this resulted in a NPE while dispatching an
ACTION_HOVER_EXIT to a view that had previously been removed.
Removed views should not get input events.

Change-Id: I4af4f8e2c4028347d3f570894fd1b3b366d11455
iew.java
iewGroup.java
00710e906bdafd58386ee7f81fa84addd218122f 20-Apr-2012 Jeff Brown <jeffbrown@google.com> Make InputDevice.SOURCE_STYLUS meaningful.

Bug: 5424551
Change-Id: I415cb1842422e050cc41b17f5a1f13b4fab17a44
nputDevice.java
661f362a2c531c46fdce5359b176a30ba7d16e1f 20-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Add new API to find smallest/largest screen size."
68c33ca7ce1f142eb5f1e1f90118aeba4c9db1e3 19-Apr-2012 Dianne Hackborn <hackbod@google.com> Add new API to find smallest/largest screen size.

Change-Id: I790801fceaf84ee2e3b1c9d32828285ad3231d0e
isplay.java
WindowManager.aidl
b78c284bd535f48207750e5a406474ea22381edd 19-Apr-2012 Chet Haase <chet@google.com> Always execute actions on the runQueue

A View that is not attached will place posted actions on the
ViewRoot's runQueue. Previously, this runQueue was only ever executed
during a layout (during performTraversals()). This works in most situations
(a View that is added to or removed from the hierarchy will force a layout
in general), but not in all cases. For example, a new View being added to
a ListView will not cause a layout, so any actions posted to that View
prior to its being attached will not be run until some indeterminate time
later when a layout happens to run.

The fix is to execute the (typically empty) runQueue on every traversal.

Issue #6366678 View.post() ignored when called on an unattached ListView item

Change-Id: I94e6fdd9da6bb57fd83b547f8d742cd0ddfecbd6
iewRootImpl.java
563d4f2d461d264457b7e7068e2fc7b9b0bcafb3 19-Apr-2012 Chet Haase <chet@google.com> Make ViewPropertyAnimator ListView-animation-capable

ViewPropertyAnimator now sets the hasTransientState flag in View to tell
it when an animation has started (and unsets it when the animation ends).
This allows ListView to retain views with transient state without recycling them,
which makes ListView item animation possible (because you can't animate a View
if it's being recycled and reused elsewhere as it moves into and out of view).

Change-Id: I75c26a7a56474a76428500afef03a80bb46e04e0
iew.java
iewPropertyAnimator.java
f37d87b35b9bc860487104b1870f74caa3ae2e71 19-Apr-2012 Chet Haase <chet@google.com> Merge "Fix init of Animation in View drawing code"
1fb8a9e44a5d0710d58c883e087469e95be65b5b 19-Apr-2012 Chet Haase <chet@google.com> Fix init of Animation in View drawing code

The refactor of ViewGroup.drawChild() resulted in an error
in a new method (View.drawAnimation) where animations were being
initialized with their view dimensions instead of the parent dimensions.

Issue #6292681 RotateAnimationTest#testRotateAgainstPoint fails on JRN04
Issue #6293275 TranslateAnimationTest#testInitialize fails on JRN04

Change-Id: Ia90711cadd7a6c20fd788e5b8b18a5b28551e68c
iew.java
ec96305ea05355d57fd803edd57d6af1c4a9f83e 19-Apr-2012 Dianne Hackborn <hackbod@android.com> am 559167f3: Merge "Volume Overlay Bug When swapping streams"

* commit '559167f31de1a1a7138dbc2d5a7797e5b7cd59b0':
Volume Overlay Bug When swapping streams
83cb5807b0eaa36b417ce5c978e4e460b1fcc9e2 19-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Add more dead keys. Use NFC tables for composition."
c3643b901308289132269aa3af9a738cd2b60f08 19-Apr-2012 Jeff Brown <jeffbrown@google.com> Add more dead keys. Use NFC tables for composition.

Bug: 6110399
Change-Id: I343d24df21dac2c069136b016e70e39f0feb6df9
eyCharacterMap.java
eaa0a04f83113e2cafb8c2044ae2107d15dd8036 19-Apr-2012 Philip Milne <pmilne@google.com> Merge "Share Insets instances between views that have the same background (Drawable)"
bbd51f1e360b22eece1d74bd65c7e6a0b59dee59 19-Apr-2012 Philip Milne <pmilne@google.com> Share Insets instances between views that have the same background (Drawable)

Change-Id: I47d93ccca6f553b678d25966d10d7a0a97cfa5ea
iew.java
0b9de5336d5af2b4027cede344526b847c8dc66e 19-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Improve selection of dead key accent chars."
accce945e5f51436f3aa22a0e1a85e6059232ded 19-Apr-2012 Jeff Brown <jeffbrown@google.com> Improve selection of dead key accent chars.

The '^', '`', and '~' characters that we use for circumflex,
grave and tilde accents are ugly. Use the appropriate printing
modifier characters instead.

Bug: 6110399
Change-Id: I53891139ed1cef3010f5319ff49df1eeb1c6feeb
eyCharacterMap.java
f01d3dd710e8b86b3e2846af62835158fd4e0db1 18-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding some more gestures and actions for accessibility."
005b83b0c62d3d0538f0d566b08bd457015ec661 17-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding some more gestures and actions for accessibility.

1. Added more gesture for accessibility. After a meeting
with the access-eng team we have decided that the current
set of gestures may be smaller than needed considering
that we will use four gestures for home, back, recents,
and notifications.

2. Adding actions for going back, home, opening the recents,
and opening the notifications.

3. Added preliminary mapping from some of the new gestures
to the new actions.

4. Fixed a bug in the accessibility interaction controller
which was trying to create a handled on the main looper
thread which may be null if the queried UI is in the
system process. Now the context looper of the root view
is used.

5. Fixed a bug of using an incorrect constant.

6. Added a missing locking in a couple of places.

7. Fixed view comparison for accessibilityt since it was
not anisymmetric.

bug:5932640
bug:5605641

Change-Id: Icc983bf4eafefa42b65920b3782ed8a25518e94f
ccessibilityInteractionController.java
iew.java
iewGroup.java
iewRootImpl.java
ccessibility/AccessibilityNodeInfo.java
fffaf85e22ff47fb88a35deb27d5eed13789dfc6 18-Apr-2012 Steven Harper <stevenharperuk.aosp@gmail.com> Volume Overlay Bug When swapping streams

Merged in http://review.cyanogenmod.com/#change,14109

Fixing a bug that when an app is dismissed or loaded that changes
the current active audio stream, if the volume overlay is visible during the swap,
if you adjust the volume (with hard keys) after the stream has changed while
the panel is still visible, the wrong panel (view) is still visible on-top of the
one that is being adjusted.

A good way to replicate this is to
Open the Phone APP
Go to the Keypad Screen
Adjust the volume (not the icon on the overlay)
While the volume is visible Hit the HOME hard key
Before the volume dissapears, adjust the volume with hard keys

You will hear and feel the volume adjusting, but the overlay will not update.

Change-Id: Ied50ed83b153234cff82c282e3fd76ed671b420b
olumePanel.java
6da9677f491abe92a7b45f90767189d052e27c21 18-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Views with zero alpha are shown for accessibility."
b3830f6737bb17185e2e1c95f4dcde9ce82ac7e4 18-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Views with zero alpha are shown for accessibility.

1. Views that a user cannot see should not be reported for
accessibility. The check for zero alpha was missing.

bug:6291855

Change-Id: I3cb4c19cccf0dc2427677df630d124c36bd4770b
ccessibilityInteractionController.java
06fd472390126c74977ce9a0b2f912e91ebf2744 18-Apr-2012 John Reck <jreck@google.com> Merge "Fix a bug with enterTouchMode removing focus"
09dd116cd39613a3736dbbf028544e1655002430 17-Apr-2012 John Reck <jreck@google.com> Fix a bug with enterTouchMode removing focus

Bug: 6347083
Fix an issue where enterTouchMode would remove focus from the
view that already has focus and is focusableInTouchMode. This
causes issues with WebView, as it updates internal state when
losing and gaining focus.

Change-Id: I5c1f72cc08baf3445e2be9e0496606a53fb9929e
iewRootImpl.java
7dd4a536a125d5e9573e82c39581bf9ee3922424 16-Apr-2012 Chet Haase <chet@google.com> Adding new CHANGING transition to LayoutTransition.

LayoutTransition used to depend on child views being added/removed or
shown/hidden in the transition container. These evens would trigger animations
to fade the child view as well as those to animate the side-affected changes
to sibling views. This CL enables a new feature in LayoutTransition that
enables animating any changes to the layout of the children in the container
whenever a layout occurs. For example, you can change the LayoutParams of a
child view and call requestLayout() to automatically animate those changes.

This capability is not enabled by default. To enable, call the new
LayoutTransition.enableTransitionType(LayoutTransition.CHANGING) method.

Change-Id: I4d07a3b36245353b2151f0dca4f75080ab6a4592
iewGroup.java
fbf7e1f343b4d61c48187adb123a4308e809a92d 17-Apr-2012 satok <satok@google.com> Merge "Get rid of "isSentenceLevelSpellCheckSupported""
21d1251637e0b0e23583e8c80d4437fe7e5e57d3 17-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing broken add focusables behavior I have introduced."
3cb889caa3726256bd00976c2662f51a14d91d49 17-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing broken add focusables behavior I have introduced.

bug:6344608

Change-Id: I1d241c02bc22c5ef3f4b4b69a756772e8b2ef902
iew.java
ac76e72272c957dc7609aa68224efa2d32c23cd0 17-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Add new scale-up window manager animation."
eabfb3a36e9469c5e219f92b39b7200104319185 17-Apr-2012 Dianne Hackborn <hackbod@google.com> Add new scale-up window manager animation.

Like zoom thumbnail, but without the thumbnail.

Change-Id: I9486dd204398b87c9e70ff0d05d03f4a22449cd6
WindowManager.aidl
455cfc8dca10aa3f500ed54e9a4796d91f66fea7 17-Apr-2012 Philip Milne <pmilne@google.com> Merge "Minor doc fix."
fcc6a0f145fa721e3feee70bedf8e120fcc4c494 17-Apr-2012 Philip Milne <pmilne@google.com> Minor doc fix.

Change-Id: I8f20c4751b599e0108c9373caef7e672d1cd4821
iewGroup.java
d1661dcc90cb3efcad75e3fda778f3592bfc5b04 16-Apr-2012 Jamie Gennis <jgennis@google.com> Merge "Unhide new SurfaceTexture & TextureView APIs"
a5d552fc2bad6aea2087f56e88fb1ce836a79571 16-Apr-2012 Philip Milne <pmilne@google.com> Fix for doc error.

Change-Id: I8aa029d96d4cd28354ecc742007e0fc35b05b705
iewGroup.java
4e1cb3b7942d3ca05918604358b4ef83815ce448 16-Apr-2012 Philip Milne <pmilne@google.com> Merge "Fix for bug 6110465."
c7ee1b9369ffd7c21a70738056a82dc4238e7fc1 11-Apr-2012 satok <satok@google.com> Get rid of "isSentenceLevelSpellCheckSupported"

Bug: 6320351
Change-Id: I0e931b7248f8c65268b60af599c07432d58d2f1f
extservice/SpellCheckerInfo.java
extservice/SpellCheckerSession.java
4213804541a8b05cd0587b138a2fd9a3b7fd9350 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus - framework

Usefulness: Keep track of the current user location in the screen when
traversing the it. Enabling structural and directional
navigation over all elements on the screen. This enables
blind users that know the application layout to efficiently
locate desired elements as opposed to try touch exploring the
region where the the element should be - very tedious.

Rationale: There are two ways to implement accessibility focus One is
to let accessibility services keep track of it since they
have access to the screen content, and another to let the view
hierarchy keep track of it. While the first approach would
require almost no work on our part it poses several challenges
which make it a sub-optimal choice. Having the accessibility focus
in the accessibility service would require that service to scrape
the window content every time it changes to sync the view tree
state and the accessibility focus location. Pretty much the service
will have to keep an off screen model of the screen content. This
could be quite challenging to get right and would incur performance
cost for the multiple IPCs to repeatedly fetch the screen content.
Further, keeping virtual accessibility focus (i.e. in the service)
would require sync of the input and accessibility focus. This could
be challenging to implement right as well. Also, having an unlimited
number of accessibility services we cannot guarantee that they will
have a proper implementation, if any, to allow users to perform structural
navigation of the screen content. Assuming two accessibility
services implement structural navigation via accessibility focus,
there is not guarantee that they will behave similarly by default,
i.e. provide some standard way to navigate the screen content.
Also feedback from experienced accessibility researchers, specifically
T.V Raman, provides evidence that having virtual accessibility focus
creates many issues and it is very hard to get right.
Therefore, keeping accessibility focus in the system will avoid
keeping an off-screen model in accessibility services, it will always
be in sync with the state of the view hierarchy and the input focus.
Also this will allow having a default behavior for traversing the
screen via this accessibility focus that is consistent in all
accessibility services. We provide accessibility services with APIs to
override this behavior but all of them will perform screen traversal
in a consistent way by default.

Behavior: If accessibility is enabled the accessibility focus is the leading one
and the input follows it. Putting accessibility focus on a view moves
the input focus there. Clearing the accessibility focus of a view, clears
the input focus of this view. If accessibility focus is on a view that
cannot take input focus, then no other view should have input focus.
In accessibility mode we initially give accessibility focus to the topmost
view and no view has input focus. This ensures consistent behavior accross
all apps. Note that accessibility focus can move hierarchically in the
view tree and having it at the root is better than putting it where the
input focus would be - at the first input focusable which could be at
an arbitrary depth in the view tree. By default not all views are reported
for accessibility, only the important ones. A view may be explicitly labeled
as important or not for accessibility, or the system determines which one
is such - default. Important views for accessibility are all views that are
not dumb layout managers used only to arrange their chidren. Since the same
content arrangement can be obtained via different combintation of layout
managers, such managers cannot be used to reliably determine the application
structure. For example, a user should see a list as a list view with several
list items and each list item as a text view and a button as opposed to seeing
all the layout managers used to arrange the list item's content.
By default only important for accessibility views are regared for accessibility
purposes. View not regarded for accessibility neither fire accessibility events,
nor are reported being on the screen. An accessibility service may request the
system to regard all views. If the target SDK of an accessibility services is
less than JellyBean, then all views are regarded for accessibility.
Note that an accessibility service that requires all view to be ragarded for
accessibility may put accessibility focus on any view. Hence, it may implement
any navigational paradigm if desired. Especially considering the fact that
the system is detecting some standard gestures and delegates their processing
to an accessibility service. The default implementation of an accessibility
services performs the defualt navigation.

bug:5932640
bug:5605641

Change-Id: Ieac461d480579d706a847b9325720cb254736ebe
ccessibilityInteractionController.java
ocusFinder.java
iew.java
iewConfiguration.java
iewDebug.java
iewGroup.java
iewParent.java
iewRootImpl.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityNodeInfoCache.java
ccessibility/AccessibilityNodeProvider.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityInteractionConnection.aidl
ccessibility/IAccessibilityManager.aidl
33efb231cb92065c40c019319adae36abc413863 14-Apr-2012 Jamie Gennis <jgennis@google.com> Unhide new SurfaceTexture & TextureView APIs

This change unhides the new SurfaceTexture and TextureView APIs that were added
to allow transferring ownership of the SurfaceTexture from the UI framework to
the application.

Change-Id: Ic4b781d907a59e99ff1a5974009305c1f9aee36a
extureView.java
90aba7caac78b407347b930cfb6ff7d6658ac90a 14-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Add support for input devices that have vibrators."
75e0dcbca1fe6d218685c73829ae8c75a45b4920 14-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Extract Vibrator implementation from interface."
a47425a13c19f95057df78b8bb65bb25657e8753 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Add support for input devices that have vibrators.

Added a getVibrator() method to InputDevice which returns a Vibrator
associated with that input device. Its uses the same API as the
system vibrator which makes it easy for applications to be modified
to use one or the other.

Bug: 6334179
Change-Id: Ifc7f13dbcb778670f3f1c07ccc562334e6109d2e
nputDevice.java
1557fd7809078e421f751efc7d2539b3efdc54b2 05-Apr-2012 Philip Milne <pmilne@google.com> Fix for bug 6110465.

Add layout bound metadata to 9-patch files and make layouts take them into account.

This CL contains a proposed API for dealing with layout bounds.

This solution exposes:

1. Class: Insets - for storing layout Insets (and later possibly padding).
2. Methods: View:(get/set)LayoutInsets() - for storing layoutBounds.
3. Methods: ViewGroup:(get/set)LayoutMode() - for controlling layoutMode.

It also iuncudes the changes to GridLayout to support layout bounds.

Change-Id: I60c836b6530b61c5abf37f93ee9c44aad73573f1
iew.java
iewGroup.java
8431f89827e0c90dedad10a6a7dbd040e627f5df 13-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility query APIs report invisible views."
067b091d46c3c2d11a33d25e81c8348fb609b7ab 13-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility query APIs report invisible views.

1. The accessibility querying APIs failed to check whether
all predecessors of a view are visible before reporting it.

bug:6291855

Change-Id: I364a6f08e8d02c7105c00c9fdff0fec033829554
iewRootImpl.java
c2346134bb519a54d50655cbef940fc3fdec60a9 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Extract Vibrator implementation from interface.

Moved the core logic of Vibrator into SystemVibrator, potentially
allowing for the creation of other Vibrator subclasses.

Fixed several places where we were creating new Vibrator
instances unnecessarily instead of getting it from the Context.

It is safe to make Vibrator abstract because its constructor
was hidden from the SDK so it was not possible to subclass it.

Bug: 6334179
Change-Id: I18ece6544c26a7efb2d5099f8346a10aef8a5e18
olumePanel.java
882735972e9e7ee52a3116a3aba0440968b2da1a 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Notify applications when input devices change."
af9e8d38184c6ba4d2d3eb5bde7014a66dd8a78b 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Notify applications when input devices change.

This change allows the InputManager to keep track of what input
devices are registered with the system and when they change.
It needs to do this so that it can properly clear its cache of
input device properties (especially the key map!) when changes
occur.

Added new API so that applications can register listeners for
input device changes.

Fixed a minor bug in EventHub where it didn't handle EPOLLHUP
properly so it would spam the log about unsupposed epoll events
until inotify noticed that the device was gone and removed it.

Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
nputDevice.java
eyCharacterMap.java
41ffd86df1371467c9db717d30aa1eec30add723 13-Apr-2012 Romain Guy <romainguy@google.com> Merge "Don't update TextureView's surface if the Layer doesn't exist"
a8a2f97c100af4ba52c61c3b59c933f44a53dad4 13-Apr-2012 Romain Guy <romainguy@google.com> Don't update TextureView's surface if the Layer doesn't exist

Change-Id: Ifcc1a7a271f6c236a3aebd3726b7025348e64920
extureView.java
0c2acffec8689f8721a454845b24a830bc37ce92 13-Apr-2012 Dianne Hackborn <hackbod@google.com> Clean up lock screen hide animation.

We now have an animation to apply to the thing behind the lock
screen animation when it isn't on the wallpaper, which looks
similar to the animation we use when both are on the wallpaper.

In implementing this, cleaned up the code to figure out up-front
which animation to run, getting rid of that kludgy thing that
cleared the window animation if the wallpaper was not being used
for the lower windows.

Change-Id: Ifc4c8a8894ad384124dcf4bbdaab134f1157b0f3
indowManagerPolicy.java
95487eb90ce8c421ce7baca5b761745bbc1bb14b 12-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Some view not shown on the screen are reported for accessibility."
aa6f3de253db6c0702de0cc40028750c1fcfb22c 10-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Some view not shown on the screen are reported for accessibility.

1. Some applications are keeping around visible views off screen
to improve responsiveness by drawing them in layers, etc. While
such a view is not visible on the screen the accessibility layer
was reporting it since it was visible. Now the check is improved
to verify whether the view is attached, is in visible window,
is visible, and has a rectangle that is not clipped by its
predecessors.

2. AccessibilityNodeInfo bounds in screen were not properly set
since only the top left point was offset appropriately to
take into account any predecessor's transformation matrix
and the not transformed width and height were used. Now
the bounds are properly offset.

bug:6291855

Change-Id: I244d1d9af81391676c1c9e0fe86cf4574ff37225
iew.java
iewRootImpl.java
decd3039ca71e5340ec01027170941637bf9876e 12-Apr-2012 Romain Guy <romainguy@google.com> Merge "Don't wait for screen on to finish animations"
eb3788907132eec5724bbb78f20711c4ffe35b1b 12-Apr-2012 Romain Guy <romainguy@google.com> Don't wait for screen on to finish animations

OldAnimationsâ„¢ would set their start time during the first frame drawn
after calling View.startAnimation(). If this method was invoked while
the screen was off, this would cause the animation to start playing
when the screen turned back on.

Change-Id: Ic45a1af2020a7f5e81c2544bd8f16a6bedbd6849
iew.java
f1352d87ea59efeda96b6462d2ade4c3a979ec95 12-Apr-2012 Romain Guy <romainguy@google.com> Merge "Fix SurfaceTexture leak in TextureView Bug #6318631"
1ac4765e959c79101f64b1279887ed469334c268 12-Apr-2012 Romain Guy <romainguy@google.com> Fix SurfaceTexture leak in TextureView
Bug #6318631

Change-Id: I282a7c9bb648365ba61c52a84ff510c8779130ef
ardwareRenderer.java
extureView.java
c2676102d269038234f7018090d70af0ba754e83 12-Apr-2012 John Reck <jreck@google.com> Merge "New WebView input dispatcher."
db13a6bf788cc48af86c8acf6f74b416dfd84199 12-Apr-2012 Adam Powell <adamp@google.com> Merge "Invalidate for scrolling animations on the animation timer"
9d3bdbd6b8f9eda5f67212b06185cd59adcda6c8 21-Mar-2012 Jeff Brown <jeffbrown@google.com> New WebView input dispatcher.

Bug: 6317798

Stuff that's better:

1. We maintain two queues in a way that ensures that WebView and
WebKit both see consistent streams of events, even in cases
where WebKit times out. We send ACTION_CANCEL if necessary, etc.

2. All pointer events go through the same channel, including
hover and click ("touch up") events, to ensure correct ordering.

3. Given that the input events are in a separate queue, we can
force execution of all of these events whenever we like, making new
latency optimizations possible.

4. The entire history of each touch event is sent to the web
application to enable smoother interaction.

5. The web application may choose to intercept a touch event stream
at any time by issuing "prevent default". Previously, it could only
prevent default on the initial down event. The new behavior is more
standards compliant.

Change-Id: I42d2d045e7d44af7c54b29570f188b7400d91d4e
otionEvent.java
4d6a82d79ede0cc1f26e463209f22c691a04626b 11-Apr-2012 Jeff Brown <jeffbrown@google.com> Unhide new animation runnable API on View.

Change-Id: Id626688d6c7d632c01d9897777c854cb601d3301
iew.java
df3ae4f3aea3bdce6bb54133c8a07a26bf207c3c 11-Apr-2012 Adam Powell <adamp@google.com> Invalidate for scrolling animations on the animation timer

Change View methods awakenScrollBars and scrollTo to post their
invalidation on the animation timer. Since these are often used in
computeScroll or similar to continue scrolling or flinging it should
not prevent other posted events from being processed before the frame
is actually drawn. (All changes in scroll position, etc. are
immediately reflected after the calls and do not need a draw to
present correct data about scroll position to apps.)

Don't accumulate floating point error while dragging
ScrollView/HorizontalScrollView.

Change-Id: I05b57d75f89a806488e46a8fb79b85d80f56d45d
iew.java
9f25b7fdf216c9ef0bd2322cd223eeaf0d60f77f 10-Apr-2012 Jeff Brown <jeffbrown@google.com> Request key maps from input manager service.

Instead of each application loading the KeyCharacterMap from
the file system, get them from the input manager service as
part of the InputDevice object.

Refactored InputManager to be a proper singleton instead of
having a bunch of static methods.

InputManager now maintains a cache of all InputDevice objects
that it has loaded. Currently we never invalidate the cache
which can cause InputDevice to return stale motion ranges if
the device is reconfigured. This will be fixed in a future change.

Added a fake InputDevice with ID -1 to represent the virtual keyboard.

Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
nputDevice.java
eyCharacterMap.java
162bc0ea0d7862b92f18d0ce47310a85304205f7 09-Apr-2012 Dianne Hackborn <hackbod@google.com> Some small tweaks to improve memory management.

We now allow processes that currently have stopping activities to
be managed as if they were done stopping, so that memory trimming
can be done before the process goes to the background. Hopefully
this will reduce cases where the processes goes to the background
and immediately gets killed, but wouldn't have had to be killed if
it had a chance to trim its memory.

Also change window memory trimming to always do the aggressive
trimming when memory is critical, even if not on a low-end device.

And tweak web view trimming to not trim for foreground UI events.

Change-Id: I241b3152b52d09757bd14a202477cf69c9b78786
indowManagerImpl.java
c38cf4c7dbe7d96255d42dabf8ca801830813f5e 10-Apr-2012 Daniel Sandler <dsandler@android.com> Merge "New Android Dreams architecture, disabled for now."
3da2dc9d4cc4785d2a0eacaf8d00222a46df150b 10-Apr-2012 Jesse Hall <jessehall@google.com> Merge "Release the scratch pbuffer surface after use"
7d276c377ce0c56630c06a6da431a6cb9bd76d1e 30-Jan-2012 Daniel Sandler <dsandler@android.com> New Android Dreams architecture, disabled for now.

Rather than normal Activities (which have a host of problems
when used for this purpose), screen savers are now a
special kind of Service that can add views to its own
special window (TYPE_DREAM, in the SCREENSAVER layer).

Dreams are now launched by the power manager; whenever it is
about to turn the screen off, it asks the window manager if
it wants to run a screen saver instead. (http://b/5677408)

Also, the new config_enableDreams bool allows the entire
feature to be switched on or off in one place. It is
currently switched off (and the APIs are all @hidden).

Change-Id: Idfe9d430568471d15f4b463cb70586a899a331f7
indowManager.java
indowManagerPolicy.java
69bba1dfb75a732e9d1ee92f1088d6fbe1e26f68 07-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Add a unique input device descriptor."
e38fdfae9196afd1bdc14c5ec6c12793af1e2550 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Add a unique input device descriptor.

The purpose of the input device descriptor is to make it possible
to associate persistent settings for each input device, such as the
keyboard layout.

The descriptor is a hash of the information we have about the
device, such as its vendor id, product id, unique id, name,
or location.

Bug: 6110399
Change-Id: Idb80f946819b3f0dbf4e661bb0a753dbc2b60981
nputDevice.java
3d4d2159bc84f03ea4be12af8c7de9500985bb82 06-Apr-2012 Chris Craik <ccraik@google.com> Merge "fix functor flag parsing, tweak process delay"
335a6625b6540ad21feaeae3a4f593f86e200019 06-Apr-2012 Jamie Gennis <jgennis@google.com> Merge changes Iac9cc917,I8eed4b0d

* changes:
TextureView: add setSurfaceTexture method
SurfaceTexture: add GL context attach & detach
419ad1e3b1f82c94ade87a70e7a4d033f9cab818 06-Apr-2012 satok <satok@google.com> Merge "Fix a bug with IME blinking just after leaving the lock screen"
f6710615c6cc1746d1ecc7aebc9afed457dcca41 30-Mar-2012 satok <satok@google.com> Supplement for I772164d9c67e95876c228efcce2

This should be merged with I1519258dd3ce95ad01

Change-Id: I48c5f86ff43f51913eb69d697bb1d75714b67aa3
extservice/SpellCheckerInfo.java
extservice/SpellCheckerSession.java
ac14351e16e1258f1cb54e2bf772b8be004eb2b8 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Move some APIs from window manager to input manager.

Simplified input injection API down to just one call.

Removed all input state reading API. It was only used by the
window manager policy and required a permission that applications
could not obtain. READ_INPUT_STATE is now unused and deprecated.

Change-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00
WindowManager.aidl
nputDevice.java
eyCharacterMap.java
indowManagerPolicy.java
e8644b695d6c548d2c93e1da7b4a6aff786f1427 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix so that status bar doesn't resize when hiding nav bar."
0872b370422eb1f9007b4717b8796543873e6390 02-Apr-2012 Jesse Hall <jessehall@google.com> Release the scratch pbuffer surface after use

Change-Id: Icf010969d19b20c3ddf64b44a78a115ac92f7ea5
ardwareRenderer.java
9801435820dc159725c0185f18f7e60e0fb1b833 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Fix so that status bar doesn't resize when hiding nav bar.

The status bar now extends behind the nav bar, and uses
fitsSystemWindows to ensure its content is not covered. We
always report a stable content insets (as if the nav bar is
visible) even if the nav bar is hidden, so the content doesn't
jump when transitioing. This does mean that if you only hide
the nav bar (and not the status bar), when in landscape you
will end up with a status bar whose right side still leaves
room for the nav bar. But why the hell would you want to do
that?

Also improve documentation on setSystemUiVisibility().

Change-Id: I8087d875f1214ef0085a91b5ed5c2f35ff2fc1b3
iew.java
65924a3e56c2e7ac863f8e25e9f9a58b9db7d513 06-Apr-2012 Chris Craik <ccraik@google.com> fix functor flag parsing, tweak process delay

Change-Id: I0a679cc33f92ff6fd2e33db9ad58b52622def012
ardwareRenderer.java
389b65fea2219e389e6212b9a799f8b39dbfc6ca 06-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Minor twaek to the focus behavior."
5012ebbc5c00194236f425403e8771061dc7bf92 06-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Minor twaek to the focus behavior.

bug:6296603

Change-Id: I3bd0b291e6013cae019ca9049d9d3dc506845ab0
iew.java
2af3524beb75150d347accc925022daa53b4a789 05-Apr-2012 Jamie Gennis <jgennis@google.com> TextureView: add setSurfaceTexture method

This change adds support for transferring control of a TextureView's
SurfaceTexture between the UI framework and the application. It makes the
TextureView detach the SurfaceTexture from the UI framework's GLES context
before calling the surfaceTextureDestroyed callback, allowing the app to use
the SurfaceTexture in its own GLES context if it so chooses. This change also
adds the TextureView#setSurfaceTexture method, allowing an app have the
TextureView use a SurfaceTexture that already exists rather than creating a new
one.

Change-Id: Iac9cc917687e4239dd1c24eae553709aa37512da
LES20TextureLayer.java
ardwareRenderer.java
extureView.java
23b871d7147de910b53646cdb987e28dac0df927 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Initial commit of InputManager and keyboard layout API."
9df6e7a926ce480baf70e97ee1b9ea387193f6ad 05-Apr-2012 Jeff Brown <jeffbrown@google.com> Initial commit of InputManager and keyboard layout API.

Added a new InputManager service for interacting with input
devices and configuring them. This will be the focus of
an upcoming refactoring.

Added an API for registering keyboard layouts with the system
based on the use of a broadcast receiver. Applications can
register their own keyboard layouts simply by declaring a
broadcast receiver in their manifests.

Added the skeleton of a package that will ultimately contain
the keyboard layouts and other input device related resources
that are part of the base system.

Bug: 6110399
Change-Id: Ie01b0ef4adbd5198f6f012e73964bdef3c51805c
nputDevice.java
eyCharacterMap.java
5459c43b83c3a9d0406f01deffaadd2ef458518c 05-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Clean up status bar, system bar, navigation bar management."
05a6cbe2863614a1761adc033c905458b27be47e 05-Apr-2012 satok <satok@google.com> Fix a bug with IME blinking just after leaving the lock screen

Bug: 6286786
Change-Id: I9ee42482f7abffaefec31f0c4a661bef7c230137
nputmethod/InputMethodManager.java
5ab92c0316e1002a5a0bbad1841decc2bcd3179c 05-Apr-2012 Romain Guy <romainguy@google.com> Merge "Make sure we clean up after ourselves"
b39e509f43665f20877e590d007ac4dfab4d918c 05-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing broken clear focus behavior."
edbca1285e4757900e43d31087451d1953555d7d 05-Apr-2012 Romain Guy <romainguy@google.com> Make sure we clean up after ourselves

Because of the mAdded=false statement a few lines above, a large section
of doDie() was not executed. Things would eventually get cleaned up
but it seems better to do it at the right time.

Change-Id: I1a2f3a8e05057dd7cd7205b6d3f9c145d6c0241d
iewRootImpl.java
a393bedb6da5ef5aecadc26b8895f669448aa0e0 05-Apr-2012 Romain Guy <romainguy@google.com> Merge "Add a new OnDrawListener to ViewRoot"
25eba5c5029bd91ff7e396b2cca0e4ce024124ed 05-Apr-2012 Romain Guy <romainguy@google.com> Add a new OnDrawListener to ViewRoot

This can be used by app to efficiently listen for draw passes. This listener
is guaranteed to not generate any garbage unlike OnPreDrawListener.

Change-Id: Ida40d11a3f8a5d2617bafe722906ee5c9af48602
iewRootImpl.java
iewTreeObserver.java
57cadf2a97a81e5bea49bac573249076ebd95a93 05-Apr-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing broken clear focus behavior.

1. In a prevous patch I fixed the issues when on clearing
focus of the first focusable view the callback for
gaining focus were called before the ones for losing
focus. Since it cause some issues the patch was reverted
and resubmitted. In this chaos some code was missed so
tests are failing. Added the missing logic to give focus
to the first focusable in the current touch mode when
a view loses focus.

2. Removed clear focusForRemoval methid since it is a dup
of unFocus();

Note: All focus tests now pass.

Change-Id: I06881d4b5a66fc5a33efca16a96f20207a7220d3
iew.java
iewGroup.java
f87d19621dc2a30232bba1f51862a0b671eb9729 04-Apr-2012 Dianne Hackborn <hackbod@google.com> Clean up status bar, system bar, navigation bar management.

The status bar and navigation bar are two completely separate
elements, with their own semantics. The system bar now classifies
itself as a navigation bar, since that is really how it behaves.

This required rewriting the HDMI resizing code, so that it is
all done by PhoneWindowManager since that is what is responsible
for the size of the navigation bar (and thus now system bar). This
actually gets rid of a fair amount of code, and means we can also
do the same thing for a pure navigation bar.

Likewise the system bar now has the navigation bar ability to be
hidden when requested by system UI flags. To get the behavior
we want on Xoom, we only allow the nav bar to be hidden when it
will help provide a better aspect ratio for showing widescreen
videos.

Finally the nav/system bar now animates when hidden and shown.

Change-Id: Ie927154b68376a0b61802f99171ff56b8da92e7a
WindowManager.aidl
iewConfiguration.java
indowManagerPolicy.java
24fea55ebb8bcb9e17f3009a80172cb6ee46947d 04-Apr-2012 Philip Milne <pmilne@google.com> Merge "Fix for bug 6104272."
d779412c58d329ada4d1d79bdb85700e90cbc8d6 04-Apr-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add View textAlignment"
9da0f8a5c4bccf8e722ae2ebf43873457aec3271 14-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Add View textAlignment

- fix bug #6163772
- use bits field and pack them as much as possible
- take care of "supportsRtl" flag from Manifest
- add visual unit tests

CTS unit tests in another CL

Change-Id: Ib77c4eb423854209af130688c5ef9977401a9c1c
iew.java
iewGroup.java
6c8ea06abfdcd81f728172ac3d3730b542945e48 04-Apr-2012 Philip Milne <pmilne@google.com> Fix for bug 6104272.

Add Java properties for those XML attributes that don't have getter/setter
pairs. Also, link existing methods to their XML attributes where the comments
were previously missing.

This CL is worth extra scruitiny: first because it's View, and secondly
because many of the new APIs depend on subtleties in the underlying implementations
that I'm not familiar with.

Also, please consider whether it is too much to deprecate getBackgroundDrawable().

Change-Id: I0f2641926d86e5f44b92a0057736f64b59d2e9b9
iew.java
09280606dc5dc1b8f12f9317cf6922772b7d10a7 04-Apr-2012 Chet Haase <chet@google.com> Enhanced frame profiling from gfxinfo

You can now set the max number of frames being tracked by the gfxinfo
profiling data by doing 'adb shell setprop hwui.profil.maxframes #'.
Also, running gfxinfo automatically resets the data so that any set of
frame data always starts from the beginning.

Change-Id: I87ae3fb4d580741a1b2fba75be4ec540de7c52a4
ardwareRenderer.java
21aec19d3041fe040004dd32eef0cfd1bafd6fb6 04-Apr-2012 Chet Haase <chet@google.com> Merge "Optimization of alpha with DisplayList properties"
fde3f83cd26871d2cc904ef05a4f50f272c610e2 03-Apr-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6140391 Make RTL awareness as an opt-in into the AndroidManifest"
db8c9a6a4d9bf8c39f834b25611926caf21380f6 22-Mar-2012 Chet Haase <chet@google.com> Optimization of alpha with DisplayList properties

Some views (such as ImageView and TextView) handle non-opaque alpha
values directly. This was originally an optimization, but we can handle it faster
in many cases without this optimization when DisplayList properties are enabled.
Basically, if a view has non-overlapping rendering, we set the alpha value directly
on the renderer (the equivalent of setting it on the Paint object) and draw each
primitive with that alpha value. Doing it this way avoids re-creating DisplayLists
while getting the same speedup that onSetAlpha() used to get pre-DisplayList properties.

Change-Id: I0f7827f075d3b35093a882d4adbb300a1063c288
isplayList.java
LES20DisplayList.java
ardwareRenderer.java
iew.java
iewPropertyAnimator.java
fd007cb576d965e61d57ef7a38b9648a475a2afb 03-Apr-2012 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Shorten PRESSED_STATE_DURATION"
c19895f7ede3129d88728844940c2586c88e74b2 03-Apr-2012 Daisuke Miyakawa <dmiyakawa@google.com> Shorten PRESSED_STATE_DURATION

Bug: 6259150
Change-Id: Ic8b28295a7e97ca2885d074962f73d5f1bf980c6
iewConfiguration.java
59dfce8bdaf011337530a0dbec7f7280871f9bc9 03-Apr-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6140391 Make RTL awareness as an opt-in into the AndroidManifest

- introduce "supportsRtl" as a new application attribute in the AndroidManifest
- "supportsRtl" default value is FALSE (no RTL support)
- adapt the View layoutDirection and textDirection logic to take care of "supportsRtl" value

Change-Id: I5e4f9f576e14f35dedc6b0c29a7142c397f598e0
iew.java
7e848304426b170e9c828fb7e4eb6088638ea63e 03-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Let ViewStub be used in RemoteViews."
110414928ae13674b7ec6b816a45cf70ed521683 03-Apr-2012 Joe Fernandez <joefernandez@google.com> am c1a0e54d: am b459b619: am 945b7cb3: Merge "docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)" into ics-mr1

* commit 'c1a0e54de12aee41163b84a25ea8dfc8b64304dc':
docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)
ade335016e6864ddf203f4d1b31b895985da55e7 03-Apr-2012 Joe Fernandez <joefernandez@google.com> am 945b7cb3: Merge "docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)" into ics-mr1

* commit '945b7cb324f3bdfcf13efbe7bdf6a60f7163ed9a':
docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)
b459b619b389f999564c3c526fe703e0c966ed9b 03-Apr-2012 Joe Fernandez <joefernandez@google.com> am 945b7cb3: Merge "docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)" into ics-mr1

* commit '945b7cb324f3bdfcf13efbe7bdf6a60f7163ed9a':
docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)
b27b7a152437d6ebb4f2a2700858b69634c00acd 03-Apr-2012 Jeff Sharkey <jsharkey@android.com> Let ViewStub be used in RemoteViews.

Specifically, this carefully ensures that ViewStub.inflate() uses
the restricted LayoutInflater from RemoteViews, which has a filter
to enforce the @RemoteView annotation.

Bug: 2541651
Change-Id: I341aacbf6029cdd717a894eb084760c6ec224786
ayoutInflater.java
iewStub.java
56bad16f0200b7afff12fcc45c82723cf467cfee 03-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Add Japanese specific key codes."
b6a80077dca5a17f33350075485a534d7ed8fa2b 03-Apr-2012 Chris Craik <ccraik@google.com> Merge "Allow fine-grained control over functors execution"
8d56b0e1d24f7392314df4be6503af395a843696 03-Apr-2012 Chet Haase <chet@google.com> Enabling DisplayList properties

An earlier commit fixed problems with enabling DisplayList properties.
This CL actually enables the properties.

Change-Id: I5c41d0c64e9241822af53eb367de0fed7d9608e0
iew.java
9420abd56a2af7ddbeb70562b79d61b2dca8c5a1 30-Mar-2012 Chet Haase <chet@google.com> Re-enable DisplayList properties.

Re-enabling DisplayList properties last week caused some app
errors due to the way that some transforms were being handled (specifically,
those coming from the old Animations and ViewGroup's childStaticTransformation
field). This change pushes *all* transform/alpha data from View.draw() into
the view's DisplayList, making DisplayLists more encapsulated (and correct).

Change-Id: Ia702c6aae050784bb3ed505aa87553113f8a1938
isplayList.java
LES20DisplayList.java
iew.java
7511f9cd2ff39075ff56c2558c785caffc8b4383 10-Feb-2012 Yang Chuang <Yang_Chuang@asus.com> Add Japanese specific key codes.

These keys are specific to Japanese hardware keyboard which can be
used by input method.

Patch ported from AOSP, with the addition of EISU and KANA mappings.

Change-Id: I647473cdd257458e3b9d134b0fc623eae946c3e0
eyEvent.java
8f3b8e32993d190a26c70c839a63d8ce4c3b16d9 28-Mar-2012 Romain Guy <romainguy@google.com> Allow fine-grained control over functors execution

Adds non-drawing execution mode

Change-Id: I82f92cf1b9a3b9ff2ca6d7427c4e02b73e04e6bf
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
e0435a6c6a4464d96f6264374cf0b007b24031a0 02-Apr-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix layout params resolution"
e6c966caa3aff3099e6fb00caefa10387f57b9c3 02-Apr-2012 Michael Jurka <mikejurka@google.com> Merge "Add frame counter to dumpGfxInfo"
61d6c8ca49d4a3d5bf4c961878a3f71145d75058 31-Mar-2012 Dianne Hackborn <hackbod@google.com> Merge "Add new feature to let apps layout over status bar / system bar."
4a5268857eaa28be82ac6766bdfb8affad5c0bab 31-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix layout params resolution

- dont need to check if any parent as getResolvedLayoutDirection() is handling this case

Change-Id: I915b4a72e38d072005e47d3c5a3f63febbef6e60
iew.java
3a3a6cfd8ec12208ca75c0d0d871d19d76c34194 26-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new feature to let apps layout over status bar / system bar.

The main change is a few new flags you can supply to
View.setSystemUiVisibility(). One is a new visibility mode,
SYSTEM_UI_FLAG_FULLSCREEN, which is basically the same as
the global FLAG_FULLSCREEN option for windows, but driven as
part of the system UI state.

There are also three new flags for telling the framework that you
would like to have your application's UI ignore screen
decorations -- SYSTEM_UI_FLAG_LAYOUT_NO_NAVIGATION for going
behind the navigation bar and SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
for ignoring full screen decorations (that is the status bar).

In combination with this you can use SYSTEM_UI_FLAG_LAYOUT_STABLE
to have the framework report consistent insets to your application.

When using NO_NAVIGATION, when the user taps the screen we now
also automatically clear ONLY_CONTENT, so that we atomically show
both UI elements. This should make it easy for apps like video
players that want to move between fully full-screen and regular
modes.

The ActionBar has also been extended when in overlay mode so
that it will adjust the system window insets to also account
for its space, and allow it to be hidden using the new
SYSTEM_UI_FLAG_FULLSCREEN.

Change-Id: Ic8db1adec49a0f420bfe40c1d92eb21307856d0b
iew.java
iewGroup.java
iewParent.java
iewRootImpl.java
indow.java
7687882800f49e3fc3a14f1d7540412f77d6bd4d 30-Mar-2012 Romain Guy <romainguy@google.com> Detect surface resizes

HardwareRenderer normally relies on the window manager to be notified of
surface dimension changes. It is however possible to execute a drawing pass
before receiving the window manager notification. We must therefore compare
the actual size of the target surface to the window size and perform a full
redraw when they are not the same.

Change-Id: Idccc8592f3f777edee1ef67a98a4c2a825dcfba7
ardwareRenderer.java
a3fabff98590d26f0c362cb09dc378fece66215c 28-Mar-2012 Michael Jurka <mikejurka@google.com> Add frame counter to dumpGfxInfo

Change-Id: I016f706e32cbdbce014795d8fc537b15c389dc7a
ardwareRenderer.java
indowManagerImpl.java
fa8b27c858438554fd94c014de959d8ec6b208bb 30-Mar-2012 Jeff Brown <jeffbrown@google.com> Improve responsiveness by always consuming batched events.

Change-Id: I2eb88f8fde97ce0cd820f39da4ebe8698a7db95c
iewRootImpl.java
a08f3e866a46c990e786defa95013ee0313b0887 30-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Enable vsync traversals by default."
e32a4ac8d39b96d965acccd1d3e9ef111c4cfa37 29-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve FocusFinder for RTL support"
ebb2d8d708c5c58c79ae88ac2bd10450a856f702 24-Mar-2012 Jeff Brown <jeffbrown@google.com> Enable vsync traversals by default.

Improved how the various callbacks are managed and sequenced
to reduce code duplication.

Added a heuristic to avoid postponing traversals until
the next vsync frame if we did not actually do any drawing during
the previous frame. This helps in the very common case where
drawing occurs in response to input.

Change-Id: I277d9eeaf50408f8745a3cfd181db1d140770658
horeographer.java
iew.java
iewRootImpl.java
f1260aac0ea7d48794177da0078ab6e85df3f1f3 29-Mar-2012 Chet Haase <chet@google.com> Merge "Disable DisplayList properties pending fixes for AlphaAnimation"
76240dafe8654cc3b858241e76618e5b2db5451c 29-Mar-2012 Chet Haase <chet@google.com> Disable DisplayList properties pending fixes for AlphaAnimation

The new DisplayList properties design has ordering conflicts with the
way that alpha works with old animations (AlphaAnimation). This CL
disables DiksplayList properties while I'm working on a fix and some
more thorough tests for old animations-vs-DL properties in general.

Change-Id: I8f6893138f939171491c2ec3c889214ee55d17b7
iew.java
6183cd64a98a69ea247813c9ba0a07326c4bc1ae 26-Mar-2012 satok <satok@google.com> Take sentence-level spell checking APIs public

Bug: 6136149

Change-Id: I772164d9c67e95876c228efcce2356a81a06be4f
extservice/SentenceSuggestionsInfo.java
extservice/SpellCheckerSession.java
244ada1d35419b7be9de0fc833bb03955b725ffa 29-Mar-2012 Romain Guy <romainguy@google.com> Refactor GLES20Canvas/HardwareRenderer JNI layers

GLES20Canvas defined several JNI functions used only by HardwareRenderer.
Now that we have a JNI layer dedicated to HardwareRenderer we should
host the renderer related methods there.

Change-Id: I0bcb4ad0bcc1c4a37290df10c1685f2cfe5504ca
LES20Canvas.java
ardwareRenderer.java
e1302edd40c5cc264f842e17e3796e0a11d6f045 06-Feb-2012 Joe Fernandez <joefernandez@google.com> docs: Accessibility Dev Guide (subsumes Accessibility Best Practices)

Change-Id: Id7e3f647042d2afd390abe851be1c3b561af33ca
iew.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityEventSource.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
ccessibility/package.html
7e0a372978eddf21808bf7fdfe36c1baa7f77e7c 28-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve FocusFinder for RTL support

- fix some issues introduced in the previous CL

Change-Id: Ib679e9f66b029506c7e07e44b8fef176ad262585
ocusFinder.java
b85967b9af76e1e60f7a96603e2567a6449d2e04 26-Mar-2012 Chet Haase <chet@google.com> Re-enabling DisplayList properties

Several issues came up after DisplayList properties were enabled,
so they were disabled pending fixes. Those issues have been fixed, so
DisplayList properties are once again being enabled by default. This
CL both re-enables these properties (in View.java and DisplayListRenderer.h)
and fixes the various issues that enabling them caused the first time around.

Related issues (all currently marked as Fixed, though that was simply because
DL properties were disabled - this CL provides the real fixes now that
DL properties are enabled by default):
Issue #6198276 Text input broken
Issue #6198472 Native crash at pc 00076428 in many different apps in JRM80
Issue #6204173 Date/time picker isn't rendering all parts of UI
Issue #6203941 All Apps overscroll effect is rendered weirdly/has flickering
Issue #6200058 CAB rendering issue - not drawing items?
Issue #6198578 Front camera shows black screen after taking picture.
Issue #6232010 Layers not recreated when children change (DisplayList properties)

Change-Id: I8b5f9ec342208ecb20d3e6a60d26cf7c6112ec8b
iew.java
iewGroup.java
1fc18056eb87e86773a5863ca60623d4023795a6 27-Mar-2012 Romain Guy <romainguy@google.com> Merge "Fix constants to be unique"
c553fea6b0b8d371c22bb4011cc9555d441aab39 27-Mar-2012 Romain Guy <romainguy@google.com> Fix constants to be unique

Change-Id: Ia3736bc35c9ff7b52f0f20c274cd302bfb180fa7
isplayList.java
81e829e02e0f5fc6ec383ac795bbf693dfa3205e 27-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6213159 FocusFinder should be able to take care of Views direction"
56485fe62882065688e70fcb1f4b5c3894ed2c87 27-Mar-2012 Romain Guy <romainguy@google.com> Merge "Use a status_t return type for GL functors"
6554943a1dd6854c0f4976900956e556767b49e1 27-Mar-2012 Romain Guy <romainguy@google.com> Use a status_t return type for GL functors

WebView needs more fine-grained control over the behavior of the
framework upon execution of the display lists. The new status_t
allows WebView to requests its functor to be re-executed directly
without causing a redraw of the entire hierarchy.

Change-Id: I97a8141dc5c6eeb6805b6024cc1e76fce07d24cc
isplayList.java
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
0adcd07ccb07ffde93f36c2b42096dacac98ae26 26-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve View layoutDirection resolution"
9b0e5991201da7cd74e09c6546d916394ad338ad 26-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix View textDirection refresh"
827d5c09fb4649eca14e87b3d00c53dec44973a6 23-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix View textDirection refresh

- the refresh was no more done correctly after the use of display lists

Change-Id: I5c74bbe565c603fe2e7fd793dd49c3b20036e04b
iew.java
83e675f5ecf9f5615f3179ac102176faa3ae2596 25-Mar-2012 satok <satok@google.com> Support UntranslatableReplacementStringInSubtypeName

Bug: 6210256

Change-Id: I54016f2dcfc6563ed3753e1d4fa1bbd2cfb9d08c
nputmethod/InputMethodSubtype.java
d4577c0c29f8e38a34d1aeac59803b37769af790 24-Mar-2012 Romain Guy <romainguy@google.com> Merge "Destroy the hardware renderer when ViewRootImpl's die is post-poned Bug #6109035"
a998dff5d49a423aaf7097aa8f96bf5bdc681d25 24-Mar-2012 Romain Guy <romainguy@google.com> Destroy the hardware renderer when ViewRootImpl's die is post-poned
Bug #6109035

ViewRootImpl.die() can be invoked in such a way that doDie() will be
executed later. On memory limited device, an eglTerminate() may happen
before doDie() is executed which leads to unstable behaviors. This
change makes sure the renderer is destroyed as soon as possible.

Change-Id: I3322410cdd744b464951e2055aeade6069d1d673
ardwareRenderer.java
extureView.java
iew.java
iewGroup.java
iewRootImpl.java
indowManagerImpl.java
702e8f9b9294d8227deae6e1f125a768ee4a28d4 24-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6213159 FocusFinder should be able to take care of Views direction

- use RTL layout direction as input to decide what to do

Change-Id: Ied825963992e5406f546a937857c5ca4101977bb
ocusFinder.java
22ab7751d47aa9d1e07e8d70706dcf30dac3aae0 24-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve View layoutDirection resolution

- make it similar to textDirection
- unhidde also new API: resolveLayoutDirection()

Change-Id: I43c2c2ef32ed6d1f3586781a063271b72e90b9a3
iew.java
8078d8c8a282ca81344febe7256f63b1e805e3aa 20-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new thumbnail animation.

Use it for recent tasks switching.

Not perfect yet by far, but something.

Also fix issue #6186758: Twitter crashes after tapping on a tweet on JRM75D

Change-Id: I49bf6c94aafde875ac652dedaf96d6c08cc9e7d2
WindowManager.aidl
nimation/Animation.java
nimation/Transformation.java
2c4eabced0971d3b6b5e76dd925afcb0a7f59f1c 23-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Reduce memory footprint for View (part 2)"
460f457e4a432585552fa3593865b3274cf00179 23-Mar-2012 satok <satok@google.com> Merge "Re-start input when the IME is deactivated but window is focused"
4d992dbe419831550f8bd41a53a17ce7427565c2 23-Mar-2012 Romain Guy <romainguy@google.com> Merge "Don't make GLRenderer aware of GLES20Renderer"
5d6999e1ca457948e06792ea6259ffa947c9fa81 23-Mar-2012 Romain Guy <romainguy@google.com> Don't make GLRenderer aware of GLES20Renderer

Change-Id: Ic9bab34070a3046b9252f6fd576b4d40553374fc
isplayList.java
ardwareRenderer.java
b85c933d850286874005f97a9764c9b22e49a597 09-Mar-2012 Kevin Hester <khester@google.com> Do not allow Surface creation on machines without SurfaceFlinger
We will fail later anyways, but this change makes it much easier to track
down places where we are inadvertently doing operations that depend on the
flinger.

Change-Id: If38a1a10061a594dba5c220a86b32eec7b5ec901
urface.java
b934db7e3e6d4c3963d2a4a5c00cfb0c3ffbfce4 20-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Reduce memory footprint for View (part 2)

- make textDirection use private bits field
- update layoutDirection usage of private bits

Change-Id: Ib9f4da58dbb74f410fb9d3be3c26ef02579aaf1d
iew.java
ad13c81371cb0b7e49b4c33159a346ce08ac5d69 22-Mar-2012 Chet Haase <chet@google.com> Disable DisplayList properties

DisplayList properties are (again) disabled by default, via flags in
View.java and DisplayListRenderer.h. There are various artifacts to
chase down before enabling by default.

Issue #6198472 Native crash at pc 00076428 in many different apps in JRM80
Issue #6204173 Date/time picker isn't rendering all parts of UI
Issue #6203941 All Apps overscroll effect is rendered weirdly/has flickering
Issue #6200058 CAB rendering issue - not drawing items?
Issue #6198578 Front camera shows black screen after taking picture.

Change-Id: I045dc82ce1d85fedbae3bb88eb2a2dfb6891d41f
iew.java
31e4e149941e34cd135dfa0b6d918cc0b3dabbbc 22-Mar-2012 satok <satok@google.com> Re-start input when the IME is deactivated but window is focused

Bug: 6188159
Change-Id: I9189e6d2ac90aa8c621fdb44989728101e00329d
nputmethod/InputMethodManager.java
9ea77fc821918ea562ff4907945b865e39e0201a 22-Mar-2012 Jeff Brown <jeffbrown@google.com> Avoid calling into JNI if not needed.

Short-circuit a few MotionEvent JNI calls in simple cases.

Change-Id: I6c97c06b5a5fd203a423dc88f428637b9dec71ae
otionEvent.java
b6f90cf846f67fca66197cce7ac214477ebfc727 21-Mar-2012 Chet Haase <chet@google.com> Merge "Fix Animation bugs from DisplayList properties integration"
89b7f2e3be7e08fd751b348096a40ae5eb5f6a8f 21-Mar-2012 Chet Haase <chet@google.com> Fix Animation bugs from DisplayList properties integration

The new DisplayList properties functionality does not currently handle Animation
(android.view.animation) functionality, so we fall back to the previous approach
of redrawing the DisplayList when an Animation changes alpha/transform data for
a View. The DL code was not, however, correctly using that logic, so that
the Animation transform information was being ignored, or at least not set
correctly on the DisplayList during redraws.

This fix accounts for Animation changes and sets up the DisplayList correctly.

Change-Id: I9f6e0382b05d0627f4779f30e74641dedcc77f82
iew.java
006f0e41abca961bade88908d7ef56ae63c429fb 21-Mar-2012 Craig Mautner <cmautner@google.com> Override not drawing to screen when screen is off.

A new test had been added to performDraw to provide an early return if
the screen was off. Drawing should have proceeded however if
mReportNextDraw is set. Otherwise views that turn on the screen (such
as the alarm) are not shown.

Fixes bug 6168158.

Change-Id: If9013d9dbd39d60ee1de8aeb3e0c1facbc5a7db5
iewRootImpl.java
e979e62ac7313b7cffe9b131bb8a99c356068b45 20-Mar-2012 Romain Guy <romainguy@google.com> Code cleanup

Change-Id: I390e92b4a778bd9dcde6535178c1a6b204b29fe4
ardwareRenderer.java
eb0b1da78ff44a9b38f93fad06af2d397e68c756 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Revamp of the NumberPicker widget."
d11e6151fe88314505fa7adca6278de2e772b11c 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Revamp of the NumberPicker widget.

1. The number picker no longer shows up and down arrows, it
has only three touch targets which are the currently selected number
in the middle with a lesser one above and greater below, now what
you touch is what you get, flingability and long press are still
supported.

2. Removed the restriction for a View with an AccessibilityNodeProvider
to not have any concrete children. If the View has a provider, then
this provider is responsible for creating the AccessibilityNodeInfos
for all its descendants, concrete and virtual. The number picker is
a good example for such a case - it has a concrete input view and
two virtual buttons as its children. This is a safe change since
this behavior has not been released.

3. This patch also fixes bug where the number picker is stretched too
much in the Theme theme.

bug:6177794
bug:5728294

Change-Id: I5fb370fe0b864a156f5f2aaf2de5f55f6b6d4e84
iewGroup.java
6077fc9b7f22e2eb7199167e26bccc8f97957f60 20-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Reduce memory footprint for View"
edc1e59b34c7f813ad197545b1d846e3a99a6831 16-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Reduce memory footprint for View

- make layout direction use private bit fields
- fix also some Javadoc issues

Change-Id: I977a328d671b91aa82cb275767e3575f78695508
iew.java
52c10554628079e38cde2e9b13bde5099deeca35 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Revert "Revamp of the NumberPicker widget.""
efd1c6777929e5a81a030fc51145cd3064d3e979 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Revert "Revamp of the NumberPicker widget."

This reverts commit 912ab8506ae6409ee7fa0323b217fefaf0bd9771
iewGroup.java
ca07bc1d35aa448819bc99675e57793d37047c55 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Revamp of the NumberPicker widget."
00843227504528584596da305e6587450c0c5223 20-Mar-2012 Romain Guy <romainguy@google.com> Merge "Pre-scale bitmaps on the native heap"
7b2f8b8fb7064a1d3b6d942b978c30c24c9d7299 20-Mar-2012 Romain Guy <romainguy@google.com> Pre-scale bitmaps on the native heap

Change-Id: I9819b532b89a997ab775b31ffee46445f1d16e20
iewRootImpl.java
bdd896c26453ffc56831b0cd167e8780068cee53 19-Mar-2012 Chet Haase <chet@google.com> Enable DisplayList properties

This CL simply enables DisplayList property functionality. The code for
this feature is already there, but it's been disabled by default pending further
testing and analysis. This change sets these build-type flags to true
so that all hw-accelerated apps will now use DisplayList properties by default.

In particular, this feature enables a fast-path for changes that affect the
handful of View properties involved in animations (alpha, translationX, etc.).
Setting these properties now gets propagated to the native DisplayList associated
with the View, avoiding costly recreation of the SDK-level DisplayList and
also enabling faster invalidation of the view hierarchy.

Change-Id: Ic99c8f28fa9183f2e54e9e4860b333eb9c540f7c
iew.java
912ab8506ae6409ee7fa0323b217fefaf0bd9771 09-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Revamp of the NumberPicker widget.

1. The number picker no longer shows up and down arrows, it
has only three touch targets which are the currently selected number
in the middle with a lesser one above and greater below, now what
you touch is what you get, flingability and long press are still
supported.

2. Removed the restriction for a View with an AccessibilityNodeProvider
to not have any concrete children. If the View has a provider, then
this provider is responsible for creating the AccessibilityNodeInfos
for all its descendants, concrete and virtual. The number picker is
a good example for such a case - it has a concrete input view and
two virtual buttons as its children. This is a safe change since
this behavior has not been released.

3. This patch also fixes bug where the number picker is stretched too
much in the Theme theme.

bug:6177794
bug:5728294

Change-Id: Id8c0b3549174b9599f971d6e3086ca427cfbaa39
iewGroup.java
4bf8b209955e8a35ec2e4101ed3612e03ecc5dbb 16-Mar-2012 Chet Haase <chet@google.com> Merge "Optimizing DisplayList properties"
9d1992deaeb3d60d5928f05b649a2cc654ba98a3 13-Mar-2012 Chet Haase <chet@google.com> Optimizing DisplayList properties

DisplayList properties are still disabled default (flags in View.java
and DisplayListRenderer.h). When they are enabled, and when a View has
a DisplayList, invalidations due to property changes are now optimized
to avoid causing DisplayList recreation. This eliminates the drawing step
of invalidation (due to changes in these properties), only requiring
issuing the previously-created DisplayList to the GL renderer. Invalidation
is slightly faster (less overhead as we walk up the hierarchy), getDisplayList()
is potentially much faster (going down to ~0ms), depending on the complexity
of the View being redrawn and the size of the invalidated hierarchy.

Change-Id: I57587d5b810c3595bdd72a6c52349c2a3d1bdf25
ardwareRenderer.java
iew.java
iewGroup.java
iewPropertyAnimator.java
d8a3663afc1f4db38a28f9eb93c8596c43ccb699 09-Mar-2012 Keiji Ariyama <keiji_ariyama@c-lis.co.jp> Fixes an issue that occured unexpected exception "pointerIndex out of range".

The findNewActiveIndex method may return -1.
So, the code should check case of -1 before event.getPointerId
and if index0 is -1, gesture should be ended immediately.

Change-Id: I4aae5c84e3db61d10b0bfcfa7bfa6b9115231a52
caleGestureDetector.java
51e4d4db296c252641161b39e98f49acebc46062 16-Mar-2012 Romain Guy <romainguy@google.com> Better implementation to clear display lists

Change-Id: I58f9af4bae70a8117db1455a50c0c5daf19b2f4a
isplayList.java
iew.java
iewRootImpl.java
c6e8811cb48014d541bc6f85b4b7f92643af8591 16-Mar-2012 Romain Guy <romainguy@google.com> Merge "Postpone DisplayList recycling when detached from window"
bc7616eae90002879f1d82d5e99dea7d1152b742 15-Mar-2012 Romain Guy <romainguy@google.com> Postpone DisplayList recycling when detached from window

This was causing a crash in apps that remove views during a draw pass.

Change-Id: I1c4621639fe920291b2c6fb7bfd17a69101a1329
isplayList.java
iew.java
e82a54aedc45ed2c06e62a14947d4f56c823221d 15-Mar-2012 Chet Haase <chet@google.com> Merge "Fix bug with transform Animations"
bcbec0ccd07d04597992d7ab0dede34288ba31f3 15-Mar-2012 Chet Haase <chet@google.com> Fix bug with transform Animations

A recent change to enable View properties at the native DisplayList level
mistakenly cuased Animation transforms get be ignored for any View with
a DisplayList. The correct code should have checked whether DL properties
were enabled for the view (disabled by default for now).

Issue #6173975 Animations are gone

Change-Id: I5d5f53f854fb1b533a3150158e84392d7283d2a8
iew.java
605eabf6a24ab3541de559b242147900b23706ed 14-Mar-2012 Michael Jurka <mikejurka@google.com> Merge "Fix hardware layer redraw bug"
952e02b430bb95534416ec689f08a792aca0b853 14-Mar-2012 Michael Jurka <mikejurka@google.com> Fix hardware layer redraw bug
iew.java
a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3 21-Feb-2012 Chet Haase <chet@google.com> Handle view properties at the native level

Basic functionality of handling View properties (transforms,
left/right/top/bottom, and alpha) at the native DisplayList level.
This logic is disabled for now (via compile-time flags in View.java and
DisplayListRenderer.h) as we continue work on it (there is no advantage
to the new approach until we optimize invalidation and rendering paths
to use the new code path).

Change-Id: I370c8d21fbd291be415f55515ab8dced6f6d51a3
isplayList.java
LES20DisplayList.java
ardwareLayer.java
iew.java
iewGroup.java
iewPropertyAnimator.java
25182b8af9048f7fa07d10cabe444b9bbc302344 12-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve View Javadoc for padding"
30a21e1bfea21ba2170e42eb187a2ec1bbbcf2c7 12-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve View Javadoc for padding

Change-Id: Ib7c8ee5bcde57e112ba0bb700fed9f2a135b1cdb
iew.java
a8c67eb904b7b78856ef58ef6a4ec10e6dccccb2 12-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Add Java wrappers for new atrace functionality."
05f692e8050c3650ec123b2361143a121e2e7d4b 12-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make Gravity RTL APIs public"
e8dc07dcdb983d5d3999b16c2a49ddee4bdb942c 10-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Make Gravity RTL APIs public

- also move unit tests to CTS
- also small improvement for View Javadoc

Change-Id: I166d5a10f4a00f1b46c90468c8b11906b438e1ea
ravity.java
iew.java
384f8bad60037855d2a43d7c661ca1b75ccd08ba 10-Mar-2012 Ken Wakasa <kwakasa@google.com> Add missing bullet points in javadoc of InputMethodManager.java

Change-Id: I2e9c04569b52705972d5a67b17d48405315dd3d3
nputmethod/InputMethodManager.java
5a5dc1c63476dc891b73ea10267511c260d8fd78 10-Mar-2012 Romain Guy <romainguy@google.com> Merge "Use the actual screen size for the max bitmap cache size."
887c2eea31a9ef2bc27186773e173e083eee7314 10-Mar-2012 Romain Guy <romainguy@google.com> Use the actual screen size for the max bitmap cache size.

Change-Id: I2177f91aea7c449c377fde6337180d15487cecef
iewConfiguration.java
559c4841a631321efc2284de9187dbaccce50550 10-Mar-2012 Ken Wakasa <kwakasa@google.com> Merge "Fix obvious typos under frameworks/base/core"
481c1570dc5cdf58265b53f657801709dd05d1df 09-Mar-2012 Jeff Brown <jeffbrown@google.com> Add Java wrappers for new atrace functionality.

Instrument a few parts of the input dispatcher and the
view hierarchy.

Change-Id: I49285c9fb3502253baa1ffed60f521b8c24fccaf
iewRootImpl.java
3162225d51c62cd6f0e89edc5fe272adbc8ddc39 10-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Don't remove all animation callbacks if action/who was null."
43ea54bdc343a913f62885304796e4ab1bca4ef1 09-Mar-2012 Jeff Brown <jeffbrown@google.com> Don't remove all animation callbacks if action/who was null.

Fixes a bug in View.removeCallbacks and View.unscheduleDrawable
where it was possible for the caller to remove all animation
callbacks if it happened to specify an action or who parameter
of null.

Also refactored the callback queueing code in Choreographer
to make it more intent revealing although the behavior remains
the same.

Bug: 6144688
Change-Id: Iba29dcda6b3aaad73af664bb63feab65ae3483e5
horeographer.java
iew.java
2bff6407793917d69653542a73525a72a53dd6cc 09-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding an announcement type accessibility event and a method on View to announce."
51ab90cab1609cf0ddd2dfe5a660f020d823d4d5 09-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding an announcement type accessibility event and a method on View to announce.

1. The need for sending an accessibility event to announce a context change
which does not cleanly fit into the existing UI transition UI events has
come quite a few time in application development. To avoid retrofitting
accessibility event types that do not semantically match the intent to
just announce a short message this patch is adding specialized event type.
Also a helper method on View is added to sheild developers from knowing
how to construct and send such an event.

bug:5977979

Change-Id: Iaf5f620426f8616be67fbf243a02ad5b606c949b
iew.java
ccessibility/AccessibilityEvent.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
iew.java
iewDebug.java
indowManager.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
extservice/SpellCheckerInfo.java
df813c03b16ed32c25a8c8fee82a7a98088ac940 09-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Use the Choreographer for Drawable animations."
1e3d313c7802673cb5a350fdbbe458398a038fcf 09-Mar-2012 Romain Guy <romainguy@google.com> Fix the docs

Change-Id: I73bcb684eac01db870936aa5e29df930b5432833
iew.java
bb9908b828a8cfd5965553be66faa6af89973697 08-Mar-2012 Romain Guy <romainguy@google.com> Dispatch screen state change events to Views
Bug #6120957

Using this new callback, views can interrupt and resume their
animations or other periodic tasks based on the current state
of the display.

Change-Id: I398f4abd421e9c5f207107bf1009a7b92cf45daa
Window.aidl
iew.java
iewGroup.java
iewRootImpl.java
3bef5e9f3aa90465ee3ab66ef33d7a88d1b0c5c1 08-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix View padding resolution"
250069bf6bf3d7e2ef85c49e0cd100e80c3c8b7d 08-Mar-2012 Romain Guy <romainguy@google.com> Merge "Ignore draw requests when the display is off"
2428ccbbde3ca1f6643a4952a6ca881dab80ce45 08-Mar-2012 satok <satok@google.com> Fix spell checker framework

Change-Id: I281d031259dd220936832668e7a4556473ccb2ce
extservice/SpellCheckerSession.java
7ae9d5faad5816f7e567ec1ec77e78d746cf7e5c 06-Mar-2012 Jeff Brown <jeffbrown@google.com> Use the Choreographer for Drawable animations.

Change-Id: Ifcbf33434bf3c32d1900fd0b3f5bde004604ce8a
horeographer.java
iew.java
iewRootImpl.java
509708deb8d70def41be56145df07f9331f48c84 07-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix View padding resolution

- make setPadding() and setPaddingRelative() share same code

Change-Id: Iaefa82deb29d9efd6b3f88c751daf503c6b8f774
iew.java
1ce1307641c3eba06d945ed3b257ad4ce28ba56e 07-Mar-2012 Michael Jurka <mikejurka@google.com> Merge "Don't draw layers in buildLayer()"
5eb37241fee7e656cf9787bf00a160e94b4894fc 07-Mar-2012 Dianne Hackborn <hackbod@google.com> Merge "Work on more low memory reporting to apps."
27ff913d56de8400083a13fc572e2812b32c890c 06-Mar-2012 Dianne Hackborn <hackbod@google.com> Work on more low memory reporting to apps.

There are now some new trim memory levels that are sent to
non-background applications as RAM becomes low.

There is a new API for an application to retrieve information
about memory trimming and such on demand.

Fixed various checks against the memory trim level to be
robust (not compare against exact values).

Change-Id: Ifd1c6151124350168aef20a94e517166fd2e03eb
ardwareRenderer.java
indowManagerImpl.java
7e52caf6db5feef2b847cfaa3d13690257122c3a 07-Mar-2012 Michael Jurka <mikejurka@google.com> Don't draw layers in buildLayer()

Creating the layer, if necessary, takes the bulk
of the time - just do the creation, and schedule a
deferred update

Change-Id: I21399ebd5d2929a4f242ec1c08e3f97fed1ef58a
ardwareLayer.java
extureView.java
iew.java
1ecebbb27fc45f4ef503d866f2702bca565a089c 07-Mar-2012 John Reck <jreck@google.com> Fix FOCUS_BACKWARD search if view had no id

Bug: 6126875

Change-Id: I113a7125d71dc3e6cc34d31a669e844a4a882266
iew.java
1b0cc3ca65f1855012bc37b1e266d6a04db0951b 06-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Rename remove callback methods."
97a355a9a10ce762ec56a1d02e9c04e54c2f0902 06-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Support posting delayed animation/draw callbacks."
5bebea436e631aa77aeb0f39a34c9e830c9638f5 06-Mar-2012 Jeff Brown <jeffbrown@google.com> Rename remove callback methods.

Change-Id: Ib9ef32fedbe0db2ea5efd250693915d626d7d8ae
horeographer.java
iewRootImpl.java
2b6cb9a27e6f11fb30c9b9baaa5fc02f29f4072e 06-Mar-2012 Jeff Brown <jeffbrown@google.com> Support posting delayed animation/draw callbacks.

This is especially useful for slow animations such as blinking the
cursor, which only needs to happen after a certain amount of time
has elapsed.

Change-Id: If1163a3480078c75d6461eb8f96d8bf8b625534f
horeographer.java
faeac2737de098269a69011f4980a412559b55a9 06-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Change widgets to post invalidate to the animation timer."
6cb7b46c56449e84434b11eb12f9b8977fcd0398 05-Mar-2012 Jeff Brown <jeffbrown@google.com> Change widgets to post invalidate to the animation timer.

Change-Id: I8377e924529fb9d8afd8a834003a17de616e8e87
extureView.java
iew.java
iewRootImpl.java
7e4e561bc717a6eea4e0d06ec4173ad27420425f 05-Mar-2012 Romain Guy <romainguy@google.com> Ignore draw requests when the display is off

When WindowManagerService's events are enabled/disabled, the state of the
display is dispatched to the known windows. This allows ViewRootImpl to
ignore draw requests until the screen is turned back on. This can potentially
lead to significant battery savings. For instance, a launcher widget showing
a repeating animation will cause the CPU and the GPU to wake up regularly
without this change.
(Change submitted by Intel and merged manually)

Change-Id: I7f93b0e60c3e6de1705f619e80860c36b1cdb978
Window.aidl
iew.java
iewRootImpl.java
21452d1adaeb20f453e8e5cac188cec1d89e01f6 05-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6029615 Update Javadoc for onPaddingChanged()"
085585f4665aa7390a7d56ce479bed43e78bb470 05-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6029615 Update Javadoc for onPaddingChanged()

Change-Id: I5d66bc76d7084777342e66e6370bf3a52e878ba1
iew.java
fb9c41c2060497a459d16c30122e1d082895e5d1 05-Mar-2012 Romain Guy <romainguy@google.com> Merge "Deferred layer updates"
b8b36b8b78e408f8b95cbf1ec7bfd87f30e8da7b 05-Mar-2012 Scott Main <smain@google.com> am dc022a6f: am 08e91352: am 93dc642e: docs: fix misc bugs from external tracker

* commit 'dc022a6f9aa30d9282c4f82c1cc4d1c8bde7e808':
docs: fix misc bugs from external tracker
08e91352169457ac86a2465e4db867971ce14b10 05-Mar-2012 Scott Main <smain@google.com> am 93dc642e: docs: fix misc bugs from external tracker

* commit '93dc642eaf48e3db58c4929df26283fbc5fd663f':
docs: fix misc bugs from external tracker
d593f846918762bb588fdfca1003e8c6e93f577e 05-Mar-2012 Scott Main <smain@google.com> am 93dc642e: docs: fix misc bugs from external tracker

* commit '93dc642eaf48e3db58c4929df26283fbc5fd663f':
docs: fix misc bugs from external tracker
93dc642eaf48e3db58c4929df26283fbc5fd663f 24-Feb-2012 Scott Main <smain@google.com> docs: fix misc bugs from external tracker

Change-Id: I2be617be23d0ac50baabac561d510633fa9f162a
ayoutInflater.java
2bf68f063b0077ddef6ebfe54f2ae5e063c2c229 02-Mar-2012 Romain Guy <romainguy@google.com> Deferred layer updates

Change-Id: I83d9e564fe274db658dcee9e0cc5bbf9223ebb49
LES20Canvas.java
LES20RenderLayer.java
LES20TextureLayer.java
ardwareLayer.java
extureView.java
iew.java
1a7dd039f189036709bc2253ba50955913f59d7a 01-Mar-2012 Adam Powell <adamp@google.com> Unhide transient state APIs on View

Change-Id: I0f14728c94cd3461431352e6f01311934aec9858
iew.java
ec418d3eae3d10cdc1b9d71f63648ce356722a94 02-Mar-2012 Teng-Hui Zhu <ztenghui@google.com> Merge "Make sure egl context is valid for the onTrimMemory call"
dd3ef2c573396271c7c3b71e30fbd10cf66d3bc0 02-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve RTL APIs

- follow changed / reset pattern

Change-Id: I1c5e9b39196029bd78add2ab13b984da124822ca
iew.java
iewGroup.java
4a00ab2563d829822cf564c9a91bdc49db405b6e 02-Mar-2012 Teng-Hui Zhu <ztenghui@google.com> Make sure egl context is valid for the onTrimMemory call

It turns out that terminateHardwareResources can call into destroySurface
to make the current context 0, like in Gmail.

bug:6079959
Change-Id: I07b2f3e91d6276b6c8e1b48f72bc87d28337fe2f
indowManagerImpl.java
ac5a3a1c123ba58ed75ed7ddaf3f82eec37606c7 02-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make layoutDirection API public"
98aec1c7efa639ac902d1200a3ac5a4a7a140129 14-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Make layoutDirection API public

Change-Id: Ie125513e4ea72b33b42355dbc43f9b9b6d46d7eb
iew.java
iewGroup.java
b22d6c11efcb6b51315821c740b47b6deff30a12 02-Mar-2012 Teng-Hui Zhu <ztenghui@google.com> Merge "Allow webview to delete GL resource in a valid EGL context"
d9624138723c55a0ac2af58a2e78e98cd51eba27 02-Mar-2012 Teng-Hui Zhu <ztenghui@google.com> Allow webview to delete GL resource in a valid EGL context

bug:6079959

Change-Id: Idee1031b0bcc4aeb498a18eb01970a8ed7efd285
indowManagerImpl.java
8a7259bdc2bd70b7d26998b1c552ab45e69cebb1 01-Mar-2012 Steve Block <steveblock@google.com> Prevent a 'TODO' from appearing in the JavaDoc

Change-Id: I3fdd46263cea413d519c56f4bd0e9d873f6fbfa6
iewGroup.java
592c85cd6c083997ee7f31ecbd52ab67942467d6 01-Mar-2012 satok <satok@google.com> Merge "Handle sentence level spell checking hidden APIs"
8898358bfdf4693af02ad454e1deb8034379ce02 30-Nov-2011 satok <satok@google.com> Handle sentence level spell checking hidden APIs

Change-Id: Ia91f1771c0b8ef458dd5b023f4c372cc36a15657
extservice/SentenceSuggestionsInfo.java
extservice/SpellCheckerSession.java
c97f9c14a5d35b9a1e89cfff996d4d997f68eb1a 29-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5217606 LocaleUtils constants TEXT_LAYOUT_DIRECTION_LTR_DO_NOT_USE and TEXT_LAYOUT_DIRECTION_RTL_DO_NOT_USE should be renamed"
3fb824bae3322252a68c1cf8537280a5d2bd356d 29-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5217606 LocaleUtils constants TEXT_LAYOUT_DIRECTION_LTR_DO_NOT_USE and TEXT_LAYOUT_DIRECTION_RTL_DO_NOT_USE should be renamed

- replace them by the View constants

Change-Id: I7c2bf0213319247d3db369b6f7c36771fdf3e509
iew.java
1b3d01de3837b7710dfccc06af37ffaec2cf8ecf 29-Feb-2012 Gilles Debunne <debunne@google.com> Merge "InputConnection is warned when finished"
e6c118b5d049ee163df40e33df98a98aa4acebe6 29-Feb-2012 Robert Ly <robertly@google.com> am 61a9a83a: am 40226da7: am f4994b3e: Merge "fix bug 5911175" into ics-mr1

* commit '61a9a83ac09246f815806fa4f64cc65a7e876f96':
fix bug 5911175
40226da7aeb705fb823517f74739bf2f25fa86f3 29-Feb-2012 Robert Ly <robertly@google.com> am f4994b3e: Merge "fix bug 5911175" into ics-mr1

* commit 'f4994b3eb03e1e772d7d46e8b6dcfc88593db792':
fix bug 5911175
bcee3613205e7a5cee7c78f296ec9cd471b81236 29-Feb-2012 Robert Ly <robertly@google.com> am f4994b3e: Merge "fix bug 5911175" into ics-mr1

* commit 'f4994b3eb03e1e772d7d46e8b6dcfc88593db792':
fix bug 5911175
f4994b3eb03e1e772d7d46e8b6dcfc88593db792 29-Feb-2012 Robert Ly <robertly@google.com> Merge "fix bug 5911175" into ics-mr1
035a1fcd5ea3ac0080bb74101cf2793ccb9aa689 28-Feb-2012 Adam Powell <adamp@google.com> View pressed state dispatching tweaks

Bugs 6075823, 6050563

Revise pressed state dispatch logic:

Only propagate pressed state to non-clickable views. This should
eliminate the "double glow" problem in some list items where a
clickable child button has a secondary glow along with a clickable
parent. This only applies to setPressed(true) calls; setPressed(false)
must propagate. Don't early-out in setPressed to support this use
case.

Change-Id: Ibbe2309f5030282fad8d23e4a9bc4616b3f5dc7c
iew.java
iewGroup.java
765dcf32307dbd93ce43f064c426ce157be2d2ae 27-Feb-2012 Romain Guy <romainguy@google.com> Small optimization for the battery status screen

Change-Id: I2833ba4009f6c284c9ef33c45a4dd7365423fb5f
LES20Canvas.java
778f67f7c0df6db42958ae58ee622070313a5a4d 25-Feb-2012 Romain Guy <romainguy@google.com> Merge "Add hooks to implement Canvas.drawTextOnPath() in GL"
b98a81f86ab87f1d718f329f03256111fdabd8d1 24-Feb-2012 Adam Powell <adamp@google.com> Add support for optional titles in action modes

Optional titles will only be displayed in the CAB if they entirely fit
instead of ellipsizing.

Fixes bug 5821883

Change-Id: I0cfd6d4fd34a4fa9f520499d577706da30606811
ctionMode.java
325740fb444af8fc7fb0119b2e30ce322c2ae134 25-Feb-2012 Romain Guy <romainguy@google.com> Add hooks to implement Canvas.drawTextOnPath() in GL

Change-Id: I165c9e05facf5365aa6850605688e538640c7fcc
LES20Canvas.java
9d69ecbf61a4a142c3f4cbb9d5659faa6f85e832 25-Feb-2012 Gilles Debunne <debunne@google.com> InputConnection is warned when finished

As said in https://android-git.corp.google.com/g/#/c/155992
finishComposingText is indeed too broad of a method.

Introducing a new dedicated method to warn the InputConnection.

Should solve the problems with a negative counter value.

Change-Id: I5525d776916f0c42d5e6d4a4282aed590d7f0e9a
nputmethod/BaseInputConnection.java
nputmethod/InputMethodManager.java
0aec3ea6defdee1ee4a9c0d6c4a3c13df3e7b812 25-Feb-2012 Dianne Hackborn <hackbod@google.com> am 911b505f: am dc5fa185: am 133dc2d7: Merge "Fix issue #6048808: sometimes auto-correct is inactive" into ics-mr1

* commit '911b505f11c719906985f169a4f45930bdec8695':
Fix issue #6048808: sometimes auto-correct is inactive
dc5fa1859d03ecca36fc6be2fed7bbd4ba70b51f 25-Feb-2012 Dianne Hackborn <hackbod@google.com> am 133dc2d7: Merge "Fix issue #6048808: sometimes auto-correct is inactive" into ics-mr1

* commit '133dc2d7aecc68990c363c861716b134910a4ced':
Fix issue #6048808: sometimes auto-correct is inactive
37b5c7cb69d18f23132086411a011fa1703e2b25 25-Feb-2012 Dianne Hackborn <hackbod@google.com> am 133dc2d7: Merge "Fix issue #6048808: sometimes auto-correct is inactive" into ics-mr1

* commit '133dc2d7aecc68990c363c861716b134910a4ced':
Fix issue #6048808: sometimes auto-correct is inactive
7663d80f6b6fd6ca7a736c3802013a09c0abdeb9 24-Feb-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6048808: sometimes auto-correct is inactive

My previous change to speed up the time the IME is dismissed was
fundamentally flawed. That change basically switched the order
the application called the input method manager service from doing
startInput() and then windowGainedFocus(), to first windowGainedFocus()
and then startInput().

The problem is that the service relies on startInput() being done
first, since this is the mechanism to set up the new input focus,
and windowGainedFocus() is just updating the IME visibility state
after that is done. However, by doing the startInput() first, that
means in the case where we are going to hide the IME we must first
wait for the IME to re-initialize editing on whatever input has
focus in the new window.

To address this, the change here tries to find a half-way point
between the two. We now do startInput() after windowGainedFocus()
only when this will result in the window being hidden.

It is not as easy as that, though, because these are calls on to
the system service from the application. So being able to do that
meant a fair amount of re-arranging of this part of the protocol
with the service. Now windowGainedFocus() is called with all of
the information also needed for startInput(), and takes care of
performing both operations. The client-side code is correspondingly
rearranged so that the guts of it where startInput() is called can
instead call the windowGainedFocus() entry if appropriate.

So... in theory this is safer than the previous change, since it
should not be impacting the behavior as much. In practice, however,
we are touching and re-arranging a lot more code, and "should" is
not a promise.

Change-Id: Icb58bef75ef4bf9979f3e2ba88cea20db2e2c3fb
nputmethod/InputMethodManager.java
00d0c14a0fe8e6dff8dd3e230ee4b61dd275f860 24-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Regression: Cannot query the content of certain windows.

1. A bad merge on my part caused ViewRootImpl not to register
for accessibility state change.

bug:6064348

Change-Id: Idf7b8b444e9021e9d9ec3749164cfe448c8268ab
iewRootImpl.java
afd5fab3ab001e90269dfef37d87e69e0e261826 24-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfos node properly cached.

1. AccessibilityNodeInfo were not cloned when cached
and obtained from the cache. This was causing a
problem when the client calls #recycle() as he
should since this results in wiping the data of
the cached node info.

bug:6026952

Change-Id: I5807b09d95ef6f310327192ff91f036adf337e33
ccessibility/AccessibilityNodeInfoCache.java
42d840b91d161fe98ebe3305f011b3b0f6d4561c 24-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing issues with the AccessibilityNodeInfo cache."
57c7fd5a43237afc5e8ef31a076e862c0c16c328 24-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing issues with the AccessibilityNodeInfo cache.

1. Before there were two caches one in the app process that
kept track only the ids of infos that were given to a
querying client and one in the querying client that
holds the infos. This design requires precise sync
between the caches. Doing that is somehow complicated
since the app has cache for each window and it has
to intercept all accessibility events from that window
to manage the cache. Each app has to have a cache for
each querying client. This approach would guarantee that
no infos are fetched twice but due to its stateful nature
and the two caches is tricky to implement and adds
unnecessary complexity. Now there is only one cache in
the client and the apps are stateless. The client is
passing flags to the app that are a clue what nodes to
prefetch. This approach may occasionally fetch a node
twice but it is considerably simpler and stateless
from the app perspective - there is only one cache.
Fetching a node more than once does not cause much
overhead compared to the IPC.

Change-Id: Ia02f6fe4f82cff9a9c2e21f4a36747de0f414c6f
ccessibilityNodeInfoCache.java
iewRootImpl.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityNodeInfoCache.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityInteractionConnection.aidl
cfef12374c15b11b3c2a1041582be9728152e15d 23-Feb-2012 Romain Guy <romainguy@google.com> Perform early intersect to avoid unnecessary draws

Change-Id: I48d61c4488e622f93733d8e53a50c93e6a20166d
ardwareRenderer.java
iewRootImpl.java
b7ee8e2cb427820f7ac0e7e91b40705601516e9b 23-Feb-2012 Michael Jurka <mikejurka@google.com> am 6ad5d69d: am 0a232673: am bf378fd7: Don\'t allow screen invalidations to go outside bounds of screen

* commit '6ad5d69da5cff2e4b5fb7acdb2699e2315b83307':
Don't allow screen invalidations to go outside bounds of screen
3fcf93b0371640efbb1b2d74b6f03207282299b1 23-Feb-2012 Scott Main <smain@google.com> am cb4ebcb2: am ce980d8e: am 68d97aa2: Merge "docs: fix broken link" into ics-mr1

* commit 'cb4ebcb20b8540cc8027ae03dd578ce3846e9af1':
docs: fix broken link
af88907d0e94335826bc88f20ba3dc0c92cdfafe 23-Feb-2012 Michael Jurka <mikejurka@google.com> am bf378fd7: Don\'t allow screen invalidations to go outside bounds of screen

* commit 'bf378fd7d7a91085685fe9e5528b84c485041c77':
Don't allow screen invalidations to go outside bounds of screen
0a232673370989f54e05fd2508ce90267a54abd1 23-Feb-2012 Michael Jurka <mikejurka@google.com> am bf378fd7: Don\'t allow screen invalidations to go outside bounds of screen

* commit 'bf378fd7d7a91085685fe9e5528b84c485041c77':
Don't allow screen invalidations to go outside bounds of screen
bf378fd7d7a91085685fe9e5528b84c485041c77 23-Feb-2012 Michael Jurka <mikejurka@google.com> Don't allow screen invalidations to go outside bounds of screen

Fixes invalidation issue in Launcher

Change-Id: Iab32149489aed6884e917f0ac5a548d4ae26896e
ardwareRenderer.java
c29f031598811486d83f418fd08fbfe1fc41788a 23-Feb-2012 Philip Milne <pmilne@google.com> Fix for bug 6050753.

The method:

TypedArray: getLayoutDimension(int, String)

throws an undocumented exception when either the width and/or height
attributes are undefined.

See the bug report above for reasons why this was deemed unhelpful both
in the tools area and to developers in general.

Fix by:

1. Documenting the conditions under which the method raises an exception.
2. Deprecating the method, advising callers to supply a default instead.

Additionally, redefine the:

ViewGroup: setBaseAttributes(TypedArray, int, int);

methods to provide the appropriate defaults in ViewGroup subclasses as
advised above.

For the platform layouts the default value is WRAP_CONTENT (and is
defined in the ViewGroup.LayoutParams class). The special cases
are accomodated in LayoutParams subclasses in the following cases:

Subclass width height

FrameLayout.LayoutParams: MATCH_PARENT, MATCH_PARENT
TableLayout.LayoutParams: MATCH_PARENT, WRAP_CONTENT
TableRow.LayoutParams: MATCH_PARENT, WRAP_CONTENT

Change-Id: I335a3bd8e2d7f7866692898ed73492635a5b61ea
ayoutInflater.java
iewGroup.java
2822111948d4a8c0632b1a3150051b8d27a63ee6 23-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Add check for no children in VIew hosting virtual view tree."
311a63af40e76925e21dcf273749dcab9d598ddd 23-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Add check for no children in VIew hosting virtual view tree.

1. For accessibility purposes View may report a virtual tree
rooted at them to convey the logical structure they draw.
These are usually custom Views. Such views cannot have
children and this patch adds a check for that.

bug:6022217

Change-Id: I3795a613b4aef1a7ec5810db8584a11b648870f2
iew.java
iewGroup.java
5b10e06a3e84dcfb6e8d38d458facbdc02699040 23-Feb-2012 Scott Main <smain@google.com> am 68d97aa2: Merge "docs: fix broken link" into ics-mr1

* commit '68d97aa2c1ff16f327491fed5afb8b318f034a01':
docs: fix broken link
ce980d8ea0c4747ee23b05dfcc7c02655f595fde 23-Feb-2012 Scott Main <smain@google.com> am 68d97aa2: Merge "docs: fix broken link" into ics-mr1

* commit '68d97aa2c1ff16f327491fed5afb8b318f034a01':
docs: fix broken link
68d97aa2c1ff16f327491fed5afb8b318f034a01 23-Feb-2012 Scott Main <smain@google.com> Merge "docs: fix broken link" into ics-mr1
5c4d41ecb3282fcd5798dd848b3e4d0cb2d2eccc 22-Feb-2012 Robert Ly <robertly@google.com> fix bug 5911175

Change-Id: I528e7c30e81c85ec31a5abbd74e85cc364a8362f
nimation/Animation.java
aff90790dff94eb9a4bed541eff4f106623afd09 22-Feb-2012 Jean-Baptiste Queru <jbq@google.com> am 4280891d: Merge "The bigger touch slop still has a problem"

* commit '4280891dbc2cf60bdf51726e0aa9265ccb64ec88':
The bigger touch slop still has a problem
5160e2a197624cc5d43b1cddec2341e8dc661ef1 22-Feb-2012 John Reck <jreck@google.com> Add null parent check to startActionMode

Bug: 6012515

Change-Id: I9f684bf0fd314285c4d4933ba2a7645f10c9dc7b
iew.java
5c9b4329f335b80ee3282b7ee1f1d27292173f24 22-Feb-2012 satok <satok@google.com> Merge "Refactor sentence level spell checking APIs"
d404fe110558bd2e1960b428db6a2ee8bfd040cd 21-Feb-2012 satok <satok@google.com> Refactor sentence level spell checking APIs

Support sentence level spell checking APIs: Step 1

Change-Id: I31c0b88e7885f33a0694ab60b8f2dbceeffe42f1
extservice/SentenceSuggestionsInfo.aidl
extservice/SentenceSuggestionsInfo.java
extservice/SpellCheckerSession.java
extservice/SuggestionsInfo.java
a6cdf86518ab0351bf64de3534f4d854534baa3b 22-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Improving accessibility APIs used for UI automation."
0d04e245534cf777dfaf16dce3c51553837c14ff 21-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Improving accessibility APIs used for UI automation.

1. UiTestAutomationBridge was accessing the root node in the
active window by tracking the accessibility event stream
and keeping the last active window changing event. Now
the bridge is stateless and the root node is fetched by
passing special window and view id with the request to
the system.

2. AccessibilityNodeInfos that are cached were not finished,
i.e. not sealed, causing exception when trying to access
their children or rpedecessors.

3. AccessibilityManagerService was not properly restoring its
state after the UI automation bridge disconnects from it.
I particular the devices was still in explore by touch mode
event if no services are enabled and the sutomation bridge
is disconnected.

4. ViewRootImpl for the focused window now fires accessibility
events when accessibility is enabled to allow accessibility
services to determine the current user location.

5. Several missing null checks in ViewRootImpl are fixed since
there were scenraios in which a NPE can occur.

6. Update the internal window content querying tests.

7. ViewRootImpl was firing one extra focus event.
bug:6009813
bug:6026952

Change-Id: Ib2e058d64538ecc268f9ef7a8f36ead047868a05
ccessibilityNodeInfoCache.java
iewRootImpl.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfo.java
4d6f066b19f654917bbbd4650a68bea79a471270 22-Feb-2012 Adam Powell <adamp@google.com> Have View call setPressed explicitly instead of just twiddling flags.

This allows apps to override setPressed to reliably observe changes in
pressed state for custom views.

Change-Id: I59f472a9d864f4abcc4f692fef0a13f004348432
iew.java
dac640f40350608158896fa2613836600c1e2339 20-Feb-2012 Masanori Ogino <ogino.masanori@sharp.co.jp> The bigger touch slop still has a problem

I had submitted the patch about this issue at
https://android-review.googlesource.com/#/c/20438/ before. But it
has never been included in any version.

In the latest implementation, touchSlop is a configurable value
which is declared in config.xml for each device. First of all,
the problem is that BiggerTouchSlop is not scalable and variable
value according to a configured touchSlop.

I don't think that there should be a new api in ViewConfiguration
for this. Because the bigger touch slop is a local threshold value
in GestureDetector. The only thing to be satisfied is that the
value should be bigger than configured touch slop and should not
be over double touch slop.

Change-Id: I2c6662400fcffb4a7192ede4ac8da08559aa7948
estureDetector.java
e8585b1721b84798c4e7413939fd085f7a39bc0e 18-Feb-2012 Romain Guy <romainguy@google.com> Correctly offset the dirty bounds by 0.5px in every direction

The existing code was behaving differently for the leaf view and its parents.

Change-Id: I14c1ce5cc149ff840ad957408d6a41bbb4137264
iewGroup.java
539ee8716b4f81260bab2e9f3dc5d88d81c99985 04-Feb-2012 Adam Powell <adamp@google.com> Add transient state tracking to Views

Transient state is temporary bookkeeping that Views need to perform
that the app should not need to be aware of. Examples include text
selection regions and animation state.

Transient state is a problem for AdapterViews like ListView that do
view recycling. Unless the app takes responsibility for tracking and
restoring transient state as if it were a part of the adapter's data
set, it cannot correctly recycle views. Selections disappear when an
EditText is scrolled out of sight and animations seem to play on the
wrong views.

Views can now flag themselves as having transient state. (As the name
implies, this should be a temporary condition.) If a ViewGroup
contains a child with transient state, that ViewGroup also has
transient state.

AbsListView's recycler now tracks views with transient state
separately. Views with transient state will be retained, and until a
data set change occurs the same view will be reused for that position
instead of calling the adapter's getView() method.

The API to set and check transient state is currently hidden.

Change-Id: Idfd8eaac2c548337686d8d9f98fda4c64be5b8a0
iew.java
iewGroup.java
iewParent.java
iewRootImpl.java
6917e6550d2dc11ad3b794be08cc9caa53970d32 18-Feb-2012 Romain Guy <romainguy@google.com> Merge "Record possible clip rejects when recording display lists"
ef0314b2c693c6cfa34680a784210dfb540fe36c 17-Feb-2012 Scott Main <smain@google.com> docs: fix broken link

Change-Id: I13e29ec18bb503ea33ee59d187f588c5be8fd109
ctionMode.java
33f6beb10f98e8ba96250e284876d607055d278d 17-Feb-2012 Romain Guy <romainguy@google.com> Record possible clip rejects when recording display lists

This optimization allows us to quickly skip operations that lie
entirely outside of the known bounds of a display list. Because
of ViewGroup.setClipChildren, we must keep the operations recorded
in the display list. setClipChildren(false) is however a very
uncommon operation and we will therefore often benefit from this
new optimization.

Change-Id: I0942c864e55298e6dccd9977d15adefbce3ba3ad
isplayList.java
LES20Canvas.java
LES20RecordingCanvas.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
iewGroup.java
2bf372888c681f172991d0077faa11bb955b97c2 17-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Mark input and sensor messages as asynchronous."
50eb3b9bf9bf0b014ad19066951b6c1dffd4e3f3 17-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Encapsulate the ViewRootImpl's handler."
101d5aade4a280a4c553e3ef3aa24faf388a207f 17-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix #5050417 Update View class Javadoc for padding start / end

Change-Id: Iec9533616d94e4a738378bafeb1867dd74e53127
iew.java
e0dbd002750856e55d637e883b629e09adfc8a4e 16-Feb-2012 Jeff Brown <jeffbrown@google.com> Mark input and sensor messages as asynchronous.

Set a barrier on traversals.

Vsync is still not enabled by default in this patch so there
should be no observable effect from these changes.

Change-Id: Ie12081b95a8f1e81ed686edf747cc62f2e044b7e
horeographer.java
iewRootImpl.java
nputmethod/BaseInputConnection.java
30e2fbe0d2565952928feaf9d3d9194340113af4 17-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve textDirection APIs"
add3239ffbf5c2c6e453e19e7d91ff935cd73f0c 17-Feb-2012 Romain Guy <romainguy@google.com> Merge "Ensure we always reset graphics modifiers Bug #6025838"
445c83c7755fae179cf3328e89307e2775e97a5e 17-Feb-2012 Romain Guy <romainguy@google.com> Ensure we always reset graphics modifiers
Bug #6025838

If a modifier is setup and not reset crashes can occur.

Change-Id: I715524fb46928f1f06499cc1402499ef59f4a050
LES20Canvas.java
6d3d5057b445069e73fd06adbc11fa412e7c48c3 16-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Improve textDirection APIs

Change-Id: I8bff30f5adb0ab4077145d83ac4a716e04f289ac
iew.java
iewGroup.java
069bbe79fbb35b7cc09048118cf42a929be0ed31 17-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix Javadoc for View

Change-Id: Iccae458320273253637017c6f32329150bae479e
iew.java
a3b5f6c29b44d6409e44317c6469a119ba547608 16-Feb-2012 Dianne Hackborn <hackbod@google.com> am 804aa297: am 01810bbb: am 06a591cd: Fix last change -- don\'t call startInputInner() with lock held.

* commit '804aa297950949985882e4841303cd6e12fae06e':
Fix last change -- don't call startInputInner() with lock held.
700327e115fad12cb8ebb1d801e65acfe128edf1 16-Feb-2012 Dianne Hackborn <hackbod@google.com> am 06a591cd: Fix last change -- don\'t call startInputInner() with lock held.

* commit '06a591cdd6d90600db006906d5d1524d156d6529':
Fix last change -- don't call startInputInner() with lock held.
23677064730117feefff3d477ecf5f93baf28704 16-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add View.onResolvePadding() as a public API"
06a591cdd6d90600db006906d5d1524d156d6529 16-Feb-2012 Dianne Hackborn <hackbod@google.com> Fix last change -- don't call startInputInner() with lock held.

Change-Id: Ie7a145c5a07f08ae8a3f5954a1c389bfbd946b69
nputmethod/InputMethodManager.java
9d7b99976f1571cf398808038abc1d69fb897967 16-Feb-2012 Justin Ho <justinho@google.com> am 09170888: am cc1bd4bb: am c470b2dd: Merge "Part of fixing issue #6006757: Keyboard dismissal lags" into ics-mr1

* commit '09170888cbc501cd9819b1caccc99592bc6dd73f':
Part of fixing issue #6006757: Keyboard dismissal lags
3c522fdcd2d837c8bb3d7e2c20a9468ad1a636c1 16-Feb-2012 Justin Ho <justinho@google.com> am c470b2dd: Merge "Part of fixing issue #6006757: Keyboard dismissal lags" into ics-mr1

* commit 'c470b2dd49ae2c4894de22f7bdd9f91af1a085f8':
Part of fixing issue #6006757: Keyboard dismissal lags
a175a5b7ea3682cb58cca7f9726d0b8171cd549d 16-Feb-2012 Jeff Brown <jeffbrown@google.com> Encapsulate the ViewRootImpl's handler.

This change makes it much easier to make sense of the messages that
get posted to the ViewRootImpl's handler by encapsulating their point
of dispatch within the ViewRootImpl itself.

As part of this change, the View.AttachInfo now carries a reference
to the ViewRootImpl itself, which simplifies some code that used
to try to find the ViewRootImpl by getting the root view's parent.

In principle, it might have been nice to hide the ViewRootImpl from
the View hierarchy but in practice the two were coupled in many ways.

Change-Id: I51ebccdf5f8c8c505cd6f17cdf594174d041dc54
urfaceView.java
iew.java
iewDebug.java
iewRootImpl.java
nputmethod/BaseInputConnection.java
nputmethod/InputMethodManager.java
a82ba54b0bbc3ff41f29db3998806cb45b261d58 16-Feb-2012 Dianne Hackborn <hackbod@google.com> Part of fixing issue #6006757: Keyboard dismissal lags

This adjust various paths through InputMethodManager so that the flow
in switching focus from one application to another is cleaner, resulting
in less work being done, resulting in it being able to happen quicker.

Some of the changes here avoid doing stuff when not needed, such as when
we are told to unbind but are not currently the active input. A big part
is also a change to the flow when a window receives input. Previously
this would first do a checkFocus() which would tell the input method to
switch focus to whatever view has focus in the window, followed by the
windowGainedFocus() call telling it the window had gained focus. This
would result in extra work because the input method service would first
handle the focus switch, seeing the IME is currently displayed, so the IME
would remain up and reset its focus to the new view. The app would
immediately then tell it about the window, causing the service to find out
the IME should be hidden and telling the IME, but the IME couldn't hide
itself until it had first take care of switching its input.

There is the definite potential of this breaking IME showing/hiding in
cases depending on the order things may be relying on them to happen. I
haven't seen any problems with a brief trip through the UI.

Change-Id: I8494cbd6e19e2ab6db03f2463d9906680dda058b
nputmethod/InputMethodManager.java
f7280ccbfe6d71686a4e609ee7628f84e514a32d 16-Feb-2012 Romain Guy <romainguy@google.com> Merge "Add a compile time condition to remove unnecessary code"
fe455af277183f910eb74653a3ad172c717e7abf 16-Feb-2012 Romain Guy <romainguy@google.com> Add a compile time condition to remove unnecessary code

Change-Id: Ia44916af8e22e548fbb62cb2b53da285d5959102
iew.java
iewGroup.java
ccb1562e90d955416b9096d802464e37925486ef 16-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Add View.onResolvePadding() as a public API

- following a comment from Dianne on this CL:

Change-Id: Ifa11d6ac423f205d0684297d25885eac1a89f279
https://android-git.corp.google.com/g/#/c/123009/1
iew.java
57ff581bd9b16a192a567f84d0e0a5c82d866343 16-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Keep the display event receiver around forever."
1654d0b8d9ba477a0134338838b6e5921f1aabb8 16-Feb-2012 Jeff Brown <jeffbrown@google.com> Keep the display event receiver around forever.

There is really no point disposing the display event receiver
anymore. Moreover, it's hard to choose a good time to do it
since the Choreographer only supports one-shot callbacks now.

So let's made the code simpler.

Bug: 5721047
Change-Id: I8533a54e93a787e0ca30d99a1f1eea85534b13b9
horeographer.java
c4c0a22ae982af65a16ef93d0cd3bc72149e9bfa 16-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Simplify Choreographer API."
4a06c8008b2edd6677f9a411af79b0a4971b87fe 16-Feb-2012 Jeff Brown <jeffbrown@google.com> Simplify Choreographer API.

Removed the listeners and schedule animation / draw methods.
Instead all requests are posted as one-shot callbacks, which is a
better match for how clients actually use the Choreographer.

Bug: 5721047
Change-Id: I113180b2713a300e4444d0d987f52b8157b7ac15
horeographer.java
iewRootImpl.java
54546f22fbec63f8c12e56fa7109706a1bbc4e7b 15-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Make MarginLayoutParams startMargin and endMargin API public

Change-Id: I519f8ede818b068883ee1565d28e188298af9f0e
iewGroup.java
2c884826b23e5c8cd3c9497a781c631927b74819 15-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Make View paddingStart and paddingEnd API public

Change-Id: I39fd987c866e8bfadbaa9a29c0e38b3b7ce03f7e
iew.java
cb1abb15a7f98a90fedb9bcce081d4a617ed82f8 15-Feb-2012 Romain Guy <romainguy@google.com> Merge "Make it easier to enable dirty regions debugging"
b04f7e9438e8f73081f9be3fda166098042263a5 15-Feb-2012 Romain Guy <romainguy@google.com> Make it easier to enable dirty regions debugging

adb shell setprop hwui.debug_dirty_regions true

Change-Id: Ifd269c443f5257b1e9c4ea987b134dcf6231106c
ardwareRenderer.java
fef3d62b16bccd9ef7a32c2e1da94f694b34c405 15-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Add support for posting Runnables to the Choreographer."
968588573cf516fd8cf33c133d06f06c67ca1785 14-Feb-2012 Jeff Brown <jeffbrown@google.com> Add support for posting Runnables to the Choreographer.

Also clean up the Choreographer so that it doesn't directly extend
Handler and so that it doesn't schedule animation or drawing unless
there are listeners or callbacks attached.

Bug: 5721047
Change-Id: I35350c8d41d4fa3f8c8c7bc43edd82e581b55a68
horeographer.java
b36a0ac9709e9e1c7098559c0435cfbdc09e6c46 15-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Incorrect behavior of View clear focus v2.0.

The framework tries to have a focused view all the time. For
that purpose when a view's focus is cleared the focus is given
to the first focusable found from the top. The implementation
of this behavior was causing the following issues:

1. If the fist focusable View tries to clear its focus it
was getting focus but the onFocusChange callbacks were not
properly invoked. Specifically, the onFocusChange for
gaining focus was called first and then the same
callback for clearing focus. Note that the callback
for clearing focus is called when the View is already
focused.

2. If not the first focusable View tries to clear focus,
the focus is given to another one but the callback
for getting focus was called before the one for clearing,
so client code may be mislead that there is more than
one focused view at a time.

3. (Nit) The implementaion of clearFocus and unFocus in ViewGroup
was calling the super implementaion when there is a
focused child. Since there could be only one focused View,
having a focused child means that the group is not focused
and the call to the super implementation is not needed.

4. Added unit tests that verify the correct behavior, i.e.
the focus of the first focused view cannot be cleared
which means that no focus change callbacks are invoked.
The callbacks should be called in expected order.
Now the view focus clear precedes the view focus gain
callback. However, in between is invoked the global
focus change callback with the correct values. We may
want to call that one after the View callbacks. If
needed we can revisit this.

Change-Id: I8cfb141c948141703093cf6fa2037be60861cee0
iew.java
iewGroup.java
iewRootImpl.java
dd29f8c4e3db3338bc055302145c3bc51a27566f 15-Feb-2012 Amith Yamasani <yamasani@google.com> Merge "Revert "Incorrect behavior of View clear focus.""
73eb97f628b298c7bd032aa9db11dadf05f5b539 15-Feb-2012 Amith Yamasani <yamasani@google.com> Revert "Incorrect behavior of View clear focus."

This reverts commit c6fd88e213703a581fe4680259981f09ae0444f2
iew.java
iewGroup.java
iewRootImpl.java
d7c845c39a5585bd23952639d1a03f2fa603a0f1 14-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make textDirection API public"
bcca79acb1ed31238a80079930bc69f8b9d8cceb 14-Feb-2012 Chet Haase <chet@google.com> Refactor animation code in new Draw() method into its own method.

Ongoing cleanup of View drawing code, continuation of drawChild() refactoring.

Change-Id: I6d7383bb858d39ced6917d559defe7713e53de38
iew.java
iewGroup.java
4212d3fc736712d6e5fb69d5067ce8d9a83806ef 14-Feb-2012 Chet Haase <chet@google.com> Merge "Refactor ViewGroup.drawChild() into View.draw()"
a9daa164a58fc70d08702787e69a56212f5ad8c9 14-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix possible races in vsync infrastructure."
58aedbc9bea13415e2d42cf7c9fe8a7efd243e66 14-Feb-2012 Jeff Brown <jeffbrown@google.com> Fix possible races in vsync infrastructure.

Applications sometimes crashed on exit due to the display event
receiver pipe apparently being closed while still a member of the
Looper's epoll fd set.

This patch fixes a few different possible races related to
the display event receiver lifecycle.

1. The receiver used to play a little dance with the Looper,
registering and unregistering its callback after each vsync
request. This code was a holdover from a time before the
surface flinger supported one-shot vsync requests, so we can
get rid of it and make things a lot simpler.

2. When the Choreographer is being accessed from outside the UI
thread, it needs to take great care that it does not touch
the display event receiver. Bad things could happen if the receiver
is handling a vsync event on the Looper and the receiver is
disposed concurrently.

3. It was possible for the Choreographer to attempt to dispose
the receiver while handling a vsync message. Now we defer disposing
the receiver for a little while, which is also nice because we
may be able to avoid disposing the receiver altogether if we find
that we need it again a little while later.

Bug: 5974105
Change-Id: I77a158f51b0b689af34d07aee4245b969e6260d6
horeographer.java
isplayEventReceiver.java
ccdc6a6accdc898ade946b6aada6f15f45192b98 14-Feb-2012 Romain Guy <romainguy@google.com> Merge "New debugging tool in adb shell dumpsys gfxinfo"
a676ad7e34c9afbaafaeca8c3fe96e95c518828e 14-Feb-2012 Romain Guy <romainguy@google.com> New debugging tool in adb shell dumpsys gfxinfo

This tool lets you visualize the time it took, in ms, to:
- Build display lists ("Draw" phase)
- Process display lists ("Process" phase)
- Swap GL buffers ("Execute" phase)

To use this tool:
- adb shell setprop hwui.profile true
- adb shell dumpsys gfxinfo <process name>
- Copy the profile data and paste it in a spreadsheet
- Generate a graph (stacked graph) and enjoy

Change-Id: I7840c0ea0f153550425aa798e3ada2f357688cf5
ardwareRenderer.java
indowManagerImpl.java
e7beae3f4c9c170c7c6c42cf9b572f0ee1ec9c81 14-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Make textDirection API public

Change-Id: I2d5a0e3a990b9a5b78a3bbc8df7f655702743e4b
iew.java
64a48c1d3daca9e0565f2aa4d56f6e94ea073d9b 14-Feb-2012 Chet Haase <chet@google.com> Refactor ViewGroup.drawChild() into View.draw()

Some of the ongoing and upcoming jank work involves having
Views optimize their rendering. For example, it would be more
efficient for native display lists to be able to redraw themselves with
updated transform/alpha properties than it would be to do it the
way we do now, which causes view hierarchy invalidation and display
list recreation.

In order to do this, we need to push more intelligence for view
rendering into the Views themselves, rather than the complicated
mechanism we have now of ViewGroup handling some View properties
(transforms and alpha) and the Views handling the rest of their
rendering.

The first step toward this is to take the current drawChild() method
and push it into a new, package-private method in View that does the
same thing.

Future checkins will refactor the code further, simplifying it and
eventually optimizing around view property changes.

Change-Id: Id44b94536fc3ff80b474db7ef06862f4f51eedce
iew.java
iewGroup.java
d7dd89095ff2041f0793317c4ee8e8be49388148 27-Jan-2012 Philip Milne <pmilne@google.com> New hooks to allow layouts to improve their performance by doing more caching

This change allows layouts to be notified of changes to LayoutParameters that have occurred
between layout operations.

If an assignment is made to the fields of LayoutParams instances that are already in use,
cachced data may become inconsistent with the new values. For complex layouts, like
GridLayout, in which the layout parameters define the structure of the layout, caching
could have caused ArrayOutOfBoundsException to be raised without this change. This case is
rare in normal code as initialisation is typically performed once. Its nevertheless possible
and much more likely in environments like design tools where layout parametrs may be being
edited on the fly.

Prevent errors as follows (belt and braces):

1. Change javadoc to request that changes to the fields of LayoutParams be accompanied with
a call to View.setLayoutParams(). (This calls requestLayout() which was what the previous
javadoc advised.) Provide a (for now, private) hook for layouts with caches to receive notification
of such calls so they can invalidate any relevant internal state.

2. For GridLayout, we cannot clone layout parameters as traditional Java grids do without retaining
two complete copies because of the public getLayoutParameters() method on View. Retaining two
copies is wasteful on constrainted devices. Instead, we keep just one copy and compute a hashCode
for the critical fields of a GridLayout's layoutParams. The hashChode is checked it prior to all
layout operations; clearing the cache and logging a warning when changes are detected, so that
developers can fix their code to provide the call to setLayoutParams() as above.

Change-Id: I819ea65ec0ab82202e2f94fd5cd3ae2723c1a9a0
iew.java
iewGroup.java
072ec96a4900d4616574733646ee46311cb5d2cb 07-Feb-2012 Jeff Brown <jeffbrown@google.com> Implement batching of input events on the consumer side.

To support this feature, the input dispatcher now allows input
events to be acknowledged out-of-order. As a result, the
consumer can choose to defer handling an input event from one
device (because it is building a big batch) while continuing
to handle input events from other devices.

The InputEventReceiver now sends a notification when a batch
is pending. The ViewRoot handles this notification by scheduling
a draw on the next sync. When the draw happens, the InputEventReceiver
is instructed to consume all pending batched input events, the
input event queue is fully processed (as much as possible),
and then the ViewRoot performs traversals as usual.

With these changes in place, the input dispatch latency is
consistently less than one frame as long as the application itself
isn't stalled. Input events are delivered to the application
as soon as possible and are handled as soon as possible. In practice,
it is no longer possible for an application to build up a huge
backlog of touch events.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
nputEventReceiver.java
iewRootImpl.java
d4762334f103055b3aa59d97d027ace7c5950b6e 13-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Process input events immediately when received."
ce952c8e13c535bedde77bcdb94dfcc7508475aa 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Signed-off-by: Mike Lockwood <lockwood@android.com>
olumePanel.java
4767690f09ea3447b8c5c32fb28d27650aa18e00 08-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.

This allows Music2 and other media apps to control master volume without changing their code

Bug: 5567694

Signed-off-by: Mike Lockwood <lockwood@android.com>
olumePanel.java
8dc1dabd254249b7ddb8743e88fdb96580ffc585 27-Oct-2011 Mike Lockwood <lockwood@android.com> VolumePanel: Add support for master volume

Signed-off-by: Mike Lockwood <lockwood@android.com>
olumePanel.java
59d46b06653b5f55c2f26d3ff8d642ffda0cecd8 10-Feb-2012 satok <satok@google.com> Merge "Add an api to switch to the next IME and subtype"
688bd47fccf1a1373e6287bc49b5b33fad12b7f3 09-Feb-2012 satok <satok@google.com> Add an api to switch to the next IME and subtype

Bug: 5975302

Change-Id: I48aa4220159c65f456d61a324efcdf0a1ceec91c
nputmethod/InputMethodManager.java
bc52cce276b6238e8f30f71a0dcf24209481261e 08-Feb-2012 Romain Guy <romainguy@google.com> Better error message when drawing with recycled bitmaps

Change-Id: Ie8332261c4376f270ea630d775210198c0196447
LES20Canvas.java
f9261d20b3773f9785d98f32f62ccfedefba8083 03-Feb-2012 Jeff Brown <jeffbrown@google.com> Process input events immediately when received.

Reduce the latency for handling input events by ensuring that they are
handled as soon as they are received from the dispatcher. This also
makes it easier for the input system to intelligently batch motion events.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420
Change-Id: I0b3f6cbb3de5ac3c4eed35dfc774d6bd4a0b07fc
iewRootImpl.java
68c02e25e84e9814d313b43680631b98e25fa6d5 08-Feb-2012 Romain Guy <romainguy@google.com> Merge "Preliminary support for clipRect(Rect, Op)"
967e2bf3ac8943a8e8a374bf86021915445cda67 08-Feb-2012 Romain Guy <romainguy@google.com> Preliminary support for clipRect(Rect, Op)

This adds basic support for clip regions. It is currently disabled at compile
time. Enabling clip regions will require setting up a stencil buffer.

Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
iew.java
61ac6bb250494db602b485491a493b64776eaf3b 03-Feb-2012 Craig Mautner <cmautner@google.com> Extract code from performLayoutAndPlaceSurfacesInnerLocked() into multiple methods.

Change-Id: I80152c38741ce73b92da9483cfed84efbac34f89
indowManagerPolicy.java
f492b43f45cf9eab2e11067ea5462f171b100504 04-Feb-2012 Chet Haase <chet@google.com> Merge "Make the TimeAnimator class public."
a33de55404eb2133d1bae2add3f6e8708459f56d 04-Feb-2012 Chet Haase <chet@google.com> Make the TimeAnimator class public.

This class has existed since ICS, but was hidden. This change
just makes it public API.
Also, cleaned up some internal javadocs.

Change-Id: Id69408446ced183e01d2b065a67397eb305d9665
iew.java
87d0b03f1f16590ff261ae30441e838ae5446e84 03-Feb-2012 Jeff Brown <jeffbrown@google.com> Make the Choreographer thread-safe.

Change-Id: Ieb52cf3b8086e7cf743b45a8b92d4bd5957f43ee
horeographer.java
a553113a1f88e112b0999c12c7c2e8d724ed7fa8 02-Feb-2012 Chet Haase <chet@google.com> Fix bug in LayoutTransition that caused views to stay invisible

LayoutTransition side-effects the alpha property on View to fade views
in and out. This works fine if the layout transition is always used on
those views' container. But if you fade out a disappearing view and then
set the transition to null on the container and set that view to VISIBLE,
there is no transition logic to restore the alpha value to 1 (opaque).

The fix is to always restore alpha to its pre-animation value when fading
the view out.

Also, added extra info to alpha and the various View transform properties
to help hierarchyviewer debugging.

Issue #5958434: LayoutTransition temporary disablement may leave some views invisible

Change-Id: I3c21b0e7334dc29c10c5e372b589f0e2b59c2883
iew.java
659793bcd0e0d08306d841f3836a891e56e4e756 02-Feb-2012 Chet Haase <chet@google.com> Merge "Add Developer Option setting for Animator scaling."
306eed22e58381bbd694e3a297adc2313cc50c85 02-Feb-2012 Dianne Hackborn <hackbod@google.com> Merge "Use Choreographer for window manager animation timing."
c38fa1f63674971f9ac6ced1a449fb81026b62f7 02-Feb-2012 Chet Haase <chet@google.com> Add Developer Option setting for Animator scaling.

This new setting allows users to set a scale factor for the
duration and startDelay of all Animator-based animations. This
setting is very similar to the Transition animation scale and
Window animation scale settings, except this one applies specifically
to Animator animations. The property is only accessible by users
through the Settings UI, not programmatically. The value applies
system-wide and is picked up per-process at the time of the first
ValueAnimator construction.

This is an update to a previous CL; this approach uses the WindowManager
to store the animator scale settings, instead of SystemProperties.

Change-Id: I8295fab060aa6d597ae507ded8f9c9d6077be966
iewRootImpl.java
4e921197e26b64a6fdc0ab896922b72d8565b427 02-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Update the comment for View#clearFocus"
13fd561848ec43573d4cfeec899b4d308841c251 02-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Update the comment for View#clearFocus

Change-Id: I779f94e88821574c74e5e76d99ae555a47042c12
iew.java
bbf1bc8b6c3348265930ce08506efbbd3c5ab61f 02-Feb-2012 Romain Guy <romainguy@google.com> Merge "Add optional metadata to initiliaze the render threat."
211370fd943cf26905001b38b8b1791851b26adc 02-Feb-2012 Romain Guy <romainguy@google.com> Add optional metadata to initiliaze the render threat.

The render threat is likely to break your application if you initiate it.
As such it must be explicitely requested using the following meta-data
tag in your manifest's application tag:

<meta-data android:name="android.graphics.renderThread" android:value="true" />

Change-Id: Ibf0a48af2a0d091562bf6907eac970e3d1d601c4
iewRootImpl.java
indowManagerImpl.java
8bcd54b98ad5d98d47364ff14e06910deadf9302 01-Feb-2012 Dianne Hackborn <hackbod@google.com> Use Choreographer for window manager animation timing.

Change-Id: Ic34aff698c63d383ecd06af7da9957475683a1db
horeographer.java
2eecea3b48ece6f45b30fef9b41dc20075ccc94f 01-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Speedup the accessibility window querying APIs and clean up."
0f4dc8f7d762f3ceab91e7b3a24bcb88989c7190 01-Feb-2012 Scott Main <smain@google.com> am 414cc6cf: am 9af875ec: am 5e095939: docs: update menu guide with CAB and popup menu, plus many other revisions

* commit '414cc6cfcdb6d766d095f0af1da76e7da946af84':
docs: update menu guide with CAB and popup menu, plus many other revisions
3cc4ee6c2915aa741353c73190ec98569077acfe 01-Feb-2012 Scott Main <smain@google.com> am 5e095939: docs: update menu guide with CAB and popup menu, plus many other revisions

* commit '5e0959393426371dadef2c7905d5c915a1ac2dd4':
docs: update menu guide with CAB and popup menu, plus many other revisions
5e0959393426371dadef2c7905d5c915a1ac2dd4 16-Dec-2011 Scott Main <smain@google.com> docs: update menu guide with CAB and popup menu, plus many other revisions

Change-Id: I5faedd5f5b812ca58eb2085b0c036570de861f15
ctionMode.java
c1ca665827f0c34419a55c005254c1aaa0d58b40 31-Jan-2012 Chet Haase <chet@google.com> Add new ViewPropertyAnimator utility methods

Users have requested the ability to sequence ViewPropertyAnimator
animations. it is not possible with AnimatorSet, which only takes objects
of type Animator (which VPA does not extend). But the AnimatorSet model
is not appropriate for VPA anyway, since it is not possible to set up
a VPA ahead of time to start later; it's just not the way that VPA is
intended to work.

Instead, there are now two new methods on VPA, onStart() and onEnd(). These
methods take a Runnable which is executed when the animation starts or ends.
These methods should allow other VPAs or other arbitrary code to execute at the
start or finish of any particular VPA animation, allowing simple sequencing
without the overhead of creating listeners and monitoring the cancelation status
of the VPA.

Additionally, this change adds a new method withLayer() which sets a hardware
layer on the VPA's target view for the duration of the animation. This
was already possible, but required writing boilerplate code to create a listener
and override the start/end methods to add and remove the layer. This utility method
makes this common use case much simpler and less error-prone.

Change-Id: I819978517e17c647ffb7028063cd0adde68ff691
iewPropertyAnimator.java
1e56fff3b90946b342ddabf68648dc3551ce47db 31-Jan-2012 Romain Guy <romainguy@google.com> Merge "Add debug markers to OpenGLRenderer"
13631f3da855f200a151e7837ed9f6b079622b58 31-Jan-2012 Romain Guy <romainguy@google.com> Add debug markers to OpenGLRenderer

These markers will be used to group the GL commands by View in the
OpenGL ES debugging tool. This will help correlate individual GL
calls to higher level components like Views.

Change-Id: I73607ba2e7224a80ac32527968261ee008f049c6
LES20Canvas.java
LES20DisplayList.java
ardwareRenderer.java
iew.java
12df3cf156885a421beccfa6b6e20fd1a188847a 31-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Incorrect behavior of View clear focus."
530041d3191ce817832a0108514617768e43cda6 26-Jan-2012 Romain Guy <romainguy@google.com> Add stencil buffer to the EGL config

Change-Id: If76c0cd6127534d90f9526b75c0f8e56259c6722
LES20Canvas.java
ardwareRenderer.java
0d29936ec3b5545a415e8d032150ea987aab36e3 26-Jan-2012 Chet Haase <chet@google.com> Fix bug in LayoutTransition for INVISIBLE views

When a view is becoming VISIBLE or INVISIBLE in a container with a
LayoutTransition, animations run to fade the view in and out and also
to run 'changing' animations on the view's other siblings. This logic
also cancels any running 'changin' animations to account for new ones
running.

However, in the specific case of INVISIBLE changes, there will be no
layout changes in the container - layout has already accounted for that
view (unlike in the case of GONE views); the visibility is just a matter of
drawing the view (or not). Therefore, we're canceling 'changing' animations
that should continue running and not replacing them with any other animations,
since new animations would only be started on layout chnages which are not
forthcoming.

One artifact seen from this bug is that the navigation bar buttons sometimes
disappear when changing orientation. This is because the menu button may
toggle between VISIBLE and INVISIBLE, causing animations on the other
buttons to get canceled, which leaves those views in a completely wrong
state.

The right thing to do is to avoid canceling in-process 'changing' animations
and to skip the logic of setting up new 'changing' animations which won't fire
anyway.

There is some minor API work in here because we did not previously have the
necessary information in LayoutTransition to know whether a view was being
hidden or shown to/from the INVISIBLE state.

Issue #5911213: LayoutTransitions ending in an odd state

Change-Id: I5c60c8583c8ea08965727b4ef17b550c40a3882c
iew.java
iewGroup.java
53f2d55740c50507797475a2f7186421c0ada2d1 19-Dec-2011 Chet Haase <chet@google.com> Fix old issue with compatibility-scaled apps and Animations

Previously, we'd pass in a scale factor (based on whether the app was
being scaled by the compatibility mode) to Animation.getTransformation().
This scales the pivot point of the animation based on thes cale factor.
However, the pivot points were already using information that took the
compatibility mode scale into account. For example, using ABSOLUTE and basing
pixel values on the width/height of the view would give you values relative to the
width/height of the view (pre-scaled). Using RELATIVE_TO_* would use percentages
for the pivot point, again taking the scaling of the view into account. So scaling
the pivot point added in another scale on top of that already being applied.

The net effect was to scale the pivot point in cases where it should not be scale.
For example, setting a pivot point to half-way (.5 and RELATVE_TO_SELF) would
end up with an animation that would pivot around the bottom/right of the view.

The fix is to simply remove the scale factor being passed in; we've already accounted
for it in the pivot point, so we shouldn't concatenate it into the transform
calculated by the animation.

Change-Id: I9daa7581b1b9d0dfb10515e96947160c28c5130e
iewGroup.java
c6fd88e213703a581fe4680259981f09ae0444f2 26-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Incorrect behavior of View clear focus.

The framework tries to have a focused view all the time. For
that purpose when a view's focus is cleared the focus is given
to the first focusable found from the top. The implementation
of this behavior was causing the following issues:

1. If the fist focusable View tries to clear its focus it
was getting focus but the onFocusChange callbacks were not
properly invoked. Specifically, the onFocusChange for
gaining focus was called first and then the same
callback for clearing focus. Note that the callback
for clearing focus is called when the View is already
focused. Also note that at the end the View did not
clear its focus, hence no focus change callbacks
should be invoked.

2. If not the first focusable View tries to clear focus,
the focus is given to another one but the callback
for getting focus was called before the one for clearing,
so client code may be mislead that there is more than
one focused view at a time.

3. (Nit) The implementaion of clearFocus and unFocus in ViewGroup
was calling the super implementaion when there is a
focused child. Since there could be only one focused View,
having a focused child means that the group is not focused
and the call to the super implementation is not needed.

4. Added unit tests that verify the correct behavior, i.e.
the focus of the first focused view cannot be cleared
which means that no focus change callbacks are invoked.
The callbacks should be called in expected order.
Now the view focus clear precedes the view focus gain
callback. However, in between is invoked the global
focus change callback with the correct values. We may
want to call that one after the View callbacks. If
needed we can revisit this.

Change-Id: Iee80baf5c75c82d3cda09679e4949483cad475f1
iew.java
iewGroup.java
iewRootImpl.java
3f696b264e4a3dd28421e9e1a58fe2c6241f48e4 26-Jan-2012 Gilles Debunne <debunne@google.com> Merge "Unbalanced batch edit begin and end leave TextView unresponsive"
842e379074e069d0273711399f45a2d7109f9e64 25-Jan-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Update Javadoc for InputConnection.deleteSurroundingText()"
39d23bddef15cd3f5fd2f336afe193c912d32ac3 25-Jan-2012 Fabrice Di Meglio <fdimeglio@google.com> Update Javadoc for InputConnection.deleteSurroundingText()

- give more precision about how the text is considered

Change-Id: Ie2f09bb3338e7dc0e98da0595d1500a6352d09d3
nputmethod/InputConnection.java
b335fad4705348ff78d764fb4be53dcbe6b67abe 16-Jan-2012 Jamie Gennis <jgennis@google.com> hack up frame latency measurement

Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
ardwareRenderer.java
79311c4af8b54d3cd47ab37a120c648bfc990511 18-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Speedup the accessibility window querying APIs and clean up.

1. Now when an interrogating client requires an AccessibilibtyNodeInfo
we aggressively prefetch all the predecessors of that node and its
descendants. The number of fetched nodes in one call is limited to
keep the APIs responsive. The prefetched nodes infos are cached in
the client process. The node info cache is invalidated partially or
completely based on the fired accessibility events. For example,
TYPE_WINDOW_STATE_CHANGED event clears the cache while
TYPE_VIEW_FOCUSED removed the focused node from the cache, etc.
Note that the cache is only for the currently active window.
The ViewRootImple also keeps track of only the ids of the node
infos it has sent to each querying process to avoid duplicating
work. Usually only one process will query the screen content
but we support the general case. Also all the caches are
automatically invalidated so not additional bookkeeping is
required. This simple strategy leads to 10X improving the
speed of the querying APIs.

2. The Monkey and UI test automation framework were registering a
raw event listener for accessibility events and hence perform
connection and cache management in similar way to an AccessibilityService.
This is fragile and requires the implementer to know internal framework
stuff. Now the functionality required by the Monkey and the UI automation
is encapsulated in a new UiTestAutomationBridge class. To enable this
was requited some refactoring of AccessibilityService.

3. Removed the *doSomethiong*InActiveWindow methods from the
AccessibilityInteractionClient and the AccessibilityInteractionConnection.
The function of these methods is implemented by the not *InActiveWindow
version while passing appropriate constants.

4. Updated the internal window Querying tests to use the new
UiTestAutomationBridge.

5. If the ViewRootImple was not initialized the querying APIs of
the IAccessibilityInteractionConnection implementation were
returning immediately without calling the callback with null.
This was causing the client side to wait until it times out. Now
the client is notified as soon as the call fails.

6. Added a check to guarantee that Views with AccessibilityNodeProvider
do not have children.

bug:5879530

Change-Id: I3ee43718748fec6e570992c7073c8f6f1fc269b3
ccessibilityNodeInfoCache.java
iew.java
iewGroup.java
iewRootImpl.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityInteractionConnection.aidl
ccessibility/IAccessibilityManager.aidl
50aca29a0b00c3f8f09b0c246da022df482ca56d 24-Jan-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after""
5ff9df658230d49e42c43586997a02d8e4dd417e 24-Jan-2012 Romain Guy <romainguy@google.com> Add full support for Canvas.setDrawFilter()

Change-Id: I0ad35d0603c4eeda469014803be14c1dcdde918c
LES20Canvas.java
1e878d2ff506e7e96bbdb9d06afea43561445b7a 24-Jan-2012 Romain Guy <romainguy@google.com> Fix API typo

Change-Id: Iac6de947b0d550cc8dd4a3b5d88baa322c21bbb8
iewTreeObserver.java
0c95dd3f4f02564fab9b86a221bbcbb4aafc2981 24-Jan-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after"

Change-Id: I727fad9a59cda915899674569bfabd29b9f5da60
nputmethod/BaseInputConnection.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
5a89672f3ef0781f0c28e63ee774970340dbb4dd 23-Jan-2012 Michael Jurka <mikejurka@google.com> Merge "Remove fastInvalidate and setFast* methods"
d3fe9abfb9a6a21a18abde6a98dceb423c04ebef 21-Jan-2012 Jim Miller <jaggies@google.com> am ab9601cd: am 230a7092: Merge "Fix 5863053: Add method to lock screen immediately." into ics-mr1

* commit 'ab9601cdbb95ae94088750eff9a926a572c1a4d6':
Fix 5863053: Add method to lock screen immediately.
4be9cff46e82bbb608f91fd3c9ed9fca3cf14e8b 20-Jan-2012 Dianne Hackborn <hackbod@google.com> am 1bae8066: Merge "Fix issue #5823276 again: home repaints after full-screen app is exited" into ics-mr1

* commit '1bae80668cc1d12bb4a4b93bce1960b2601de131':
Fix issue #5823276 again: home repaints after full-screen app is exited
1bae80668cc1d12bb4a4b93bce1960b2601de131 20-Jan-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5823276 again: home repaints after full-screen app is exited" into ics-mr1
6f8b4f5322d6975bccc257b9047f65e413ad56d5 20-Jan-2012 Jeff Brown <jeffbrown@google.com> am ad1f4a2c: Merge "Implement a max time bound for rotation. (DO NOT MERGE)" into ics-mr1

* commit 'ad1f4a2ca825b8524c6bed494a7cf3ca70ee7e28':
Implement a max time bound for rotation. (DO NOT MERGE)
ad1f4a2ca825b8524c6bed494a7cf3ca70ee7e28 20-Jan-2012 Jeff Brown <jeffbrown@google.com> Merge "Implement a max time bound for rotation. (DO NOT MERGE)" into ics-mr1
cfbf7dedaddd825b608e87d3dcf46adf80a46976 12-Jan-2012 Dianne Hackborn <hackbod@google.com> Fix issue #5823276 again: home repaints after full-screen app is exited

Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

This fix does not include the change to ignore app tokens that are
hidden. This causes problems in some dialogs that stay hidden until
their app is ready to display, but need to perform a series of relayouts
during that time to get to the right size. Dropping this part of
the change still (mostly?) seems to allow us to avoid the bad states.

Change-Id: Ic052cb1499d3287f47e9ffeac5cd2470ee5a308c
indowManagerPolicy.java
9e34b95a1db9f28b31560405687dd651492048e1 20-Jan-2012 Michael Jurka <mikejurka@google.com> Remove fastInvalidate and setFast* methods

- were only being used by Launcher, and they've been
removed from there too

Change-Id: I230e79c89a6450756220ad5cc07180bb5b725bd6
iew.java
bad12166190a7e8087eb5db0ae8df9a4e5843fde 20-Jan-2012 Romain Guy <romainguy@google.com> Merge "Deprecate unused APIs"
f9d9c065ed75f1196316a9a31f92309f602cef76 20-Jan-2012 Romain Guy <romainguy@google.com> Deprecate unused APIs

Change-Id: I0107e246b632dda96b8b025217936954f1f46283
LES20Canvas.java
b800f277cb02f0639b66ecaf0798b30419486ab7 20-Jan-2012 Justin Ho <justinho@google.com> am 820b45c0: Merge "DO NOT MERGE Revert "Fix issue #5823276: home repaints after full-screen app is exited"" into ics-mr1

* commit '820b45c0a21980a43532b9fb9823f8aa08c64a15':
DO NOT MERGE Revert "Fix issue #5823276: home repaints after full-screen app is exited"
170997a519ce79e93e4f6984e9663232475ce92c 19-Jan-2012 Justin Ho <justinho@google.com> DO NOT MERGE Revert "Fix issue #5823276: home repaints after full-screen app is exited"

This reverts commit 01b02a734d2988c22b00f5df6346ad03d8bf52b6.

Change-Id: I848c01fc44eb9a51ead1116b2647ed838ec1825f
indowManagerPolicy.java
a37a108cfbaa23bcddaaeab4b838bec262bc2441 19-Jan-2012 Romain Guy <romainguy@google.com> Merge "Add basic code required for drawPicture()"
75582e889d4895483309e38364266073be6d46b8 19-Jan-2012 Romain Guy <romainguy@google.com> Add basic code required for drawPicture()

Change-Id: Ib9e73cd4b932836d4debe920200f8d1c1861c2d4
LES20Canvas.java
e7bdf2d9d0107afadddb6498331cd21be260d23c 19-Jan-2012 Romain Guy <romainguy@google.com> Merge "Don't crash on Canvas.drawPicture()"
84fce187b0ae79adc5b4e64c26f72c8ed59e9703 19-Jan-2012 Romain Guy <romainguy@google.com> Don't crash on Canvas.drawPicture()

Implementation yet to come but prevent app crashes.

Change-Id: I81d6851ebf776a98e13c606bab272a03aec406ee
LES20Canvas.java
3bb3d41adbd78ab690378531d37aec369c79ead7 19-Jan-2012 Jim Miller <jaggies@google.com> am 230a7092: Merge "Fix 5863053: Add method to lock screen immediately." into ics-mr1

* commit '230a709285abc5dfd92f05d91a8997d52a59d3c7':
Fix 5863053: Add method to lock screen immediately.
230a709285abc5dfd92f05d91a8997d52a59d3c7 19-Jan-2012 Jim Miller <jaggies@google.com> Merge "Fix 5863053: Add method to lock screen immediately." into ics-mr1
8fd86f38d203a8934bcf1fe580f032082dcef75f 19-Jan-2012 Jeff Brown <jeffbrown@google.com> Implement a max time bound for rotation. (DO NOT MERGE)

Also relaxed the settle time constraints a little bit.
With this change, a rotation proposal will always be
advertised within 500ms even if the device is still shaking
around.

Bug: 5496491
Change-Id: I0bf562f4c19c0be45c016254f2f881d265f8e266
indowOrientationListener.java
2a16b1374413abe513c0b60597262d45360138f7 18-Jan-2012 Jeff Brown <jeffbrown@google.com> Merge "Improve heuristics for orientation detection."
93c518e4f8abd98f87cda1712b30a5a86cfa60dd 18-Jan-2012 Jim Miller <jaggies@google.com> Fix 5863053: Add method to lock screen immediately.

This fixes a bug where the device fails to lock when DevicePolicyManagerService
requests the device to be locked and the screen was off because the user hit
the power button.

The change allows DPMS to directly invoke screen lock, bypasssing the screen state.

Change-Id: Iecdda6fc61e9c519119de495be23c69c3b983921
WindowManager.aidl
indowManagerPolicy.java
fb9ffe02609c9c4ffca64927e72bc935cfe87768 18-Jan-2012 Romain Guy <romainguy@google.com> Merge "First pass at implementing Canvas.drawPosText() in GL"
eb9a5367e8f0e970db8509ffb2584f5376bc62ed 18-Jan-2012 Romain Guy <romainguy@google.com> First pass at implementing Canvas.drawPosText() in GL

Change-Id: Ia3ac347e95d57eb86c63045156c8dbc0572b03cb
LES20Canvas.java
0764dee89cc82dd53196cce2865d3cabafed208f 18-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes."
5aa73ae58f049379a97bc86add541f27170c02a4 14-Jan-2012 Jeff Brown <jeffbrown@google.com> Improve heuristics for orientation detection.

1. Except as otherwise indicated, orientation change happens once
the predicted rotation has been stable for 40ms. Noise is
suppressed by a low-pass filter with a 200ms time constant which
seems to be about as small as is practical given the quality
of the sensor data.

2. If the magnitude exceeds a threshold (excessive noise or freefall),
resets the predicted orientation.
Doesn't happen very often even when shaking the device.
This heuristic mainly protects the detector from spurious tilt due
to inaccurate determination of the gravity vector.

3. If the device was previously in a flat posture (on a table for at
least 1000ms), then it must move out of that posture for at least
500ms before the next orientation change will happen.
This heuristic suppresses most spurious rotations that happen while
picking up the device.

4. If the device is tilted away from the user by 20 degrees within
a span of 300ms, the device is said to be swinging and at least
300ms must elapse after the device stops swinging before the
next orientation change will happen.
This heuristic suppresses some but not all spurious rotations that
happen while putting down a device. Unfortunately, this heuristic
sometimes triggers a false positive when turning the device very
rapidly due to accelerometer noise. The 300ms pause is a compromise
so that occasional mispredicted swings don't significantly delay
the rotation.

Bug: 5796249
Change-Id: Id7b36c4c563e35b70d6a7ac36d04f3c3d6ea5811
indowOrientationListener.java
73d27c3d46ce9a19c0cc358d0b2788f1f51706d7 18-Jan-2012 Michael Jurka <mikejurka@google.com> Merge "Check if View's alpha must be updated in setter"
8a78fd4d9572dff95432fcc4ba0e87563415b728 17-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes.

AccessibilityEvent and AccessibilityNodeInfo have a property className which is set to the source
Java class. This is problematic since leads to leaking private classes which would allow an
accessibility service to load classes from other packages. This is strongly undesirable since
not trusted code can be loaded, and hence executed, in the accessibility service. To address
that the class name is set to the most concrete framework class extended by the info/event
source.

bug:5878943

Change-Id: I7b3114ece8772ea2773f5151e21b8a6f2006882a
iew.java
iewGroup.java
a7a7eedee58b69ff3d36fa9d413ea902eb0d5d45 17-Jan-2012 Michael Jurka <mikejurka@google.com> Check if View's alpha must be updated in setter

Change-Id: I91094b43dbacbd637e04ce4074d8df6a27ddf6fb
iew.java
f56945e06aed28041f0f370c26b4b8986033c489 17-Jan-2012 Romain Guy <romainguy@google.com> Merge "Improve GLES20Canvas clip support"
7677d8f006b94c76dcad6f551bf14f983f58dc14 17-Jan-2012 Romain Guy <romainguy@google.com> Improve GLES20Canvas clip support

Remove UnsupportedOperationException
Add primitive support for clipPath/clipRegion
Add support for quickReject(Path, EdgeType)

Change-Id: Ie7a80df7f380f488710bac31103772a9eab21612
LES20Canvas.java
185b8256f570dfe620789130bb3861bdeecfffdd 17-Jan-2012 Gilles Debunne <debunne@google.com> Fixed doc typo and removed warning

Change-Id: I9c9e45837037a77df5852ff4ea3ad596952e4507
elocityTracker.java
c478c171e92b2f255e9699d9c9306b001368ac20 20-Dec-2011 Gilles Debunne <debunne@google.com> Unbalanced batch edit begin and end leave TextView unresponsive

This is a fix for http://code.google.com/p/android/issues/detail?id=17508

Adding some logs and a forced GC, I'm now reliably able to reproduce it. Here is the scenario.

1. The IME handles an event. It retrieves the current InputConnection (IC) using
ic = getCurrentInputConnection() and calls ic.beginBatchEdit();
2. The call is propagated to the UI thread and TextView's mBatchEditNesting
is correctly increased through beginBatchEdit()
3. A listener calls setText(), which imm.restartInput(this);
4. As a result, the InputMethodManager creates a new ControlledInputConnectionWrapper
with a new InputConnection from the TextView
5. A GC happens at that point. The previous InputConnection is no longeri
referenced by the InputMethodManager's mServedInputConnection.
The weak reference in the previous ControlledInputConnectionWrapper is nulled.
6. The IME thread finishes its process and calls ic.endBatchEdit(); on its version
of the original InputConnection.
7. The message is passed through the InputConnect, but when the weak reference in the
original IInputConnectionWrapper is dereferenced, we get a null InputConnection in
executeMessage().
8. As a result, the TextView's endBatchEdit() method is not called, leaving this TextView
with a non zero mBatchEditNesting.
9. From now on, all edit actions on this TextView will be considered part of a nested edition
and no invalidation is performed, which is the visible manifestation of this bug.

The core problem is that the begin/end batch edit contract is broken when:
1. These are initiated by the IME thread (as opposed to the UI thread)
2. The input connection is reset between these calls
3. A GC happens in the mean time and the WeakReference is lost (otherwise
calling endBatchEdit on a no longer active InputConnection is fine

Solution to keep TextView's mBatchEditNesting balanced:

- The IMM should notify the IC when it is no longer used. We're using the
existing FINISH_INPUT_CONNECTION to do that.
- The InputConnection should keep track of its nesting contribution to the TextView.
When finished the IC makes sure its contribution is reset to 0.
Moreover, further asynchonous calls to begin/endBatchEdit that may arrive from the IME
should be ignored. This is achieved using a negative value as a flag.

Notes:

- finishComposingText may be too broad of a method to perform such a cleaning step
but is seems to only be called in cases where the IC will not be used anymore.
If that's too broad, we have to introduce a new method in the IC interface.

- This is has been implemented in EditableInputConnection and not in a more general
BaseInputConnection because this is where we have a notion of TextEdit, and the
nesting problem is here specific to TextView.
However, the same unbalanced begin/end problem will happen in these classes. They
should override finishComposingText as has been done here if that matters.

- We cannot re-use the TextView's mBatchEditNesting since it may take into account
batch edit from various sources and resetting it on InputConnection close could
then lead to an inconsistent negative count value.

Patch Set 2: added synchronized blocks around mBatchEditNesting

Change-Id: I1ec5518fdc16fb0551fbce9d13f5d92eb4bc78c0
nputmethod/InputMethodManager.java
893eace60992a640064b454d7ad477c1bbffcb1d 13-Jan-2012 Gilles Debunne <debunne@google.com> Merge "Sub display list in TextView"
f88d1493aa968d3da551116f076edd5e21f7ccfc 13-Jan-2012 Dianne Hackborn <hackbod@google.com> am 10065177: am 2e282f35: Merge "Fix issue #5823276: home repaints after full-screen app is exited" into ics-mr1

* commit '100651779fde99f7ae2a10719d688b51115f08e9':
Fix issue #5823276: home repaints after full-screen app is exited
defda4de3d5965e87bdd8fedb248d6cd948ecb9d 13-Jan-2012 Dianne Hackborn <hackbod@google.com> am 2e282f35: Merge "Fix issue #5823276: home repaints after full-screen app is exited" into ics-mr1

* commit '2e282f35b009fe4c23daca35592dae2032641643':
Fix issue #5823276: home repaints after full-screen app is exited
44d79747b5e434e8f43928b5548442c65e40e5c3 13-Jan-2012 Romain Guy <romainguy@google.com> Remove unused parameter

Change-Id: I0896b2cdb9f1fa9c5e191e4ea425e22ac6f10f29
ardwareRenderer.java
iewRootImpl.java
c8f4183669c7cf166ced70bf60ad056482f3390b 12-Jan-2012 Ken Wakasa <kwakasa@google.com> Bring LatinIME's privateImeOptions "forceAscii" to a formal public API

bug: 5850605
Change-Id: I6ab6076909c735a3e0729b457de68d0b5301184d
nputmethod/EditorInfo.java
b35ab7b72967adcfd01cec483a705dafe8b951d1 06-Dec-2011 Gilles Debunne <debunne@google.com> Sub display list in TextView

TextView uses a sub-display list to 'cache' the rendering of its
text. This saves time when drawing an editable text, where the blinking
cursor forces a re-draw twice per second, which creates pauses during
scrolling.

Added a sub-display list invalidation when an appearance span is
modified/added/removed.

Also added an invalidation of the display list when selection range
is changed.

Change-Id: I41e8068a12902b8a745c5bb77de8c77def76a270
isplayList.java
LES20Canvas.java
LES20DisplayList.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
01b02a734d2988c22b00f5df6346ad03d8bf52b6 12-Jan-2012 Dianne Hackborn <hackbod@google.com> Fix issue #5823276: home repaints after full-screen app is exited

Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

Also don't consider windows a candidate for layout if their app token
is hidden. This fixes a transient state where we are preparing to
unhide the window but have not done so yet.

Change-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16
indowManagerPolicy.java
11299b1b8c49e53ed25dce916aa24282b2e15662 11-Jan-2012 satok <satok@google.com> Make public SpellChecker utilities

Bug: 5639238
Change-Id: Id7dd2263a6305cc6ba0cf8f4d8ad8fb0d39a48ff
extservice/SpellCheckerSubtype.java
7d5178e9fbfe6fa8d473ecb7848fba05e90134bd 09-Jan-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add textDirection="locale""
4c1e00a8c29e532a5b0fce755bead691797eff94 06-Jan-2012 Fabrice Di Meglio <fdimeglio@google.com> Add textDirection="locale"

- also fix and update unit tests
- see bug #5242821

Change-Id: I29e029bab8ade336a430f9a2a5073caaf11b8dda
iew.java
9a74476c0ab1aaa59e9aed6ecdeba43d5b4d3495 06-Jan-2012 Ken Wakasa <kwakasa@google.com> Comment clean up for InputMethodSubtype.

Change-Id: I50bca715f4caa669cb341b36a3d46358e1ad1ded
nputmethod/InputMethodSubtype.java
0041861a0433402b789d6530eb0ed52a1c2b4ff1 21-Dec-2011 Chet Haase <chet@google.com> Fix behavior of AnimationSet and fillBefore

The previous logic in AnimationSet when starting an animation
ignored the fillBefore behavior of its child animations. This caused
a bug where a delayed AlphaAnimation would automatically cause the
target view to become transparent, even though it was supposed to wait
until after some delay to do so.
The fix checks the fillBefore behavior of each child animation before
concatenating its transform with the transform of the AnimationSet.

Change-Id: I76a2dafbe6dd338dc5281b17612eae87af168d86
nimation/AnimationSet.java
7d4045b3f2c520ffb9db2b6562c9e04fa234407f 20-Dec-2011 Chet Haase <chet@google.com> Merge "Make behavior of ABSOLUTE pivot values more intuitive"
84c949f3b130c9f375203cdb4a3cc4af6b38a4f3 20-Dec-2011 Chet Haase <chet@google.com> Make behavior of ABSOLUTE pivot values more intuitive

Currently, you must call initialize() on RotateAnimation or
ScaleAnimation prior to calling start(). The reason is that the
actual pivot point used in calculating the transform is not set
until that method is called. This makes sense in the typical case
where the animation is running on a View and is using values relative
to the size of the View or of its parent. But if the caller sets the
values to be ABSOLUTE types instead, the sizes of the view and the parent
are irrelevant and the call to initialize() should not be needed (and
is not intuitive).

This fix automatically sets the internal pivot values in the case where
the value types are ABSOLUTE.

Change-Id: I74a0e462486efae08aa76e72c0d19d82f2a2677e
nimation/Animation.java
nimation/RotateAnimation.java
nimation/ScaleAnimation.java
2d46fcc669ff5efe365e9be435ab9e5c5a304939 20-Dec-2011 Chet Haase <chet@google.com> Minor small fixes to old Animation code and docs.

Change-Id: Ib8a1ba2d12e26cc42a2cec48312a5229bb6d4e8a
iewGroup.java
nimation/AnimationSet.java
nimation/AnimationUtils.java
d47f1531d0653be33133cf05ec317a236e763646 16-Dec-2011 Chet Haase <chet@google.com> Make Property objects in View final

The various Properties added to View in 4.0 (ALPHA, TRANSLATION_X, etc.)
were not final, making it possible to assign on property to another.
Not something that someone would want to do, but we should try to prevent
that kind of mess. This API change makes those properties final.

Change-Id: I7d0c7f738eb2074d0781b1ba6a7c19339bac4477
iew.java
b5052de75736527549d7e537632777c6fec2e4f0 14-Dec-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of a80bab37 to master

Change-Id: Id71cc68a617e1ea0dd2f3932d454be6dba336eef
d82b5345f97f059edb3cf04a1fda6b13987274f6 14-Dec-2011 Dianne Hackborn <hackbod@google.com> am caa8e69a: Merge "Fix issue #5756204: Crespo IME briefly appears shortened when..." into ics-mr1

* commit 'caa8e69a65e15ce2d9e52b18c7caa547eb9a2f48':
Fix issue #5756204: Crespo IME briefly appears shortened when...
33b8ee509f36a0168c8ce5a9091b57ab936f4c13 14-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5756204: Crespo IME briefly appears shortened when...

...rotating to landscape

When doing spell checking in the same process as the spell checker, we
need to make sure it is still done asynchronously.

Putting this in I noticed quite a few threading issues in this code, so
I also addressed those (which became very obviously a problem with the
async stuff here now).

Also tweaked the service side to run spell checking at background priority.

Change-Id: I01bafe3bec6bceeca911d6bf2f61a486a2fd4c48
extservice/SpellCheckerSession.java
ee4d45f3052c8d339035c4bb8eca9b7a724e5074 13-Dec-2011 Dianne Hackborn <hackbod@google.com> am 0be53567: am 19a06fe9: Merge "Fix issue #5755172: Soft menu key disappears when menu is open" into ics-mr1

* commit '0be53567c1c2299c548d3204d2b9240108fbd53a':
Fix issue #5755172: Soft menu key disappears when menu is open
4e2e2c2154f067f03e46b8c99eaa5642749cfd17 13-Dec-2011 Dianne Hackborn <hackbod@google.com> am 19a06fe9: Merge "Fix issue #5755172: Soft menu key disappears when menu is open" into ics-mr1

* commit '19a06fe93cccb4b1dd224b8456969821a19b07ef':
Fix issue #5755172: Soft menu key disappears when menu is open
73ab6a49db2b834ce1d56c7a1164938b409ee6fc 13-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5755172: Soft menu key disappears when menu is open

We need to work more like before in determining whether the menu
key is needed -- in some cases look back in the window list to
determine this if we don't know the value from the current window.

This requires adding a new private flag indicating whether the
compat menu state is known for a window, which is set by
PhoneWindow as part of its existing process of computing the flag
for its own windows.

Now we can have a new API on WindowState to determine the value
of this flag for a window, which if needed walks back in the window list
to find a window the value is known for (or stops at what the policy
has determined is the top full-screen window, so we stop like we used
to at things like the lock screen or the bottom of an application).

Change-Id: I829de6d629b5af8bcb422cb85249ee4041c7205e
indow.java
indowManager.java
indowManagerPolicy.java
203858e5b3c495a8544c0df9d291b68d7a96e860 13-Dec-2011 Adam Powell <adamp@google.com> am 9c92fcd9: Merge "Bug 5727679 - CTS test ViewGroupTest#testGetChildVisibleRect" into ics-mr1

* commit '9c92fcd91c67a98f3a767255e7d3748bca3ef751':
Bug 5727679 - CTS test ViewGroupTest#testGetChildVisibleRect
f8c2abcadd5d7fbac64f84e6b31ec45102bcf3dd 13-Dec-2011 Adam Powell <adamp@google.com> am bffe0be3: am 9c92fcd9: Merge "Bug 5727679 - CTS test ViewGroupTest#testGetChildVisibleRect" into ics-mr1

* commit 'bffe0be3af2bd19a392e7d332cbfda9a60b8e057':
Bug 5727679 - CTS test ViewGroupTest#testGetChildVisibleRect
f93bb6d8fd81d8938b16cf40259f97c336e9ef3a 13-Dec-2011 Adam Powell <adamp@google.com> Bug 5727679 - CTS test ViewGroupTest#testGetChildVisibleRect

Preserve the ability to call getChildVisibleRect without the view
being attached to a window.

Change-Id: I702b19fa1625c346eb22fda4a4ffb6e8f790b689
iewGroup.java
549d5f88bf96f93de5d10f094bda4a62ac5ebe3a 12-Dec-2011 Amith Yamasani <yamasani@google.com> Merge "Show the current stream's volume in the volume panel."
bdc18b28eb04b8c8cc00313096f8bfb142e407e3 09-Dec-2011 Jeff Brown <jeffbrown@google.com> am 03e63427: am 8e0ecbfc: Merge "Shortcut keys should be handled on down, not up." into ics-mr1

* commit '03e634270d880407316b51fac2278e604fc82703':
Shortcut keys should be handled on down, not up.
9477c6e6581ce97976250951f33e1297604ac777 09-Dec-2011 Romain Guy <romainguy@google.com> Enable dirty regions on newly created EGL surfaces

This change fixes an issue on some tiler architectures that do not
enable the swap buffer behavior by default on EGL surfaces.

Change-Id: Ibda1ae582da1a20afad3be9c3361080e72df5206
ardwareRenderer.java
8df96097686ed7d16a128d4eb9e08fb277dd3d11 09-Dec-2011 Amith Yamasani <yamasani@google.com> Show the current stream's volume in the volume panel.

Bug: 5409969

If the current stream being displayed is different from the
stream being adjusted, rearrange the sliders, unless multiple
sliders are being shown.

Change-Id: Ia48986c1046305d7fee7a32177d78d8ffd84a11b
olumePanel.java
77741e8a1e08757e1e55a85e5c6715823df64a96 08-Dec-2011 Jeff Brown <jeffbrown@google.com> am 8e0ecbfc: Merge "Shortcut keys should be handled on down, not up." into ics-mr1

* commit '8e0ecbfc97606ea30d0d8216fea635888f766b9d':
Shortcut keys should be handled on down, not up.
8e0ecbfc97606ea30d0d8216fea635888f766b9d 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Merge "Shortcut keys should be handled on down, not up." into ics-mr1
7bedf2449041a425899448cb672e91b0a5c97c62 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Shortcut keys should be handled on down, not up.

Bug: 5720360
Change-Id: I3afc278e576ea992c76f024c8b6bad14b214239c
iewRootImpl.java
9650b018e3b1ed42de9b48f3c0eaf4e04733f065 08-Dec-2011 Dave Burke <daveburke@google.com> am e118c1de: am ef8913c0: Merge "Remove dangerous and useless optimization Bug #5525888" into ics-mr1

* commit 'e118c1de0037e6732b66b9f52903567caa961c31':
Remove dangerous and useless optimization Bug #5525888
86436a3ed0c27d3321f4b9c9f8063f54c696b5f3 08-Dec-2011 Dave Burke <daveburke@google.com> am ef8913c0: Merge "Remove dangerous and useless optimization Bug #5525888" into ics-mr1

* commit 'ef8913c035e679ea8b8891e26db1fa571e9b9d54':
Remove dangerous and useless optimization Bug #5525888
ef8913c035e679ea8b8891e26db1fa571e9b9d54 08-Dec-2011 Dave Burke <daveburke@google.com> Merge "Remove dangerous and useless optimization Bug #5525888" into ics-mr1
c7ee3cab56b8cc90c4f6659a262a1cba5c71e92a 08-Dec-2011 Romain Guy <romainguy@google.com> Remove dangerous and useless optimization
Bug #5525888

Change-Id: I553828c0da09b15d0dce3727e4c26a9d0bcf72ea
iewGroup.java
243657993c0280771e07a3367d1a7ed45dbfe15f 08-Dec-2011 Adam Powell <adamp@google.com> resolved conflicts for merge of db81dc72 to master

Change-Id: Ie7e1d9a255934e45d8b241b15e9674046cff2444
b723999bebef28f8d308d119c7a391fc1e591538 08-Dec-2011 Adam Powell <adamp@google.com> am cf6a6522: Merge "Raise touch slop value from previous experiment" into ics-mr1

* commit 'cf6a6522fdbce05896d3a551f7cd6243857ceced':
Raise touch slop value from previous experiment
6720a87ad161a12c9dc7e11b2ae0165e65483464 08-Dec-2011 Adam Powell <adamp@google.com> Raise touch slop value from previous experiment

Change-Id: I7681c401803643f309fd988824602169a830de29
iewConfiguration.java
b5014d4754838d4f72a3cbca46636b00ecbb7102 07-Dec-2011 Adam Powell <adamp@google.com> am 720efc43: Merge "Lower touch slop in ViewConfiguration." into ics-mr1

* commit '720efc43d89ce9fd50b66f22cdb1bb4363cfb291':
Lower touch slop in ViewConfiguration.
e6513486ee83e3ce9e99ee3f08f470fc568f120f 07-Dec-2011 Gilles Debunne <debunne@google.com> Merge "Minor tweak in getLocationInWindow"
2b621bc5bb52339cc677beb89d0495b8b5d4f444 07-Dec-2011 Jeff Brown <jeffbrown@google.com> Merge "Disable postponing performTraversals(), for now."
6583ce5b89c41a16aab815a09904b039ef9d8d8a 07-Dec-2011 Gilles Debunne <debunne@google.com> Minor tweak in getLocationInWindow

Change-Id: Ib3f30dbfb3aee7c46c58e1f7832e3394702c0ff6
iew.java
90a3c5f51ddf0f98769a258ed224f2ec5b645d0e 07-Dec-2011 Jeff Brown <jeffbrown@google.com> Disable postponing performTraversals(), for now.

Bug: 5715378
Bug: 5721047
Change-Id: I89c674306665b6caa3a63b8a9d2b4b7c9ed020ae
horeographer.java
e49e8cc4e799a2a6793c148b6a4b74d8f69026dd 07-Dec-2011 Adam Powell <adamp@google.com> Merge "resolved conflicts for merge of 6a828712 to master"
e4b8ff8068a96fe467d2334a75198ab762bb915c 07-Dec-2011 Adam Powell <adamp@google.com> resolved conflicts for merge of 6a828712 to master

Change-Id: I73c804667a890bcc9924951ff655137c1345541a
bdfe770e0874295827534558f2cba040644a3a13 07-Dec-2011 Romain Guy <romainguy@google.com> Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817"
9c4b79af221b53f602f946faa9ff317a596a0c39 11-Nov-2011 Romain Guy <romainguy@google.com> Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab
LES20Canvas.java
LES20Layer.java
ardwareLayer.java
iew.java
iewGroup.java
07069a04ef2e52ad6cebd9041b5288bebd811a38 07-Dec-2011 Jeff Brown <jeffbrown@google.com> Fix PIN pad.

Some widgets apparently inject keys into the ViewRoot by sending
a DISPATCH_KEY message to its handler. Ugh.

Bug: 5711577
Change-Id: Ibe9aaf705095d152ec866c536f31f5d85e27b97f
iewRootImpl.java
7d39f85acf68b3469a2087af488569e356845e22 06-Dec-2011 Adam Powell <adamp@google.com> Lower touch slop in ViewConfiguration.

Our typical touchscreens are now good enough that we don't need the
touch slop to be as large as it once was. Lower it to increase
responsiveness while scrolling.

Move the touch slop constant to the config resource
config_viewConfigurationTouchSlop so that it may be more easily
tweaked in device-specific overlays.

Change-Id: I7c11d8affcb98e91654203beb13a26cfeec18f7c
iewConfiguration.java
96e942dabeeaaa9ab6df3a870668c6fe53d930da 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Use a Choreographer to schedule animation and drawing.

Both animations and drawing need to march to the beat of
the same drum, but the animation system doesn't know
abgout the view system and vice-versa so neither one
can drive the other.

We introduce the Choreographer as a drummer to keep
everyone in time and ensure a magnificent performance.

This patch enabled VSync based animations and drawing by
default. Two system properties are provided for testing
purposes to control the behavior.

"debug.choreographer.vsync": Enables vsync based animation
timing. Defaults to true. When false, animations are
timed by posting delayed messages to a message queue in
the same way they used to be before this patch.

"debug.choreographer.animdraw": Enables the use of the animation
timer to drive drawing such that drawing is synchronized with
animations (in other words, with vsync or the timing loop).
Defaults to true. When false, layout traversals and drawing
are posted to the message queue for execution without any delay or
synchronization in the same way they used to be before this patch.

Stubbed out part of the layoutlib animation code because it
depends on the old timing loop (opened bug 5712395)

Change-Id: I186d9518648e89bc3e809e393e9a9148bbbecc4d
horeographer.java
iewRootImpl.java
0a0a1248cfc03940174cbd9af677bafd7280a3bc 02-Dec-2011 Jeff Brown <jeffbrown@google.com> Add a new class to receive vsync events.

Change-Id: I4e384336d2813752a6d65fda6a77e86113a4510c
isplayEventReceiver.java
315e468763c9601e2f06443fda847d2c9eb27a75 05-Dec-2011 Dianne Hackborn <hackbod@google.com> am 803caff1: am 003c15d7: Merge "Fix issue #5614559: Registering surface error in..." into ics-mr1

* commit '803caff1dc307a8895e9f3560112f969fa3f6f39':
Fix issue #5614559: Registering surface error in...
3e9df5baf9714f6a1d0366e1f734921efe49cb1d 05-Dec-2011 Dianne Hackborn <hackbod@google.com> am 003c15d7: Merge "Fix issue #5614559: Registering surface error in..." into ics-mr1

* commit '003c15d72ccd3856d5abfe6d66a2a40d0eca85bc':
Fix issue #5614559: Registering surface error in...
f3a0a60917af4e11122fb8f10ebae08bfb395e81 04-Dec-2011 Jeff Brown <jeffbrown@google.com> Merge "Remove type tests when recycling input events."
92cc2d8dc35f2bdd1bb95ab24787066371064899 02-Dec-2011 Jeff Brown <jeffbrown@google.com> Remove type tests when recycling input events.

Change-Id: I1c2d5980a763c457a0546bbf601e686c601a4c03
nputEvent.java
nputEventReceiver.java
eyEvent.java
otionEvent.java
iewRootImpl.java
61566cc1932468720a831ad5cbc68ee080d613c9 03-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5614559: Registering surface error in...

...Background Replacement on Stingray

This is how I should have done it in the first place. We get the
new surface from the window manager, and then just copy it in to
the constant Surface object we have for the holder.

Change-Id: I537a9e413829a18f689dfb46687014676b27156e
urface.java
urfaceView.java
f240ac99d6bc3a9c77c00fab0ff102f9da504fd5 03-Dec-2011 Gilles Debunne <debunne@google.com> am 0c7e894e: am 2f1e1e4a: Merge "Handle animations in Views\' rectangle clipping methods." into ics-mr1

* commit '0c7e894e79bea35f979d30e4e3bb6115b102cafd':
Handle animations in Views' rectangle clipping methods.
e64f4abb29a4067492fd700ca38f7a03c51784be 03-Dec-2011 Gilles Debunne <debunne@google.com> am 2f1e1e4a: Merge "Handle animations in Views\' rectangle clipping methods." into ics-mr1

* commit '2f1e1e4ab9ca20920d85574317c9d7c9e9e73161':
Handle animations in Views' rectangle clipping methods.
2f1e1e4ab9ca20920d85574317c9d7c9e9e73161 03-Dec-2011 Gilles Debunne <debunne@google.com> Merge "Handle animations in Views' rectangle clipping methods." into ics-mr1
32cbc3855c2a971aa5a801fd339fb6a37db91a1a 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Refactor InputQueue as InputEventReceiver.

This change simplifies the code associated with receiving input
events from input channels and makes it more robust. It also
does a better job of ensuring that input events are properly
recycled (sometimes we dropped them on the floor).

This change also adds a sequence number to all events, which is
handy for determining whether we are looking at the same event or a
new one, particularly when events are recycled.

Change-Id: I4ebd88f73b5f77f3e150778cd550e7f91956aac2
nputEvent.java
nputEventConsistencyVerifier.java
nputEventReceiver.java
nputHandler.java
nputQueue.java
eyEvent.java
otionEvent.java
iewRootImpl.java
indowManagerPolicy.java
cea45132e3d5d32a6fc737abf10b8893a50f465b 24-Nov-2011 Gilles Debunne <debunne@google.com> Handle animations in Views' rectangle clipping methods.

getChildVisibleRect and getLocationInWindow do not take the new
mTransformationInfo View attribute.

As a result, these methods return invalid value during an animation
Bug 5638710

Changes in Patch Set 2:
- temporary allocations removed using static thread local variables (method
calls are NOT reentrant).

- scroll should be handled *before* applying the transformation matrix.
Fixed the call order in View#getLocationInWindow()

Patch set 4: fix from comments.
Patch set 5: <p>s

Change-Id: I15dc44c0659305d9029c59a47aba3a738bb35ae1
iew.java
iewGroup.java
iewParent.java
4952dfd16a0f839559ffa78f5016394caf85294f 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Ensure input events are processed in-order in the application.

As it turns out, it used to be possible for there to be multiple
input events simultaneously in flight in an application. Although
it worked, it made it hard to reason about what was going on.
The problem was somewhat exacerbated by the introduction of a
queue of "InputEventMessage" objects as part of an earlier latency
optimization.

This change restores order from chaos and greatly simplifies the
invariants related to input event dispatch within the application.

Change-Id: I6de5fe61c1fe2ac3dd33edf770d949044df8a019
nputHandler.java
nputQueue.java
iewRootImpl.java
95db2b20d7bc0aaf00b1d4418124f5cf0a755d74 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Improve latency instrumentation.

Change-Id: I4edfa0a5659d207f7e46722e48ffa1dc43d2aa13
ardwareRenderer.java
iewDebug.java
iewRootImpl.java
55cdacb9ba22ce0e40918fd54acca7df62637ca6 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> am 0bfdd7c2: am e9f24a43: Merge "Fix memory leaks in the accessibility layer." into ics-mr1

* commit '0bfdd7c2927fb683b89fdd52befe643e8e069e77':
Fix memory leaks in the accessibility layer.
e5dcb0c4b23da09fb155437c214108adef0e79fd 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> am e9f24a43: Merge "Fix memory leaks in the accessibility layer." into ics-mr1

* commit 'e9f24a43021734d28a4f65ebc804847b31ce13e8':
Fix memory leaks in the accessibility layer.
e9f24a43021734d28a4f65ebc804847b31ce13e8 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fix memory leaks in the accessibility layer." into ics-mr1
41995689f26dc44be9628bb81e9448d067d66fff 01-Dec-2011 Amith Yamasani <yamasani@google.com> am 52976f04: am e9b0608c: Merge "No clicking on volume icon in volume dialog." into ics-mr1

* commit '52976f04d8bebf44398a94cf5796f6a998c8935d':
No clicking on volume icon in volume dialog.
36bcdb535e14a8a2e2c8643fb577569f7a2b6aed 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> Fix memory leaks in the accessibility layer.

The AccessibilityServiceConnection chache should be shared
between all interrogating threads.

bug:5664337

Change-Id: I151041d0b358e87ac47ea5c1c258f90a8b252420
ccessibility/AccessibilityInteractionClient.java
35991132d31287b2919c289ef9a7a3021999045e 01-Dec-2011 Amith Yamasani <yamasani@google.com> am e9b0608c: Merge "No clicking on volume icon in volume dialog." into ics-mr1

* commit 'e9b0608c76bd19356f3141358ffdf134b7a9700f':
No clicking on volume icon in volume dialog.
e9b0608c76bd19356f3141358ffdf134b7a9700f 01-Dec-2011 Amith Yamasani <yamasani@google.com> Merge "No clicking on volume icon in volume dialog." into ics-mr1
de5b3a0933e17218f75ec42a244f482f7ead2d37 01-Dec-2011 Chet Haase <chet@google.com> Merge "Protect code in ViewPropertyAnimator from potential null deref"
0c6d83cc5625f967eb2e23cc7c232874cd9e60f9 01-Dec-2011 Chet Haase <chet@google.com> Protect code in ViewPropertyAnimator from potential null deref

The monkeys threw a NullPointerException in ViewPropertyAnimator, from
calling into a data structure that should have been not null. Not sure what
weird onkey-driven timing issue caused the problem, but protecting the null
deref is easy and safe.

Issue 5626496

Change-Id: I902b510db60a8a85f776f48582ae0326522a9400
iewPropertyAnimator.java
786e54dd13111b6a2f75f4f37dd20353cf613e97 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build

Change-Id: I125956773dd364b14f8d328e625df3c852001dbf
ccessibility/AccessibilityInteractionClient.java
66922db828eab153c15bf3ca0b007313d9376e5e 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build - for real

Change-Id: I9628f2da8876b85f9c8ce94cc876b10e083980f6
ccessibility/AccessibilityInteractionClient.java
8b5a814f6a36045b06bee36f44703503c03714d4 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build

Change-Id: I7b2270843123b252098ca798c03284fb089f1b8a
ccessibility/AccessibilityInteractionClient.java
f3b4f3163b5b4c0a54a2643f07c97c47b14a1eb7 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> resolved conflicts for merge of 26f7a81f to master

Change-Id: I6bf5fd7c0de7945cef84602dbe3a7bbed587700f
1c45ac8a1c15a397f5a885944c5be9c2323978d9 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> am d8ec8db5: Merge "Fixing memory leaks in the accessiiblity layer." into ics-mr1

* commit 'd8ec8db5e0f227e4f63e948acb78d829f5ad30c8':
Fixing memory leaks in the accessiiblity layer.
d8ec8db5e0f227e4f63e948acb78d829f5ad30c8 01-Dec-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing memory leaks in the accessiiblity layer." into ics-mr1
2b0acc90ae5a1133356b3af43d99056de1b3f626 30-Nov-2011 Amith Yamasani <yamasani@google.com> No clicking on volume icon in volume dialog.

Don't disable volume slider when it hits zero.
Show correct icon for Silent mode in Power menu.

Bug: 5586083
Change-Id: Iaa957fc08e314e0de1c007dfc967a1d960080aab
olumePanel.java
d116d7c78a9c53f30a73bf273bd7618312cf3847 22-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing memory leaks in the accessiiblity layer.

1. AccessibilityInteractionConnections were removed from the
AccessiiblityManagerService but their DeathRecipents were
not unregistered, thus every removed interaction connection
was essentially leaking. Such connection is registered in
the system for every ViewRootImpl when accessiiblity is
enabled and inregistered when disabled.

2. Every AccessibilityEvent and AccessiilbityEventInfo obtained
from a widnow content querying accessibility service had a
handle to a binder proxy over which to make queries. Hoewever,
holding a proxy to a remote binder prevents the latter from
being garbage collected. Therefore, now the events and infos
have a connection id insteand and the hindden singleton
AccessiiblityInteaction client via which queries are made
has a registry with the connections. This class looks up
the connection given its id before making an IPC. Now the
connection is stored in one place and when an accessibility
service is disconnected the system sets the connection to
null so the binder object in the system process can be GCed.
Note that before this change a bad implemented accessibility
service could cache events or infos causing a leak in the
system process. This should never happen.

3. SparseArray was not clearing the reference to the last moved
element while garbage collecting thus causing a leak.

bug:5664337

Change-Id: Id397f614b026d43bd7b57bb7f8186bca5cdfcff9
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityManager.aidl
d4b1c4424d1d27c0a294e9360a3a489ef5f62dd1 29-Nov-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of be6ab576 to ics-aah

Change-Id: I87c5679c46a58e233da30e73f068bed2af627ab3
b7a4db0a53cff6162d6981f9657a2ac70925ad73 29-Nov-2011 Chet Haase <chet@google.com> Merge "Fix invalidation of transformed, opaque views"
8c39defde61d5c8cd0956a44a193c283af350d88 29-Nov-2011 Chet Haase <chet@google.com> Fix invalidation of transformed, opaque views

There is an optimization in the invalidation logic which notes
when opaque views are invalidated and avoids drawing any of the
content behind those views. This runs afoul of some invalidation
logic that invalidates previous positions of views prior to
transforming them. The opaque-dirty optimization guarantees that
the background behind the old positions of these views will not
be painted, causing the views to leave behind artifacts from
their previous positions.

The fix is to disable the optimization when the view in question is
transformed (has a non-identity matrix).

Issue #5678545: Invalidation logic broken for software-rendered
opaque/transformed views

Change-Id: Ia365ab97725bf36e08797bf319945a52ffca4616
iewGroup.java
0475f82c95e6e9657580820b16b0e48d814119b5 29-Nov-2011 Jeff Brown <jeffbrown@google.com> am c339fe30: am be6ab576: Merge "Fix application launch shortcuts." into ics-mr1

* commit 'c339fe302bc5083f0a110569eec06676be511088':
Fix application launch shortcuts.
be6ab576ff0e3bf2a8dc3feee6f476061afbda30 29-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix application launch shortcuts." into ics-mr1
6651a638348c15e89e265b0a53c775cac9beafa2 28-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix application launch shortcuts.

Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the
platform.

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
eyEvent.java
c0b7f65ae0594e19d1272e5caf2d83638041d19c 29-Nov-2011 Dianne Hackborn <hackbod@google.com> am 496f6e2a: am b54980d1: Merge "Fix issue #5588689: Black camera preview after coming back from gmail" into ics-mr1

* commit '496f6e2ad656c5bb8a277e191554d16abd290b58':
Fix issue #5588689: Black camera preview after coming back from gmail
5e3064c67fc56440a7d199aab00ea5f74dca5039 29-Nov-2011 Dianne Hackborn <hackbod@google.com> am b54980d1: Merge "Fix issue #5588689: Black camera preview after coming back from gmail" into ics-mr1

* commit 'b54980d1d4d903f68cdfa952256afff01902cd94':
Fix issue #5588689: Black camera preview after coming back from gmail
b54980d1d4d903f68cdfa952256afff01902cd94 29-Nov-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5588689: Black camera preview after coming back from gmail" into ics-mr1
cb52d6760078197cd6d0c16349348dd2ad16a88c 29-Nov-2011 Romain Guy <romainguy@google.com> am 02e88f23: am 46685db9: Merge "Fix crash in existing applications Bug #5659476" into ics-mr1

* commit '02e88f23a65c602e83d7a46c0925e653b948e418':
Fix crash in existing applications Bug #5659476
8b435d966a1243da67518365a105906d5525e597 29-Nov-2011 Romain Guy <romainguy@google.com> am 46685db9: Merge "Fix crash in existing applications Bug #5659476" into ics-mr1

* commit '46685db957cc01cef4ba198aafe44d99fe31f62c':
Fix crash in existing applications Bug #5659476
46685db957cc01cef4ba198aafe44d99fe31f62c 29-Nov-2011 Romain Guy <romainguy@google.com> Merge "Fix crash in existing applications Bug #5659476" into ics-mr1
d3ea6b40bb8f0fbc2a877963db1ab4fa0fc02b2f 29-Nov-2011 Chet Haase <chet@google.com> am 38928899: am 8990cb57: Merge "Fix flashing wifi dialog after rotating back from landscape." into ics-mr1

* commit '3892889952b0ad3fa0b095c96d8ae2ae110585e2':
Fix flashing wifi dialog after rotating back from landscape.
ec5f7df910196ead350af856558eebf8675b7f3d 29-Nov-2011 Chet Haase <chet@google.com> am 8990cb57: Merge "Fix flashing wifi dialog after rotating back from landscape." into ics-mr1

* commit '8990cb5768efba46bb1d7458377dd44498afcfdb':
Fix flashing wifi dialog after rotating back from landscape.
08837c246c9c27902c59b41c8661c2f27a4aa2bc 28-Nov-2011 Chet Haase <chet@google.com> Fix flashing wifi dialog after rotating back from landscape.

There was an error in some of the OpenGL layer logic such that we would
occasionally set up a layer for rendering and then not clean up when it was
done. This caused future OpenGL rendering to go into that layer instead of
to the buffers being displayed on the screen, resulting in artifacts including
flashes and displaying of stale content. This happened specifically when
using the wifi settings dialog with the InputMethod keyboard displayed,
but it was probably visible in other situations as well.

Issue #5628248: Flickering/flashing after entering password for WiFi

Change-Id: I38139f620b310f4309570fa7224552d2ee633999
ardwareRenderer.java
iewRootImpl.java
ff98fa5a847f66e591287154c634ef7895a9549c 28-Nov-2011 Romain Guy <romainguy@google.com> Fix crash in existing applications
Bug #5659476

The FontRenderer was not cleaning up its temporary state, leading
to crashes when invoking renderDropShadow.

Change-Id: I43b24820dd5625af8c080bbe11b64de2f74164b2
LES20Canvas.java
6d05fd3c795088ac60f86382df5a66d631e8a0cb 19-Nov-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5588689: Black camera preview after coming back from gmail

Make surface management between SurfaceView and the window manager
much more controlled, to ensure that SurfaceView always gets to report
the current surface is destroyed before the window manager actually
destroys it.

Also a small tweak to allow windows that have a wallpaper background
to still have a preview window. This makes launching home after it
has been killed feel much more responsive.

Change-Id: I0d22cf178a499601a770cb1dbadef7487e392d85
WindowSession.aidl
urfaceView.java
iewRootImpl.java
indowManagerImpl.java
0ce49783083bf81cc1ea812e029fc94e1625a8fd 22-Nov-2011 Romain Guy <romainguy@google.com> am e25ed181: am 26dd54f8: Merge "Ensure we have an EGL context when building layers Bug #5638421" into ics-mr1

* commit 'e25ed181070579fca2522112b1659af2fbf8ddfc':
Ensure we have an EGL context when building layers Bug #5638421
193187afbc320f8acb243abed58778b0bd326d5c 22-Nov-2011 Romain Guy <romainguy@google.com> am 26dd54f8: Merge "Ensure we have an EGL context when building layers Bug #5638421" into ics-mr1

* commit '26dd54f87c1daaa369576d9abea823c8105bd702':
Ensure we have an EGL context when building layers Bug #5638421
26dd54f87c1daaa369576d9abea823c8105bd702 22-Nov-2011 Romain Guy <romainguy@google.com> Merge "Ensure we have an EGL context when building layers Bug #5638421" into ics-mr1
24692d6c9e35e99ec77f5fb57c53bfeef30315a1 22-Nov-2011 Romain Guy <romainguy@google.com> am ae64dfb5: am 1766b0e2: Fix the build

* commit 'ae64dfb5c34eed73bdc7ada30645ffec003c25fc':
Fix the build
3526b00a53a2582a51ff8b98ac1400a48f351107 22-Nov-2011 Romain Guy <romainguy@google.com> am c26e4d18: am 8cd39e3a: Merge "Notify views when EGL resources are about to be destroyed Bug #5639899" into ics-mr1

* commit 'c26e4d18a20ab0b3e769fb3e547994f1c27d6713':
Notify views when EGL resources are about to be destroyed Bug #5639899
f6286e5e9a22eb985f3fd3db00fa5df8536fce9b 22-Nov-2011 Romain Guy <romainguy@google.com> am 1766b0e2: Fix the build

* commit '1766b0e25de5a66f9d0f6e73a2c342272fcadc71':
Fix the build
1766b0e25de5a66f9d0f6e73a2c342272fcadc71 22-Nov-2011 Romain Guy <romainguy@google.com> Fix the build

Change-Id: I3814c6c39eda2a4b56902e2044fbb121b4885e5d
extureView.java
f0401bc1facf5fbc9a3f34cf9c55e41b70ef4a9d 22-Nov-2011 Romain Guy <romainguy@google.com> am 8cd39e3a: Merge "Notify views when EGL resources are about to be destroyed Bug #5639899" into ics-mr1

* commit '8cd39e3a104d0739fd2f1ae73e5f4081f1528c6c':
Notify views when EGL resources are about to be destroyed Bug #5639899
d0609e41ab0caa40058b711bbd03dd93fe8af607 22-Nov-2011 Romain Guy <romainguy@google.com> Ensure we have an EGL context when building layers
Bug #5638421

This bug was introduced by the recent changes that force more frequent
flushes of the GL renderer.

Change-Id: I55dd4ace6ba1e70ab41927150d6c60c37d7fb196
iew.java
afb1a9e2794d6c0bac667d527b7aa77619bd99fb 22-Nov-2011 satok <satok@google.com> Merge "add sentence level spell checker hidden apis"
0dc1f648a09b46c45190ba1ce7daecf7fada4347 18-Nov-2011 satok <satok@google.com> add sentence level spell checker hidden apis

Change-Id: If65c89044bed064fd01a554e33176f64f7c21c0f
extservice/SpellCheckerSession.java
extservice/SpellCheckerSubtype.java
extservice/SuggestionsInfo.java
extservice/TextServicesManager.java
31f2c2e94656530fbf6282803e62edb47e9a894d 21-Nov-2011 Romain Guy <romainguy@google.com> Notify views when EGL resources are about to be destroyed
Bug #5639899

Change-Id: I7c5d8bebf02294426f5b3ab1358a31c38a4fd064
ardwareRenderer.java
extureView.java
iew.java
iewRootImpl.java
indowManagerImpl.java
e9dc7c9f031b494c6ebe156de957f0a8f2cd58b0 19-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> am bdc2912d: am d8a3cabc: Merge "Text selection AccessibilityEvents are missing text." into ics-mr1

* commit 'bdc2912da64e5e6402c73997d637224d905ae825':
Text selection AccessibilityEvents are missing text.
44e3a8a4ac7fca26aa40290fda6dc4fb43ef1d82 18-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> am d8a3cabc: Merge "Text selection AccessibilityEvents are missing text." into ics-mr1

* commit 'd8a3cabcb11c02c54b76590e0f60c32b43b9f2fc':
Text selection AccessibilityEvents are missing text.
84dd52e394d27b5cdf638132808e2585a9049480 18-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Text selection AccessibilityEvents are missing text.

The text selection change event was not added to the text
populating accessibility events in View.

bug:5638709

Change-Id: Ie7e319bc07d7e6c48f178a6c1bd22b1fe32ff515
iew.java
ccessibility/AccessibilityEvent.java
8bc972a5a4c3e24d1b9ba9b1dd4b4e2bbb5dadac 17-Nov-2011 satok <satok@google.com> am 9e502e90: am e5febfd5: Merge "Clean up the spell checker framework" into ics-mr1

* commit '9e502e90b58b4d0bbb792ef1c40dcfd9b9322ce8':
Clean up the spell checker framework
77c5f4def49357a89abd9849b0bab950179d71f4 17-Nov-2011 Dianne Hackborn <hackbod@google.com> am 9aa6bd1c: am 717a25dc: Add new ManagedEGLContext class to help apps participate in memory trimming.

* commit '9aa6bd1c34fe3583fe31f283a6415e84fec12567':
Add new ManagedEGLContext class to help apps participate in memory trimming.
0427550509c857105f878f1f79b54dee0f899e90 17-Nov-2011 satok <satok@google.com> am e5febfd5: Merge "Clean up the spell checker framework" into ics-mr1

* commit 'e5febfd5bd9b19a01383760b523476ba7f013a5c':
Clean up the spell checker framework
e5febfd5bd9b19a01383760b523476ba7f013a5c 17-Nov-2011 satok <satok@google.com> Merge "Clean up the spell checker framework" into ics-mr1
060677f4686a93d92117d7d472e754423a368bdb 17-Nov-2011 satok <satok@google.com> Clean up the spell checker framework

Change-Id: I64c0d813e53a4ebf8d7e63463e36f6900f1aa7d3
extservice/SpellCheckerSession.java
56caf7751bbacb97cb8411a7f829cd4c87ec25b0 16-Nov-2011 Dianne Hackborn <hackbod@google.com> am 717a25dc: Add new ManagedEGLContext class to help apps participate in memory trimming.

* commit '717a25dc2a411edb548859cd6870363346c71b01':
Add new ManagedEGLContext class to help apps participate in memory trimming.
717a25dc2a411edb548859cd6870363346c71b01 16-Nov-2011 Dianne Hackborn <hackbod@google.com> Add new ManagedEGLContext class to help apps participate in memory trimming.

This class provides an API for an application to know when it is time to
destroy its EGL context when memory is being trimmed. By having this in
the framework, we can still detect whether it will be useful to destroy
any EGL contexts (because we know if doing so will destroy all of them).

Change-Id: I1eac8d640052778052926b875c7928008f752182
ardwareRenderer.java
indowManagerImpl.java
47a0a8832f819b3b55c503aa787d615f036b7100 16-Nov-2011 Mike Lockwood <lockwood@android.com> Merge "AudioManager: Add support for master mute" into ics-aah
221096fdd6963a0f7090b928cfb92b9267f32d7a 16-Nov-2011 Jeff Brown <jeffbrown@google.com> am 4c0e0dd2: am 3e7497b4: Merge "Eliminate hw.keyboards system properties." into ics-mr1

* commit '4c0e0dd29dcce33e7521b11d01d21d9431f3b264':
Eliminate hw.keyboards system properties.
eba508a5378319401fcee408bf5d9d4efb455874 16-Nov-2011 Jeff Brown <jeffbrown@google.com> am 3e7497b4: Merge "Eliminate hw.keyboards system properties." into ics-mr1

* commit '3e7497b4eccd3db1d6ff0ce1f1f2db11f9a8eeef':
Eliminate hw.keyboards system properties.
1e08fe90df18930691b0c2ec22e5db25d7fcb4cf 16-Nov-2011 Jeff Brown <jeffbrown@google.com> Eliminate hw.keyboards system properties.

Stop using system properties to publish information about
the key character map path. Instead, we can retrieve it
on demand by asking the window manager.

It was possible to exhaust the supply of system properties
when repeatedly adding and removing input devices.

Bug: 5532806
Change-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669
nputDevice.java
eyCharacterMap.java
cfbcd3bf21c8453e9afd7740fdb7fc272c362389 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Change-Id: I98e87d1e266e0523c4aacb23cc5c4b3fdc7a1eac
Signed-off-by: Mike Lockwood <lockwood@android.com>
olumePanel.java
28a5ec9613a824d2ec15ce5e5cec77a6fcf444d5 14-Nov-2011 Dave Burke <daveburke@google.com> am 2cfb873c: am 9d66da8a: Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1

* commit '2cfb873c9f0b56f2c7d694a21c968511223933af':
Revert "Discard framebuffer rendering queues when discarding layers"
3d151e19662a5e6698bb157a63a332e38146beb1 14-Nov-2011 Dave Burke <daveburke@google.com> am 9d66da8a: Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1

* commit '9d66da8ae61a8520f46ee7df3cbb374852d9da91':
Revert "Discard framebuffer rendering queues when discarding layers"
7077506f9945b87b02bdd47ffce75a5b813c821c 14-Nov-2011 Dave Burke <daveburke@google.com> Revert "Discard framebuffer rendering queues when discarding layers"

This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
LES20Canvas.java
LES20Layer.java
ardwareLayer.java
iew.java
iewGroup.java
3f511aaf1cb9dfa69e2f4225a5bd41bec0864cc7 14-Nov-2011 Mathias Agopian <mathias@google.com> am a16ee939: am 28587497: Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1

* commit 'a16ee9390e1fcea8ff7cbefd253659c37f2999a3':
Discard framebuffer rendering queues when discarding layers Bug #5581817
7c112d1bfb497e00286e090992ad480511855a2e 14-Nov-2011 Mathias Agopian <mathias@google.com> am 28587497: Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1

* commit '2858749704ea7b130499cf2ac7b3e1c3331f1582':
Discard framebuffer rendering queues when discarding layers Bug #5581817
85ab135b2bb586c5a111d7a3b5c71cb9fcebb0b6 11-Nov-2011 Romain Guy <romainguy@google.com> am 50a66f0e: Merge "Terminate EGL when an app goes in the background" into ics-mr1

* commit '50a66f0e9c5a85a6af4a99eb66656a69eba24572':
Terminate EGL when an app goes in the background
1333742bedc9b462024302f302e3a7f27053df66 11-Nov-2011 Akwasi Boateng <akwasi.boateng@ti.com> am cb0db030: Merge branch \'ics-mr1-plus-aosp\' of ssh://android-git:29418/platform/frameworks/base into ics-mr1-plus-aosp

* commit 'cb0db0306b5849a35d3d99eea1b34ce019c6f0d8':
Make the overridden ImageView#setVisibility remotable
Clamp non-monotonic stats instead of dropping.
DO NOT MERGE. Fix leak in LayoutTransition
Fix lastVisible/global rects
Fix Wimax-less build.
Fix leak in LayoutTransition
Deferring wallpaper update to improve workspace scrolling (issue 5506959)
Terminate EGL when an app goes in the background
boot animation is dithered and scaled
Fix NdefRecord byte-stream constructor.
PopupWindow dismiss() can get into a recursive loop.
Fold WiMAX state into the mobile RSSI.
Remove dedicated wimax icon to fix RSSI layout.
da96f8ac2c1c35a54f3f36e6d776cb386a251d03 11-Nov-2011 Romain Guy <romainguy@google.com> Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: If612846ec5f7793710fc4df152791fb32c506551
LES20Canvas.java
LES20Layer.java
ardwareLayer.java
iew.java
iewGroup.java
50a66f0e9c5a85a6af4a99eb66656a69eba24572 11-Nov-2011 Romain Guy <romainguy@google.com> Merge "Terminate EGL when an app goes in the background" into ics-mr1
8ff6b9ebeeb24a6161ec6098e6bfdf8790ee5695 10-Nov-2011 Romain Guy <romainguy@google.com> Terminate EGL when an app goes in the background

This does not happen on high end gfx devices. This happens
only if only one EGL context is initialized in the current
process.

Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
LES20Canvas.java
ardwareRenderer.java
iewRootImpl.java
indowManagerImpl.java
07c0fe4c4fdb13d8e743c80394eddd292631f735 11-Nov-2011 Romain Guy <romainguy@google.com> am f1062114: am a3cc20ff: Merge "Initialize egl_cache with an app writeable file" into ics-mr1

* commit 'f1062114874f1cf46de479031d9ad3ad3cae1131':
Initialize egl_cache with an app writeable file
ed68299b99a854696f99c0825de5ebe09d70f25a 11-Nov-2011 Romain Guy <romainguy@google.com> am a3cc20ff: Merge "Initialize egl_cache with an app writeable file" into ics-mr1

* commit 'a3cc20fff073bd3ca588f1e61f0f7034aecf3ebb':
Initialize egl_cache with an app writeable file
a3cc20fff073bd3ca588f1e61f0f7034aecf3ebb 11-Nov-2011 Romain Guy <romainguy@google.com> Merge "Initialize egl_cache with an app writeable file" into ics-mr1
558f4f6bd4862745075b5dff4881b74bf232ad3d 10-Nov-2011 Adam Powell <adamp@google.com> am 67121fd7: Merge "Fix bug 5581874 - Animated drawables don\'t start as expected" into ics-mr1

* commit '67121fd7b241ceafe7339f5f154781572819f87b':
Fix bug 5581874 - Animated drawables don't start as expected
a95826582773a194ed7fb66bc29c9b82fe9bb8d1 10-Nov-2011 Romain Guy <romainguy@google.com> Initialize egl_cache with an app writeable file

Change-Id: I5dda234feab0fedd6e4179a80715ae20dee1c833
ardwareRenderer.java
5d35fd79a78f9e17089ab36096f7b4f2ba7d99b3 10-Nov-2011 Adam Powell <adamp@google.com> am ba44080d: am 67121fd7: Merge "Fix bug 5581874 - Animated drawables don\'t start as expected" into ics-mr1

* commit 'ba44080d834d23d0bc7d118a4950f837eeaca96a':
Fix bug 5581874 - Animated drawables don't start as expected
e60e3e2b38227b2d567c264f567f6f49656f7187 10-Nov-2011 satok <satok@google.com> am 3869eac4: am 114c4d38: Merge "Introduce an API to cancel pending/running spell check tasks" into ics-mr1

* commit '3869eac42b3d6fc0ecef8f096fbb4b5ddafca6f7':
Introduce an API to cancel pending/running spell check tasks
37419d7321e71edb179faa0eafd2a2acf12b62c1 10-Nov-2011 Adam Powell <adamp@google.com> Fix bug 5581874 - Animated drawables don't start as expected

Fix a bug that caused animated drawables to not schedule properly when
a view has not yet been attached. Also make ImageViews update their
drawable visibility state properly, which will handle scheduling
concerns as ImageViews are attached and detached from their windows.

This should also fix the bug where animated notification icons in the
status bar do not animate until the posting app posts an update to the
notification.

Change-Id: I24c403182831258d1f251736e920c9efe1d38299
iew.java
b199d4fadae313a4d3c751bcd35efb79504aef04 10-Nov-2011 satok <satok@google.com> am 114c4d38: Merge "Introduce an API to cancel pending/running spell check tasks" into ics-mr1

* commit '114c4d3843758a2a1ffb32eb2719d65cdee637f8':
Introduce an API to cancel pending/running spell check tasks
b4aff97c85e730857893742f73a082f6b8d139ca 02-Nov-2011 satok <satok@google.com> Introduce an API to cancel pending/running spell check tasks

Bug: 5554629

Change-Id: Ifd840ea13976813639a2ee259124a21d9bb56893
extservice/SpellCheckerSession.java
a2aa08e20cb4f1e302bb7ae05882cd1be8cfa0d2 08-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.

This allows Music2 and other media apps to control master volume without changing their code

Bug: 5567694

Change-Id: I48b6260b193b22c395be5a31cd1d270b2929a91e
Signed-off-by: Mike Lockwood <lockwood@android.com>
olumePanel.java
2a639347aebb56febdef21a78c70fb0433adc1e5 05-Nov-2011 Chet Haase <chet@google.com> resolved conflicts for merge of aa4d2f69 to master

Change-Id: Iadb63ecf52d8bd2911276fa3db55a43c9c378620
18c3ac45a4f174d480e4cf519863c83c078fb58f 04-Nov-2011 Chet Haase <chet@google.com> am aa4d2f69: Merge "Improve Launcher drag performance." into ics-mr1

* commit 'aa4d2f69bdc2acbed04b7662a55308b72f108dff':
Improve Launcher drag performance.
1f4786bbe1ed7ae54b94cd52c0e1a4a826fecd68 02-Nov-2011 Chet Haase <chet@google.com> Improve Launcher drag performance.

Launcher swiping looks choppy. It's because we deliver the
motion events of the drags asynchronously, and sometimes we
may get an event to redraw before the motion event is posted, so we
end up drawing again without updating to the latest motion
information.

This fix makes input event processing more proactive. Every time
we run ViewRootImpl.performTraversals() (which is what
happens whenever we need to layout, measure, and/or draw), we
first process all pending input events, ensuring that we are
completely up-to-date with posted events prior to drawing, so that the
drawing we do is synchronous with the events we've received.
This eliminates the choppiness and means that we can now get the full
refresh rate on the screen with drag events.

The fix was done for Launcher, but it is pervasive in the system,
so this may fix other laggy drag behavior as well.

Change-Id: I8dbed6acadc2662f317f736e769f536f555701aa
iewRootImpl.java
d548ef3b804f9289aea2383ad1786c0f1b45c8ad 03-Nov-2011 satok <satok@google.com> am cb1001b2: Merge "Fix a memory leak of a Binder in SpellCheckerService" into ics-mr1

* commit 'cb1001b2829f7da86f66f2634bd40cbc51ba4998':
Fix a memory leak of a Binder in SpellCheckerService
ae8f84615135edda65ca987d4bdec5fb4a509648 03-Nov-2011 satok <satok@google.com> am cb1001b2: Merge "Fix a memory leak of a Binder in SpellCheckerService" into ics-mr1

* commit 'cb1001b2829f7da86f66f2634bd40cbc51ba4998':
Fix a memory leak of a Binder in SpellCheckerService
cb1001b2829f7da86f66f2634bd40cbc51ba4998 03-Nov-2011 satok <satok@google.com> Merge "Fix a memory leak of a Binder in SpellCheckerService" into ics-mr1
4b6de4f5a9c2fa08a86b516a49dea97a56e3ce05 02-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> am 6e42470f: Merge "Accessibility window query APIs should respect root name space." into ics-mr1

* commit '6e42470f928bbf60c9fd3d17a2a69a4b96cec170':
Accessibility window query APIs should respect root name space.
cf3b31704ae7743ca85219bca9698adcf6fbc67a 02-Nov-2011 Dianne Hackborn <hackbod@google.com> am ad41a94b: Merge "Some optimizations." into ics-mr1

* commit 'ad41a94b298f834e13632ee29b27cefd75f10012':
Some optimizations.
9e9a64e87549cd668939c8edfb71b2d7866f5e74 02-Nov-2011 Dianne Hackborn <hackbod@google.com> am f136aa34: Merge "Various performance and other work." into ics-mr1

* commit 'f136aa341abaaf7fd6f7632d41a30b2989d93985':
Various performance and other work.
d5a077b89eaf941ba87362d208cbf028a268307f 02-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> am 6e42470f: Merge "Accessibility window query APIs should respect root name space." into ics-mr1

* commit '6e42470f928bbf60c9fd3d17a2a69a4b96cec170':
Accessibility window query APIs should respect root name space.
6e42470f928bbf60c9fd3d17a2a69a4b96cec170 02-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility window query APIs should respect root name space." into ics-mr1
74061ff90453c79ddbde468f630a41425da07710 02-Nov-2011 satok <satok@google.com> Fix a memory leak of a Binder in SpellCheckerService

Bug: 5499490

Change-Id: I167a3e9dfdd6edd06c6ad993fbff3a535c81b09c
extservice/SpellCheckerSession.java
a3ccf0319c6b0e6c89564db3889e08ec90d0f6f4 02-Nov-2011 Dianne Hackborn <hackbod@google.com> am ad41a94b: Merge "Some optimizations." into ics-mr1

* commit 'ad41a94b298f834e13632ee29b27cefd75f10012':
Some optimizations.
0500b3cfda5192efc09d6d4344b0c6c785c0a815 01-Nov-2011 Dianne Hackborn <hackbod@google.com> Some optimizations.

- Don't try to create a thumbnail bitmap on the client side. This
wastes 64k, and isn't needed since we are doing screenshots.
- Optimize View to put all of the callback pointers out of line.
Added a couple new APIs so these don't need to be protected/public.
- Lazily create ViewGroup's cache paint.
- Change FrameworkPerf app to not use HW accel drawing, to give better
comparison with GB.

Change-Id: Iec56d02459820d74a4cc9c7ec9c1856563c82c7b
iew.java
iewGroup.java
88175571f23ca7cff6d21cd1d5d6345cfacaa84a 01-Nov-2011 Dianne Hackborn <hackbod@google.com> am f136aa34: Merge "Various performance and other work." into ics-mr1

* commit 'f136aa341abaaf7fd6f7632d41a30b2989d93985':
Various performance and other work.
57f3b566db630233087b121d3d43ecd81a6dfd95 01-Nov-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility window query APIs should respect root name space.

1. The window query API used to not-respect the root name space
while traversing the parent relation i.e. a client was able
to fetch the parent of a root name space node.

2. Children that are root name space were reported but their descendants
not. Actually such children should not be reported since they are
the root of a separate logical sub-tree. Such a tree is exposed by
its root allowing its traversal. The accessibility APIs should be
able to explore a virtual tree, i.e. one with a descendant which is
root name space, only if an accessibility event from there was received.

bug:5480096

Change-Id: I4c4d805aa2f6d4edba86eda213b5239bea83eed2
iew.java
iewGroup.java
2c84cfc001fb92a71811bf7384b7f865ff31ff9d 31-Oct-2011 Dianne Hackborn <hackbod@google.com> Various performance and other work.

- IME service now switches between visible and perceptible depending on
whether it is being showm, allowing us to more aggressively free its
memory when not shown.

- The activity display time is no longer delayed by the activity
transition animation.

- New -R (repeat) option for launching activities with the am command.

- Improved some documentation on Loader to be clear about some methods
that apps should not normally call.

- FrameworkPerf test now allows you to select individual tests to run.

Change-Id: Id1f73de66dc93d63212183958a72119ad174318b
ApplicationToken.aidl
468825f60a722dba0961a97b851e4f951e38929e 31-Oct-2011 Amith Yamasani <yamasani@google.com> am 18936d7d: am 69e640ee: Merge "Bring back the old-style Ring/Vibrate/Silent states when using volume keys." into ics-mr0

* commit '18936d7d1d0964ba3f5112c5e3ce60f31e1ba5bb':
Bring back the old-style Ring/Vibrate/Silent states when using volume keys.
92537e6ff21d4b20738fae851c2174ea568eb843 31-Oct-2011 Ed Heyl <ed@google.com> merged by hand (services/java/com/android/server/PowerManagerService.java needs to be reviewed)

Change-Id: I86d1111d86cd1646ebc8a88d58aa393089e9f928
d412f9f15b29865c458ebe2f4fbad95a2625c15c 31-Oct-2011 satok <satok@google.com> am 4a6d0879: Merge "Add a flag for recommended suggestions of the spell checker" into ics-mr1

* commit '4a6d0879465ea6eb52b2b75e9fa2a4a84e1b0d86':
Add a flag for recommended suggestions of the spell checker
18936d7d1d0964ba3f5112c5e3ce60f31e1ba5bb 30-Oct-2011 Amith Yamasani <yamasani@google.com> am 69e640ee: Merge "Bring back the old-style Ring/Vibrate/Silent states when using volume keys." into ics-mr0

* commit '69e640ee84fc218d6318acaf73a1c1841d7fba6b':
Bring back the old-style Ring/Vibrate/Silent states when using volume keys.
c696a53d1fe4d61373c5dc64dd057d322da90c8f 29-Oct-2011 Amith Yamasani <yamasani@google.com> Bring back the old-style Ring/Vibrate/Silent states when using volume keys.

In order to completely mute the ringer (no vibrate), introduce an extra
state beyond mute, which mutes the vibrator as well, if it was enabled.

Bug: 5530217

Change-Id: Ib1f299ee6bbca56c1aa7e1100662591362d08307
olumePanel.java
4a6d0879465ea6eb52b2b75e9fa2a4a84e1b0d86 29-Oct-2011 satok <satok@google.com> Merge "Add a flag for recommended suggestions of the spell checker" into ics-mr1
ff35661b5de50ce40aea0bbbf900fadbf2e4fad9 29-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing the build breakage due to bad merge."
f31aba7346c6991ac8848f3b3992651a68781a10 29-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build breakage due to bad merge.

Change-Id: I2804bccc44e061229c3f7b2ad9e00b9e0a0ba916
iewRootImpl.java
59d04a0ce4757aed0b3506f9700df9a83ec970f6 29-Oct-2011 Chet Haase <chet@google.com> am d568bba5: Merge "Optimize handling of scrolled wallpapers" into ics-mr1

* commit 'd568bba507b0f66d4d57c67b08ade894d2c75e53':
Optimize handling of scrolled wallpapers
f79f476fd1e25d3d7bf77e890d064a503537e939 29-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> resolved conflicts for merge of c00d2ddc to master

Change-Id: I075cc5b5df2909152ee463f8a0c7534344b47c62
d568bba507b0f66d4d57c67b08ade894d2c75e53 29-Oct-2011 Chet Haase <chet@google.com> Merge "Optimize handling of scrolled wallpapers" into ics-mr1
a8e5a2bcd6a0d35893187c6df42425c03be005da 28-Oct-2011 Chet Haase <chet@google.com> Optimize handling of scrolled wallpapers

Swiping the home screen causes the WindowManagerService to do
a bunch of work to keep the wallpapers in sync. First, it lays out
and places all windows. Also, it notifies the SystemUI process that
the wallpaper position has changed.

The layout/place operation is too much work - we only need to set
the position values for the wallpaper, not relayout the whole system.

The notification mechanism must exist, but should be optional. Most
wallpapers don't care (especially static ImageWallpapers). So we'll
give them a new API (WallpaperService.Engine.setWantsOffsets()) to
allow wallpapers to opt out of this process and avoid the performance
overhead.

Change-Id: I66c38375438937f14f6f5550565b28eb204b1e06
indowManager.java
e707859415f4c8e1c01228dfaa58fb0a690d442e 28-Oct-2011 Romain Guy <romainguy@android.com> Load identity matrix when calling Canvas.setMatrix(null)
Bug #5446826

Change-Id: I3a7817f266b17e9abe948500816d629edd9a2822
LES20Canvas.java
af5b4f471df108ffbe1c3861d18b2141710d7bf8 28-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing a memory leak in accessibility enteraction APIs.

1. AccessibilityInteractionConnection was non-static inner
class, hence keeping a handle to the enclosing ViewRootImpl
resulting in leaking activities.

bug:5525412

Change-Id: Ie438861663d623d503995844125d9e15d677fc32
iewRootImpl.java
5020e7e2d37865da862846b97d9959e83244a35e 27-Oct-2011 Mike Lockwood <lockwood@android.com> VolumePanel: Add support for master volume

Change-Id: I3119eb2b7d3b5e7ce87f1660b50c10ab79c7bbdf
Signed-off-by: Mike Lockwood <lockwood@android.com>
olumePanel.java
a17b3506234638ef257a6b751a97931dc347a21b 28-Oct-2011 satok <satok@google.com> Add a flag for recommended suggestions of the spell checker

Bug: 5356130
Change-Id: I8361a2750670dadd514d02dd24bf492ce42ff8fc
extservice/SuggestionsInfo.java
006fa48bce7759013d9025376cd5167236c434a7 28-Oct-2011 Gilles Debunne <debunne@google.com> Cleaning and new constant in ViewConfiguration

Fixed the documentation and comments for dips versus pixels.

Added a new DOUBLE_TAP_TOUCH_SLOP to replace the hard-coded and
*unscaled* value used in GestureDetector. Assuming this value was
ok for hdpi devices, set it to 20 / 1.5 ~= 16 in dips.

New method kept hidden to keep API unchanged.

Change-Id: I6d237faa2fdb7714e0e3558978af130df9a061a5
estureDetector.java
iewConfiguration.java
ec6c89b616f5ae50f26185e14ef0f104f7e3f956 27-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Minor documentation fixes for the APIs to expose virtual view tree."
437049b76e6cf93ac71d29836138f764bc8c3a65 27-Oct-2011 Mark Brophy <mbrophy@google.com> Merge "Fix scroll listeners lost in ViewTreeObserver."
af0d984a5850666a374d6f7fc690664d33d57568 27-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> resolved conflicts for merge of b0267e28 to master

Change-Id: Ic65ab83958b2e6bb941fe015b557fd2fd8f80683
c0291bb2eb96e96e0fe06047be929f89aa985ae6 26-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo makes incorrect check before calling into the system.

AccessibilityNodeInfo#getParent is checking whether the source view
accessibility id is specified instead that of the parent.

bug:5505799

Change-Id: I436fd2327def2762b4d307819ba0c23baa9a4e03
ccessibility/AccessibilityNodeInfo.java
71b4e71c67df79f53b582fabb34b96ddbe23fe0f 25-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Minor documentation fixes for the APIs to expose virtual view tree.

Change-Id: I94b74196483fb55ca67e0a50eebab0412c88831c
ccessibility/AccessibilityNodeInfo.java
757c697f73561ef4cfae9e3da64e9b2894d24147 25-Oct-2011 Mark Brophy <mbrophy@google.com> Fix scroll listeners lost in ViewTreeObserver.

Bug: 5512156
Change-Id: I4bb7ccab39053ae75a4bef9309ab334a4ccecf51
iewTreeObserver.java
021078554b902179442a345a9d080a165c3b5139 04-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding APIs to enable reporting virtual view hierarchies to accessibility serivces.

Added an interface that is the contract for a client to expose a virtual
view hierarchy to accessibility services. Clients impement this interface
and set it in the View that is the root of the virtual sub-tree. Adding
this finctionality via compostion as opposed to inheritance enables apps
to maintain backwards compatibility by setting the accessibility virtual
hierarchy provider on the View only if the API version is high enough.

bug:5382859

Change-Id: I7e3927b71a5517943c6cb071be2e87fba23132bf
iew.java
iewRootImpl.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityNodeProvider.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityInteractionConnection.aidl
972b7d2c3bbb54a61a505d9d78927a158356ffb6 21-Oct-2011 Gilles Debunne <debunne@google.com> Merge "Typo in ViewRootImpl"
c8c2e17ecd3488b41d651369d942fafc745e6baa 20-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Add content description setter to RemoteViews"
b5470d52a4fe6e11edb55b149b263e3462acf31b 20-Oct-2011 Jean Chalard <jchalard@google.com> Merge "Fix a warning from the binder, step 2."
de9dbb05ce57a1617efc131f6a724c2a2b164bf7 20-Oct-2011 Jean Chalard <jchalard@google.com> Fix a warning from the binder, step 2.

This patch fixes the following warning:
W/Binder: The following Binder class should be static or
leaks might occur: android.view.inputmethod
.InputMethodManager.ControlledInputConnectionWrapper

...in hope of removing a possible memory leaks.

Change-Id: I081d10fd839f2985d7081492f4f5cf0b4da42fd2
Bugs: 5481376, 5461066
nputmethod/InputMethodManager.java
a80838d9d63fcc9a83a9e7c99884e5b50316d4f0 20-Oct-2011 Jean Chalard <jchalard@google.com> Fix a warning from the binder.

This patch fixes the following warning:
W/Binder: The following Binder class should be static or
leaks might occur: android.view.textservice
.SpellCheckerSession.InternalListener

...in hope of removing a possible memory leaks.
However in my tests it does nothing at all for the memory leak
in bug 5461066, so it was probably unrelated.

Change-Id: Id776665e9483121d22cc91e8d2d9f32e3413ec96
Bugs: 5481376,5461066
extservice/SpellCheckerSession.java
22522289fc0fda5c5fdd8c74e72c9f1f84e421f1 20-Oct-2011 Daniel Sandler <dsandler@android.com> am 84e825a8: Merge "Add hasNavigationBar() to the window manager." into ics-mr0

* commit '84e825a84d7dde03042228c79638935c92d13c92':
Add hasNavigationBar() to the window manager.
0c4ccff36930ff4f0292b94ad51e164c9fa060a3 19-Oct-2011 Daniel Sandler <dsandler@android.com> Add hasNavigationBar() to the window manager.

It is no longer sufficient to check the value of
internal.R.bool.config_showNavigationBar to determine if a
navigation bar (separate from the status bar) is shown on a
device, because the emulator needs to be able to override
this value (now possible by setting qemu.hw.mainkeys to "1"
or "0", for navbar or no navbar, respectively).

This logic is now contained in PhoneWindowManager, and any
clients wishing to know whether the system has a software
nav bar should consult the new hasNavigationBar() method.

Bug: 5404945
Change-Id: I119d32a8c84b88b2ef46f63244e7f11dc5de0359
WindowManager.aidl
iewConfiguration.java
indowManagerPolicy.java
5ac84423a28fea4924eb1c389d647defe1c1b93c 19-Oct-2011 Gilles Debunne <debunne@google.com> Typo in ViewRootImpl

Change-Id: I4a5acfb091ce05f56cdbaa0a56809f377cbf9b39
iewRootImpl.java
2696d0520f9b928264caa5f98c2e6b1e749f9a11 19-Oct-2011 Dave Burke <daveburke@google.com> am 70ac412b: Merge "Add a LayerScreenshot" into ics-mr0

* commit '70ac412b2fe7be2507189a9fdfb30c43b36d56ac':
Add a LayerScreenshot
70ac412b2fe7be2507189a9fdfb30c43b36d56ac 19-Oct-2011 Dave Burke <daveburke@google.com> Merge "Add a LayerScreenshot" into ics-mr0
0ab84ef507f23505a72798fbe25cf4bb2c507ea3 14-Oct-2011 Mathias Agopian <mathias@google.com> Add a LayerScreenshot

A LayerScreenshot is a special type of layer that contains a screenshot of
the screen acquired when its created. It works just like LayerDim.

Make sure to call compositionComplete() after rendering into a FBO.

Bug: 5446982, 5467587, 5466259
Change-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4
urface.java
e261e283eaedd38235fc93b2a5c35758c613b10c 19-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Add content description setter to RemoteViews

bug:5480389

Change-Id: I66616f379a244ba7f3552d766f3aaa77f207550a
iew.java
841d79497d9eff2d4df6948380b79db316d24dc3 18-Oct-2011 Chet Haase <chet@google.com> am 87bc53de: Merge "Make notification panel delete-all animation smoother" into ics-mr0

* commit '87bc53de2adf479ad5a5e226bf3d8fd31af6dc21':
Make notification panel delete-all animation smoother
2f2022afa1eb85018368398bd150e9575fc099c9 11-Oct-2011 Chet Haase <chet@google.com> Make notification panel delete-all animation smoother

Making the notfication delete-all animation smoother by carefully
choreographing the various parts of it. The problem with the previous
animation was that there was simply too much going on at the
same time, causing things like layout and recreating display-lists
in the middle of animations that became choppy as a result. This
approach swipes all items off quickly, then scrolls the shade up to the
top, making both sets of animations smoother as a result.

Fixes #5431207: Notification delete-all should be smoother

Change-Id: Iefe8ab5d661e05adcd10379dab85227d17904450
iewRootImpl.java
6bfa10814e3a701fcef5e4f487f14815a155c35f 18-Oct-2011 satok <satok@google.com> am b7ad8253: Merge "Add documents for the spell checker framework and the input method subtype" into ics-mr0

* commit 'b7ad82533596b73ecd40f22bfe48b1b785b05068':
Add documents for the spell checker framework and the input method subtype
b7ad82533596b73ecd40f22bfe48b1b785b05068 18-Oct-2011 satok <satok@google.com> Merge "Add documents for the spell checker framework and the input method subtype" into ics-mr0
44b75030931d9c65c9e495a86d11d71da59b4429 14-Oct-2011 satok <satok@google.com> Add documents for the spell checker framework and the input method subtype

Bug: 4973788

Change-Id: I7e650f336ba1bb8949899e8b2355e6d492a2e4b2
nputmethod/InputMethodSubtype.java
extservice/SpellCheckerSession.java
extservice/TextServicesManager.java
b6233ffd602642cd47a08f951770744cbed54f22 18-Oct-2011 Romain Guy <romainguy@google.com> Merge "Return early when we cannot allocate a hardware layer Bug #5462308"
5cd5c3f7e4df99f47e3def6e3707b9eb8205aef3 18-Oct-2011 Romain Guy <romainguy@google.com> Return early when we cannot allocate a hardware layer
Bug #5462308

Change-Id: I52dab809662f6f42a49ca03edc50f6b98fc35a06
iew.java
06a77ad5ba237f641b035b7d00cd377a22da767e 17-Oct-2011 Amith Yamasani <yamasani@google.com> am 541f6cfb: Merge "Add alarm volume to the list of volumes in the volume overlay." into ics-mr0

* commit '541f6cfba8d1beb240e841530a761a084e354f64':
Add alarm volume to the list of volumes in the volume overlay.
a3dca6fdaacf9ffea4a844848a53c1adeb089897 17-Oct-2011 Mathias Agopian <mathias@google.com> am 840b8a67: Revert "Add a LayerScreenshot"

* commit '840b8a678537519c27ddf2f818494eaa20a135d4':
Revert "Add a LayerScreenshot"
82ced8250f78aff7b96f7c6ae75bcfaf1023d336 17-Oct-2011 Scott Main <smain@google.com> am f755a2e8: Merge "docs: a couple notes for a11y methods in View and cleanup to the A11y service HTML to be semantically correct and thus improve its accessibility :)" into ics-mr0

* commit 'f755a2e8aabfd6b26df4f3f56f0e9cdfb06cc173':
docs: a couple notes for a11y methods in View and cleanup to the A11y service HTML to be semantically correct and thus improve its accessibility :)
4b1415ebd9bf39fa3e4ee62eef14cf613ea37dec 17-Oct-2011 Mathias Agopian <mathias@google.com> am 57337eb7: Merge "Add a LayerScreenshot" into ics-mr0

* commit '57337eb78e65c160fb9c46a01e04c476d1bfdca1':
Add a LayerScreenshot
541f6cfba8d1beb240e841530a761a084e354f64 17-Oct-2011 Amith Yamasani <yamasani@google.com> Merge "Add alarm volume to the list of volumes in the volume overlay." into ics-mr0
840b8a678537519c27ddf2f818494eaa20a135d4 17-Oct-2011 Mathias Agopian <mathias@google.com> Revert "Add a LayerScreenshot"

This reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.
urface.java
92e1b2d37be8d3d76a55d0242b3cfab7fd8e449a 15-Oct-2011 Amith Yamasani <yamasani@google.com> Add alarm volume to the list of volumes in the volume overlay.

This will be used only for adjusting the alarm volume when an
alarm ringtone is being selected.

Bug: 5164828
Change-Id: Ia4a12b1946fb0715e97101bfd389c6bd33c448c7
olumePanel.java
f755a2e8aabfd6b26df4f3f56f0e9cdfb06cc173 15-Oct-2011 Scott Main <smain@google.com> Merge "docs: a couple notes for a11y methods in View and cleanup to the A11y service HTML to be semantically correct and thus improve its accessibility :)" into ics-mr0
b303d8381d734f48c4e1de4f11bf25950b28adf1 13-Oct-2011 Scott Main <smain@google.com> docs: a couple notes for a11y methods in View and cleanup to the
A11y service HTML to be semantically correct and thus improve its accessibility :)

Change-Id: I483a8a441d802b056f68f82e0e782d86a73298ac
iew.java
ccessibility/AccessibilityManager.java
436e270fbb607d62d59e3694ff46c87fa156f78b 15-Oct-2011 Romain Guy <romainguy@google.com> Merge "Disable hardware acceleration for apps in compatibility mode"
856d4e1a872b5aed6792b33e0360554cb3d19eed 15-Oct-2011 Romain Guy <romainguy@google.com> Disable hardware acceleration for apps in compatibility mode

Change-Id: I2d1c01a30c6fe6fff85c2a9bd6ee6de98e1ed422
iewRootImpl.java
57337eb78e65c160fb9c46a01e04c476d1bfdca1 15-Oct-2011 Mathias Agopian <mathias@google.com> Merge "Add a LayerScreenshot" into ics-mr0
d6809f40cf61203573ec5dbc437f695cd132cc18 14-Oct-2011 Mathias Agopian <mathias@google.com> Add a LayerScreenshot

A LayerScreenshot is a special type of layer that contains a screenshot of
the screen acquired when its created. It works just like LayerDim.

Bug: 5446982
Change-Id: I7814aff2380e7e146937f2b641907be2a30c76cc
urface.java
5a401ddbc89c99315b82b27e1554dbf5141137b4 14-Oct-2011 Joe Fernandez <joefernandez@google.com> am 471fa9d1: Merge "docs: add developer guide cross-references, Project ACRE, Round 2" into ics-mr0

* commit '471fa9d10b4fa4da070c0ffb5fa5ea1354c8e6b8':
docs: add developer guide cross-references, Project ACRE, Round 2
471fa9d10b4fa4da070c0ffb5fa5ea1354c8e6b8 14-Oct-2011 Joe Fernandez <joefernandez@google.com> Merge "docs: add developer guide cross-references, Project ACRE, Round 2" into ics-mr0
96307ff948b92904833c4ba641e04913ec10c1c9 14-Oct-2011 Amith Yamasani <yamasani@google.com> am 00005385: Merge "Use ringer assets for notification volume since the two volumes are tied." into ics-mr0

* commit '000053859290d322625dfcbdb0467fc34d5e55f4':
Use ringer assets for notification volume since the two volumes are tied.
000053859290d322625dfcbdb0467fc34d5e55f4 14-Oct-2011 Amith Yamasani <yamasani@google.com> Merge "Use ringer assets for notification volume since the two volumes are tied." into ics-mr0
558459fe85f56f29a6ed6a4d0adb4a0bd6665884 14-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross-references, Project ACRE, Round 2

Change-Id: I39a534ae3a2a34b4dabc333a09961012ef911d3e
ontextMenu.java
ragEvent.java
enu.java
enuItem.java
ubMenu.java
iew.java
iewGroup.java
8c05abf15743af7cccceae14c33e590a30a7cacc 13-Oct-2011 Daniel Sandler <dsandler@android.com> am dba93565: Break apart DISABLE_HOME and DISABLE_RECENT.

* commit 'dba935659024a9ca83cb6bd3f1a9970e277f7658':
Break apart DISABLE_HOME and DISABLE_RECENT.
dba935659024a9ca83cb6bd3f1a9970e277f7658 06-Oct-2011 Daniel Sandler <dsandler@android.com> Break apart DISABLE_HOME and DISABLE_RECENT.

Additionally, start using setSystemUiVisibility() where
possible in the keyguard to allow activities and dialogs to
re-enable some of the navigation keys (notably: home but not
recents).

Finally, stop disabling MENU for activities atop the keyguard.

Bug: 5380495 // no home in driveabout, clock
Bug: 5396134 // able to show home/recent in keyguard
Change-Id: I04eb224554ee8cff79476b85148c4cda75bb0b62
iew.java
2c4d954ece25324dee2b5f4dc08bd8fb3f5e3dfb 13-Oct-2011 Dianne Hackborn <hackbod@google.com> am f4b40de6: Merge "Fix issue #5445966: WindowManager reporting -long on prime when it shouldn\'t be." into ics-mr0

* commit 'f4b40de684b3574475205542f22b2d49a75f31eb':
Fix issue #5445966: WindowManager reporting -long on prime when it shouldn't be.
f4b40de684b3574475205542f22b2d49a75f31eb 13-Oct-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5445966: WindowManager reporting -long on prime when it shouldn't be." into ics-mr0
36991744a221c30a47085442e6416bdde40b85e8 12-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5445966: WindowManager reporting -long on prime when it shouldn't be.

The window manager now uses the app screen dimensions to compute
the various configuration properties, as it should.

This means that prime is official a "not long" device. Poor prime.
It probably feels inadequate now.

Because it is.

Oh and all that other stuff? Debugging logs. Turned off. And
why the heck not, debugging logs are great.

Change-Id: Iaaf8ef270d986d34fd046d699ef4c0ecea1981fc
isplay.java
d5bb82d18cbd95bb9e751d8315b9ed0b69595033 12-Oct-2011 Jeff Brown <jeffbrown@google.com> DO NOT MERGE. Improve screenshot chord debouncing.
Bug: 5011907

Introduce a 150ms delay in handling volume down keys
while waiting to see if a power key will follow.

Don't trigger the screenshot chord if both volume up and
volume down are pressed together.

Don't trigger the long-press power menu if volume keys are
also pressed.

Require the user to press both keys in the chord within
the debounce time and continue long-pressing them in order
to trigger the screenshot action.

Change-Id: I248968d37b73c09d6d08e7f62667c443eba32da0
indowManagerPolicy.java
2b5b83bda80253a6ff0925ae65da636ed2856def 12-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Improve screenshot chord debouncing. Bug: 5011907"
905805ad7ce18a386076fff99264f821bbad9f83 12-Oct-2011 Jeff Brown <jeffbrown@google.com> Improve screenshot chord debouncing.
Bug: 5011907

Introduce a 150ms delay in handling volume down keys
while waiting to see if a power key will follow.

Don't trigger the screenshot chord if both volume up and
volume down are pressed together.

Don't trigger the long-press power menu if volume keys are
also pressed.

Require the user to press both keys in the chord within
the debounce time and continue long-pressing them in order
to trigger the screenshot action.

Change-Id: I248968d37b73c09d6d08e7f62667c443eba32da0
indowManagerPolicy.java
71def77a2811ce99ee50f09bc933ff380ce85055 12-Oct-2011 Amith Yamasani <yamasani@google.com> Use ringer assets for notification volume since the two volumes are tied.

This is only for voice capable devices, as tablets will still have notification
volume be a first-class citizen and doesn't make sense to show a phone icon
for notification volume.

Bug: 5431744
Change-Id: I28eed3ebc4cda173986c2f15e137e81641ee0a7c
olumePanel.java
8b6c7dd2fe1016a8f765f98e8114d5f491f02353 11-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Add AccessibilityRecord#getMaxScrollX and #getMaxScrollY to the pubic API

The methods were hidden for the previoud release since they were added
too close to the SDK final date.

bug:5424373

Change-Id: I812b9809223db75636b04549500f023820b6eb5a
ccessibility/AccessibilityRecord.java
a1a274f2794e29afd5ba5e2ca31352cae5c508fd 11-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility text changed event text not populated."
589b0bb6ab81657ba201cbc441a49f85305170bc 10-Oct-2011 Romain Guy <romainguy@google.com> Make sure we have the correct GL context when grabbing a bitmap
Bug #5427391

Change-Id: I4687a6a3e8968fc3ca8ef171833b2bb7afc16f89
extureView.java
iew.java
9920f4fdeaa3a4c597f62c3d082becc48ea8a7ab 08-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility text changed event text not populated.

Added the TYPE_VIEW_TEXT_CHANGED event to the populating events.

bug:5430831

Change-Id: I78e87640ea4279227d89f399ad43e9b88eb4a486
iew.java
ccessibility/AccessibilityEvent.java
df89e65bf0fcc651d20b208c8d8d0b848fb43418 07-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix how we hide and show the nav bar.

The PhoneWindowManager is now responsible for hiding and showing
the nav bar.

For hiding, it just moves it off the screen (easy way to get a
nice slide animation on and off). At the same time, we use a
new WM facility to put up a fake input window to capture all
touch events.

When a touch event is received, we force the system UI to clear
the navigation hiding bit so it will be shown again.

This removes a bunch of code from the system UI for hiding and
showing the nav bar. Also removes the code calling from userActivity()
to the system UI, which was bad. (Also no longer using userActivity()
fixes bugs around re-showing the nav bar due to key presses and
other wrong things.)

Change-Id: I8c3174873b5bcaa36a92322a51e8f7993e88e551
indowManager.java
indowManagerPolicy.java
85b9edf2da0534bc53d139bb88cda8866d265afe 07-Oct-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately"
7853c579fa52e4365c6e44ba38aeb3299d776f44 07-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fixing errors in position information of scrollable views reported for accessibility."
9a230e01a1237749a8a19a5de8d46531b0c8ca6a 06-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately

This cleans up how ui flags are managed between the client and window manager.
It still reports the global UI mode state to the callback, but we now only clear
certain flags when the system goes out of a state (currently this just means the
hide nav bar mode), and don't corrupt other flags in the application when the
global state changes.

Also introduces a sequence number between the app and window manager, to avoid
using bad old data coming from the app during these transitions.

Change-Id: I40bbd12d9b7b69fc0ff1c7dc0cb58a933d4dfb23
Window.aidl
WindowSession.aidl
urfaceView.java
iew.java
iewGroup.java
iewRootImpl.java
indowManagerPolicy.java
d9ee72fddb8be40e414a831fb80458dc48699613 06-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing errors in position information of scrollable views reported for accessibility.

1. ScrollView/HorizontalScroll view were reporting only the scroll X and Y but
failed to convey the max scroll along X and Y so the position can be determined.

2. WebView was not reporting correctly its scroll position for accessibility.

3. Some descendants of AdapterView were reporting incorrect position information.

4. Updated the accessibility docs with some details about the scroll information.

5. Cleaned up duplicated code.

bug:5412132
bug:5412265

Change-Id: I165e73ecde027dad811425b9f395a3f758c923ba
iew.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityRecord.java
e9121bc10ae83f45bf4fa4721e4384e6cf0701a6 06-Oct-2011 Chet Haase <chet@google.com> Merge "Fix issue #5367164: memory leak in LayoutTransition"
1a76dcd6d1e30f92668b5df309398d545cef9ace 06-Oct-2011 Chet Haase <chet@google.com> Fix issue #5367164: memory leak in LayoutTransition

When a transition occurs, layout change listeners are added to the container
being transitioned as well as every container up the view hierarchy. The
parent views were not having those listeners removed, so every time a transition
ran, more listeners would be added. Adding to that, the use of an ArrayList
as the collection to hold the listeners meant that adding duplicate items
would just increase the size of the list. There's now a sanity-check on the add
call to make sure that the listener does not exist already, but more importantly
we remove all listeners added when the transition ends.

Change-Id: I4ea05adf30765db091124065539b0ffd32729b3b
iew.java
40e0383dce630ed9b2b1aa0e497709b89dfab6ef 06-Oct-2011 Chet Haase <chet@google.com> Fix issue #5384631: hw windows not resizing correctly

When the SystemUi becomes visible, the activity window resizes.
The hardware renderer was not begin resized to suit, so it was drawing
to a surface larger than that of the activity window, and some of the
rendering (like the action bar) appeared off the screen.

The fix is to keep track of the surface size in HardwareRenderer and to
recreate the surface when the size changes.

This change also removes the BUFFER_CHANGE flag from WindowManager.LayoutParams.
The only reason the flag existed was to trigger a hardware surface recreation,
but checking the old/new size is a more direct way of handling this.

Change-Id: I9d6bf6385794886d1d93c60609c170864cdcdfab
ardwareRenderer.java
iewRootImpl.java
indowManager.java
4dfce20cac7492882d366d053006795aefad59da 05-Oct-2011 Jeff Brown <jeffbrown@google.com> Make SENSOR orientation modes trump rotation lock.
Bug: 5371750

Change-Id: I4d18b6c8ba1de0afd5929ddb8d7123272e35fbe2
WindowManager.aidl
30c845f9ca9e504d4d76099a8be111c99ac669f4 05-Oct-2011 Dianne Hackborn <hackbod@google.com> Turn off logging.

Change-Id: I5b050e33fe918c08b24091c6ccb9c5fe2b01d496
isplay.java
836e262aa8e2f66548231ab11eb3b3e91d0e7901 05-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5348948: Third Party app "Byki Turkish" shows...

...a tiny dialog (works fine in GB and HC)

I found two problems:

- When first binding an application, we were not correctly computing
the compat configuration.
- When retrieving the display metrics to hand to Resources, we were
using the one with compat applied. This is not right, because
Resources will apply the compat itself, so in some cases the compat
scaling was applied twice.

Change-Id: I22c9cfed9e271290c1a7544fa3ffa54a2e65daf9
isplay.java
cac15eb21cab68e5b76fe06f9aff273978c92054 04-Oct-2011 Joe Fernandez <joefernandez@google.com> Merge "docs: add developer guide cross-references, Project ACRE"
b54e7a3d9f60ac605f404f9eb3c5e92ca51bbd23 04-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross-references, Project ACRE

Change-Id: I5df1c4e13af67ff4c4a5b22f3cb1247bf0103b09
iew.java
2588a07730ff511329c87b5f61b20419b2443d48 04-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "The logic for not populating text to some accessibility events is scattered."
0058f724eb5a4e8b8f7409cdcea0ba154b5d2332 04-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility services cannot obtain the source of an event coming from a root namespace descendant."
2cdedffcfa5594f9d516fa235d5edf4d4f92c21d 03-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility services cannot obtain the source of an event coming from a root namespace descendant.

1. The user can touch the screen at an arbitrary location potentially crossing the root namespace
bounday which will send an accessibility event to accessibility services and they should be able
to obtain the event source. Also accessibility ids are guaranteed to be unique in the window.
Added a package scoped findViewByAccessibilityId method that dives into nested root namespaces.

2. Added accessibility support to the AnalogClock.

bug:5405934

Change-Id: I84edcb554bae41aafcbbc2723c5e62c1ef8a6ddf
iew.java
iewGroup.java
iewRootImpl.java
f8419a0299680ed580975b0fcb758990b4367db8 03-Oct-2011 Adam Powell <adamp@google.com> Fix bugs around overlay action modes.

Multiple focusable windows cause undesired behavior around selection
modes. TextView isn't sure how to behave when it loses window focus
with regard to selection handles and action modes need to be focusable
for WebView find on page since it uses an EditText as a custom view.

For now:

* Use a layered window decor for overlay action mode when there is no
action bar requested. This eliminates an extra window and avoids the
issue described for full-screen UIs.

* Disable WebView's find-on-page mode when the action mode's UI will
not be focusable. This only affects WebViews in floating windows.

Also remove the "Text Selection" title for WebView's selection mode at
UX's request, as it is inconsistent with TextView's selection mode and
the string does not fit on phones in portrait even on wide
devices. This now uses the same mechanism used in TextView to decide
whether to use title text.

Change-Id: I80caeecea9b47728cf26bb0a388153ca0bdeafe1
ctionMode.java
82e236d72ac197d6673d0b4d484fe5f0b9436731 30-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> The logic for not populating text to some accessibility events is scattered.

1. Some accessibility evenents should not and were not dispatched for
text population but there was no centralized location for enforcing
this - rather the system was firing them in a specific way or there
were conditions in a few places enforcing that. Now this is centralized
and clean.

2. Updated the documentation with some new event types the were lacking.

3. Explicitly stated in the documentaition which events are dispatched to
the sub-tree of the source for text populatation.

bug:5394527

Change-Id: I86e383807d777019ac98b970c7d9d02a2f7afac6
iew.java
iewRootImpl.java
ccessibility/AccessibilityEvent.java
59c7f80dd20258cefa1fc4bdd3c9a709a8dd53b8 30-Sep-2011 Romain Guy <romainguy@google.com> TextureView works best when it draws stuff.
Bug #5391188

Change-Id: I5e754881ccb08ff288ebd60de77282c9cbcf3f86
extureView.java
iew.java
iewGroup.java
9622e20486955e3a3c2f45c61b23650fb35e6559 30-Sep-2011 Romain Guy <romainguy@google.com> Add system property to force hw acceleration.

Change-Id: I538e641435f282b1af20866a8acd1f8d292734c4
indow.java
2fcbbd0363633765e1ab5b9890ccb807002370e8 29-Sep-2011 Adam Powell <adamp@google.com> Fully qualify javadoc links and make the tools happy

Change-Id: I2ad839be71b550a2bcfb90f67627afdd10d3ae14
iewGroup.java
2a9fa89643ce796ee6dc7edae2742b291b6c5f40 29-Sep-2011 Romain Guy <romainguy@google.com> Don't build display lists for views with a layer.

This could cause the draw() code of views to be invoked too often
or worse, called with the wrong canvas. For instance, a view backed
by a software layer could get its draw() method called to record a
display list. Using a software layer is the recommended way to use
drawing operations not supported in hardware. Since we would
sometimes call the draw() method with the hardware backend anyway,
the app could crash by executing an unsupported operation.

Change-Id: Ib5f9a3a4c6f3efff5e0162ecd73d2dffe06e30a6
iew.java
iewGroup.java
462785fa257671fe4905d1d3e6ca27e4a61ee946 28-Sep-2011 Romain Guy <romainguy@google.com> Add a bit more doc to TextureView

Change-Id: Ib76c80d8f70ede1bb63db319bca1e93c489def4d
extureView.java
6e6db61809a9cf31f110fb53be09b43cfb9f14de 26-Sep-2011 Chet Haase <chet@google.com> Fix display list issue that was crashing an external app.

The app was removing a View whilst in its onDraw() method. This meant
that we asked it for its display list and it invalidated that display list
(by removing itself) before it returned from onDraw(). We later attempted to
draw that invalid display list into its parent nad died in native code.

The fix is to check the state of the display list after the call to getDisplayList()
and to avoid doing further work with it if it's invalid.

Change-Id: I14a342b4fe79c8dce2626ff61237b447040e7f42
iewGroup.java
4c253119db0ce753e46ec3809b54b9e357d363db 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Prevent unintended rotations. Bug: 4981385"
c0347aa19f354a8e1ff4fcd5372b134c0c7c16ad 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Prevent unintended rotations.
Bug: 4981385

Changed the orientation listener to notify the policy whenever
its proposed orientation changes, and changes the window manager
to notify the orientation listener when the actual orientation
changes. This allows us to better handle the case where the
policy has rejected a given proposal at one time (because the
current application forced orientation) but might choose
to accept the same proposal at another time.

It's important that the proposal always be up to date. A proposal
becomes irrelevant as soon as the phone posture changes such
that we can no longer determine the orientation with confidence
(such as when a device is placed flat on a table).

Simplified the orientation filtering. Now we just wait 200ms
for the device to be still before issuing a proposal. The idea
is that if the device is moving around a lot, we assume that
the device is being picked up or put down or otherwise in
the process of being moved. We don't want to change the rotation
until that's all settled down. However, we do want to tolerate
a certain amount of environmental noise.

(The previous confidence algorithm was also designed along
these lines but it was less direct about waiting for things
to settle. Instead it simply made orientation changes take
longer than usual while unsettled, but the extra delay was often
too much or too little. This one should be easier to tune.)

Change-Id: I09e6befea1f0994b6b15d424f3182859c0d9a530
indowManagerPolicy.java
indowOrientationListener.java
a982ad19d2aee54f714fa3ad9ee4ddbac08dc0fe 23-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5173952: Opening a Notification From Lock Screen..."
90c52de28691ca0bbbf7c039ef20f85ce46882cc 23-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5173952: Opening a Notification From Lock Screen...

...Should Skip Unsecure Lockscreen (ICS)

Also while I am in there, clean up logging of intent objects to include
even less sensitive information, while showing the true Intent in dump
output (since apps can't get to that).

Change-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e
WindowManager.aidl
indowManagerPolicy.java
83a559e78f57703645066c822a1ec7257c06ba56 23-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Scroll accessibility events should not populate text."
2b2f6d6c544d7a3b5b150ce6f62451ad0a6e390b 23-Sep-2011 Adam Powell <adamp@google.com> Remove unnecessary parameter

Change-Id: I32810a31140263a996d4f600fa53db5f29e60f42
iew.java
b84b94e1a04cd1f396dd6fef98d65ca1a2729c92 23-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Scroll accessibility events should not populate text.

Scroll events are used to report position change and should not
contain the text content of the view that fires them because it
is usiually a containter for many other views and the text will
be long and not informative for accessibility purposes. Also
such evens are fired relatively frequently. If a client wants
to fetch some textual content for a scroll event he can use
the interrogation APIs.

bug:5352059

Change-Id: I43e02aca895c8ab16ba82ebe1cee3aea8ce7711a
iew.java
iewGroup.java
7db82acd8151684a886d4725ddf2790ef3a2f80e 23-Sep-2011 Adam Powell <adamp@google.com> Fix leaky view tags

The implementation of the method View#setTag(int, Object) stored tag
objects as entries in a static WeakHashMap associated with the View as
a key. This was problematic for any tag object that stored a hard
reference back to the View the tag was placed on, as it would cause
the WeakReference key to never be collected and the entry to persist
forever.

This was particularly nasty if an app used a keyed tag to store a
ViewHolder object referencing child views for use in the Adapter
implementaion for an AdapterView, since child views will always have
hard references leading back to the parent.

Change-Id: Ia17840a301ba0e0c928861405388fb2f625dac2c
iew.java
7933b7056f9886789e46e4151ed6c03f9f3d9398 22-Sep-2011 Daniel Sandler <dsandler@android.com> am cc22b992: Merge "Revert "Allow views to setSystemUiVisibility() with the same value and have it work."" into ics-factoryrom

* commit 'cc22b99249ac80891af99be941862edc9569fc4b':
Revert "Allow views to setSystemUiVisibility() with the same value and have it work."
9f48d6348d0a1c24e51d6526fb6b282997b22ae5 21-Sep-2011 Ken Wakasa <kwakasa@google.com> Fix comment

Change-Id: Ic0fd15d0b1b4d2c24eb177a6b22e0cc08ec1de99
extservice/TextServicesManager.java
a829e16681903e6a41901145195f88bf9d952f88 22-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Handle orientation changes more systematically. Bug: 4981385"
01a98ddbdfbaf1f0d2bc602537e6e314364902a3 21-Sep-2011 Jeff Brown <jeffbrown@google.com> Handle orientation changes more systematically.
Bug: 4981385

Simplify the orientation changing code path in the
WindowManager. Instead of the policy calling setRotation()
when the sensor determined orientation changes, it calls
updateRotation(), which figures everything out. For the most
part, the rotation actually passed to setRotation() was
more or less ignored and just added confusion, particularly
when handling deferred orientation changes.

Ensure that 180 degree rotations are disallowed even when
the application specifies SCREEN_ORIENTATION_SENSOR_*.
These rotations are only enabled when docked upside-down for
some reason or when the application specifies
SCREEN_ORIENTATION_FULL_SENSOR.

Ensure that special modes like HDMI connected, lid switch,
dock and rotation lock all cause the sensor to be ignored
even when the application asks for sensor-based orientation
changes. The sensor is not relevant in these modes because
some external factor (or the user) is determining the
preferred rotation.

Currently, applications can still override the preferred
rotation even when there are special modes in play that
might say otherwise. We could tweak this so that some
special modes trump application choices completely
(resulting in a letter-boxed application, perhaps).
I tested this sort of tweak (not included in the patch)
and it seems to work fine, including transitions between
applications with varying orientation.

Delete dead code related to animFlags.

Handle pausing/resuming orientation changes more precisely.
Ensure that a deferred orientation change is performed when
a drag completes, even if endDragLw() is not called because the
drag was aborted before the drop happened. We pause
the orientation change in register() and resume in unregister()
because those methods appear to always be called as needed.

Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
WindowManager.aidl
urface.java
indowManagerPolicy.java
indowOrientationListener.java
823f074a73cfc23c40a7b576c71daa096ee9ed6a 22-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5300621 - Share menu disappears in gallery

ActionProviders (or action views) unfortunately had no way to report
that they had opened a sub-UI that would affect menu visibility
listeners used to hide action bars when not in use. This caused the
Gallery UI to hide its action bar when the share popup was open.

Add hidden API (to be made public later) to ActionProvider that can be
used to inform the menu system that a sub UI has opened or
closed. Account for this in menu visibility callbacks. Fix
ShareActionProvider to use this when its popup windows open and close.

Fix a regression where submenus were not properly reporting visibility
changes.

Change-Id: Ia6f45fb463ad106105c40d01f141c2e5c8b96f78
ctionProvider.java
705240631beffaedc28bc0b950e8b7f09b6d3b5d 21-Sep-2011 Daniel Sandler <dsandler@android.com> Revert "Allow views to setSystemUiVisibility() with the same value and have it work."

This reverts commit fad9555217ce3a657ffc7cba458a0d2622f7a379.
Because it just didn't work. (The views kept aggressively
re-applying their preferred flags every time view attributes
were aggregated.)

We'll pursue the original strategy, like lights out mode in
HC: if you want to tickle this mode, un-set and re-set the
flags (preferably synchronized with the global SystemUI
visibility state as reported by onSystemUiVisibilityChanged
callbacks).

Bug: 5052456
iew.java
bc1aa7bbc753ebcd32da4507fa23215489b6d314 20-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5312624: Lock screen very flickery

The key thing was to fix isVisibleOrBehindKeyguardLw() so that it
wouldn't count a window as not visible if it was just currently
in the process of drawing due to an orientation change.

Also improve logic in deciding when to turn screen on to better ensure
the screen is in a stable state, in particular treating screen off
as a frozen screen and not allowing it to turn on until the
update of the screen due to any config change is done.

Change-Id: If82199f3773270b2d07f9c7de9da2dad8c7b28d7
indowManagerPolicy.java
4943b3aa360033c0eae9e5b67c7491b25ea9ae07 19-Sep-2011 Amith Yamasani <yamasani@google.com> Merge "Make Volume control non-modal and allow touches underneath to take effect."
38e29a61d0c87fe3e391d24e2eb11dd1800d107d 18-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5242779: Device not responding to touch on unlock screen

Rework how we decide when it is okay to turn on the screen by having
the policy call back to the power manager when it knows the lock screen
has been drawn.

Change-Id: Ie8f3f72111dcf7f168723e6dce24e0343b4afe5d
WindowManager.aidl
indowManagerPolicy.java
284e630a9b7f126ffb83cee4a1c4fe5134190cab 17-Sep-2011 Amith Yamasani <yamasani@google.com> Make Volume control non-modal and allow touches underneath to take effect.

Bug: 5308506 "Video" App halts playback when volume slider is present
Change-Id: Ib0672384b9074af73d729d1f64db62e5a8882d80
olumePanel.java
4b86788003b3ddc968d0681d5ed4e5da07e4a65a 16-Sep-2011 Adam Powell <adamp@google.com> Bug 5244365 - Prevent views from receiving multiple onAttachedToWindow
calls.

If a View is added to a ViewGroup during the ViewGroup's
onAttachedToWindow method, the child can receive two calls to
onAttachedToWindow. Guard against this.

Change-Id: I845d0cb2c9172071eee1eadc6bc2dd282ee0ef43
iewGroup.java
4f59f8be0e177435a9a493668a74c793971b3bb5 16-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5300880: setSystemUiVisibility() always triggers a surface reallocation

Change-Id: Ia0a9d8acba6b62ef095e4c615099466c52eec8e4
iewRootImpl.java
df82905cf3ceb9192dc8087f934081f809d99bcf 15-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Update the public APIs for finding views by text to optionally use content description."
93578af23ecfb8f5b6001346d63c6214cdec5d17 15-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Velocity Tracker II: The Revenge of Velocity Tracker Bug: 5265529"
ea515aeafa01de6f50c854ee381b972ef2478284 15-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Update the public APIs for finding views by text to optionally use content description.

1. Added flags to the search method to specify whether to match text or
content description or both.

2. Added test case for the seach by content description.

3. Updated the code in AccessibilityManager service to reflect the latest
changes there so test automation service works - this is the fake
service used for UI automation.

Change-Id: I14a6779a920ff0430e78947ea5aaf876c2e66076
iew.java
iewGroup.java
iewRootImpl.java
ccessibility/AccessibilityNodeInfo.java
ec537457cd2869e52b9b2c99e8c01dd96a9682e2 15-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5155678: Portrait > Landscape full-screen transition...

...mode cuts off screen rendering

The code for limiting application window sizes to not include the
navigation bar was dead. Now it is back.

Change-Id: Ic0bde56e3300fd0d9d225e19d8de2766d07e8780
isplay.java
b59ab9f41faafb358afb4f951de96f34a656e0b4 14-Sep-2011 Jeff Brown <jeffbrown@google.com> Velocity Tracker II: The Revenge of Velocity Tracker
Bug: 5265529

Rewrote the velocity tracker to fit a polynomial curve
to pointer movements using least squares linear regression.
The velocity is simply the first derivative of this polynomial.

Clients can also obtain an Estimator that describes the
complete terms of the estimating polynomial including
the coefficient of determination which provides a measure
of the quality of the fit (confidence).

Enhanced PointerLocation to display the movement curve predicted
by the estimator in addition to the velocity vector.

By default, the algorithm computes a 2nd degree (quadratic)
polynomial based on a 100ms recent history horizon.

Change-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1
elocityTracker.java
1f903c3b577d20f7db7e3d5875cafe577d0d845f 14-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5283365: Rotating the device to portrait mode, hides the keyboard partly

PhoneWindowManager now takes full responsibility for deciding where the
navigation bar goes. This gets rid of a bunch of race conditions with
determining layout while the nav bar is moving itself at the same time
the window manager is computing a new configuration.

Note that this breaks the "nav bar on left" option. The current nav
bar code could also be cleaned up some more to completely drive its
behavior based on onSizeChanged() happening during relayout.

Change-Id: I1651d74c3464ba0d588aab3049e099c78420146a
indowManagerPolicy.java
ff87be5966d876031ec56f55d5c1e6cf4cef71fa 13-Sep-2011 Christopher Tate <ctate@google.com> Merge "Fix bug 5297302 - Remember to release surface after starting drag"
180c48489f07ebd748700a5a312070583fefdb45 13-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5309443: Ninjump crashes on boot with...

...java.lang.IllegalArgumentException: Window type can not be
changed after the window is added

Change-Id: I4e34622c99d721fa214fd534a9bbfc8006184770
iewRootImpl.java
8f73b5dfac9be998fcd6cdc30bcb1e4b210ba575 13-Sep-2011 Christopher Tate <ctate@google.com> Fix bug 5297302 - Remember to release surface after starting drag

Forgetting to release it was "safe" in that GC would eventually
tidy it up anyway, but in the meantime it was possible for a user to
do lots of drag operations, racing ahead of the progress of the garbage
collector, and wind up with drags failing because we'd run out of
surface slots due to all the piled up stale drag shadows.

Change-Id: I7ac93b13cc9996dda04a404571fbc44cb4314694
iew.java
ab0f485e64418eb22f0a1d89d7064902b381e9c2 13-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix problems where we were allocating TypedArray when not needed.

Fixes up some recycling of TypedArray objects to reduce the
number we need to allocate during inflation etc.

Change-Id: I948dccc052997779001eaa99db2a710b04be01ae
iew.java
nimation/Animation.java
bd5c9768c4432c6cb2bfa5f521d49ff03c087ff8 13-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding accessibility delegate mechanism for backwards compatibility support."
031d9c1389de2b9dac7f175af0b962e24b21d5be 10-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding accessibility delegate mechanism for backwards compatibility support.

1. Added an AccessibilityDelegate class in View which can be set by
a client that wants to cutomize accessibility behavior via
composition as opposed to inheritance. Insead overriding a new method in
View thus being bound to the API version that introduced this
method a developer can conditionally inject the accessibility
customization if the platform API version is heigh enough. The
developer will have to override the method of interest of the
delegate. The default implementation of the delegate methods is
the same as that of View in the case that there is no delegate
set. If a delegate is set calling an accessibility related method
on View will be handed off to the corresponsing method of the
delegate.

bug:5259555

Change-Id: I00e750e22e5e7164a1b571cb3d12ecaf4ab93db4
iew.java
iewGroup.java
fe75cb342e33e7c465709bb34ab7abae9e9871f6 11-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix inflating of animations."
6a6977e8728f3a3d209daadf587079dc7369050b 11-Sep-2011 Chet Haase <chet@google.com> Merge "Fix 5266335: bad DIRTY/invalidation logic"
8962028b6e2f4176e6ceded281e584d223e44982 11-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix inflating of animations.

Need to define attributes for animation set, to have correct indices.

Also small fixes elsewhere.

Change-Id: If596147e8aee4ebffe4e184872070341eff6df73
nimation/AnimationSet.java
f186f30a7cbbf84e9b7ef52403d77f252b5229ed 11-Sep-2011 Chet Haase <chet@google.com> Fix 5266335: bad DIRTY/invalidation logic

The DIRTY flag is used to track which elements of the view hierarchy need
to be redrawn on the next drawing operation. This flag is set on the parent
hierarchy of a view when that view is invalidated. There is an optimization for
opaque views that tells the parent that it is dirty, but that it need not
redraw its own content because the view will cover it (since it is opaque).

This dirty-opaque logic breaks down in the current code because we only set
these dirty flags on the parent hierarchy, not on the view itself. In the situation
raised by this bug, we would invalidate the parent container directly (which does
not case the dirty flag to be set), then we would invalidate a child of that view.
Because the child is opaque, the DIRTY_OPAQUE flag would be set on the parent
container. This would cause us, in the later rendering process, to skip the
drawing on that parent container, assuming that it was only asked to be redrawn
because of its opaque child's invalidation.

The fix is to now set the DIRTY flag on an invalidated view, not just on its parent
hierarchy. The DIRTY_OPAQUE logic will avoid setting the opaque flag on views/parents
that are already marked DIRTY, thus an invalidated parent will be correctly drawn
during the drawing process.

Change-Id: Ib5e014a125a4f5168f6a5a3166e941474659aca5
iew.java
fd19906b50927834787403ca984f6fda93b53410 10-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Inter process interrogation ocassionally gets stuck."
6bc5e530016928027c7b390a8368ecdd5bff072f 10-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Inter process interrogation ocassionally gets stuck.

1. There was a bug that was not handling correctly the
case for which the interrogator requests an accessibility
node info and the message describing how to fetch the
latter for the same process case was delivered after the
code that checks whether the message is there in order to
dispatch it is executed. Now the message handling is done
correctly - the caller checks if the message is present and
if so processes it, otherwise the caller sleeps and is
interrupted if such a message arrives.

bug:5138933

Change-Id: I4c2940b46c9a52a51c5ee48b83ca6811489765d6
ccessibility/AccessibilityInteractionClient.java
1ef3fdbe047c805ce33b2be463ea51dec5952729 10-Sep-2011 Romain Guy <romainguy@google.com> Go faster!!!!

The less we do, the faster we draw.

Change-Id: I7bbc3908b36d8ae295ea3e61ef71fd9ee2187970
iew.java
7b8d7cb59cfdc492df920b0c48960a691994f598 10-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Pull animation attributes out of main view class."
ddb715b238c098d8b561a44b9687f0bc67a4c141 09-Sep-2011 Dianne Hackborn <hackbod@google.com> Pull animation attributes out of main view class.

These are now in a separate class that is only allocated when
needed by the view.

Change-Id: I9601bb43b3b4bfdabd982b02f7cd7534437b8ac3
iew.java
iewPropertyAnimator.java
1d50a2c0682926f783f9acab5c4bdeca1d3cb9cd 09-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Adjust layers for system overlays."
8b83a7297680911d666546ee0b3a464514dc2c27 09-Sep-2011 Ken Wakasa <kwakasa@google.com> Fix a bug in InputMethodSubtype constructor

bug: 5249480

Change-Id: I707e45cc0606dae7824c478ab586fc24d3f417f8
nputmethod/InputMethodSubtype.java
bfcb60ab0f696c8ef70830c365550e62fe2808bf 09-Sep-2011 Jeff Brown <jeffbrown@google.com> Adjust layers for system overlays.

Prevent system overlays from showing above the notification bar.

Allow secure system overlays to be fullscreen, for the pointer
location view.

Show the drag layer above the notification bar.

Change-Id: Ic8d663792a243cca2cd9952d241d001e0357d551
indowManager.java
e080af37544f5d7d0cc8140289ac96dd21a8742d 09-Sep-2011 Romain Guy <romainguy@google.com> Save/restore display lists' canvas properly

Change-Id: Ic016f0215f9fe5c67af98f059ecce4ed94994810
iew.java
aacbf9111b58f10f7474fbd3a8debb02713f8b18 08-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Not visible view should not be announced or interacted with."
0b0a41d8e26eaf0f1d9d922621494daf40964a9a 08-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Not visible view should not be announced or interacted with.

1. Some invisible views' text was reported by accessibility events.

2. Accessibility actions could have been perfromed on invisible views.

bug:5264355

Change-Id: I68184fb436a3e10e947ec6f1eae02aa3d0d1cb7f
iewRootImpl.java
e3238c98054688dd9a5b3ae4a776c023d70fb311 08-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Code cleaning"
8fc54f9b281eecdc1ee05d7c091968b75a640e7e 08-Sep-2011 Adam Powell <adamp@google.com> Fix build

Change-Id: I9efe13a7647088402c6759399a96de7831df964b
iew.java
2b04cef9b49ae5bd5ff197124f2dfcf97af71d09 08-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Code cleaning

- removing CharCount TextDirectionHeuristic references

Change-Id: I8cdc03b0d7bd610c7b8224073ffedd89b8953c63
iew.java
b6e43268f9a499b6d04b0d218e9bd46254ebbc8e 08-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Hide RTL related APIs"
2273b1e4eae27fa60b0b90d16a1891b4526c9b9c 08-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Hide RTL related APIs

Change-Id: Idda458fcdebe7afeb9b95e328e552fcbc7939157
iew.java
a7e88d688b6f1c3f892867d1401f88d79e759777 07-Sep-2011 Chet Haase <chet@google.com> Merge "Add end functionality to LayoutTransition"
36d3b9ddc4afc6d961b80c4d85f6dc0587b1285c 07-Sep-2011 Chet Haase <chet@google.com> Merge "Clarify AnimationSet docs and behavior"
d56c6951755a902a354e13e5fa05fb0984132cc6 07-Sep-2011 Chet Haase <chet@google.com> Add end functionality to LayoutTransition

This new hidden API is called by ViewRootImpl when there is a pending
transition but the parent window is not visible.

Change-Id: Idd6a0959b391fae542e675e8740b6a16f8963678
iewRootImpl.java
3791dc9b1c849bfacbff6de7fb53b77f414d1e4b 07-Sep-2011 Chet Haase <chet@google.com> Merge "Fix issue with LayoutTransition on non-visible windows."
61158c621d0834d6d4e1e0310596d9b7a1071178 07-Sep-2011 Chet Haase <chet@google.com> Fix issue with LayoutTransition on non-visible windows.

There's a problem with how LayoutTransition cleans up after itself
when the target view is in a Window that is not on the screen.
The quick fix is to always start (and therefore properly end and clear)
transitions, regardless of whether the window is in the tree.

Change-Id: I23f4f4f04176f3943e5c6e1d78acba0190a96930
iewRootImpl.java
2b72d93ce3f63c186db31aac9b0d8468fa9e50b6 07-Sep-2011 Romain Guy <romainguy@google.com> Merge "Don't destroy a window's buffers when moving it"
f21c9b0f52d5a1de5050f90f0818467fad014eaa 07-Sep-2011 Romain Guy <romainguy@google.com> Don't destroy a window's buffers when moving it

Change-Id: Ib08608373ae4299639c1b157421ba633e4293446
iewRootImpl.java
indowManager.java
c6fc20a91bdf6f5d8cd8784324a55e39bcb7077c 07-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics"
c529d8d8c709aed9c9e6d87af3ce2eb4c73da4bf 07-Sep-2011 Romain Guy <romainguy@google.com> Prevent crash in View.createSnapshot if getResources() returns null
Bug #5260241

Change-Id: I90b6d5a8961a6b7b50603a9f59a6e39093646bd4
iew.java
c861bd778b1b96aa12d3400ec799d80ba38c1f38 06-Sep-2011 Chet Haase <chet@google.com> Clarify AnimationSet docs and behavior

Two problems fixed here:
- The docs for AnimationSet were too vague and incorrect: some properties of
Animation (such as duration) are pushed from the AnimationSet down to its children, as
the current docs say. Some other properties (such as repeatCount) are ignored. Other
properties (such as startOffset) apply to the Set itself, but not to the children.
Fix: clarify this behavior for each of the properties.
- The behavior for XML resources was just busted. We would set the various properties
(e.g., duration) and then forget that we did so, since we reset the flags that marked
their existence after we loaded the resource. In fact, the duration property was
always being reset to 0, regardless of what it was set to in the xml resource.
Fix: Make it work they way it always should have: respect the values read from the XML
resource and make them behave the same way they do when set at runtime.

Change-Id: I07d68876d2259105dc5a359501d5c656ecfaa8e5
nimation/AnimationSet.java
e3bf88da23bfadd89a35b6dec769ea825e5ecd6e 06-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics

- update unit tests too

Change-Id: I7c518f58a9f17cb679bc3913bdd38243f7ad2195
iew.java
dbfba8560dda9de810c4265b765d49952519e841 05-Sep-2011 satok <satok@google.com> Add a function to check auxiliary ime.

Change-Id: Ibda3d0a11c7dd77aa1304d34fc858bb7d941c626
nputmethod/InputMethodInfo.java
6b0c11da5a7a7ea236fd9dc409d1ce7a33bff9c2 03-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5150899: Call activity takes 15MB we never get back."
3c4ce72c4d66d9ee041924259f20381b658c1529 03-Sep-2011 Chet Haase <chet@google.com> Fix artifact with LayoutTransitions on disappearing window.

Logic in performTraversals() starts a transition running at the
proper time. But when a view's parent window goes away, this transition
may not start at that time because drawing gets canceled. But the
transition still hung off of the ViewRoot, waiting until some later
drawing operation to kick it off. This resulted in some weird animations
like the Recents panel appearing and having a single item animate off of it.

The fix is to delete pending transitions when drawing is skipped.

Change-Id: I3ab7702c16e069644a163424f977350743e2cecc
iewRootImpl.java
5d927c2d8e832fcfcb0154c8741f896001141ef4 02-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5150899: Call activity takes 15MB we never get back.

Persistent process can no longer use hardware acclerated drawing
when running on a low-memory device.

Change-Id: I3110335617af1c98fcede9bf41f4a1d0c20d0e87
ardwareRenderer.java
iewRootImpl.java
indowManager.java
bffb83e96c2f3d01bf42490737201ab4de79c91b 02-Sep-2011 satok <satok@google.com> Merge "Add an option for the implicitly selected subtype"
a86f5e448cd6d29340ca6cbe509bc6384bc0d711 02-Sep-2011 satok <satok@google.com> Add an option for the implicitly selected subtype

Bug: 5057886
Change-Id: Iddde4724891501b4f18cade6a3d2c64b6124e58a
nputmethod/InputMethodInfo.java
nputmethod/InputMethodSubtype.java
ee5e77cafec2eae70890abdcc1646ed39b06eddd 02-Sep-2011 satok <satok@google.com> Make setAdditionalInputMethodSubtypes async

Bug: 5120261
Change-Id: Ic7869cfaa5361531e08d58d7dfa5ba0feab0613e
nputmethod/InputMethodManager.java
3889e492bcad3c6f565d30da4e02d0dcde09d084 02-Sep-2011 satok <satok@google.com> Make the constructor of InputMethodSubtype hidden.

The constructor is not open sourced yet.

Change-Id: I69385b05cb3b5ee761a5ece9be877a8682c5fe55
nputmethod/InputMethodSubtype.java
f679ed0939f10ee3da9363bb179802b8184d1880 02-Sep-2011 Romain Guy <romainguy@google.com> Merge "Prevent a leak when using View.postInvalidate(left, top, right, bottom)"
40c18f59ac3bd0e14ac9c7ed6467e52fb8f95640 02-Sep-2011 Romain Guy <romainguy@google.com> Prevent a leak when using View.postInvalidate(left, top, right, bottom)

Change-Id: I44c9a11d8b62d86d38f4600df2bbea13c874b991
iew.java
69666e078152362b19d02d9ee79bbd5fc69e09c3 02-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5229575: Youtube link shared through messaging is not..."
08a1c04b9668e51ca3043a4e531b7649b018b245 01-Sep-2011 Romain Guy <romainguy@google.com> Merge "Dispatch onDetachedFromWindow before destroying everything Bug #5245686"
16260e73f6c1c9dc94acf0d328a3c564426b8711 01-Sep-2011 Romain Guy <romainguy@google.com> Dispatch onDetachedFromWindow before destroying everything
Bug #5245686

Change-Id: I637178ee0bb47fbec9b59198b388bb8de22c1786
ardwareRenderer.java
extureView.java
iewRootImpl.java
ba24e4d8bbeb60e96d74f05e21691dad61ce497e 01-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5229575: Youtube link shared through messaging is not...

...opening after selecting option "Youtube" as a luncher.

Also:

* Tweak window animations so that the wallpaper exist animations do not
stop too early (causing the wallpaper to suddenly disappear).
* Make sure no input is being processed while booting, to avoid
accidentally doing things especially in the upgrade dialog.
* Some other small cleanup.

Change-Id: I40a6b53731991d4e31ac4502e3d85f0e47507481
indowManagerPolicy.java
8b5a8b5bed98bd1c048864abcf39dfc3875518cb 01-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Code cleaning"
6a13dd5544d0eb55349ccf57ee6a781ab4fd51b6 01-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility hover events are fired if hover otside of modal window."
7552c044fcb60cb9db73372229048dcd0e65a955 01-Sep-2011 Jeff Brown <jeffbrown@google.com> Increase orientation settle time.
Bug: 4981385

Improves noise tolerance and reduces the chance of mispredicted
orientation changes.

Change-Id: I27f2c05a981ae93b0de41c542d41377b2ea25450
indowOrientationListener.java
4c1c101a91ed49089a1b81923385cb2f74253c57 01-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility hover events are fired if hover otside of modal window.

1. Added a check whether the received hover event is in the bounds
if the view before sending accessiiblity hover events. Hence, if
a widnow gets a hover event and it gets to its topmost view the
latter will not fire an accessibility event.

bug:5233588

Change-Id: I61e81fbf0ce59a7f57377262ce066bcf8db98f56
iew.java
7d892dcc8a18376f499527a160c6c0ed664e22b1 01-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Code cleaning

- remove unused constant
- fix spelling

Change-Id: I0053129b33c2ee472db84e14d4b2ace5d97d20a8
iew.java
d040edbae968d826aa2c82d382345811a45c646b 31-Aug-2011 Dianne Hackborn <hackbod@google.com> Use floating point window positions.

Gets rid of gapps between windows during animations.

Change-Id: I17d2ef0af214008f0eabd7eb19268f145fe83b39
indowManagerPolicy.java
9d4bc852ea459c2a4347a87ce0357b3328a25db8 31-Aug-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix input channel leak. Bug: 5156144"
bfe561c54a5addbc7c1fef75d87008ae2b9206eb 31-Aug-2011 satok <satok@google.com> Merge "Add a comment for setAdditionalInputMethodSubtypes"
75917b603fe83a87c0fe3902e1a768fc31f8d120 31-Aug-2011 satok <satok@google.com> Add a comment for setAdditionalInputMethodSubtypes

Change-Id: I3a19471b80a6f8a68473cba6f0fc934bd052af10
nputmethod/InputMethodManager.java
0158a1e9ffc5a43780d37bb7b6b964a39eae6e62 31-Aug-2011 satok <satok@google.com> Add a functionality to disable the spell checker

Change-Id: I1c2292f457d1911c149d594c175e638c92ad3917
extservice/TextServicesManager.java
b669d6d8d8434918647b311612ebe8fd6f390b36 31-Aug-2011 satok <satok@google.com> Improve the fallback of the locale of the spell checker

Change-Id: I79655dd13e60f221b07346596fb05cf7d3d5cf7d
extservice/TextServicesManager.java
cc4f7db698f88b633a286d8ab1105b28a474cd09 31-Aug-2011 Jeff Brown <jeffbrown@google.com> Fix input channel leak.
Bug: 5156144

Input channels could leak or simply live longer than they should
in some cases.

1. Monitor channels (used by the pointer location overlay) are never
unregistered, so they would leak.

Added code to handle failures in the receive callback by closing
the input channel.

2. The DragState held onto its input window and application handles
even after the input channel was disposed.

Added code to null these handles out when they are no longer needed.

3. Input channels previously used as input event targets would stick
around until the targets were cleared (usually on the next
event).

Added code to detect when the input dispatcher is in
an idle state and to proactively clear the targets then
to ensure that resources are released promptly.

4. Native input window handles held onto the input channel even
after the input window was removed from the input dispatcher.
Consequently, the input channel would not be disposed until
the input window handle itself was freed. Since the input
window handle is held from managed code, this meant that the
window's input channel could stick around until the next GC.

Refactored the input window handle to separate the properties
(info) and identify (handle) state into different objects.
Then modified the dispatcher to release the properties (info)
when no longer needed, including the input channel.

7. The pointer location overlay does not actually use its
standard input channel, only the monitor input channel.

Added INPUT_FEATURE_NO_INPUT_CHANNEL to allow windows to
request that they not be provided with an input channel
at all.

Improved some of the error handling logic to emit the status
code as part of the exception message.

Change-Id: I01988d4391a70c6678c8b0e936ca051af680b1a5
iewRootImpl.java
indowManager.java
c21843a8b5c395cbaae6db0f786bdee556075f5d 31-Aug-2011 Mathias Agopian <mathias@google.com> Merge "fix Surface positions are not floats"
34cb9f2a960c4173bdafb4b8a2444c1bca4c5f0d 31-Aug-2011 Mathias Agopian <mathias@google.com> fix Surface positions are not floats

Added Surface.setPosition(float, float) which allows to set a surface's
position in float.

Bug: 5239859
Change-Id: I903aef4ad5b5999142202fb8ea30fe216d805711
urface.java
8d102eb6720deccfb8b5872fde531ef6ca580077 30-Aug-2011 Jamie Gennis <jgennis@google.com> Merge changes I33f59705,Ia4c8c822,I2fb695ab,I2e587afc

* changes:
MediaDump: use the MediaPlayer#setSurface method
HTML5VideoView: switch to MediaPlayer#setSurface
MediaPlayer: unhide the setSurface method
Surface: unhide the SurfaceTexture ctor
32901b4fec5db9a137add68f0f38518636593668 29-Aug-2011 Chet Haase <chet@google.com> Merge "Fixed bug with invalidation in top-level Views."
e4e6e206959560a420a765aac576a8da5ec91dbd 29-Aug-2011 Chet Haase <chet@google.com> Fixed bug with invalidation in top-level Views.

There was a bug in an InputMethod app, where popups for the keys
would not pop-down again. The problem was that they were being
marked INVISIBLE, but the new invalidation logic noop'd the
invalidate() call that used to take place. Adding to that was logic
in setFlags() that only invalidated a parent for parents that are
instanceof ViewGroup. In this case, the parent is a ViewRootImpl.

Fix is to call invalidateChild() on the parent if it's not a ViewGroup.

Change-Id: I2c2352072d383cee1367ea7ee6c2207077721fd5
iew.java
0db3aef9f81b056c57b2331dd2750958c9341fdf 29-Aug-2011 Jamie Gennis <jgennis@google.com> Surface: unhide the SurfaceTexture ctor

This change unhides the Surface constructor that creates a Surface that
pushes frames to a SurfaceTexture.

Change-Id: I2e587afc52c9838d25b8681cae7421734b3e7b6e
urface.java
df0c84f90894c677c50bdc967a0598f516ac86d7 29-Aug-2011 Jamie Gennis <jgennis@google.com> Surface: move the SurfaceTexture ctor

This change moves the Surface ctor that takes a SurfaceTexture to the
portion of the file containing the public APIs.

Change-Id: I192df7bf5c0e6d0d0607bd577d72646312b2f717
urface.java
aceafe63eeb7d3bfc05ef5ab0b3957572d61ecf5 27-Aug-2011 Chet Haase <chet@google.com> Fixed error in invalidation/LayoutTransition logic

A recent fix for invalidation noop'd calls to invalidate() on
GONE/INVISIBLE views. This logic also noop'd views which might
be GONE, but which are in the process of fading in/out via
LayoutTransition animations. These views should invalidate as
usual.

Change-Id: Ie90a340f70290391a3aa4e68df535c6aabf4e5eb
iew.java
iewGroup.java
80122c2a7a2cb25dbd80b3d193cbf593c0589e12 26-Aug-2011 Romain Guy <romainguy@google.com> Merge "Prevent crash in VPN settings Bug #5217245"
eca9b1f53c2c291cbfb89b5f3cc45db7bdca6c7d 26-Aug-2011 Romain Guy <romainguy@google.com> Prevent crash in VPN settings
Bug #5217245

Change-Id: Ibacf4cbd40537cd417f1518b5ac4367a3f3d7d03
ardwareRenderer.java
iewRootImpl.java
7926f62a073ed3a27d870cfa88ade33013d8010b 26-Aug-2011 satok <satok@google.com> Fix newSpellCheckerSession

Change-Id: Ia862dba70666c69b81d18836561b7e9a1c2d81b3
extservice/TextServicesManager.java
b387954a92eb6f15b7f49d5b946745f492a26363 26-Aug-2011 satok <satok@google.com> Support system locale as the locale of the spell checkers

Bug: 5212035

Change-Id: I18d27e54b936cc7f4d6cc3c7100bce57f77f8f9f
extservice/TextServicesManager.java
fbedf1a3978d5dfc4a886e4c7107d4bc1923f740 26-Aug-2011 satok <satok@google.com> Fix NPE in setCurrentSpellCheckerSubtype

Change-Id: I9fce999f91dcccd2f877a0326c4f2e3ac9024f85
extservice/TextServicesManager.java
2388a7ba6218f44400ee78016282cb96c02dfc54 26-Aug-2011 satok <satok@google.com> Add getServiceInfo to SpellCheckerInfo

Change-Id: I11634b88cf65182465869b131cfdcc8815e74965
extservice/SpellCheckerInfo.java
c714531952fe1c22cae77631aa25dc7441b2b878 26-Aug-2011 satok <satok@google.com> Add getDisplayName to SpellCheckerSubtype

Change-Id: Ic4d1f494a1fb67eda73ffc8e3be1caf690a602ce
extservice/SpellCheckerSubtype.java
4bc554b37165dbee8d805a6f73ac5e946f2769ae 26-Aug-2011 satok <satok@google.com> Merge "Fix setCurrentSpellCheckerSubtype"
3cb5b39a0e63d98c4e7b47e9a5b5758e9d4024bd 26-Aug-2011 satok <satok@google.com> Fix setCurrentSpellCheckerSubtype

Change-Id: Ib42a3b4377b8700ceaf4b7e13150848464d073c1
extservice/TextServicesManager.java
ca07e34f13fd1c5df8deecc815fcb46f0a07052f 26-Aug-2011 Mathias Agopian <mathias@google.com> fix logging of eglMakeCurrent() errors

Change-Id: Ie22cabff822a8fb3186f082491234b9503b431c3
ardwareRenderer.java
27bf191327cd509daf52e3ebea2385ce66545093 25-Aug-2011 Romain Guy <romainguy@google.com> Merge "Optimize display lists"
04c9d8c2ffd028c35c750bac0a4a7b79e48059b5 25-Aug-2011 Romain Guy <romainguy@google.com> Optimize display lists

Remove redundant or useless operations

Change-Id: If989b4eaa9143eef4254c38b39959aeed1f2b9ab
iew.java
8d8533a9f0d2ed1955f548e7d255de747e01b8cf 25-Aug-2011 Romain Guy <romainguy@google.com> Merge "Implement saveLayer*() correctly"
189887e0ae171c1b7601991442104a30e56c50ab 25-Aug-2011 Romain Guy <romainguy@google.com> Implement saveLayer*() correctly

When the Rect parameter is null, the layer's bounds must match the
clip rect.

Change-Id: Idbb3973af039bf319e840d1095b7037bf1015f35
LES20Canvas.java
12bde60b39affbfdcb7ef6317e0a5f99c3f41b10 25-Aug-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Intra-process view hierarchy interrogation does not work."
1e3fac8bc62a2495eb9bb79cc208573b5782cedc 25-Aug-2011 satok <satok@google.com> Merge "Add functions to enable / disable spell checker"
a33c4fc5bed76727f1e06e522e0136101a2304cd 25-Aug-2011 satok <satok@google.com> Add functions to enable / disable spell checker

Bug: 5057977

Change-Id: I2b27bd5f55feb305368034d7e95f83257ac4b3e6
extservice/TextServicesManager.java
c93fcdce226ff7cfbbc5a63d7d8848e7ba07badb 25-Aug-2011 Chet Haase <chet@google.com> Merge "Fix issue with views becoming visible with stale content."
4324eadc89676e860d063fb5f18aabc9f335a48b 25-Aug-2011 Chet Haase <chet@google.com> Fix issue with views becoming visible with stale content.

An earlier fix nooop'd invalidate calls on non-visible views. This
caused an issue where changes to the view while it was not visible
(such as changing the text of a TextView) would not get picked up
by the invalidation process.

The fix is to automatically invalidate() a view when it becomes
visible, to account for any changes that may have occurred to its
content while it was not visible.

Change-Id: Ia0f8fb42ca627b5a38f08761fa622b23f2dfa38b
iew.java
6ff0037792619c4441d9d3caa4f9ab4f45c11236 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix to show the correct HW accel background in the preview window."
07213e6d8895af10951851435adf96a779863f6c 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix to show the correct HW accel background in the preview window.

Also tweak wallpaper service to do a cleaner transition to a
static wallpaper.

Change-Id: I876a32091f92dd5a529d7fd809d3b8e730bb7d2a
iewRootImpl.java
f874c4f93437cbbef7a915a36d5abb448e1e3209 25-Aug-2011 Gilles Debunne <debunne@google.com> Merge "Spell checking in TextViews"
c2644096b7ddbd9dfbffe329c2b72bf83b3ea231 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5050039: Launcher is sometimes rendering underneath the system/status bar"
c39e8e89eb370ed66f552da3be258e57f1aabeb9 25-Aug-2011 Romain Guy <romainguy@google.com> Merge "Add OpenGL backend to ImageWallpaper Bug #5204874"
407ec78b828173257b0c5dae221649a4ccd8b058 25-Aug-2011 Romain Guy <romainguy@google.com> Add OpenGL backend to ImageWallpaper
Bug #5204874

Currently disabled.

Change-Id: I5e7b35dce2981b0691f107e39c6394b260466543
ardwareRenderer.java
fa6b35be126ffcc3b5818393c26aff724ac65daf 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5050039: Launcher is sometimes rendering underneath the system/status bar

It looks like this is caused by the change in HC to stop activities when
the screen is off. ViewRootImpl (a.k.a. ViewRoot) has special code to
avoid doing work when it is stopped, and it is now stopped when the screen
is off. The problem here is if the window's activity is stopped when the
window is first displayed, then it would never do the initial fitSystemWindows()
with the status bar offsets given by the window manager, and never do this
again until the status bar changes.

Also included here is some re-arranging of the code dealing with the offsets
changing, because it was dealt with in two places and only one had a bunch of
code dealing with HW accelerated drawing and performing the fade transition
between states. Now all of that is unified into one place.

Change-Id: I9828f02664cc622dbf186effb1f685a8aa4456a1
iewRootImpl.java
8bd69610aafc6995126965d1d23b771fe02a9084 23-Aug-2011 Svetoslav Ganov <svetoslavganov@google.com> Intra-process view hierarchy interrogation does not work.

The content retrieval APIs are synchronous from a client's
perspective but internally they are asynchronous. The client thread
calls into the system requesting an action and providing a callback
to receive the result after which it waits up to a timeout for that
result. The system enforces security and then delegates the request
to a given view hierarchy where a message is posted (from a binder
thread) describing what to be performed by the main UI thread the
result of which it delivered via the mentioned callback. However,
the blocked client thread and the main UI thread of the target view
hierarchy can be the same one, for example an accessibility service
and an activity run in the same process, thus they are executed on the
same main thread. In such a case the retrieval will fail since the UI
thread that has to process the message describing the work to be done
is blocked waiting for a result is has to compute! To avoid this scenario
when making a call the client also passes its process and thread ids so
the accessed view hierarchy can detect if the client making the request
is running in its main UI thread. In such a case the view hierarchy,
specifically the binder thread performing the IPC to it, does not post a
message to be run on the UI thread but passes it to the singleton
interaction client through which all interactions occur and the latter is
responsible to execute the message before starting to wait for the
asynchronous result delivered via the callback. In this case the expected
result is already received so no waiting is performed.

bug:5138933

Change-Id: I382e2d8689f5189110226613c2387f553df98bd3
iewRootImpl.java
ccessibility/AccessibilityInteractionClient.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityInteractionCallback.aidl
ccessibility/IAccessibilityInteractionConnection.aidl
ccessibility/IAccessibilityInteractionConnectionCallback.aidl
a4bacb8b74adf7908ac382024dc9183144793217 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix animation scale to also scale start offset.

Also more better info in meminfo dump.

Change-Id: I45ab41821cd8dd81b61605de6a0cf7074e76c71a
nimation/Animation.java
4694b7f1866ae423c548eeb429c3b2a76c26f0be 24-Aug-2011 Chet Haase <chet@google.com> Merge "Fix docs for fill behavior in Animation class."
d8991c4ab02449e78745d7ecc521ca0b41ea4c53 24-Aug-2011 Chet Haase <chet@google.com> Fix docs for fill behavior in Animation class.

Change-Id: I9230e9b9841dbecead51a6716195749b0c5a0e39
nimation/Animation.java
ada8c4e6a3da96a795f39a1028d448eb7aebfab3 23-Aug-2011 satok <satok@google.com> Add functions to set / get SpellCheckerSubtype

Change-Id: I977326879fe201c4dee4a87da361217175eb6041
extservice/TextServicesManager.java
29aae6f36e565b8f2a99f2193597b964bb800ee8 19-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4279860: previous UI flashes before showing lock screen...

...(when turning display on after recently turning it off)

Also clean up when we decide to turn the screen on to improve that
transition. There are still problems here with turning it on
before the wallpaper gets dispayed.

Change-Id: I2bc56c12e5ad75a1ce5a0546f43a845bf0823e66
WindowManager.aidl
indowManager.java
09d569a57e7c8f3d8d6a5f2204643988ae36e07c 24-Aug-2011 Chet Haase <chet@google.com> Merge "Fix invalidation roundoff error with old animations"
530b22ab4e9076926e13502b443e3ce3879b45ae 23-Aug-2011 Chet Haase <chet@google.com> Fix invalidation roundoff error with old animations

We need to add .5 to the width/height of invalidation areas to
avoid truncation errors.

Change-Id: Iaa2407a91a6a7f6d729af21d45e77e436197df11
iewGroup.java
6435a56a8c02de98befcc8cd743b2b638cffb327 05-Aug-2011 Gilles Debunne <debunne@google.com> Spell checking in TextViews

New UX interactions (the Paste action is no longer displayed after a delay)
suggestionEnabled flag replaced by existing input type flag.
removeSpans fixed in SpannableStringBuilder to always send notifications
SuggestionSpan handled by TextView instead of SpannableStringBuilder

New span update algorithm to correctly handle edition around word boundaries.

Change-Id: I52c01172f19e595fa512e285a565a3fd97c3c50e
extservice/SuggestionsInfo.java
defa12e95b8d25db5f3e9a044e83d6fe680b67a3 23-Aug-2011 Amith Yamasani <yamasani@google.com> Merge "Adjust slider range to be one more than max for base 1 volumes."
d47a3aee7ad7d8ef66ee279ab64b64a0f7918e90 23-Aug-2011 Amith Yamasani <yamasani@google.com> Adjust slider range to be one more than max for base 1 volumes.

Bug: 5191642
Change-Id: Id479ce584753fbb56feed22a8506579f2d9e35fd
olumePanel.java
67403e096e6f59b7cd18a90d0d3f5c3d17c31407 23-Aug-2011 Mathias Agopian <mathias@google.com> BLUR_BEHIND flag is not supported anymore

Bug: 5185650
Change-Id: I56541d4967b90b150a734be1bbeff696eb6a4fb3
urface.java
c2d256b41587ff44efb6373885affe02e5df80b5 23-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve TextDirection resolution"
9af1d280829da4330755b72b539f4f863e5ff3ff 23-Aug-2011 Chet Haase <chet@google.com> Merge "Fix invalidation bug with INVISIBLE views."
a68c5cf8a111d0c901474b5819d49ca5eea42a65 22-Aug-2011 Chet Haase <chet@google.com> Fix invalidation bug with INVISIBLE views.

There was a bug in the invalidation code that prevented some
animations fropm starting. An INVISIBLE view would mark some dirty
flags then propagate the invaliation up the parent hierarchy. This would
cause a redraw of the hierarchy, but would not include the invisible
view (invisible children do not get drawn). Thus the flags wouldn't get cleared.

Later, an animation to fade the view in (making it VISIBLE on start) would
be started on the view. But the invalidation triggered by that animation would
not propagate because the invisible view would see that it was already
invalidated, and wouldn't send the message along. No invalidation means no drawing,
so the animation wouldn't start because the invalidation didn't make it's way up to the
top and the child's parent did not redraw.

The fix is to noop the invalidate() call for GONE/INVISIBLE views which do not
have animations set on them. Making these views VISIBLE later will trigger
an invalidation, as will starting an animation on them, so the behavior should
not change except for the buggy situation.

Change-Id: I7a26a4bc7823f08fef56e52648e77ca256df6858
iew.java
661cd52e0e1d527132eb1cae604d3e64da7ec0cb 22-Aug-2011 Dianne Hackborn <hackbod@google.com> Add progress dialog for booting after an upgrade.

This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog. This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
indow.java
indowManagerPolicy.java
c01391fb4eb0eef33d142e89e060eac7e75de39d 20-Aug-2011 Alexandre Elias <aelias@google.com> Minor fixes to SurfaceTexture transform matrix.

- Sometimes, the applyUpdate was applied through draw() and the
underlying matrix was not updated in time, causing "jitter". Add a
matrix update call in draw().

- Switch to invalidateParentIfNeeded() in setTransform().

Change-Id: I1cf9cdfe78f9d989821cdc9600984fc826430211
extureView.java
a646145c335ba821f01d9e4f8be2583eb9fd7266 20-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Improve TextDirection resolution

- remove unuseful heuristics
- tune Javadoc

Change-Id: Id72a158b3a17a528423d278b1cbfd95b8c2951b5
iew.java
65fd251c3913fc921468a3dad190810db19eb9df 18-Aug-2011 Jeff Brown <jeffbrown@google.com> Input system bug fixes, particularly for stylus.
Bug: 5049148

Finished stylus support, including support for indirect stylus
and mouse tools.

Added TILT axis. When stylus tilt X/Y is available, it is transformed
into an orientation and tilt inclination which is a more convenient
representation and a simpler extension to the exiting API.

Touch devices now only report touch data using a single input
source. Previously touch devices in pointer mode would report
both absolute touch pad data and cooked pointer gestures.
Now we just pick one. The touch device switches modes as needed
when the focused application enables/disables pointer gestures.
This change greatly simplifies the code and reduces the load
on the input dispatcher.

Fixed an incorrect assumption that the value of ABS_(MT_)DISTANCE
would be zero whenever the stylus was in direct contact. It appears
that the correct way to determine whether the stylus is in direct
contact (rather than hovering) is by checking for a non-zero
reported pressure.

Added code to read the initial state of tool buttons and axis values
when the input devices are initialized or reset. This fixes
problems where the input mapper state might have the wrong initial
state.

Moved responsibility for cancelling pending inputs (keys down,
touches, etc.) to the InputDispatcher by sending it a device reset
notification. This frees the InputReader from having to synthesize
events during reset, which was cumbersome and somewhat brittle
to begin with.

Consolidated more of the common accumulator logic from
SingleTouchInputMapper and MultiTouchInputMapper into
TouchInputMapper.

Improved the PointerLocation output.

Change-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0
otionEvent.java
baf6dbfa9340f3266e41841ebd51f21effc583ee 19-Aug-2011 Amith Yamasani <yamasani@google.com> Dismiss the volume overlay dialog when user touches above the dialog as well.

Bug: 5165168
Change-Id: Ib343c3b88371cb93f8241b1085d1a2f36a77b1ac
olumePanel.java
4abe2ac244e0fc70cd9837f1f335933694fc1b7c 18-Aug-2011 Chet Haase <chet@google.com> Merge "Fix potential null deref in ViewGroup when running transition"
1abf7fa1d1930e24739cae9874970420101bc2f9 18-Aug-2011 Chet Haase <chet@google.com> Fix potential null deref in ViewGroup when running transition

Change-Id: I9075c4a05e19122592145468e220afa43faee540
iewGroup.java
3de510313a44977a25ecb5253603fb2df2cc34b2 18-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used"
4b60c30838fbd635964f1e79c057de5048dcc66f 18-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used

- use the real TextDirectionHeuristics constants
- make more formal that LayoutDirection should be resolved BEFORE TextDirection
- reset TextDirection if LayoutDirection is recomputed
- remove non used TextDirectionHeuristic.isRtl(CharSequence...)

Change-Id: I1d53a7e3ee324cfd27785bb4d715d93de8d9ff4d
iew.java
351eb33d84fb76f1addf6a18ce4c7ff5ca40dd5d 18-Aug-2011 Daniel Sandler <dsandler@google.com> Merge "Allow views to setSystemUiVisibility() with the same value and have it work."
fad9555217ce3a657ffc7cba458a0d2622f7a379 17-Aug-2011 Daniel Sandler <dsandler@google.com> Allow views to setSystemUiVisibility() with the same value and have it work.

This will save apps the trouble of having to first remove
the lights-out or hide-navigation flags before reapplying
them (in situations where the system UI has decided to
override those flags).

Bug: 5052456
Change-Id: I31f6ca9105379ae5f0216ebe3c39fc8d5d935f92
iew.java
4f536b3ba86dd744fbb6d8c0a0e5b31bbe4fdb73 16-Aug-2011 Romain Guy <romainguy@google.com> Merge "Prevent NPE in HardwareRenderer Bug #5169815"
86e3e22ba81fb75a5c7e5e007ca1c0cacfda3afb 16-Aug-2011 Romain Guy <romainguy@google.com> Prevent NPE in HardwareRenderer
Bug #5169815

Change-Id: I168b61f3a6cea679e455cf28282b69bb7f3072e5
ardwareRenderer.java
2ce81fcd7d904bb82c55f6076d19cc11e3867100 16-Aug-2011 Romain Guy <romainguy@google.com> Merge "Add an API to set the transform on a TextureView's surface texture. Bug #5156689"
302a9df1d50373c82923bb84ff665dfce584fb22 16-Aug-2011 Romain Guy <romainguy@google.com> Add an API to set the transform on a TextureView's surface texture.
Bug #5156689

Change-Id: I635a625885c9b832a60d44ece0de7613ceb84109
LES20Canvas.java
LES20RenderLayer.java
LES20TextureLayer.java
ardwareLayer.java
extureView.java
e43fca99573291311f90b540d67833011d5fc6be 16-Aug-2011 Adam Powell <adamp@google.com> Offer a masked version of setUiOptions for windows to only modify certain flags.

Change-Id: I36aaff982767f8984c468e8c13f8d5ec8c3c0040
indow.java
4dfbec2665bd5f567d7321f2e88a39e1ab45fdf8 15-Aug-2011 Jeff Brown <jeffbrown@google.com> Find next focus id from inside-out.
Bug: 5165543

This change fixes some problems when the view hierarchy contains
duplicate ids, such as when ListViews contain nested custom views.
If the custom views contain next focused id hints, then the system
should prefer the other views within the ListView item over any
other views outside of the ListView item.

Change-Id: I5653ff6bac0bf9f08bd6ecbe5a3bb22ea47ab566
iew.java
iewGroup.java
e21f89c80256ed2aeaa53022770b140b58e75394 15-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5159596 - Slider grabs touch point when trying to scroll a list"
f2452b997c4eacc09985a1861a973e305b476135 15-Aug-2011 Jeff Sharkey <jsharkey@android.com> Merge "Change Preferences padding to match UI spec."
8b65c902ee25e9c38f64eef9f7af0cf9e86491e3 15-Aug-2011 Jeff Brown <jeffbrown@google.com> Merge "Use PARCELABLE_WIRTE_RETURN_VALUE flag in InputChannel. Bug: 5161290"
1029866a12e04e9db52485e2ec0353e764d15549 15-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5159596 - Slider grabs touch point when trying to scroll a list

SeekBar widgets were not good citizens when placed in scrolling containers.
Detect when a SeekBar being touched is in a scrolling container and fall
back to a touch slop-based method for beginning a drag. Taps along the
seek bar itself will still change the value on touch up, even if the touch
slop never initiated a proper drag.

Factor out the code used to determine scrolling container status in View
into something that can be reused elsewhere in the framework; leave it
@hidden for now.

Change-Id: I59a21e8ab2c3b0092fafedbcd6ae1ee15f45971c
iew.java
0a0ab128a65900a23f1018a14f5cbecec6443dd3 13-Aug-2011 Jeff Brown <jeffbrown@google.com> Use PARCELABLE_WIRTE_RETURN_VALUE flag in InputChannel.
Bug: 5161290

Replace mDisposeAfterWriteToParcel with code that takes advantage
of the standard Parcel API support for releasing resources after
writing a Binder reply.

This change makes it less likely that InputChannels will leak
accidentally when passed across a Binder.

Change-Id: Id37706e7b88d074e8e4ac687c88f0db8963200f2
nputChannel.java
50d133e290468fd149b5c03e46549afca2ee05f8 13-Aug-2011 Romain Guy <romainguy@google.com> <blink/> is not an acceptable default behavior.
Bug #5156334

Change-Id: I9f803b090e81f4e490d0cccd6347a0f9f64bd20f
ardwareRenderer.java
iewRootImpl.java
c88ba95921444946443794cbaca5911f1a924720 12-Aug-2011 Xavier Ducrohet <xav@android.com> Merge "Make some methods/fields package private so that layoutlib can access them."
03f156e96f5b1b9427473197c2de3a8454d7039c 12-Aug-2011 Romain Guy <romainguy@google.com> Merge "Remove unnecessary private API"
9d865512f1a39bac6bed612b24023213d5a1fb1d 12-Aug-2011 Romain Guy <romainguy@google.com> Remove unnecessary private API

Change-Id: I2ecb367528ec0691c07153a3d163b82a6ca33fdf
LES20Canvas.java
010d7e51604b1cffed6c4a16ba1f8b2527fd27e8 09-Aug-2011 Jeff Sharkey <jsharkey@android.com> Change Preferences padding to match UI spec.

Bug: 5091431
Change-Id: I1b657534c3ecccbddda1bece910da7f31d85291c
iew.java
7f9f99ea11051614a7727dfb9f9578b518e76e3c 11-Aug-2011 Xavier Ducrohet <xav@android.com> Make some methods/fields package private so that layoutlib can access them.

Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
isplay.java
ayoutInflater.java
iewConfiguration.java
7277f3b9b26f0011475b39da1298484a510aca29 11-Aug-2011 Romain Guy <romainguy@google.com> Merge "Document threading limitations on various View methods Bug #5150923"
8a5c6617d513bd0a47c733520facb3ba543b70b0 11-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5016544: IME keyboard hides folder rename text field."
e63a4f35c94f32dbc13533ddfb7334f9706be844 11-Aug-2011 Romain Guy <romainguy@google.com> Document threading limitations on various View methods
Bug #5150923

Change-Id: I765d8e4d63a1fee7a12b9c2992bec67b4b6d1131
iew.java
5585c08cd3513e2f3a1afa563cbd807da7a247e3 11-Aug-2011 Amith Yamasani <yamasani@google.com> Merge "Accessibility and silent mode changes to Volume Panel."
9b8e84857080dc1597dc6014c51c3203aa303e93 11-Aug-2011 Amith Yamasani <yamasani@google.com> Accessibility and silent mode changes to Volume Panel.

Volume icons don't say "tap to toggle.." anymore.
Only silentable streams have touchable volume icons.

Bug: 4982424
Bug: 5128528
Change-Id: Iafc0f4b309af390a356d71c382f1200663c5a6e4
olumePanel.java
402f05530352f34d5320c2d23be43c274d97c4e2 10-Aug-2011 Grace Kloba <klobag@google.com> Add a return value for SurfaceTextureListener#onSurfaceTextureDestroyed.

If returns true, the SurfaceTexture will be released by TextureView.
If returns false, the client needs to release the SurfaceTexture.

Change-Id: I946f71e337ad4170c168854ac27e028b82489c8c
extureView.java
70a3f677bf015d8641f41d149b76d362bb2b801c 08-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5016544: IME keyboard hides folder rename text field.

Tweak some issues in TextView with the focus rect used to determing
where the scroll position needs to be. The ultimate problem was that
in various situations it would use the right-most selection position
cursor as the scroll location and when it adds 1 to make this a valid
rect we end up with a rectangle that is outside of the view.

Change-Id: Ia200c58e4e014d2a0a1be4761f9a1e5eb702a8e5
iewRootImpl.java
6ae7ba3230313391c563f3947b10834deb77b7b7 09-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Improve window manager debug output."
a44abeb125a0c8a8e5a065f868d316e41354286a 09-Aug-2011 Dianne Hackborn <hackbod@google.com> Improve window manager debug output.

Cleaned this up while I was debugging another issue.

Change-Id: I0663b9ed581c6868b59655a0f994d870971ec1a6
indowManager.java
cbbd93ae701b9af2e5054d59286bdbf6275c2838 09-Aug-2011 Chet Haase <chet@google.com> Fix ViewPropertyAnimator duration and startDelay issues

getDuration() wasn't returning the correct thing in some cases, and
setStartDelay() had no effect whatsoever. Fixed those.

Change-Id: I89f930535ec1acddf57227937a9ad64986548998
iewPropertyAnimator.java
c3166e15f8898a2ba66fb177efbddb1d0edf6140 09-Aug-2011 Romain Guy <romainguy@google.com> Don't draw more than what we need.

Change-Id: Ifeac66d379a48e8a1124188125e029421eb24226
iewRootImpl.java
03b2ea1102d9e3e9f189173878706ab04533eea3 03-Aug-2011 satok <satok@google.com> Support xml configuration file for the spell checker and add the spell checker subtype

Change-Id: I74715855525fc0a1282238d593ad37aefd42bfc3
extservice/SpellCheckerInfo.java
extservice/SpellCheckerSubtype.aidl
extservice/SpellCheckerSubtype.java
dfee59afb3e4cdcde38f6338f9360655de76da92 06-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5011824 - New Holo overflow menu for physical menu key devices

The new Holo-style overflow menu now appears from the edge of the screen
where the device's physical menu key can be found. The policy determining
this lives in getPreferredOptionsPanelGravity() in WindowManagerService.

Change-Id: I8851a2265547156591e82044e50b5cfc58d3eefa
WindowManager.aidl
755edceadbd07084b694bfe29dc516436a6362d2 05-Aug-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityEvent#toString() always reports -1 for record count."
e4aa13b20166219a62916a92294055e7cc5c9f10 01-Aug-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityEvent#toString() always reports -1 for record count.

1. The implementation of toString() was calling a wrong method
for the record count.

bug:5087078

Change-Id: I4ca79faa6ccce135eb6fe797de7b08e30f8b3e71
ccessibility/AccessibilityEvent.java
5357806980269d846a15c845a6fcc0384fb18860 03-Aug-2011 satok <satok@google.com> API cleanup for the spell checker framework

Bug: 5110151

- Add a bundle to an argment of newSpellCheckerSession
- Expose SpellCheckerSessionImpl in SpellCheckerService
- Fix function names
- etc

Change-Id: Ia8ec783b7b4d5fcd18389854b445fc10fc502297
extservice/SpellCheckerSession.java
extservice/TextServicesManager.java
21351d1b440d3665ebedd7736915f5ef88477c42 04-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Whoops also need to move notification shade above lock screen."
e8ecde10b33b1d050d2b63b3f4cd20e8bb7c96d4 04-Aug-2011 Dianne Hackborn <hackbod@google.com> Whoops also need to move notification shade above lock screen.

And this requires making a new layer for the volume toast.

Change-Id: I4f272d56c87cf3b6bf886774b0fb02e610ab9164
olumePanel.java
indowManager.java
452f035c31620499563dc9135926f9a6b4d15cae 04-Aug-2011 Mathias Agopian <mathias@google.com> Merge changes I689cb0c0,I09603218

* changes:
Add a 'release' method to the SurfaceTexture public Java API
Mark Window-Manager-specific APIs on android.view.Surface as @hide
ec46b4e1ca89d7c3a9ad70ded58da08b5e19f08f 04-Aug-2011 Mathias Agopian <mathias@google.com> Add a 'release' method to the SurfaceTexture public Java API

Bug: 5063618
Change-Id: I689cb0c01c14e597ccfb4eb0972e64fa570bd4e8
extureView.java
8c8333c80ea6f178294c054bc9de233105134ce2 04-Aug-2011 Romain Guy <romainguy@google.com> Merge "Destroy the EGL surface when the ViewRootImpl surface is invalid Bug #5109839"
1d0c708961f824ac5171238c205a7bf328d5d8a5 04-Aug-2011 Romain Guy <romainguy@google.com> Destroy the EGL surface when the ViewRootImpl surface is invalid
Bug #5109839

Change-Id: Icebde9abf43b852397a73ffef519004993b46901
ardwareRenderer.java
iewRootImpl.java
b923066deeffbbaad14a117bd56259bd6ee20a08 03-Aug-2011 Mathias Agopian <mathias@google.com> Mark Window-Manager-specific APIs on android.view.Surface as @hide

Bug: 5063337
Change-Id: I096032186acfc6b6a032636188e4d44907e46233
urface.java
590840ff5493133c503010e425bf76b5fa15c70e 03-Aug-2011 Romain Guy <romainguy@google.com> Merge "Don't recreate the EGL surface if the surface is not ready Bug #5114545"
d3facf341bf106588aade72c0164532cd4bf941f 03-Aug-2011 Romain Guy <romainguy@google.com> Don't recreate the EGL surface if the surface is not ready
Bug #5114545

Change-Id: I95149dc18e0582ca358716a6b0d89a4edc8fca26
ardwareRenderer.java
c66009169622ecdb65d887987feaf91fff091af8 03-Aug-2011 satok <satok@google.com> Rename API name "RESULT_ATTR_LOOKS_TYPO"

Change-Id: I42ab73513de20ea9a39af734b358094269ca7fe4
extservice/SuggestionsInfo.java
85de77a1c7d8393dfe349567f818a94e83720040 03-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5098288 - Rethink the suite of new themes"
269248d112e35fe8e9f0d5d11c96dcb2ac1118b0 02-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5098288 - Rethink the suite of new themes

Cut down the list of new themes for ICS. Holo apps now have
Theme.Holo, Theme.Holo.Light, and Theme.Holo.Light.DarkActionBar to
choose from.

Add manifest attribute android:uiOptions to express
splitActionBarWhenNarrow. Other options may move into this later as
well. (DialogWhenLarge?) This attribute is valid on both activity and
application tags; application settings will serve as the default for
activities that do not explicitly set uiOptions.

uiOptions are not currently reflected in the startup window for new
activities.

Change-Id: Iffdc2ce4cc69f79c9bd4e541b7923286e6936c1e
indow.java
04ee7956ea5009098f9a4c02436b91c18c60d225 03-Aug-2011 Romain Guy <romainguy@google.com> Merge "Add the ability to enable/disable marquee fading per device"
6311d0a079702b29984c0d31937345be105e1a5e 03-Aug-2011 Dianne Hackborn <hackbod@google.com> Clear the bitmap from the canvas in a lot of places.

Change-Id: I6b2071ac7b348c473b9bdd1b972d095aebbb4fb3
iew.java
iewDebug.java
6805545649f2b194859033df94602492b9ec086e 03-Aug-2011 Romain Guy <romainguy@google.com> Add the ability to enable/disable marquee fading per device

Change-Id: I4211553455e87f0af598a2fac1d4f65f15c294fc
iewConfiguration.java
6dd7431710c3737484044ac54d6cd6da1effb614 02-Aug-2011 Romain Guy <romainguy@google.com> Merge "Properly cancel pending buffers on window size change"
cf15efba0792b052dca5baa350d9fb00e6a60667 02-Aug-2011 Romain Guy <romainguy@google.com> Properly cancel pending buffers on window size change

Change-Id: Id6108ce61a971673f3ebc8270e9dd00849c91ae5
ardwareRenderer.java
iewRootImpl.java
b0a20e47dd773fc5ceac51d4158c7500e0bba268 02-Aug-2011 Amith Yamasani <yamasani@google.com> Merge "Volume panel changes."
33e6ad6eed598e4a8f328613d22ef439404373dd 02-Aug-2011 Romain Guy <romainguy@google.com> Merge "Prevent crash with NPE in HardwareRenderer Bug #5109839"
357c942462e4eb1d0b2e91b3fe8ec9ac7524bbed 02-Aug-2011 Romain Guy <romainguy@google.com> Prevent crash with NPE in HardwareRenderer
Bug #5109839

Change-Id: I402fc70ff4b25d273cf3150759d6f2d4d971975d
ardwareRenderer.java
9407c601eacc0a542c45b0b2e9a9353ab0f0193e 02-Aug-2011 satok <satok@google.com> Merge "Move SpellCheckerSession"
aafd955fa8f5c31c511763c0f826b6d7acf15b9c 02-Aug-2011 satok <satok@google.com> Move SpellCheckerSession

SpellCheckerSession should be in android.view.textservice because this class will be used directly by users.

Change-Id: I0df6d7958adda421312b5f641ac4459ca4739cc9
extservice/SpellCheckerSession.java
extservice/TextServicesManager.java
5b9b5a9553a0276dc6b7f1f458c8d4ed03227988 01-Aug-2011 satok <satok@google.com> Change SpellCheckerInfo IPC inputs to String

Change-Id: I4c3f3c7aa7587e3f2582b43702108fa78f37ec54
extservice/TextServicesManager.java
1164d776c612a33bc5e54262589490fb1d2c257d 02-Aug-2011 satok <satok@google.com> Merge "Add a method to set the current spell checker"
046cbe750ba6c18c8a37392896d13ecdf4e00511 01-Aug-2011 satok <satok@google.com> Add a method to set the current spell checker

Change-Id: I0e1fbe99538c873eed3723fb419bbfa626dec509
extservice/TextServicesManager.java
8a2da33c77bae825444fffd326d064225241c7cc 02-Aug-2011 Romain Guy <romainguy@google.com> Merge "Allow Canvas.setBitmap() to receive a null Bitmap."
0965a3244b4c3009d08db2e084cdcb681ef66d26 02-Aug-2011 Romain Guy <romainguy@google.com> Allow Canvas.setBitmap() to receive a null Bitmap.

Change-Id: I6096f0b44866e532ccd96a29c816bf34d48c1dc2
iew.java
42722bfa136f5616872a2c4e199813e804621c81 22-Jul-2011 Amith Yamasani <yamasani@google.com> Volume panel changes.

Combined volume panel only in tablets. On phones show active volume.
Added dummy assets for ring+notification icon.

Deprecated the NOTIFICATION_USES_RING_VOLUME. Now they are always
tied together. Audio manager changes still required to ensure that.

Initialize all feedback sounds to true.

Change-Id: I3ad7890c9be9334eedb5f3b709a4b6995fe24638
olumePanel.java
07c6cc7b7b2ffece4e8149cf10eab31da1fc1d87 01-Aug-2011 Jeff Brown <jeffbrown@google.com> Merge "Tweak hover for better accessibility and compatibility. Bug: 5087943"
1a7b1158c5c2566808c39638d54cae624bd2a361 30-Jul-2011 Romain Guy <romainguy@android.com> Trim HardwareRenderer memory more frequently.

Change-Id: I92e72ce5da324f9ffcfdf7a54d8b368c2531799c
ardwareRenderer.java
bb96bf6e479e00064b287c952a72362a2ee4cb4e 29-Jul-2011 Dianne Hackborn <hackbod@google.com> Merge "Various work on out of memory managment."
53f2531ba7bc72489d03fd17b6ce29c811fad8b5 29-Jul-2011 Daniel Sandler <dsandler@google.com> Merge "The fullest of fullscreen modes."
c68c913d357e2955d4bd7ca52829071e531c7825 29-Jul-2011 Dianne Hackborn <hackbod@google.com> Various work on out of memory managment.

- Improve how we handle processes that have shown UI, to take care
of more cases where we want to push them into the background LRU
list.
- New trim memory level for when an application that has done UI
is no longer visible to the user.
- Add APIs to get new trim memory callback.
- Add a host of new bind flags to tweak how the system will adjust
the OOM level of the target process.

Change-Id: I23ba354112f411a9f8773a67426b4dff85fa2439
ardwareRenderer.java
iewRootImpl.java
ea83503e8683531fac2534047e50bc1e5979b6dd 29-Jul-2011 Romain Guy <romainguy@google.com> Don't create hw layers when there's no hw context.
Bug #5093805

Change-Id: Ia58b3381c83b9a200e80020e5c1b9c337ad6c35c
LES20Layer.java
iew.java
iewGroup.java
iewRootImpl.java
a1b2418e647332e8bed8229d78a64f55a605d024 28-Jul-2011 Jeff Brown <jeffbrown@google.com> Tweak hover for better accessibility and compatibility.
Bug: 5087943

Change-Id: I5533c18ec042b8d9cb590d8d3b22ce4a391c910d
iew.java
60ee25643e0a7b8841063a4e97b0f18c51807e91 22-Jul-2011 Daniel Sandler <dsandler@google.com> The fullest of fullscreen modes.

View.setSystemUiVisibility() now properly accepts a
bitfield, including:

* SYSTEM_UI_FLAG_LOW_PROFILE: "lights out mode"
(previously known, erroneously, as STATUS_BAR_HIDDEN)

* SYSTEM_UI_FLAG_HIDE_NAVIGATION: for when you need every
single pixel on a device that also has a navigation bar

These flags are painstakingly aggregated across the entire
view hierarchy and carefully delivered to the status bar
service, which in turn gently passes them along to the bar
implementation.

To really get access to the whole screen, you need to use
HIDE_NAVIGATION in conjunction with FLAG_FULLSCREEN and
FLAG_LAYOUT_IN_SCREEN. See development/samples/Overscan for
an example of how to do this.

Change-Id: I5fbfe009d9ceebbbf71db73f14a7008ea7c1d4da
iew.java
a7ffaee29892cc38ae2327017b6670adafef711b 28-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityNodeInfo reports no children for the topmost view in the tree."
b6f7a27c59fd170b5d7617e43e21bfd8587f234e 28-Jul-2011 Romain Guy <romainguy@google.com> Merge "Reclaim more memory, more often."
65b345fa22b878e141b8fd8ece9c208df00fa40f 28-Jul-2011 Romain Guy <romainguy@google.com> Reclaim more memory, more often.

Yay.

Change-Id: I04557ad575c307a55088549f48f0e9ad994b7275
isplayList.java
LES20Canvas.java
LES20DisplayList.java
ardwareRenderer.java
iew.java
iewDebug.java
iewRootImpl.java
indowManagerImpl.java
c8ec222cd8e7d7056b0f01018ac0c38d2c7204c0 28-Jul-2011 Romain Guy <romainguy@google.com> Merge "Destroy layers and flush layers cache when a window is destroyed."
6d7475d666baefaa3ba9f0dcee25238739454241 28-Jul-2011 Romain Guy <romainguy@google.com> Destroy layers and flush layers cache when a window is destroyed.

Change-Id: I3fa1bc3ff50fb99e3d2e490925bd6b0a0f809fff
LES20Canvas.java
LES20RecordingCanvas.java
ardwareRenderer.java
iew.java
iewRootImpl.java
93b2182a2e1a42ef60d3c0fa79fbdc4b27875685 28-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo reports no children for the topmost view in the tree.

1. My previous change to restrain AccessibilityNodeInfo to report children
if it is root namespace did not take into account that the tompost view
i.e. the decor view actually is a root namespace. Adding check to allow
the info to report children of rthe topmost view but do not do so if a
descendant is flagged as root namespace.

bug:5086988

Change-Id: Ib82b8ebe5a2c287ab1c5333d130ec50eb9ced78c
iewGroup.java
3d5a703db83265f7914eed8580de986106abfad2 28-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Report the external display size to the input reader."
be922d6006879692d100894dc924d947b50aed34 28-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Handle stylus buttons and tool types."
812634c236b83e100c8473d607e44f8d8c48e805 27-Jul-2011 Scott Main <smain@google.com> cherrypick Change-Id: I213711f4b5d867ba91c961a2f098b6cc415cfcb3
docs: clarify framelayout class summary, issue 5055437

Conflicts:

core/java/android/view/View.java
core/java/android/widget/FrameLayout.java

Change-Id: Ia446d2d4cc798757d7aea104cfaf75fc2315dc50
iew.java
f4a28b5aa0c81086c55497ff921a80335ffe22d1 27-Jul-2011 Romain Guy <romainguy@google.com> Merge "Improve layers debugging"
eea60692b060737faeaa02bb30f5b79e2202b482 27-Jul-2011 Romain Guy <romainguy@google.com> Improve layers debugging

Change-Id: Ia4950dd5f0e0a224ecb69c581d33aa4f32260a7c
LES20Canvas.java
LES20RenderLayer.java
9146d7d327030a304cd6726d7ec6f0b0af280691 27-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "findViewWithText inconsistent with other findView* methods and AccessibilityNodeInfo not respecting root namespace."
912a7b32d0c59ba38265c5dd6ff84ce93f909a7f 27-Jul-2011 Romain Guy <romainguy@google.com> Make sure we have a current EGL context when invoking EGL
Bug #5081795

Change-Id: Iee3382d362a71c1e6c5c498b319bf7f7bcf5a2f0
ardwareRenderer.java
iewRootImpl.java
effe10fd67645bcaeb987dfefa154c284771064e 27-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> findViewWithText inconsistent with other findView* methods and AccessibilityNodeInfo not respecting root namespace.

1. Find viewsWithText does not respect if the current view group is a root name
space and keeps its traversal. This is inconsistent with the other findView*
methods. Also only visible views are returned witch is inconsistent with the other
findView* methods.

2. AccessibilityNodeInfo reports children it the source is root namespace. This is
not correct since thi flag denotes the beginning of a logically separate view
hierarchy.

bug:5082601

Change-Id: I9c7ca51f284d04728828d5e656112257c9a2c6e2
iewGroup.java
bc68a59c024bdb745dac8e2ec7408a9f30595f1a 25-Jul-2011 Jeff Brown <jeffbrown@google.com> Report the external display size to the input reader.

The input reader needs this information so that it knows how to
interpolate touches on an external touch screen.

Changed Display so that it asks the WindowManager what the real
display size is (as opposed to the raw display size). This means
it now takes into the forced display size set by
adb shell am display-size.

Replaced all calls to getRealWidth() / getRealHeight() /
getRealMetrics() in the WindowManager and replaced them with direct
usages of the mCurDisplayWidth / mCurDisplayHeight so that the WM
doesn't end up making a reentrant Binder call into itself.

Fixed the table status bar HeightReceiver so that it updates the
height on all configuration changes since it is possible that the
display size changed independently of an external HDMI display
being plugged / unplugged.

Improved the Display class documentation to make the distinctions
betweeen the various sizes clearer.

Change-Id: I3f75de559d3ebffed532ab46c4ae52c5e7f1da2b
isplay.java
WindowManager.aidl
iewRootImpl.java
49754db5a304d995c1cc108ff6f19e4ba4265572 02-Jul-2011 Jeff Brown <jeffbrown@google.com> Handle stylus buttons and tool types.

Added TOOL_TYPE_ERASER.

Refactored the InputReader to share more code between the
various input mappers that handle button states and to
simplify the accumulator implementations by having each
one only handle a single type of input.

Removed the concept of direct/indirect tool types from the API.
If we add it back, it should be done in a manner that is orthogonal
to the tool type itself, perhaps as a flags field on the pointer.
The device source may well provide sufficient information anyhow.

Change-Id: I811c22d95e8304269b6ee4f6d11a6b04f3cfc1b2
otionEvent.java
6c454c3225fd47422024af915fa28d5210d1e82e 26-Jul-2011 satok <satok@google.com> Merge "[step9] Add logging code for text services"
da317ef68603dc7649f98bda495267973825e7fa 26-Jul-2011 satok <satok@google.com> [step9] Add logging code for text services

Change-Id: I4dae847951848cca85bcb73f47c509ce23327334
extservice/TextServicesManager.java
e3f5edf9755ca2ffbb654389251a61b35a3d9901 26-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Set initial bounds offset to (0,0) so that in-screen bounds reported by AccessibilityNodeInfo are correct"
01391cc0286e3daad2bab193eca325dc1a30e9a0 25-Jul-2011 Romain Guy <romainguy@google.com> Merge "Add debug flag to print out the EGL configuration used by libhwui"
6ef8329c9d3e428658a111b3f803fb90cb805631 25-Jul-2011 Romain Guy <romainguy@google.com> Merge "Add ELG config debugging to HardwareRenderer"
29d23ecfd8612ecd4a7b2140acd344934b73a558 25-Jul-2011 Romain Guy <romainguy@google.com> Add debug flag to print out the EGL configuration used by libhwui

Change-Id: I8be5aebb60b7441342d430131168d11dc551ec34
ardwareRenderer.java
iewGroup.java
71f14a4e23c0b6eb60a81fd9a1be86dc441d051a 25-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Touch exploration state set to clients asynchronously and depended on talking service being enabled."
484c719c1c4a86d10d7be821782a808d0e12ea4e 25-Jul-2011 Romain Guy <romainguy@google.com> Add ELG config debugging to HardwareRenderer

Change-Id: I1954111e999ea95982c273eb50b9ea82397bc823
ardwareRenderer.java
5bd36eee8698553941bffdc795aa8f2cc66b6338 25-Jul-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5060033 - No text-editing toolbar when in a dialog"
5518dd92d38edd5902482841413722aa654cc2e7 25-Jul-2011 Ted Bonkenburg <tedbo@google.com> Merge "Add support for creating a Surface from a a SurfaceTexture."
54e677ffb026eb838237b8a5e6581833f616e32a 25-Jul-2011 satok <satok@google.com> Merge "[Step 2] Add apis for spell checker settings"
562ab585f9e413d9696ee250e5ec02f95889a157 25-Jul-2011 satok <satok@google.com> [Step 2] Add apis for spell checker settings

Bug: 5057977

Change-Id: I4617b7f1487349c5de385e7392dbc39c69fa2ebc
extservice/SpellCheckerInfo.java
extservice/TextServicesManager.java
ab45c768bcfecbabbd664d4962f0c86627b6c76b 23-Jul-2011 satok <satok@google.com> Merge "Tweak APIs for SpellChecker"
1bedd99761e3d2acdac947d641e7fee5db556141 23-Jul-2011 satok <satok@google.com> Tweak APIs for SpellChecker

1. Move getSupellcheckerInfo to SpellCheckerSession
2. Change the interface of getSpellCheckerSession
3. Remove a flag in SuggestionsInfo

Change-Id: I3debe09e213fc0ab74618eb3504383f2a9447fd9
extservice/SuggestionsInfo.java
extservice/TextServicesManager.java
0bd1d0a15294345bf88b20df28466907f982cec7 23-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5060033 - No text-editing toolbar when in a dialog

Fix a bug that caused standalone action mode bars to not appear
properly or account for system insets such as the status bar.

Add public API to View to toggle the fitsSystemWindows attribute.

Change-Id: I5d7669425b930c5d23f9df26a45f544b706e8242
iew.java
da89e57130363a9b35983368f0f8df3237a9dbfd 23-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Code cleaning"
d794acaa6b1c8333bb9c12a84cd74fe24662bb90 23-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Code cleaning

- this was a bit ugly, isnt it?

Change-Id: Ic479c180977d73d333afed7696b2920840d92abf
iew.java
00aabf7d187bc05408199bd687a538b2e68bdc17 21-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration state set to clients asynchronously and depended on talking service being enabled.

1. Upon registration of an accessibility client the latter received only
the accessiiblity state and waiting for the touch exploration state
to be sent by the system in async manner. This led the very first
check of touch exploration state is checked a wrong value to be reported.
Now a state of the accessibility layer is returned to the client
upon registration.

2. Removing the dependency on talking accessibility service to be enabled
for getting into touch exploration mode. What if the user wants to use
an accessibility service that shows a dialog with the text of the touched
view?

bug:5051546

Change-Id: Ib377babb3f560929ee73bd3d8b0d277341ba23f7
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/IAccessibilityManager.aidl
ccessibility/IAccessibilityManagerClient.aidl
c9bcebe969fd6fac40bcef4f23dd8fe99290a90b 23-Jul-2011 Romain Guy <romainguy@google.com> Fix the build

Change-Id: Icdf7e25fff5f1dc0836e67368f6797b60164e8ae
nimation/AnimationSet.java
0de171b0d490a5928d54d2fb67c912d140aac643 16-Jul-2011 Ted Bonkenburg <tedbo@google.com> Add support for creating a Surface from a a SurfaceTexture.

The Surface is already using SurfaceTexture internally and it is parcelable. This
is intended to replace and phase out ParcelSurfaceTexture in favor of creating a
new Surface.java object from an existing SurfaceTexture.

Change-Id: I8e2dd86614523da6abed6403e1d705a68fa19fdf
urface.java
326804f81c0710f0ea0d0f871d2f24e6f332a23e 23-Jul-2011 Alan Viverette <alanv@google.com> Set initial bounds offset to (0,0) so that in-screen bounds reported by AccessibilityNodeInfo are correct

Bug: 5063700
Change-Id: I4814c78eb1d6eae007976a057358377560560363
iew.java
5bae58dff90025dd1419bd7508d17bbd32c26beb 23-Jul-2011 Romain Guy <romainguy@google.com> Merge "Nested alpha animations should cause invalidates too Bug #5041061"
d4745a689f36211afaff396874d78b1d5202762d 23-Jul-2011 Romain Guy <romainguy@google.com> Nested alpha animations should cause invalidates too
Bug #5041061

Change-Id: I96835449b6b5537872afda90956c5d06d826e841
iewGroup.java
nimation/AlphaAnimation.java
nimation/Animation.java
nimation/AnimationSet.java
3de3d6ad584d6f08f50aac1b04bc0fe6cb02fb09 22-Jul-2011 satok <satok@google.com> Fix the vendor build.

Change-Id: I856057c9418fd5194d78e34c4496bd43c520546f
extservice/SuggestionsInfo.java
7793719ca97571f5b3636d5a89cb067c71d627bd 22-Jul-2011 satok <satok@google.com> Merge "Create TextServiceManager and SpellCheckerService"
988323c57bd25a58f05dfa492d9b9c8ab62c5153 22-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

This CL inherits https://android-git.corp.google.com/g/112600

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2
extservice/SpellCheckerInfo.aidl
extservice/SpellCheckerInfo.java
extservice/SuggestionsInfo.aidl
extservice/SuggestionsInfo.java
extservice/TextInfo.aidl
extservice/TextInfo.java
extservice/TextServicesManager.java
f726c1de8bb08a5ac08f4f7c7d890db103922b68 22-Jul-2011 Adam Powell <adamp@google.com> Fix doc breakage

Change-Id: I2311a97b626fda105b635b70885b17fdee53f8d2
ollapsibleActionView.java
7ebb0bb15799a53e1a0ea226d1bb8cdcb9fa1d5b 22-Jul-2011 Adam Powell <adamp@google.com> Merge "Bug 5061529 - Save/restore action view state for menu items across invalidations."
9cbd934b3c2c670e3b3a65af01b406e272c29c93 22-Jul-2011 Romain Guy <romainguy@google.com> Merge "Ouput looper traces as traceview traces"
9a8c5cefcab3d5dec6ff63f0e99553e1aa9a4af8 22-Jul-2011 Romain Guy <romainguy@google.com> Ouput looper traces as traceview traces

Change-Id: I96c8e85fd7497d970febbf6f5aefc4ab903add8e
iewDebug.java
08695111cffd239d0f9917ff197c86e12e2e150c 22-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Decouple GLES20RecordingCanvas lifetime from GLES20DisplayList. Bug: 5062011"
162a0217563f4665da6eb183dfce0fef740f641f 22-Jul-2011 Jeff Brown <jeffbrown@google.com> Decouple GLES20RecordingCanvas lifetime from GLES20DisplayList.
Bug: 5062011

Previously, each GLES20DisplayList would hold onto an instance of
GLES20RecordingCanvas. In turn, each GLES20RecordingCanvas
held onto an SkWriter with a 16Kb buffer along with several other
objects. With one display list per view and hundreds of views,
the overhead could add up to a few megabytes.

Ensured that the GLES20RecordingCanvas is reset as soon as
the display list has been constructed, thereby promptly freeing
the 16Kb buffer.

Changed GLES20DisplayList so that it acquires a GLES20RecordingCanvas
from a pool as needed and recycles it when done.

Removed some dead code and cruft related to the construction of
GLES20Canvas objects in general. Some code was written with the
assumption that the underlying renderer object could change
behind the scenes or might be lazily constructed, but that isn't
actually the case so we can simplify things.

Removed an unnecessary weak reference from GLES20DisplayList
to the View. It isn't actually used anywhere.

Fixed a bug in GLES20DisplayList where isValid() would return
true while the display list was being recorded. This is incorrect
because the native display list might not actually exist. Worse,
even if the native display list does exist, it is stale and
potentially refers to old Bitmaps that have been GC'd (because the
mBitmaps list was cleared when recording started).

Change-Id: Ib12d5483688cb253478edeb0156d34c476c2566b
isplayList.java
LES20Canvas.java
LES20DisplayList.java
LES20RecordingCanvas.java
ardwareRenderer.java
iew.java
b72dedfa5e8db9e0fb532b4c362df252c3495591 22-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix CheckTextView padding"
038f1c80af06da55056120e121d43e3ee89ec726 21-Jul-2011 Adam Powell <adamp@google.com> Bug 5061529 - Save/restore action view state for menu items across
invalidations.

This includes expand/collapse state.

Add CollapsibleActionView interface. Views can implement this to have
special behavior when they are presented as an expanding/collapsing
action view. This lets SearchView and others take care of fiddly
behavior (focus stealing; opening the IME) automatically without apps
needing to implement this themselves.

Change-Id: Ibbd1eb5fcf3e3a862419e9344ad50f896bd05e36
ollapsibleActionView.java
6ee8c2495dd444ed4687489325b61ec6ebd75cba 22-Jul-2011 Romain Guy <romainguy@google.com> Merge "Add looper profiling to adb shell am"
aff599b4abb10bad6711ff9348f97a56240e0612 21-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix CheckTextView padding

- fix for bug #5051724 and bug #5051674
- override resolvePadding for doing correct padding resolution

Change-Id: Id8c7bf4afa24ff2169fd1bd7f5024a342279aab2
iew.java
7eabe55db6b113f83c2cefcd06812648927de877 21-Jul-2011 Romain Guy <romainguy@google.com> Add looper profiling to adb shell am

To profile the looper, run the following command:

adb shell am profile looper start <process> <file>
adb shell am profile looper stop <process>

Change-Id: I781f156e473d7bdbb6d13aaffeeaae88bc01a69f
iewDebug.java
6179ea3196e9306d3f14361fe9ef14191b1edba6 28-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding accessibility support to the Status Bar.

1. Added content description to pretty much all animals
in the zoo including buttons in the navigation bar,
notifications and status icons for battery, signal,
data, etc.

2. Rectored to avoid ovelaying views since they block
touch exploratino. In general overlaying views
cause trouble for touch exploration and accessibility
in general.

3. Avoid sending accessibility events in case the user is
touching outside of the StatauBAr panels to avoid
confusion.

4. Added records to accessibility events in the places where
this would help the presentation. So the event comes from
a given "leaf" view and its predecessor is adding a record
to the event for itself to provide more cotext. It is up
to the accessiiblity service to choose how to present that.

bug:4686943

Change-Id: I1c1bd123d828fb10911bca92130e9a05c1f020b3
iewGroup.java
22a72964edf52fc4e79d09a0c9a759bf4ee4aa8e 21-Jul-2011 Romain Guy <romainguy@google.com> Merge "Convert looper traces to traceview traces"
648bee18a1ccd362445d562729250ff5910f16a0 21-Jul-2011 Romain Guy <romainguy@google.com> Convert looper traces to traceview traces

Change-Id: If9238e8b00744118c1c4d2182727569f94deb638
iewDebug.java
1180644280a38f77756926531037bfd7b9f1974c 20-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #4772392 Check what needs to be done for RTL specific new attributes that are in public.xml

- cleanup public.xml
- make BiDiTest makefile non visible to the build system
- provide file for injecting the new attributes by hand

Change-Id: I5037ec323066ebd254be51fff7070a5a0101dff7
iew.java
1003aeb9dee6cb9ccb9991b32a6be94cd933d0ce 20-Jul-2011 Romain Guy <romainguy@google.com> Merge "Reduce the fade area to save bandwidth."
f2fc460a9512500d9d5749fbaada88903d8e3b22 20-Jul-2011 Romain Guy <romainguy@google.com> Reduce the fade area to save bandwidth.

Change-Id: I8ccea17fc1fb3c132329baa0acc1b3d5a140a5c6
iew.java
f2cc48fe8bea26bd07cb943b8308a19336536867 19-Jul-2011 Romain Guy <romainguy@google.com> Merge "Let HardwareRenderer support multiple threads."
ee4a6478e23f400244cc8d71bff5f22d649cb409 19-Jul-2011 Philip Milne <pmilne@google.com> Merge "Expose to the platform the ability to pick up changes in child visibility."
2af9e1f7b55463dc071881af1c4ed8d48c0d7289 19-Jul-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #4869092: ResolverActivity occasionally fails to display"
350f0a63c9e785304063a95a6df9e128a67ec64f 19-Jul-2011 Philip Milne <pmilne@google.com> Expose to the platform the ability to pick up changes in child visibility.

Also:

. use above, to flsuh GridLayout state when child's GONE state changes.

Change-Id: I8567c24b51b807f0625918d42b6847a5a350311d
iewGroup.java
2c1c4aa69f4ee0b3868b9ad9f0107bf678ffbb2a 19-Jul-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4869092: ResolverActivity occasionally fails to display

Change-Id: Ic632d08fcfa9138caeacb45fa4a00cbd4a943988
isplay.java
db94b0a5b071bafd5ae8cb9735528aa9d4b31cc8 19-Jul-2011 Chet Haase <chet@google.com> Merge "Don't constrain invalidation rect when not clipping children"
566b3efb25299d2a9c8ae827522802bad965426a 19-Jul-2011 Romain Guy <romainguy@google.com> Let HardwareRenderer support multiple threads.

This change will be useful to create multiples instances of
HardwareRenderer outside of ViewRootImpl. This will allow
the use of hardware accelerated canvas on TextureView or
for live wallpapers.

Change-Id: I877e43a31ba83d98a1a30556813c7e8a8a920eb5
ardwareRenderer.java
a3db866056adb01820bbd6389d20fc550be87eb3 19-Jul-2011 Chet Haase <chet@google.com> Don't constrain invalidation rect when not clipping children

View.setClipChidlren(false) allows children to draw outside of their containers.
But logic in ViewGroup.invalidateChildInParent() constrains the invalidation
rectangle to the bounds of the parent, making the flag useless in some situations.
Avoid intersecting the dirty rect with the parent bounds when the parent
is set to not clip its children.

Change-Id: Icc485b539758c96da0bd62ef57974a1bcb94f866
iewGroup.java
2e29de7cab35e4cf7c8f177b546cc95b101ed5c8 19-Jul-2011 Philip Milne <pmilne@google.com> Merge "Gather View's hierarchy notifications into methods that can easily be overidden."
f51d91c3ab232154b6c00d7f71377ff2421f79bf 19-Jul-2011 Philip Milne <pmilne@google.com> Gather View's hierarchy notifications into methods that can easily be overidden.

Also:

. Remove backward compatibility Group class now that AppsCustomizePagedView has been updated.

Change-Id: Ie3eabbdf57a539b28cdc3fd6d48cd984a4014960
iewGroup.java
7dde1c8ccce049378b8aa9e757b6f907040c8640 19-Jul-2011 Chet Haase <chet@google.com> Merge "Don't recreate view's display list when size hasn't changed"
4273ed652ae9ea2af0a77b6d59a183ebce53a680 19-Jul-2011 satok <satok@google.com> Merge "Enable IMEs to set additional subtypes in background"
75755e23f30d7a1f8c7b0c76ff5b2bcc72d6844f 19-Jul-2011 Chet Haase <chet@google.com> Don't recreate view's display list when size hasn't changed

Minor optimization in setFrame(), to force recreation of
a view's display list only when the actual size of the view has
changed.

Change-Id: Id07bd6943beec30de731ae8469ba881f5c0d9ac6
iew.java
f178737f823cf22d9a07df6f51071b7189a95e7e 15-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5031652 - offer a way to associate metadata with an ActionMode

Change-Id: Ic9d453b5c58eea922ec65423801e008d953bb25b
ctionMode.java
6dd005b48138708762bfade0081d031a2a4a3822 18-Jul-2011 Dianne Hackborn <hackbod@google.com> I. Can. Not. Stand. ViewAncestor.

It was done so we would have the name "ViewRoot" available for a
public API. However, the name "ViewAncestor" just makes no sense.
So instead, change it to ViewRootImpl.

Change-Id: If9599ca67896f339f6fefa7d1dde121201171d97
urfaceView.java
iew.java
iewAncestor.java
iewDebug.java
iewGroup.java
iewRootImpl.java
indowManagerImpl.java
nputmethod/BaseInputConnection.java
nputmethod/InputMethodManager.java
f40aa3834d92bfb516e0f865375103d81e3de71d 19-Jul-2011 Romain Guy <romainguy@google.com> Merge "Trim OpenGLRenderer's memory usage whenever possible"
6be3d5561cbeccf0a8257a4acb155657f868e548 15-Jul-2011 Romain Guy <romainguy@google.com> Add lock/unlockCanvas to TextureView

With this change, TextureView has feature parity with SurfaceView.

Change-Id: I4ef2da33420fc9590f868636ae72a5a6de61965b
extureView.java
bdf7609867a3f886455c51dba91623a86cceb6e2 19-Jul-2011 Romain Guy <romainguy@google.com> Trim OpenGLRenderer's memory usage whenever possible

Change-Id: I9225077184f374b1a43300add15cc1d5b6869d1c
LES20Canvas.java
ardwareRenderer.java
indowManagerImpl.java
989571eeca547db5f8972560c2d45f00be92a327 18-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix resolution padding glitch"
91e88122cf28a48fd2e2260da7d3d87dd437227a 18-Jul-2011 satok <satok@google.com> Enable IMEs to set additional subtypes in background

Bug: 4591792

Change-Id: I7e61a576c56d1a3a56001bdf2fd51ad3801add01
nputmethod/InputMethodManager.java
35bfedeaba724aeadc6f6c890269cb6bf7ef42f5 15-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration separate setting and API to poll the latter state.

1. Seperated touch exploration to be a seperate setting rather being
magically enabled by the system of accessiiblity is on the there
is at leas one accessibility service that speaks enabled. Now
there is a setting for requesting touch exploration but still the
system will enabled it only if that makes sense i.e. accessibility
is on and one accessibility service that speaks is enabled.

2. Added public API for checking of touch exploration is enabled.

3. Added description attribute in accessibility service declaration
which will be shown to the user before enabling the service.

4. Added API for quick cloning of AccessibilityNodeInfo.

5. Added clone functionality to SparseArray, SparseIntArray, and
SparseBooleanArray.

bug:5034010
bug:5033928

Change-Id: Ia442edbe55c20309244061cd9d24e0545c01b54f
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/IAccessibilityManagerClient.aidl
4d36ec11f21ccbb71fbf9277e14b440ad62ba31d 18-Jul-2011 Adam Powell <adamp@google.com> Make View#setBackgroundDrawable a no-op if setting the same background.

Change-Id: Idd3e0ae80609557d82a5564daa1cfb0abca42ded
iew.java
47b779b9f9c2e7948ae8d45ea07a10f1ad07d135 17-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Scroll events should indicate whether or not they have pixel data.

1. Updated all integet properties of AccessibilityRecord to be set to -1
so this is a clue to the client that this property is irrelevant for
the current event type.

bug:5031598

Change-Id: Ifedc15bf2249847cbc6cbcb83f5732e17b8b2903
ccessibility/AccessibilityRecord.java
9c83011005349f2f0ebefb47c8ea7fc4bb5a07f7 16-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #4972141 Overlapping content in single-choice dialogs"
f3e1a936c3d10fb13c3b1006cfc91dd4a224dc26 16-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix resolution padding glitch

- make LAYOUT_DIRECTION_LTR case same as LAYOUT_DIRECTION_RTL case

Change-Id: I910f3227c7f5e469cca2c59a6a26362da7965ee5
iew.java
54d69625558f401d5fe65309effb713d2ea06f54 16-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #4972141 Overlapping content in single-choice dialogs

- need to take care about padding resolution

Change-Id: Ida9738ffada6c6455b7949f933fa61924c4f7961
iew.java
f9284695e8c10dad4daf3d2c84f607483bcb56ca 14-Jul-2011 Romain Guy <romainguy@google.com> Add new ViewDebug APIs to profile the event queue.

Change-Id: I225bf288780b0244f459316e2765cfa29cd22c89
iewAncestor.java
iewDebug.java
50e95eba5c7cf70a0ecbc50c0cf5b700201aa67f 15-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Implement textDirection heuristic selection."
a6111377e1edbc5d63fc2a7205d58b2d9c21d978 15-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove edge slop support.

The edge slop feature was added a long time ago for a specific
device that had severe non-linear touch response issues near
the edges of its touch screen. The feature is not useful on
modern hardware that is property calibrated.

Change-Id: I26716cbc7411c31883ddb4bb4ddd981027790d0f
iewAncestor.java
7564d62a773857b2f46405d22f296edb3530d88e 15-Jul-2011 Jeff Brown <jeffbrown@google.com> Enter touch mode on ACTION_SCROLL.

Also fix the lastTouch tracking so it ignores irrelevant non-touch
events (like ACTION_HOVER).

Change-Id: I9e04872cb1f762aa6dcded1f9f83bf20eda17415
iewAncestor.java
2c41fa18bb48bb82e710c2899bd87ad6f84066be 15-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5025936 TableLayout layout direction resolution is broken"
cb379120456d8065d742021fc5c66748fc8a11a8 07-Jul-2011 Doug Felt <dougfelt@google.com> Implement textDirection heuristic selection.

Change-Id: I2fcf18de573f2d66494fa5ed61e4273c3c6078c7
iew.java
iewGroup.java
fe7e40dc0dabbe677308b87d0b5f538fc9161c7d 13-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5025936 TableLayout layout direction resolution is broken

- check is the parent's view can do resolution when there is inheritance

Change-Id: Ic21d4ee761982ee219229a95f170b6bf2e596b02
iew.java
76559a65ad9d644f10beacf8895ceb217fdd0aeb 07-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Polish of the ActivityChooserView and ShareActionProvider.

1. Addressed the UX comments: ActivityChooserView's default selection
popup no longer shows a message, rather hightlights the default
action which now it displays. Alignemnt of the UI.

2. The ShareActionProvider shows a sub-menu if the host item goes
on the overflow menu.

3. Now the heade layout of the activity chooser view is not needed hence
dropped and the item and footer ones are merged.

Change-Id: I0b3de623e4c0a805be9ed73a8541e66b8c00e2d2
ctionProvider.java
6ce9ed955e792a0bc7141d2d6951991c9a0ed1fc 13-Jul-2011 Romain Guy <romainguy@google.com> Merge "Revert "Don't preload HardwareRenderer, its static initialization is process dependant.""
08645eb0f4a8d73b2b2f26d3232f45cf459a27bc 13-Jul-2011 Romain Guy <romainguy@google.com> Revert "Don't preload HardwareRenderer, its static initialization is process dependant."

This reverts commit 821e24336b3ab1f902fc3ee8da423226f50b540c.
ardwareRenderer.java
c93ffea268b49e8697c767508dc5afe1a2338c05 13-Jul-2011 Romain Guy <romainguy@google.com> Merge "Don't preload HardwareRenderer, its static initialization is process dependant."
821e24336b3ab1f902fc3ee8da423226f50b540c 13-Jul-2011 Romain Guy <romainguy@google.com> Don't preload HardwareRenderer, its static initialization is process dependant.

Change-Id: I229357aaaa10b19209983c122f98dd3c07e01d7f
ardwareRenderer.java
961dd11895ce72e59bca124ef5bea4e4c1183099 12-Jul-2011 Adam Powell <adamp@google.com> Update ActionProvider to support dynamically building submenus.

Stub out ShareActionProvider for building a submenu of activities to
choose from.

Change-Id: Ibd9ada77a455ed1a296c87b6d967073ca0f676c2
ctionProvider.java
enuInflater.java
f21f07627df3ad4381fdd3daf47289eeda9754d3 12-Jul-2011 Romain Guy <romainguy@google.com> Merge "Always make GL calls with a valid EGL context. Bug #5010760"
039857520b1a03a52051b966d87d587225bdfcc3 12-Jul-2011 Romain Guy <romainguy@google.com> Always make GL calls with a valid EGL context.
Bug #5010760

Change-Id: If7500ef69683948e727df1406f458f18b11259d1
ardwareRenderer.java
iewAncestor.java
501c4671e73a484c1f01d94f4f5fff124c05f197 11-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Eliminate single-process mode. Bug: 5010576"
7f86c806ada21fc7a3feefd89d6fcb4282b0af40 02-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix View reset of layoutDirection and textDirection

- do it in onDetachedFromWindow()
- make naming consistent too
- update unit tests

Change-Id: I320fcdbf75166bae793c4409e7344608b696667f
iew.java
iewGroup.java
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
iewAncestor.java
c7a8be7fc4baa8eb70e49e3894c284ef8aa36612 09-Jul-2011 Romain Guy <romainguy@google.com> Merge "Always redraw the UI on orientation change Bug #4994715"
7e1160e8664a9c5c79367f4ba3c2266a39bbcef5 09-Jul-2011 Romain Guy <romainguy@google.com> Always redraw the UI on orientation change
Bug #4994715

In some cases, on some architectures, the hardware renderer could fail
to properly render a window after an orientation change. The fix is
to force the GL driver to drop any existing buffer to make sure the
next buffer used to draw has the correct geometry.

This change also fixes an issue that was preventing partial screen
updates from being properly enabled.

Change-Id: I874a48590845a8624425130af7db8e20022895dd
ardwareRenderer.java
iewAncestor.java
44476779aec2082b902a04394281206511b64322 08-Jul-2011 Romain Guy <romainguy@google.com> Merge "Correctly position layers."
b2479153b743df9e54f7e17c7132a5ecd87fa453 08-Jul-2011 Romain Guy <romainguy@google.com> Correctly position layers.

Change-Id: I1678b1c5bdab140b44e56556c50ab8329255f18a
iewGroup.java
69abbd8791f57f39a861c6f569da2f712bb6b5db 08-Jul-2011 Romain Guy <romainguy@google.com> Merge "Use NEAREST filtering for layers whenever possible."
9ace8f5e79e76893fe4ca9e4d10f6c4056330485 08-Jul-2011 Romain Guy <romainguy@google.com> Use NEAREST filtering for layers whenever possible.

Change-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e
LES20Canvas.java
ardwareRenderer.java
1d19c18f9bd66b2b4883f8ce33c04ff5c87dd881 08-Jul-2011 Huahui Wu <hwu@google.com> Merge "Revert "b/3302378 Passes touch pressures, size and timestamps to webkit.""
98933f3f6875a7327a44fca7271ae997e45d3779 07-Jul-2011 Huahui Wu <hwu@google.com> Revert "b/3302378 Passes touch pressures, size and timestamps to webkit."

This reverts commit 6e64e0c61720244894dbd1fd6b36394adc63b2de.
It introduced a null pointer crash for pinch-and-zoom.

Change-Id: I886057053b4cd2aded0f58618a806f7a67e58968
otionEvent.java
f61970fc79e9c5cf340fa942597628242361864a 07-Jul-2011 Romain Guy <romainguy@google.com> Add an API to query maximum bitmap/texture size on Canvas.

Change-Id: I2c576c9a4ecad9f33cc6636bcbc29786acdf052d
LES20Canvas.java
6e64e0c61720244894dbd1fd6b36394adc63b2de 29-Jun-2011 Huahui Wu <hwu@google.com> b/3302378 Passes touch pressures, size and timestamps to webkit.

Related CL in WebKit:
https://android-git.corp.google.com/g/#change,118422

Change-Id: Ibf209131a6d9ca8186c461b0c5b6286e5f669d0d
otionEvent.java
35412d63ee59b99a43725e466c5deef52b2324df 04-Jul-2011 satok <satok@google.com> Fix NPE in InputMethodSubtype

Change-Id: Iec8b2f95660db3edec18c2fc38db8f16395739b5
nputmethod/InputMethodSubtype.java
51ac0e94a83cfccb5105aa14df1077729a5b4ccc 17-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding a ShareView and ActionProvider for menus.

1. Adding a widget for sharing contenet with other applications.
The widget orders the share targets based on previous shares.
It displays the share target list as either a popup anchored to
itslef or as a dialog.

2. Added a ShareDataModel that will back widgets or other classes
that are interested in share targets for a given intent ordered
according to share history. This class is backing the ShareView

3. Added ActionProvider mechanism for the MenuItems. The action
provider of a menu creates the action view as well as performs
a default action if the menu item is on the overflow menu and
is triggered but none of the menu callback has handled that.

bug:4590827

Change-Id: Iaa4add2df2538b8c6c7edbeaf2880486d4fd75c5
ctionProvider.java
enuInflater.java
enuItem.java
f03712bf540db15d0594b848e63c207fd50e9379 02-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix default TextView textDirection heuristic"
0b28c757adfec4302b144d8230c01c04ae00ca2b 01-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix default TextView textDirection heuristic

- use "first strong" instead of "locale"
- optimize "any rtl" heuristic too
- fix a few wording issues too

Change-Id: I239a11a49a7a6a6d45165f593c96e8b6b84f0661
iewGroup.java
0e591ab277e777b0422463823e3abf28bb1fd5d8 01-Jul-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add charCount heuristic to TextView textDirection"
8f5026562f26dcde43ee9d9182b309c3204dc1ad 30-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add charCount heuristic to TextView textDirection

- threshold set to 60% (using a constant)
- fix also one issue during layout direction resolution (parent could be null so delay resolution
up to when parent is no more null)

Change-Id: I65f24a297aac6bc0d5d482ee31b55db0b201e5bf
iew.java
iewGroup.java
8c4706252228755ed181d19532b7e0cfec270ba4 01-Jul-2011 Adam Powell <adamp@google.com> Add API to report the presence of a permanent menu key on the device.

Action bar now uses this to determine whether to show an overflow menu.

Change-Id: Ife4f724d02bbc0d9d86d94740c85299f6dacae91
iewConfiguration.java
ce5ee2dc8dec2a1369ceaad15a39d29909ed0172 01-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Crash observed when attempted to uncheck the Accessibility option.

1. Accessibility events for change in the window content are sent
with a delay and code performing the send does not check the
accessibilitys state before sending the event.

bug:4980754

Change-Id: Ice68037ebab9c5dcd0dece927765585e13959c0c
iewAncestor.java
4dfecf55c1afcc7ffe0cef931df67c4934a13e34 01-Jul-2011 Jim Miller <jaggies@google.com> Fix runtime reboot loop.

Change-Id: Ib0614e64e81e376fdbbe7c42a5e4aa8fb9c88ce9
ccessibility/AccessibilityManager.java
1e75fbd8fef202dd59dab5ddacea22eea2174ebf 30-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Updating accessibility documentation."
38e8b4e5bc3c93affdffbc064fd9db5aeccc3e8e 30-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Updating accessibility documentation.

Change-Id: Ice8cf9ac6918b3bfa553776c68d4619fa6559cf8
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityEventSource.java
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
ccessibility/package.html
fe8b06cfb4cb4991bcfd09ffa60dcbb7b48ee45f 30-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Support control of text alignment."
8ef7358fb3039765b98df170fea4307935145305 30-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Synthetic cancel event should have touchscreen source."
2fdbc5a0c499752285630336f0ef538d4a50e60e 30-Jun-2011 Jeff Brown <jeffbrown@google.com> Synthetic cancel event should have touchscreen source.

Fixed a warning identified by the InputEventConsistencyVerifier
due to some code that synthesizes a touch event which it sends
to onTouchEvent with no input device source specified.
This is generally harmless but a fake source is better than
none in this case.

Change-Id: I44cfa36a4746f598f8fde3086084af3896e2ba2a
iewGroup.java
c0ccf0c47c00942a9d0f2670600a8f2d4d7adb5b 24-Jun-2011 Doug Felt <dougfelt@google.com> Support control of text alignment.

Change-Id: Id6f3682f67ba2e6811e3014cd34a281e6dd0a469
iew.java
iewGroup.java
83955ef12fb324fb3d407c5ea08769f267af7074 29-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add textDirection support for TextView and ViewGroup"
863fcd62171e55bc9f2105d9fb5877df982454d8 21-Jun-2011 satok <satok@google.com> Add onClickView to InputMethodService

Bug: 4697141

- onClickView is called everytime the user taps EditText

Change-Id: Ia71ad325e50a20e9e1001def662ef992bb50a9d0
nputmethod/InputMethodManager.java
nputmethod/InputMethodSession.java
222688682e6e072076489d8203d01bdf2366101a 28-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add textDirection support for TextView and ViewGroup

- use ViewGroup inheritance if defined
- use different heuristics (inherit, firstStrong, anyRtl, ltr, rtl)
- add more unit tests

Change-Id: Ic1325aa7d9e4689b181e0a2d08b7dd7fb3f0dbeb
iew.java
iewGroup.java
8134681b25dfff814ffeaad8ff70e84316c1869f 29-Jun-2011 Jeff Brown <jeffbrown@google.com> Improve input event consistency invariants.

Fixed some issues where inconsistent streams of events could
be generated by the dispatcher, particularly when switching from
hovering with one device to hovering with another.

Fixed a bug where the touch pad would fail to generate a new
HOVER_MOVE following a tap event. As a result, the hover event
stream would not resume until the user touched the touch pad
again.

Change-Id: I444dce84641fb12e56a0af84c931520771d6c493
nputEventConsistencyVerifier.java
otionEvent.java
53ca3f13e70fda98aa9f39bb0c15afaf435e3904 28-Jun-2011 Jeff Brown <jeffbrown@google.com> Hover and stylus API cleanup.

Added missing setOnHoverListener method.
Removed BUTTON_STATE_ERASER.

Change-Id: I5d820d0a8e47fe5fd2d88e9fd9fc3fc6ce0dea0d
otionEvent.java
iew.java
a20cdc06e599c6fef784a0a479e8329f95e4bd09 27-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build

Change-Id: Ic3664e5cd812d5fe59c9cf2657a441ca76a61135
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityRecord.java
46bdc1ebbc079c6eb5c687cba3c39c130633d8a7 27-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Added scroll and text selection change accessibility events."
aaad33e0aa2f2c444118adf4177e037fba252960 27-Jun-2011 Romain Guy <romainguy@google.com> Merge "Fixing various broken javadoc comments in framework."
a0156177cdc809795dd8bc5a19943dd2b6f82b66 27-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Added scroll and text selection change accessibility events.

1. Added scrolling accessibility event to provicde feedback
when a view is scrolled.

Note: We need scroll events for ICS since even though we have
touch exploration the user does not know when something
is scrollable and not feedback is provided while scrolling.

bug:4902097

2. Added a text selection change event to provide feedback
for selection changes including cursor movement.

Note: We need the text selection change events for ICS since
even though the IME supports navigation in text fields
the user receives no feedback for the current selection/
cursor position.

bug:4586186

3. Added a scrollable property to both AccessibilityEvent and
AccessibilityNodeInfo. The info has to describe the source
in terms of all properties that make sense for accessibility
purposes and the event has this property (kinda duplicated)
since clients will aways want to know if the source is
scrollable to provided clue to the user and we want to avoid
pulling the info of the source for every accessibility event.

Change-Id: I232d6825da78e6a12d52125f51320217e6fadb11
iew.java
iewAncestor.java
iewConfiguration.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
b76023afd192a1f5c81a8965cfd1b9dde2558726 21-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Introduce MarginLayoutParams marginStart and margingEnd

- update BiDiTest app for adding more unit tests concerning margin

Change-Id: Ia6a7e0a1948a2c375e8f3cc87d120a85351a8c27
iew.java
iewGroup.java
8ab3dc7a3e430cc69975091b962758f49bc84ef2 24-Jun-2011 Andrew Sapperstein <asapperstein@google.com> Fixing various broken javadoc comments in framework.

Change-Id: I48a6b3c268e8ebf3aa2ff3a1de7ff5fa6f8f6de7
eyEvent.java
4c60c541de2399d92610b8a7f7f105a42c1ed2a9 25-Jun-2011 Romain Guy <romainguy@google.com> Merge "Properly tear down TextureView"
80429c458506485904715180d10584092a5cd082 25-Jun-2011 Romain Guy <romainguy@google.com> Properly tear down TextureView

Change-Id: Ic23cd9257889d0abe8cc3fc1d04a66d0505e383e
extureView.java
c1ba416af5d902ff9b9db7627ab73ec2baff427c 24-Jun-2011 Romain Guy <romainguy@google.com> Merge "Reduce the number of UI events required to update a SurfaceTexture."
58f4edb7701bf20925468fa5fd1a06a461ff085b 24-Jun-2011 Romain Guy <romainguy@google.com> Reduce the number of UI events required to update a SurfaceTexture.

Change-Id: I9330c9646654fff57dcd6817c86e587a6490a9ad
extureView.java
c897fbfaf91f85a4f73643b2da6b58485350d574 24-Jun-2011 Romain Guy <romainguy@google.com> Merge "Code cleanup"
02ccac69fd1c0a03c24c5f3ace0ad4bed337b1fd 24-Jun-2011 Romain Guy <romainguy@google.com> Code cleanup

Change-Id: I64c346004e0adf9a776d0315534d4fe445f0c0ca
LES20Layer.java
LES20TextureLayer.java
ardwareLayer.java
ardwareRenderer.java
extureView.java
iew.java
iewAncestor.java
a54a600bc41c8ac760f85333b0c562cdc6770531 24-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #4813026 resolved direction of view doesn't change after layout direction changes"
5c5050d9026f7e0ba52bec094f681e048cdd5d9a 24-Jun-2011 Grace Kloba <klobag@google.com> Make TextureView to use async SurfaceTexture.

With this, there is no synchronous destroy SurfaceTexture requirement any more.

Revert the previous change which only applies to the sync SurfaceTexture.

Change-Id: Id4790d38a27f2982d0c8ad471bc1107683d27ffc
LES20TextureLayer.java
58b868417755805ebdfe4feb65664ad98c00bf35 23-Jun-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #4770360: older app compatibility mode is really tiny on ICS phones"
2b31d53161789358de57fd396716a6503855c5da 23-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4770360: older app compatibility mode is really tiny on ICS phones

We were applying the density compat mode scaling multiple times to
display metrics, causing bad values.

Change-Id: Iafafd9a5e94b9d774cd2715bf968e91602a1bd82
isplay.java
cf559377b750271472aa0a717bf3b7d34abc0b39 23-Jun-2011 Grace Kloba <klobag@google.com> Add onSurfaceTextureUpdated to the TextureView listener.

The app needs a way to throttle the producer side. Expose this to enable it.

Change-Id: I04b6a3fc444117a9fc2449fb87c3c834247c8ef1
extureView.java
8b4512ef203ee0bc3bca33224f1e03f2c1e59546 23-Jun-2011 Romain Guy <romainguy@google.com> Merge "Prevent possible NPE in TextureView"
1ec3a58bcdd0d5fa82cf878d974d062811933ae2 23-Jun-2011 Romain Guy <romainguy@google.com> Prevent possible NPE in TextureView

Change-Id: I539813d614c7eb1f68dad6b605cbad5b5144c5e9
extureView.java
c2e0a1f1cdd249694bf707a7bc066e7808c340d0 23-Jun-2011 Romain Guy <romainguy@google.com> Merge "Add the ability to specify the opacity of a TextureView"
a9489274d67b540804aafb587a226f7c2ae4464d 23-Jun-2011 Romain Guy <romainguy@google.com> Add the ability to specify the opacity of a TextureView

TextureView assumes its content is opaque by default.

Change-Id: Iba873423566a5b67c388081838bd910dceba32ba
LES20Canvas.java
LES20TextureLayer.java
ardwareRenderer.java
extureView.java
iew.java
iewGroup.java
ef716baaa0f54d618da4f08474f81d02aff636cd 23-Jun-2011 Chet Haase <chet@google.com> Merge "Fix flashing artifacts caused by invalidation bugs"
80dc53d652b060d4dea7d70e9a5aa3b8321bcf8d 22-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #4813026 resolved direction of view doesn't change after layout direction changes

- reset resolution if setLayoutDirection() is called
- propagate resolution reset to the children if the View is a ViewGroup and direction is inherited

Change-Id: Iab1a75b17426aead7e28caba827614d7cf8e9450
iew.java
iewGroup.java
ad4f70306b2089a273635b73a101fe48aa36cbe2 22-Jun-2011 Chet Haase <chet@google.com> Fix flashing artifacts caused by invalidation bugs

Therea re 2 fixes here:
- We sometimes cleared a flag in ViewAncestor too soon that controlled
how invalidated areas were redrawn (related to whether the invalidates
happened on opaque views or not).
- TransitionDrawable was always setting/restoring alpha values on its
drawables every time it was drawn. setAlpha on BitmapDrawable causes
an invalidation, so essentially this was an infinite invalidation/redrawing
loop. The fix was to notice when the animation was done and to simply
draw the appropriate drawable[s].

Change-Id: I1849a5a909b0039a0e9bce0aa3cfc33c50f8f854
iewAncestor.java
c989d867f2580a99cde25fab0e49e445aea33f2f 22-Jun-2011 Romain Guy <romainguy@google.com> Collapse UI events in TextureView.

Change-Id: Ia6c0cef0f694edc4b685c1ade1a9ba509a51e541
extureView.java
a3e3c533ee4af6d9dba43b70ac421ba880992961 22-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4807086 - Options menu panel too narrow in landscape

Now that landscape on phones uses the config_prefDialogWidth setting
to restrict the default size of dialog windows, the options menu panel
was affected.

Restrict the ratcheting preferred width feature based on the width
LayoutParam only, and respect the LayoutParams width provided by panel
windows.

Change-Id: Idc62f41910f6f22dc50cab978c5642bb0a8dbdaf
iewAncestor.java
8969d9924c662ab4cdacc342bbdc33756db730be 22-Jun-2011 satok <satok@google.com> Revert "Create TextServiceManager and SpellCheckerService"

This reverts commit eaddb894865a804279659b4aad6364a34ab50beb.
nputmethod/ISpellCheckerService.aidl
nputmethod/SpellCheckerInfo.aidl
nputmethod/SpellCheckerInfo.java
nputmethod/SpellCheckerService.java
nputmethod/TextServiceManager.java
f86ee14f6a53d409489261415901c6397877ce3d 22-Jun-2011 satok <satok@google.com> Merge "Create TextServiceManager and SpellCheckerService"
87b7f805b94f5df53343264509f6d606d96dfb05 22-Jun-2011 Jeff Brown <jeffbrown@google.com> Send hover to all children under pointer.

Previously we only sent hover to the topmost child, but this doesn't
handle cases where multiple children are overlapped to achieve
certain special effects. Now we send hover to all children until
one of them handles it.

Also moved the call to send the accessibility event into the
main dispatch function so that we can send the accessibility event
for all innermost hovered views even when setHovered() might
not be called.

Change-Id: I6fb8b974db44b594c441deafc012b8415afdfac7
iew.java
iewGroup.java
194f4a7afd6be1600e360b553f6d9a2f03a3f45b 22-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Only handle onHoverEvent in actionable views."
32b6328b0c7ca45bbfe71d68816e0022c23abc79 22-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix taint and nesting bugs."
aa4d46bb12e7fab8d9d8d6e0e2a8d6205420a318 22-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #4796027 left/right padding regression after recent View change (part 2)"
f9e36506f1d1d83d5a7266f955e861b9e819b205 22-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #4796027 left/right padding regression after recent View change (part 2)

- revert previous fix (transforming >=0 to >0)
- initialize mUserPaddingStart and mUserPaddingEnd to -1 in the specific View(Context context) constructor
- cache mUserPaddingStart and mUserPaddingEnd a bit earlier in View(Context context, AttributeSet attrs, int defStyle) constructor
- cache also mUserPaddingStart and mUserPaddingEnd in setPaddingRelative()

Change-Id: Ibe398da7af35f77655d7006444fa49c9c5387f62
iew.java
10b6290c5f15ae512a2f6b5bf8d95bd2527c7235 21-Jun-2011 Jeff Brown <jeffbrown@google.com> Only handle onHoverEvent in actionable views.

Modified onHoverEvent so that a view only has its state changed to
hovered when the view is clickable. The intent is to prevent labels
from taking hover focus away from their containing view group despite
not being actionable in any way. The child will still receive
a hover event but, if it does not handle the event (returns false),
the hover event will bubble up to its parent and ancestors allowing
them a chance to handle the event instead.

The new onHoverEvent semantics are better because now they closely
mirror those of onTouchEvent. This makes it straightforward to
implement views that respond to hover by changing their visual
appearance (such as by making buttons glow when hovered).

Added onInterceptHoverEvent to enable ViewGroups to explicitly
intercept hover events within their bounds.

Exposed the new hover event API for real.

Change-Id: I63195c8f5c74b859f6047487f9a0f703e8f40ffe
iew.java
iewGroup.java
738e7e431c71777100726f6c870e47c354db1337 21-Jun-2011 Jeff Brown <jeffbrown@google.com> Fix taint and nesting bugs.

Tainted events should still be processed, even if we don't bother
the developer with the details.

The check for nested calls to the event verifier must incorporate
the event type because different event types might be overridden
in different subclasses so the nesting depths may vary.

Change-Id: If2fb213e07db783a0bd1da97bb12aad93126d712
nputEventConsistencyVerifier.java
374d757e9c00d120b53703bb0573813bba7f11b7 22-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #4796027 left/right padding regression after recent View change"
f8ed444fad4c5bcb9c163ecb1303871c47e676d0 22-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #4796027 left/right padding regression after recent View change

- mUserPaddingStart and mUserPaddingEnd had be be greater than 0 for overriding

Change-Id: I588a9971bf73aa9461716cfd5a006373a14408f8
iew.java
86398bda3dd869c67faa841a5d961316b5f4aa8a 22-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessiblityNodeInfo#findAccessibilityNodesByText returns null if non found.

1. Updated the code to return empty list instead.

2. Updated the doc to explain that the search is done in the
sub-tree rooted at the info whose method is called.

Change-Id: I560d2563ed4772305bf2d7919560ef19baa30a1d
ccessibility/AccessibilityNodeInfo.java
34e350daf89aed09ac748c2185f4506772a63b3f 21-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> ListView do not fire accessibility hover events.

1. AccessibilityEvent was incorrectly setting the
connection of an owned AccessibilityRecord after
the record is initialized since during initialization
the record may become sealed.

bug:4724101

Change-Id: I39087dc8023c62252f31431ece23de901dc45972
ccessibility/AccessibilityEvent.java
b53a68bbd96c3ffa22914c72315d50e6999dcb28 21-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4738084 - Padding calculation regression

Make sure user padding values aren't clobbered during construction.

Change-Id: I90d1610e0bf50ccb10f058fb2b6c6d8ff34eec3b
iew.java
d8703a98241ff190a26bc4b6089a0a8ab0122d8f 17-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add View paddingStart and paddingEnd

- use a lazy padding resolution (because layout direction is lazyly resolved too)
- cache resolved layout direction as getResolvedLayoutDirection() will be more called
- enable resetting layout direction cache if needed
- update unit tests

Change-Id: I30ce19e3100cc137f84e60163b60e1577ff61819
iew.java
eaddb894865a804279659b4aad6364a34ab50beb 01-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
nputmethod/ISpellCheckerService.aidl
nputmethod/SpellCheckerInfo.aidl
nputmethod/SpellCheckerInfo.java
nputmethod/SpellCheckerService.java
nputmethod/TextServiceManager.java
98769300af3580723f99415bba0f790e874fb27b 18-Jun-2011 Romain Guy <romainguy@google.com> Merge "Add error checking to LayerRenderer::copyLayer"
d6b2a00dd43257d1498b09175bff63663f6cb861 18-Jun-2011 Romain Guy <romainguy@google.com> Add error checking to LayerRenderer::copyLayer

This method is invoked by TextureView.getBitmap() and failures must be
caught to avoid leaving the GL context in a potentially bad state.

Change-Id: I620de395ba1bc20154de58c81963223dc55cac78
extureView.java
iewAncestor.java
1790a10eea34b777dcca54cfafb05ef4914b23fb 18-Jun-2011 Chet Haase <chet@google.com> Merge "Invisible views can't start animations"
ee452bcc06c6a42ecc78a154bb4fb9366e9178eb 18-Jun-2011 Romain Guy <romainguy@google.com> Merge "Fix rendering issue with paths when the stroke width is 0"
98029c825b9234e6b90721d910cc180885fcab1d 18-Jun-2011 Romain Guy <romainguy@google.com> Fix rendering issue with paths when the stroke width is 0

Change-Id: I5d8ac23dc69e9e17df4ef6b5195186b5207e2524
iew.java
c8a9a70c5fe1be7e22f861f40b8cf3a9cf147cb2 17-Jun-2011 Chet Haase <chet@google.com> Invisible views can't start animations

The invalidation logic was broken for invisible views, causing
a problem when an animation was set to start on an invisible view
(to fade it in), but the view would not propagate the invalidation
event that would trigger the start of the animation rendering.
Fix: reset the DRAWN flag when a view becomes invisible to allow
the invalidation logic to work as intended.

Change-Id: Ibf49c6e8b39506a92a6e5f45cb8a12626ae4f931
iew.java
4f844e26366dac62c27fea0ccdd4db5b9c359e47 17-Jun-2011 Amith Yamasani <yamasani@google.com> Merge "Inform the InputMethodManager that a focused view has been attached."
4503c8dd714e1e40306d9356bf27b1f4925ea5f0 17-Jun-2011 Amith Yamasani <yamasani@google.com> Inform the InputMethodManager that a focused view has been attached.

This enables new fragments or views that have a focused EditText to register
the view with the input method framework as the served view.

Change-Id: I260439223b56626f2e57bd778bbe5194ed44e361
iew.java
b47f2f9533ec76be0228e53959aa3c93d4e1c355 16-Jun-2011 Chet Haase <chet@google.com> Merge "Fix crash in ViewPropertyAnimator for unparented view."
3a000a52d6863bd1c6c9822a9cfd83e00f3aaf79 16-Jun-2011 Chet Haase <chet@google.com> Fix crash in ViewPropertyAnimator for unparented view.

Mechanism for removing possible earlier animations should
call removeCallbacks on the view, not on the (possibly null)
handler of the view.

Change-Id: I76c6f0bea5e009be9197a6e49e9360ed9ef1a9cb
iewPropertyAnimator.java
7e27e489d86888ac8bfc7852379a58178313fa5c 16-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Introduce LocalUtil and getLayoutDirectionFromLocale() now use likelySubtags"
fa59d178bb9421218e18fc60d8ba63eb258cf84a 16-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Invisible views should not be visible to accessibility services (interrogation)"
ea1da3d2e61625afcc7753ba2e03c5d2fb565dae 16-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Invisible views should not be visible to accessibility services (interrogation)

1. Infisible children of a ViewGroup are reported by View group
while constructing an AccessibilityNodeInfo.

2. AncestorView does not check whether a found view is shown before
returining it or perform action on it.

bug:4672230
Change-Id: Ic620ea71b7755c598407bdd813a2beeee400c89c
iewAncestor.java
iewGroup.java
e5e0c50f7dfaccc220725c5595080e921ffda1e4 16-Jun-2011 Romain Guy <romainguy@android.com> Properly refcount SurfaceTexture in the JNI layer.

Change-Id: I4b4c8020c13b8d6ce0d302fe42410033bf5785a6
LES20Canvas.java
LES20TextureLayer.java
ardwareRenderer.java
extureView.java
a47f45e4829f812ff47f9e5c9370b02284d92ae8 15-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Introduce LocalUtil and getLayoutDirectionFromLocale() now use likelySubtags

- move code from Configuration to LocaleUtil
- move unit tests

Change-Id: Ic14b0131894a0c5618f00d4acb3edb0daadefe01
iew.java
474dcb5c3ddff737c4ac9fc44a1f7be569605e5f 15-Jun-2011 Jeff Brown <jeffbrown@google.com> Add support for disabling pointer gestures.

Made it possible for individual windows to disable pointer gestures
while the window has focus using a private API.

Cleaned up the InputReader configuration code to enable in-place
reconfiguration of input devices without having to reopen them all.
This change makes changing the pointer speed somewhat nicer since the
pointer doesn't jump back to the origin after each change.

Change-Id: I9727419c2f4cb39e16acb4b15fd7fd84526b1239
indowManager.java
77a811610f99e21da7f88dafef60d09f345d0506 15-Jun-2011 Romain Guy <romainguy@google.com> Add TextureView.getBitmap()

This API can be used to get a Bitmap copy of the content of a
TextureView.

Change-Id: I07522216c353720fba5cab333174f58f484eb911
LES20Canvas.java
LES20Layer.java
ardwareRenderer.java
extureView.java
c0053223bedf33581b0830fb87be32c1f26e5372 13-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add View.getResolvedLayoutDirection()

- update Callback2 interface
- update Gravity.getAbsoluteGravity() and Gravity.apply() to be more generic
by changing "boolean isRtl" parameter to "int layoutDirection"
- fix BiDiTests for RTL FrameLayout

Change-Id: I97bb456c22d5fd3ecb34f08564ce4dbed37e7459
ravity.java
iew.java
3e234ba1fb4530786286503306ed7091aecaeb1e 14-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Allow touches to slide out of the navigation bar."
2714abff5cc50b1487c0979c99cc685f5ea113b1 14-Jun-2011 Adam Powell <adamp@google.com> Merge "Expose api on View to determine if the view can be scrolled."
98db5fabdad86dca379740d8050697950b9f026c 09-Jun-2011 Jeff Brown <jeffbrown@google.com> Allow touches to slide out of the navigation bar.

Change-Id: I73cabba3d62f47829bf6217700ace56a27c42b1d
indowManager.java
6915944fc722fd8a7d4f26a02faaee51afdfc5c1 14-Jun-2011 Adam Powell <adamp@google.com> Expose api on View to determine if the view can be scrolled.

Change-Id: I41783237a975151392faec04c6a85803ebbccfb4
iew.java
eeee4d2c01d3c4ed99e4891dbc75c7de69a803fa 11-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Final polish of the interrogation feature.

1. Added a new event type for notifying client accessibilitiy
services for changes in the layout. The event is fired at
most once for a given time frame and is delivered to clients
only if it originates from the window that can be interrogated.

2. Exposed the findByText functionality in AccessibilityNodeInfo.
This is very useful for an accessibility service since it allows
searching for something the user knows is on the screen thus
avoiding touch exploring the content. Touch exploring is
excellent for learning the apps but knowing them search is
much faster.

3. Fixed a bug causing an accessibiliby service not to receive
the event source in case of more than one service is registered
and one of them does not have paermission to interrogate the window.
The same event was dispatched to multiple services but if one
of them does not have interrogation permission the event is
modified to remove the source causing subsequent serivices not
to get the later.

4. Moved the getSource setSource methods to AccessibilityRecord
instead in AccessibilityEvent.

5. Hiden some protected members in AccessibilityRecod which should
not be made public since getters exist.

6. Added the View absolute coordinates in the screen to AccessibilityNodeInfo.
This is needed for fast computation of relative positions of
views from accessibility - common use case for the later.

7. Fixed a couple of marshalling bugs.

8. Added a test for the object contract of AccessibilityNodeInfo.

Change-Id: Id9dc50c33aff441e4c93d25ea316c9bbc4bd7a35
iew.java
iewAncestor.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityInteractionConnection.aidl
ad47ab3524289eee8410f0b93b024c70a1d469fd 11-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Make orientation changes happen sooner."
c0e9e4293a4739b40c85e91c0f72e610c87d119d 11-Jun-2011 Romain Guy <romainguy@google.com> Merge "Add onSurfaceTextureDestroyed() callback."
40b62b9e66bf55cf2c49184298fa00c290e2bc2c 11-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make View respect LAYOUT_DIRECTION_LOCALE"
451ce44a18e4c48f8a43aa250957f76967a35d31 11-Jun-2011 Romain Guy <romainguy@google.com> Add onSurfaceTextureDestroyed() callback.

This is needed for Renderscript and it also makes implementations
of TextureView cleaner. This change also hooks up the onSurfaceTextureSizeCHanged()
callback whenever the view size changes.

Change-Id: I2f972ee4504d800329defefacf32cf20547d31a3
extureView.java
26e432d25f2ba199ae8b762fc68da8463389dd9b 10-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Make View respect LAYOUT_DIRECTION_LOCALE

- update also unit tests for taking care of the locale direction
- code formatting on the layout test files

Change-Id: I4037eac3c572de9abb0178f36ca03803cc2c1522
iew.java
8dffad68c7aa7da9a3d73d1ee41f3c4460f733b4 10-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Bug fixes in the accessibility interrogation APIs

1. AccessibilityNodeInfo was not overriding equals.

2. ViewAncestor was not calling the callback for
setting the result of an interrogation request
thus making the system process wait upto the
maximal timeout.

Change-Id: I040a3c12d97f48aee319ba6414879546e71e9b8e
iewAncestor.java
ccessibility/AccessibilityNodeInfo.java
21e2f1b4a0877ee38f7ba89eb32f585fb34431f3 10-Jun-2011 satok <satok@google.com> Merge "API to set additional subtypes"
e7c6998e0a953ae55487d4fe122739646f9280aa 03-Jun-2011 satok <satok@google.com> API to set additional subtypes

Bug: 4321667

- Due to the voice team's strong request

Change-Id: Ia8bbc277c0987bde996e6f65541877cec96a3ca1
nputmethod/InputMethodInfo.java
nputmethod/InputMethodManager.java
7bbf6f7d11877496502c20e8998a6984ab05cd39 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am 8297f669: am 3aabdeac: am 5ba2e872: Merge "Fix for not reporting correct "sw" in compat mode." into honeycomb-mr2

* commit '8297f669356ee997c5faa745815e8b9a7009fba7':
Fix for not reporting correct "sw" in compat mode.
a47847fc50758a3bb983fc2f607c9e76e1e90577 10-Jun-2011 Dianne Hackborn <hackbod@google.com> Merge "resolved conflicts for merge of e2aa0490 to master"
8af7f5f8e413aa4ff101092dfff1726bc9aed7b9 10-Jun-2011 Romain Guy <romainguy@google.com> Merge "Add a way to measure potential framerate of the view hierarchy."
f741e679c496f7345304a6543f01d7048e31d1a7 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of e2aa0490 to master

Change-Id: Id0448a1598fc93aca0652b29253e02586e35a067
59a12cae208790dd202656f50a40a53ef49baeeb 10-Jun-2011 Romain Guy <romainguy@google.com> Add a way to measure potential framerate of the view hierarchy.

Change-Id: Ia19c7ed143d8a823fd678ffab84613ea075d228a
iew.java
iewAncestor.java
601ad8061cb8dcf3ab7385fa9e9dd13f15dc8ece 09-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Invalid access to AccessibilityInteractionController

1. The Interaction connection checks if the ViewAncestor
is valid and posts a message to be processed on the UI
thread. The code in the UI thread did not check if
the mView was valid. Added this check.

2. Added a faster sync mechanism in the test for
getting the source of the last access event.

Change-Id: I9982b6592f5f44a68a67df40f37c063a3ba62993
iewAncestor.java
28285e176b1116da120da00bc9a20c262f26ea00 09-Jun-2011 Adam Powell <adamp@google.com> Merge "Bug 4588114 - Make GestureDetector behave nicer with parallel multi-touch detection"
17921eefe3d2219ee2348face5d650d33db64b06 09-Jun-2011 Adam Powell <adamp@google.com> Bug 4588114 - Make GestureDetector behave nicer with parallel multi-touch detection

Change-Id: I5ca377124a5888f0f45206d5de2d0a4b37e63351
estureDetector.java
aaedf740a9bb0085cbfb46c3f7d9d762d0b5e458 09-Jun-2011 Adam Powell <adamp@google.com> am 4e1504a6: am 7ed8ff18: am 68b81434: Merge "Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector" into honeycomb-mr2

* commit '4e1504a66b37b424c8839e64f97ac823e5358bd5':
Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector
8297f669356ee997c5faa745815e8b9a7009fba7 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am 3aabdeac: am 5ba2e872: Merge "Fix for not reporting correct "sw" in compat mode." into honeycomb-mr2

* commit '3aabdeaceff8405406d90c329a6691552559556d':
Fix for not reporting correct "sw" in compat mode.
3aabdeaceff8405406d90c329a6691552559556d 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am 5ba2e872: Merge "Fix for not reporting correct "sw" in compat mode." into honeycomb-mr2

* commit '5ba2e872fa684c0f1b992a95df00854b58f2cd8c':
Fix for not reporting correct "sw" in compat mode.
48a7651823030ed3c0f4c084b423430044425fea 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix for not reporting correct "sw" in compat mode.

Change-Id: Ia225c94b36ccc3589d417aafd5680247678eddfd
indowManagerImpl.java
e2aa04908cfdf65ef309f1491f31a0c8846977ff 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am a1396dfe: am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2

* commit 'a1396dfe7ad6ec6953f544be42d69d7804ab0fd4':
Work on issue #4518815: Compatibility mode introduces compatibility regression...
a1396dfe7ad6ec6953f544be42d69d7804ab0fd4 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2

* commit '021408910af170268cb486910d4dd5a7d838c2bb':
Work on issue #4518815: Compatibility mode introduces compatibility regression...
34803caec8783166ffdec2a983b39f6df886c651 09-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityNodeInfo and AccessibilityEvent to initialized properly."
9210ccbdc3629cead65a822d729e1783a773118c 09-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityNodeInfo and AccessibilityEvent to initialized properly.

Change-Id: Id3a1b33a222790214820af4a8b49378f08e53558
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityNodeInfo.java
5fd2169eabd77e6bfafaf456e58051a3bafb2bca 07-Jun-2011 Dianne Hackborn <hackbod@google.com> Work on issue #4518815: Compatibility mode introduces compatibility regression...

...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components. This addresses everything
I could find.

Unfortunately it does *not* fix this particular app. I am starting to think this
is just an issue in the app. This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
ompatibilityInfoHolder.java
isplay.java
iewRoot.java
indow.java
indowManagerImpl.java
0a2f6640defa14b1bf1753ee2faf7e3d32c259f0 08-Jun-2011 Jeff Brown <jeffbrown@google.com> Make orientation changes happen sooner.

Tweaked the window orientation listener to be less conservative
in its filtering. Should shave a couple hundred milliseconds
off the rotation time.

Change-Id: If7dd5114b0941df6199fe81080ac94730cf797cf
indowOrientationListener.java
66e9af6c549b1f6ab4e3f26e2bab14b115ad3848 08-Jun-2011 Romain Guy <romainguy@google.com> Remove obsolete code.

Change-Id: I2f990528bdc0dc6127f367e55c55287d43dd29f9
iewAncestor.java
b39f051631250c49936a475d0e64584afb7f1b93 24-May-2011 Chet Haase <chet@google.com> Add 'Property' object

This change adds a generic Property facility to the SDK, which allows an
easy way to reference fields (private or otherwise) in a general way.
For example, animations can use this facility to animate 'properties'
on target objects in a way that is more code- and compiler-friendly than
the existing String-based approach (for objects which have implemented
Properties, of course). The animator classes have been updated to use
this new approach (in addition to Strings, which are still more generally
useful for objects which have get/set functions but not Property objects).

The change also includes new Property objects on View (which can now be
used in creating animations on Views).

There is an unrelated change on GLES20RecordingCanvas to change the way we
cache bitmaps, which avoids spurious garbage by using an ArrayList instead of
a HashSet.

Change-Id: I167b43a3fca20e7695b1a23ca81274367539acda
LES20RecordingCanvas.java
iew.java
3932aa7ff887007f4ae1e28e47b6775c9ceca566 08-Jun-2011 satok <satok@google.com> Merge "Fix the display name of InputMethodSubtype"
a9778d4d442db65344e32318b1fd43ab54898389 08-Jun-2011 satok <satok@google.com> Fix the display name of InputMethodSubtype

- Also fixed hashCode

Change-Id: I4ef4bf42e4b73d11e23a89c5df3947411e654c04
nputmethod/InputMethodSubtype.java
774ed9d9537c15482e8baca2f2890c5d2f4ffe75 08-Jun-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 8b2c0014 to master

Change-Id: I33a5a2949dc6c2d09e8196ba8c7128caa7ac2361
4e1504a66b37b424c8839e64f97ac823e5358bd5 08-Jun-2011 Adam Powell <adamp@google.com> am 7ed8ff18: am 68b81434: Merge "Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector" into honeycomb-mr2

* commit '7ed8ff18ce16312b86bd7da855e185b9ecc934a8':
Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector
7ed8ff18ce16312b86bd7da855e185b9ecc934a8 08-Jun-2011 Adam Powell <adamp@google.com> am 68b81434: Merge "Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector" into honeycomb-mr2

* commit '68b81434963db90e0d5b14710e4edd86084ede3c':
Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector
982cb98393151921aceb0b214b14a1f9b473b71e 08-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4533120 - rough handling of invalid event streams in
ScaleGestureDetector

Make ScaleGestureDetector a bit more tolerant of bogus event streams.

Change-Id: I28a8b1ea494b7f1ca9d4c4623b95aee38f213369
caleGestureDetector.java
c46f7ffa9079f3ae8a5204e7519ed7a1250116d0 07-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Rename atribute View horizontalDirection to layoutDirection and update unit tests

- update before/after to start/end in unit test app

Change-Id: Id7286ef5d9390540faf8ecd5f0b1c140d04bb364
ravity.java
iew.java
8b2c00144ac262a6fbdbbac1ed8dfe813b883f81 07-Jun-2011 Jeff Brown <jeffbrown@android.com> am b3536145: am ed48fa89: Merge "Touch pad improvements. Bug: 4124987" into honeycomb-mr2

* commit 'b3536145725250401d25ffa00cda85d222dfc21e':
Touch pad improvements. Bug: 4124987
b3536145725250401d25ffa00cda85d222dfc21e 07-Jun-2011 Jeff Brown <jeffbrown@android.com> am ed48fa89: Merge "Touch pad improvements. Bug: 4124987" into honeycomb-mr2

* commit 'ed48fa89a8e31b04681347a9235c2a566e7dbb8e':
Touch pad improvements. Bug: 4124987
bb3fcba0caf697f1d238a2cbefdf1efe06eded99 07-Jun-2011 Jeff Brown <jeffbrown@android.com> Touch pad improvements.
Bug: 4124987

Only show one spot per touch point instead of one spot per
finger for multitouch gestures.

Tweaked the pointer acceleration curves.

Dissociated the hover/tap timeouts from the "tap" timeout
since they mean very different things.

Change-Id: I7c2cbd30feeb65ebc12f6c7e33a67dc9a9f59d4c
iewConfiguration.java
8643aa0179e598e78d938c59035389054535a229 20-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Interrogation of the view hierarchy from an AccessibilityService.

1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.

2. An accessibility service receives AccessibilityEvents and can ask
for its source and gets an AccessibilityNodeInfo which can be used
to get its parent and children infos and so on.

3. AccessibilityNodeInfo contains some attributes and actions that
can be performed on the source.

4. AccessibilityService can request the system to preform an action
on the source of an AccessibilityNodeInfo.

5. ViewAncestor provides an interaction connection to the
AccessibiltyManagerService and an accessibility service uses
its connection to the latter to interact with screen content.

6. AccessibilityService can interact ONLY with the focused window
and all calls are routed through the AccessibilityManagerService
which imposes security.

7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
based on some criteria. These API go through the AccessibilityManagerServcie
for security check.

8. Some actions are hidden and are exposes only to eng builds for UI testing.

Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
elocityTracker.java
iew.java
iewAncestor.java
iewGroup.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityNodeInfo.aidl
ccessibility/AccessibilityNodeInfo.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityInteractionConnection.aidl
ccessibility/IAccessibilityInteractionConnectionCallback.aidl
ccessibility/IAccessibilityManager.aidl
9e3b002d3f9141d54948a65e0330fdcd09e75a30 07-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Rename Gravity BEFORE/AFTER to START/END

- following spec proposal for having CSS3 like naming

Change-Id: Id5e316a2d9b54b9f20bbcb168fea6a3a83882e1b
ravity.java
indowManager.java
7218d830e27d81141588cd6e37f206d141a18f62 04-Jun-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of ca2b552d to master

Change-Id: I2f3693a59042ac5aa2d7bcdc3a504c78dc99a18b
678d344bcb5c7981b5033cdf8070c58783ded01b 03-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of b9e2f68b to master

Change-Id: Icb68aee4c68170f0e7cd7854dbaa61656a349142
50469db07167e3a837e10f215baa4eacb1319604 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 7322e557: am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit '7322e557cfe42da42779625d69ced2db74a9df90':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
752737076dd0424998b8399e82af00bf745ba22f 03-Jun-2011 satok <satok@google.com> am e10de072: am be96408b: (Do not merge) Backport a fix for InputMethodManager.java

* commit 'e10de072d50cbe6984151cbbdba4dd2f2e8310b9':
(Do not merge) Backport a fix for InputMethodManager.java
e10de072d50cbe6984151cbbdba4dd2f2e8310b9 03-Jun-2011 satok <satok@google.com> am be96408b: (Do not merge) Backport a fix for InputMethodManager.java

* commit 'be96408b801666bf196adb0eabff4839e51e63ed':
(Do not merge) Backport a fix for InputMethodManager.java
be96408b801666bf196adb0eabff4839e51e63ed 03-Jun-2011 satok <satok@google.com> (Do not merge) Backport a fix for InputMethodManager.java

Bug: 4517456

Original CL: Icec380f3ca05cf798cc4b82155d0cecf178633a5

Change-Id: I579fb1ee1b53d312f7cfc5c689d4500cb875352e
nputmethod/InputMethodManager.java
b1b2e2275ff0e475df5c5614bb0d7965ebef90ae 03-Jun-2011 satok <satok@google.com> Merge "Update internal states stored in InputMethodManager properly"
ca2b552d981239043a575dfc9db86966492d0f9e 03-Jun-2011 Jeff Brown <jeffbrown@android.com> am c8812761: am e1718de6: Merge "Add a preference panel for mouse speed." into honeycomb-mr2

* commit 'c8812761609e532cceb400b112ed9982149c2490':
Add a preference panel for mouse speed.
c8812761609e532cceb400b112ed9982149c2490 03-Jun-2011 Jeff Brown <jeffbrown@android.com> am e1718de6: Merge "Add a preference panel for mouse speed." into honeycomb-mr2

* commit 'e1718de61c20c8d401633f83589f18d2c0c652db':
Add a preference panel for mouse speed.
a1908aa05c9b9673dfe0e7fb8e7a4027742958ba 03-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve ViewDebug informations for View and LineaLayout"
bce84d2bcaa30b9d937b629111091e9f6286c3eb 03-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Improve ViewDebug informations for View and LineaLayout

Change-Id: Ie34519c975027dead806b7859b638d78c39ace77
iew.java
1a84fd1fb7a51f3fe4f8865e1cdd09f3490f696c 02-Jun-2011 Jeff Brown <jeffbrown@android.com> Add a preference panel for mouse speed.

Bug: 4124987
Change-Id: I3ce175d268a1d043cf5878481261b1049a15a149
WindowManager.aidl
4b2711372d7bebd9dc874404ee22fbc9b932fa11 02-Jun-2011 Romain Guy <romainguy@google.com> Merge "Take advantage of EGL_BUFFER_PRESERVED on IMG."
6f7d9394ec69e9fb38ca5fc2caf6d2aef6f7442d 02-Jun-2011 Romain Guy <romainguy@google.com> Take advantage of EGL_BUFFER_PRESERVED on IMG.

The IMG architecture does not support the EGL_SWAP_BEHAVIOR_PRESERVED_BIT
in EGL configurations. This bit is used only to be able to change the
EGL_SWAP_BEHAVIOR, which matters when the default behavior is not the
one we want. However on IMG, the default swap behavior is the one we
desire.

Change-Id: Iff5980c97df9e41bc837e424baf83b8eadbb7161
LES20Canvas.java
ardwareRenderer.java
560bcb34fad8bfe642d9ab6f38d973185d253af5 02-Jun-2011 satok <satok@google.com> Update internal states stored in InputMethodManager properly

Bug: 4517456

"startInputInner" in InputMethodManager.java will call "startInput" in InputMethodManagerService.java
In startInputLocked in IMMS, mCurSeq (Bind sequence) is incremented, but if mCurMethod stored in
InputMethodManager.java is not null, mBindSequence in InputMethodManager.java will not be updated
to the incremented sequence.

Hence, after this procedure, unbinding IME will be cancelled by the mismatch of the bind sequence.

This situation happens when user changes the focused text view.
If I remember correctly, some behaviors of showing or hiding IME at switching text view were changed.
And I think this bug appeared because of that change.

Change-Id: Icec380f3ca05cf798cc4b82155d0cecf178633a5
nputmethod/InputMethodManager.java
ed60f81940c5f2125518c7c31ad4f61b8a9baf3e 02-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 76450622 to master

Change-Id: I26ccd8f264e65f100d894f43cf597a781552db83
cc28a669f61c71ec95e5cca2b25eab4266ea0cfb 02-Jun-2011 satok <satok@google.com> Merge "Add an api to get the display name for InputMethodSubtype"
4f31353cb3b00c77c9420ef27ec949fd570ede3b 01-Jun-2011 satok <satok@google.com> Add an api to get the display name for InputMethodSubtype

Bug: 4321667

Change-Id: I55aa844ff33dae0cf8ef00072e87727992eb77c1
nputmethod/InputMethodInfo.java
nputmethod/InputMethodSubtype.java
8d02deabac62c4a68a335a7b3141795466362b89 01-Jun-2011 Adam Powell <adamp@google.com> Implement bug 4500971 - Collapsable action views

Action views may now be flagged as 'collapsable'. This means that the
action menu will always show them in the collapsed state by
default. When selected, the action view will "take over" the
navigation/view side of an action bar until dismissed via the home/up
button.

This feature allows for more long-term exclusive modes akin to
ActionModes but less intrusive. The action menu itself remains
unaffected. Collapsable action views are ideal for things such as
search or categories of tool palettes.

Change-Id: Ibafce5631befbfe67c5d834c2e2617d3d7f6da7a
enuItem.java
b9e2f68b2865307db25fa7295b7ba3bd51c7521a 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am 13e2bef4: am 80cf4e79: Merge "Fix issue #4500511: Holo effect background doesn\'t reach top of screen anymore" into honeycomb-mr2

* commit '13e2bef4f67c5bc5ce93aade1431ae3332d361f0':
Fix issue #4500511: Holo effect background doesn't reach top of screen anymore
13e2bef4f67c5bc5ce93aade1431ae3332d361f0 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am 80cf4e79: Merge "Fix issue #4500511: Holo effect background doesn\'t reach top of screen anymore" into honeycomb-mr2

* commit '80cf4e79d2acd1f94b6a9866255459c6ab2760be':
Fix issue #4500511: Holo effect background doesn't reach top of screen anymore
a239c84525795ffc1828b545aa8069af88d26a71 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4500511: Holo effect background doesn't reach top of screen anymore

Change-Id: Iebefe924e71206f3e6388eaee64f7b1416bc3239
iewRoot.java
4f5aa91ba58486ff25904942320b234986094958 01-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix View default horizontal direction

- set default value to View.HORIZONTAL_DIRECTION_INHERIT
- code refactoring

Change-Id: Ib5b49c8f8ebd6461992bff87603fdbb4b261218e
iew.java
7322e557cfe42da42779625d69ced2db74a9df90 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit 'a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit '75d6b3c2a24224e41e87685db0d9d0b8abea091d':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
2f0b17573d4324832f7a20402a3d2b5920bc4866 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4502672: Wrong xml resources used for homescreen widgets.

There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config. For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
WindowManager.aidl
indowManagerPolicy.java
b1af3a2d1f710bd4a5cd7e5940e4a36c852556ce 31-May-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility serviceconfiguration via meta-data"
cc4053e031371456fe54d51bbad1db721db4ae38 23-May-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility serviceconfiguration via meta-data

Note: This is a part of two CL change and contains the
system changes without updates to the settings.

1. Added a mechanism for configuring an accessibility service via
XML file specified in a meta-data tag (similar to IMEs).

2. Added property for specifying a settings activity for an
accessibility service.

3. Refactored the APIs in AccessibilityManager to return
lists of AccessiblityServiceInfo instead ServiceInfo
since the former describes an AccessibilityService in
particular (similar to IMEs).

Change-Id: Ie8781bb7e0cdb329e583b6702a612a507367ad7b
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityManager.java
ccessibility/IAccessibilityManager.aidl
c05aace48af1104dd917e8b5ad2dd76a02645ada 28-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix default for getAbsoluteGravity()

- remove LEFT as default, keep it as it is given (because apply() is doing CENTER_HORIZONTAL)
- update unit tests

Change-Id: I294621c5d5c7d675a715c15cb10947d026539b21
ravity.java
5ff0f99b23da389f59fe736c4c670c60f13be8ea 27-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add support for Gravity BEFORE and AFTER"
6a03640539405afbdefe72894759281b98aa6e6f 23-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Add support for Gravity BEFORE and AFTER

- update layouts
- add Callback2 for RTL aware Drawable
- add unit tests

Change-Id: Ic64d0291e262170aff7297c6580b0b422eaa8d89
ravity.java
iew.java
indowManager.java
dcf305ebf991ff13a56b71118968d905ff636eca 26-May-2011 Scott Main <smain@google.com> am 101139cc: am c3123961: DO NOT MERGE cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662 docs: add accepted values for setting status bar visibility

* commit '101139cc8f5b975dfacf1a2ffd3bdae8e3907f65':
DO NOT MERGE cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662 docs: add accepted values for setting status bar visibility
76450622f08b1d0d09df7f1ad8e52afe01090770 26-May-2011 Dianne Hackborn <hackbod@google.com> am d5238cc1: am 7a09f72b: Merge "Rework how we decide whether to use system or status bar." into honeycomb-mr2

* commit 'd5238cc1ab8366389b2aada228f2f2e5cbb3244e':
Rework how we decide whether to use system or status bar.
101139cc8f5b975dfacf1a2ffd3bdae8e3907f65 26-May-2011 Scott Main <smain@google.com> am c3123961: DO NOT MERGE cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662 docs: add accepted values for setting status bar visibility

* commit 'c31239616cca417e71acb98813df7eda645835df':
DO NOT MERGE cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662 docs: add accepted values for setting status bar visibility
d5238cc1ab8366389b2aada228f2f2e5cbb3244e 26-May-2011 Dianne Hackborn <hackbod@google.com> am 7a09f72b: Merge "Rework how we decide whether to use system or status bar." into honeycomb-mr2

* commit '7a09f72b8850ec22e4ca7fd50aba20ead7666f67':
Rework how we decide whether to use system or status bar.
c31239616cca417e71acb98813df7eda645835df 25-May-2011 Scott Main <smain@google.com> DO NOT MERGE
cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662
docs: add accepted values for setting status bar visibility

Change-Id: I255dcd62b71c1b4ca40187b395abce8d6836c249
iew.java
81e56d535c853d73ff537357da5b935f51cb779d 26-May-2011 Dianne Hackborn <hackbod@google.com> Rework how we decide whether to use system or status bar.

The PhoneWindowManager is now responsible for determing this,
since it needs to do this before we can generate the configuration
since we need to take into account the system bar size we will use.

Also the Display should now report the screen height without
including the system bar.

Change-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757
isplay.java
WindowManager.aidl
indowManagerPolicy.java
3453b1c584f456a18f17d74a72c044b4e39c6405 26-May-2011 Scott Main <smain@google.com> Merge "docs: add accepted values for setting status bar visibility"
8c1132e3ceed8e1a8c696e2afe0e6fe456ccd7ef 26-May-2011 Daniel Sandler <dsandler@android.com> Merge "Framework support for Android Dreams."
b2771f1a41af079fca31c11f7a905a94d2dc03bb 26-May-2011 Dianne Hackborn <hackbod@google.com> Merge "resolved conflicts for merge of 77dd616e to master"
f9f01008624e2d28c15a90d942fa36f98c8c967d 19-May-2011 satok <satok@google.com> Add Apis to send notifications when the suggestion was picked

- Due to a strong request from VoiceIME

Bug: 4443922

Change-Id: Ia539de0acf66053e0349daec459d75e36805f6bf
nputmethod/BaseInputConnection.java
nputmethod/InputMethodManager.java
fee1c69a49d03b651e481983432ade94fc07650a 26-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 77dd616e to master

Change-Id: Idb7180177b01e7d822327ccc7c76617220860da2
3c2fb0242b0ec21101959dfa08aad3162a523634 25-May-2011 Jeff Brown <jeffbrown@google.com> am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)

* commit '8148cc3e47e50c916066e2fed562618b5827188f':
Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
da97f16c5d62d96c1b774a73da23bdc3e3e7b794 25-May-2011 Jeff Brown <jeffbrown@google.com> am c5c7e047: am d0132e8e: Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)

* commit 'c5c7e047d1a1c56ba55bdfea9391d1907f355dbc':
Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
8148cc3e47e50c916066e2fed562618b5827188f 25-May-2011 Jeff Brown <jeffbrown@google.com> am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)

* commit '86ea1f5f521981d075aef56f11693e4f3bc32fdb':
Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
c5c7e047d1a1c56ba55bdfea9391d1907f355dbc 25-May-2011 Jeff Brown <jeffbrown@google.com> am d0132e8e: Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)

* commit 'd0132e8e187ebf69bf4d2d6d0ef0027ff3f7a727':
Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
7d0fb57044576fd4bbaf9683997bab288c3b759c 25-May-2011 Jeff Brown <jeffbrown@google.com> am 16330e24: am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2

* commit '16330e249663fed890df0e95fce4016c2971120a':
Improve VelocityTracker numerical stability. (DO NOT MERGE)
86ea1f5f521981d075aef56f11693e4f3bc32fdb 13-Apr-2011 Jeff Brown <jeffbrown@google.com> Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)

Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
ointerIcon.aidl
ointerIcon.java
d0132e8e187ebf69bf4d2d6d0ef0027ff3f7a727 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)

Alt-TAB should have different semantics from the APP_SWITCH key
or long-press on HOME. Accordingly, remove the fallback action
for Alt-TAB and initiate the task switching behavior directly
in the policy.

Modified RecentApplicationsDialog to be more precise about the
initial modifiers that it considers to be holding the dialog.

The dialog is now dismissed by a second press on the APP_SWITCH
key or by a second long press on HOME.

Change-Id: I07e72dc4e1f3cd8edaf357c1d49e79f60d6d1604
eyEvent.java
16330e249663fed890df0e95fce4016c2971120a 25-May-2011 Jeff Brown <jeffbrown@google.com> am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2

* commit '94e838f6e113f8cad30086a18f68da99976101d0':
Improve VelocityTracker numerical stability. (DO NOT MERGE)
94e838f6e113f8cad30086a18f68da99976101d0 25-May-2011 Jeff Brown <jeffbrown@google.com> Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2
7d70fbf0b5672bada8b25f065bc292796c3d4812 25-May-2011 Romain Guy <romainguy@google.com> Use OpenGL to render transition bitmaps.

When the IME is opened/dismissed, ViewAncestor would draw the
view hierarchy into a Bitmap, using the software rendering
pipeline. With this change, ViewAncestor will now use OpenGL.

Change-Id: I69e24570e12ff55f6f3cec18a664b33410a0eaf4
ardwareRenderer.java
iewAncestor.java
77dd616e685e2671491d911d0847efa4f832717e 25-May-2011 Dianne Hackborn <hackbod@google.com> am 00b3a5c6: am c404e9b2: Merge "More compatibility mode improvements." into honeycomb-mr2

* commit '00b3a5c65e6ef26056178d1d7473b921671752e9':
More compatibility mode improvements.
00b3a5c65e6ef26056178d1d7473b921671752e9 25-May-2011 Dianne Hackborn <hackbod@google.com> am c404e9b2: Merge "More compatibility mode improvements." into honeycomb-mr2

* commit 'c404e9b20165f634904d1489216d17d8e09fe696':
More compatibility mode improvements.
5be8de3420ba4c9d816b98e29bdec11715f6b626 25-May-2011 Dianne Hackborn <hackbod@google.com> More compatibility mode improvements.

We now correctly adjust display metrics, fixing for example issues
seen in Barcode Scanner. In addition the decision about when to use
compatibility mode has a bug fixed where certain apps would not go
out of compatibility mode even though they should be able to.

Change-Id: I5971206323df0f11ce653d1c790c700f457f0582
isplay.java
urface.java
urfaceView.java
iewRoot.java
indow.java
indowManagerImpl.java
ec6331b82a41beda86d9ff1797af6001603f0053 25-May-2011 Scott Main <smain@google.com> docs: add accepted values for setting status bar visibility

Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662
iew.java
8d5f808f70c1d47437eaf49234c1b3a23c244040 24-May-2011 Chet Haase <chet@google.com> Add more functionality to ViewPropertyAnimator.

Allow ViewPropertyAnimator animations to be started immediately, canceled,
and to have an optional startDelay. This is functionality parallel to that
in the base Animator class.

Change-Id: I391f1810bf697656999bd6e3e63a59e46eb7eb8a
iewPropertyAnimator.java
cca2c9807206f320bd41bf8656a227e4f249e4ba 20-May-2011 Chet Haase <chet@google.com> Add ability to transition parent hierarchy in layout transitions

This change compensates for changes in the parent hierarchy of
transitioning views. It automatically animates parents with the same
animations as those used for the CHANGING animations run on the container
children.

Change-Id: I86471d16a9070b024cc09c8f6e0f504a881fa99f
iew.java
iewAncestor.java
iewGroup.java
383715aafe108b24e374ff6462e84a7924824d30 25-May-2011 Romain Guy <romainguy@google.com> Merge "Code cleanup."
1c90f032fad84b468fbe84d1faa11421e5209f89 24-May-2011 Romain Guy <romainguy@google.com> Code cleanup.

Change-Id: I5469a2c826c054f20e045ea098bdbcad9e11b17b
iewAncestor.java
iewDebug.java
80fd47ce75253dcdc2cfa85d7a3f42634b923a47 24-May-2011 Jeff Brown <jeffbrown@google.com> Input device protocol enhancements.

Added support for Linux multitouch protocol B (slots).

Added support for using the device's input properties as a hint
to determine the intended usage of a touch device.

Added support for the ABS_MT_DISTANCE axis.

Fixed a bug reporting the presence of the orientation axis.

Change-Id: Icf7b5a5a0f1a9cdf6ad2b35be8ea0c1a35815d48
otionEvent.java
0601eb7953cbf77d92826bef3ca37e208d922de7 13-Apr-2011 Daniel Sandler <dsandler@android.com> Framework support for Android Dreams.

A Dream is an activity that is launched by the window
manager after a specified idle time. You might think of this
as a "screen saver", but with the same capacity for
interactivity as any other application.

The window manager maintains a timer (like the screen lock
timer) that is reset on userActivity; the timer is suspended
during wakelocks and when the screen is off.

When the timer elapses, the user's preferred dream module is
launched (by reading Settings.Secure.DREAM_COMPONENT, which
is configured through the Settings app UI).

Like a dock app, the user can install new dreams and a
single application package may contain multiple dream
activities. Unlike the dock mode, however, there is no
"screensaver mode" for the system to manage. This allows us
to offer the user the ability to run a dream at any time, in
addition to making the overall mechanism quite simple.

There is no public API for this facility.

There is, however, a useful/recommended base class for dream
activities in the support library (change I4559a958).

Change-Id: Ied691856f88cfa38a7aca496d015f9a595da72f2
indowManagerPolicy.java
5b2b4d9c0a56c4b5e869c828a6c36a1b9e27d61b 15-Mar-2011 Jeff Brown <jeffbrown@google.com> Improve VelocityTracker numerical stability. (DO NOT MERGE)

Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
elocityTracker.java
33bdc3c9995cbef477cec756b65d767558e6b836 20-May-2011 satok <satok@google.com> am d9435bce: am b4788fdb: Do not merge. Backport two fixes for InputMethethodFramework

* commit 'd9435bcecc820c8715d8b6b920fd43042418a1e9':
Do not merge. Backport two fixes for InputMethethodFramework
d9435bcecc820c8715d8b6b920fd43042418a1e9 20-May-2011 satok <satok@google.com> am b4788fdb: Do not merge. Backport two fixes for InputMethethodFramework

* commit 'b4788fdbfdda97bd9cfd0e483276934114d9c438':
Do not merge. Backport two fixes for InputMethethodFramework
b4788fdbfdda97bd9cfd0e483276934114d9c438 20-May-2011 satok <satok@google.com> Do not merge. Backport two fixes for InputMethethodFramework

Bug: 3420384

backport cl1: Iaf293cf6c6fb35a994f344b0afc30e9f523032f4
backport cl2: I29d2555aeb7d0e51205d9f1fe0da708df0890942

Change-Id: Ia71ba27957fa818dc4ef8ff05b5fdb120b9650e0
nputmethod/InputMethodSubtype.java
161e67ff3ba26408eea09221734ad2e29a1eed11 20-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 06a8ceac to master

Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68 20-May-2011 Dianne Hackborn <hackbod@google.com> am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
Add new "-swNNNdp" resource qualifier.
c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a 20-May-2011 Dianne Hackborn <hackbod@google.com> am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit '69cb87576ba163b61bb0e6477a3b7c57a9b11d40':
Add new "-swNNNdp" resource qualifier.
69cb87576ba163b61bb0e6477a3b7c57a9b11d40 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
indowManagerPolicy.java
71fcc865e3ac3a3b05ffa204e6a2eaa8bad48a8c 20-May-2011 Romain Guy <romainguy@google.com> Merge "Code cleanup."
88b4f153e2be863d79f4d7f68af95e0f9375e4ec 20-May-2011 Romain Guy <romainguy@google.com> Code cleanup.

Change-Id: Ia6ea04b83832db2f39e3168ef2596c24273a7ef3
iew.java
iewDebug.java
1714c21c15b83e555cb6cd47019145eecf5e8871 22-Feb-2010 Cibu Johny <cibu@google.com> View horizontalDirection public attribute resolution to an internal var.

- add more comment

Change-Id: I514c6ace3a98d56aa0b5c52221dee3045656071f
iew.java
d36a699410d8b65deede229df8414dde04c3421c 19-May-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing my build fix

Change-Id: I8393e0172367de730123b2fa9d743b1ecb2eb087
ccessibility/AccessibilityRecord.java
0a2ed6de7bf818a733ecafe709ff95333748dc57 18-May-2011 Romain Guy <romainguy@google.com> Merge "Improve LayoutInflater's compliance."
9c1223a71397b565f38015c07cae57a5015a6500 17-May-2011 Romain Guy <romainguy@google.com> Improve LayoutInflater's compliance.

There are standards, we should do our best to implement them
properly.

Change-Id: I83a7dc0651795d09b19d536c17b6aefc2eca5c81
ayoutInflater.java
dff789754865dff19792f0799cce2f76f7d41227 17-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "View horizontalDirection public attribute resolution to an internal var."
63e2c0888d1a4f91a48874052d13c95291fdfea7 17-May-2011 Chet Haase <chet@google.com> Merge "Fix for using HARDWARE layers on unaccelerated views."
6f33e81a0b3a95396318e987e234dc8e1dce1eb9 17-May-2011 Chet Haase <chet@google.com> Fix for using HARDWARE layers on unaccelerated views.

If a view is not accelerated but has its layer type set to
LAYER_TYPE_HARDWARE, then the framework will use the old drawing cache
approach, to cache it in a bitmap. This works fine, but when the layer
is set to NONE, that drawing cache is not destroyed, as it would be were
the layer set to LAYER_TYPE_SOFTWARE. This prevents future invalidations on
the view from working correctly because the bitmap cache has never been
destroyed and recreated.

The fix is to always destroy the drawing cache when the layer type is
changed from SOFTWARE or HARDWARE, to make sure that it gets set appropriately
regardless of the state of the view's acceleration.

Change-Id: I449649e6d370477825015505da76564455a156e6
iew.java
9d31154d0b0ecbc5a36733ac3a8b70dcae18bf9c 17-May-2011 Dianne Hackborn <hackbod@google.com> am b68c768d: am 41744836: am 7916ac65: Add new command line option to change global screen size.

* commit 'b68c768ddb57407bc253230c677056329c9e4bae':
Add new command line option to change global screen size.
b68c768ddb57407bc253230c677056329c9e4bae 17-May-2011 Dianne Hackborn <hackbod@google.com> am 41744836: am 7916ac65: Add new command line option to change global screen size.

* commit '417448369c170a34d76c477aa19c5293e3caa1df':
Add new command line option to change global screen size.
417448369c170a34d76c477aa19c5293e3caa1df 17-May-2011 Dianne Hackborn <hackbod@google.com> am 7916ac65: Add new command line option to change global screen size.

* commit '7916ac65dc492e4e1431879875c77d7121fbf82e':
Add new command line option to change global screen size.
7916ac65dc492e4e1431879875c77d7121fbf82e 17-May-2011 Dianne Hackborn <hackbod@google.com> Add new command line option to change global screen size.

For example:

adb shell am display-size 1024x600

Change-Id: I5df462acd3323bdaaaefa3126faea7dd8595b726
WindowManager.aidl
8666663e6e6dfe615c8e29cae4a42c8f135b7554 22-Feb-2010 Cibu Johny <cibu@google.com> View horizontalDirection public attribute resolution to an internal var.

Change-Id: Id87ab188faef27ff039cf6a400118707ee74a27d
iew.java
b5dde704cd2db7a0eb09243637ccbf4b3465ad3d 17-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Adding horizontalDirection public attribute for View."
7632cb9be5519ea9eace14a55fa9998f85c2af26 22-Feb-2010 Cibu Johny <cibu@google.com> Adding horizontalDirection public attribute for View.

Change-Id: Ic8a03447252e4e155c3ee874b1d8c8ac0bc9f7f5
iew.java
60e13114eb806d50b7b362d39051c5c775704bf6 16-May-2011 Dianne Hackborn <hackbod@google.com> am 1d340a3c: am 0eac0927: Merge "DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked." into honeycomb-mr2

* commit '1d340a3c24913d8750900355cd92ef5742eea11f':
DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.
1d340a3c24913d8750900355cd92ef5742eea11f 16-May-2011 Dianne Hackborn <hackbod@google.com> am 0eac0927: Merge "DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked." into honeycomb-mr2

* commit '0eac092766d7871b34927442ee0b6e27e7e1317b':
DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.
68066c2f38e47b56f0510c56eafd827731a0dc08 22-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.

Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.

Change-Id: Id155f133c0bf108508a225ef64ed3ca398a90a58
isplay.java
indowManagerPolicy.java
63446167b9d6d9ed3410320d17e8fe816caf6c42 16-May-2011 Dianne Hackborn <hackbod@google.com> am fddd927f: am 9d0f2c6d: Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2

* commit 'fddd927fb78bb206287203f4f447a416b525115a':
DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
fddd927fb78bb206287203f4f447a416b525115a 16-May-2011 Dianne Hackborn <hackbod@google.com> am 9d0f2c6d: Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2

* commit '9d0f2c6d970a1d2c7f9de5c9e89737d7772f95d3':
DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
f97ed771979162c4a2a75959c57fb793438a3a8b 16-May-2011 Dianne Hackborn <hackbod@google.com> am d90a2c4d: am 1e662c32: Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2

* commit 'd90a2c4d4463085155444efb07eba2d6579b444a':
DO NOT MERGE. Integrate from master: Rework display size access.
29735689cea7bf52998c1911542dcfdd1c1d9628 22-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.

Change-Id: Ie271123271a662f3f753f381ce4c43ad7904dc4a
indowManagerPolicy.java
d90a2c4d4463085155444efb07eba2d6579b444a 16-May-2011 Dianne Hackborn <hackbod@google.com> am 1e662c32: Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2

* commit '1e662c3294b740ff694ad98e4d9a366e1e4b5e62':
DO NOT MERGE. Integrate from master: Rework display size access.
ac8dea12c17aa047e03a358110aeb60401d36aa2 21-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate from master: Rework display size access.

Applications now get the display size from the window manager. No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I47bf8b55ecd4476c25ed6482494a7bcc5fae45d2
isplay.java
WindowManager.aidl
nputDevice.java
eyCharacterMap.java
iew.java
iewRoot.java
02739a8eecce26783350041da332f8daf6691e25 16-May-2011 Romain Guy <romainguy@google.com> Fix javadoc issues

Change-Id: Ife66a8664955ac1a79b6ffd0080000c820f24632
iewGroup.java
24df0757f86851569b65dadd0dfa139521748b9c 14-May-2011 Dianne Hackborn <hackbod@google.com> am ed9321ab: am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.

* commit 'ed9321ab5d282e40e7c5fa9caf0eb9d05646f2d0':
DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
ed9321ab5d282e40e7c5fa9caf0eb9d05646f2d0 14-May-2011 Dianne Hackborn <hackbod@google.com> am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.

* commit 'f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f':
DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f 20-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.

And clean up some documentation.

Change-Id: I8f06e2fc3bb6c552581b64657e82ba690d524232
nputmethod/InputConnection.java
aa126171ae5c4c6449345471500f9bb124558643 14-May-2011 Eric Fischer <enf@google.com> Fix the build by removing @Override within javadoc comments.

Change-Id: I984cc6224185ab84e904bfc89eae80d567fcb59b
iew.java
8bd6d36c68ff8f32554b6d71323f44e71298e520 13-May-2011 Romain Guy <romainguy@google.com> Merge "Remove useless code."
4c8ed71cc70b9fdd2d90f3535aebb918d77747c8 13-May-2011 Romain Guy <romainguy@google.com> Remove useless code.

Change-Id: Ic2418438235e1fbcb8ccfece9c74c54fc46229df
iew.java
73162196e712c5f71238642bf8ca0b5984ee51a4 13-May-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Factored out the Accessibility vertical initialization."
30401328c1026389171d454c934c15875c3f7ff0 13-May-2011 Svetoslav Ganov <svetoslavganov@google.com> Factored out the Accessibility vertical initialization.

1. Accessibility events were filled with data in
dispatchPopulateAccessibilityEvent and
onPopulateAccessibilityEvent. These events have
two axis of population 1) up the class
hierarchy to populate information for the event
source; 2) down the view hierarchy to populated
all the text contained in the source including
its descendants. These two axis of population
were done in on population pass now the populating
the source properties happens in initializeAccessiblityEvent
and the text in onPopulateAccessibilityEvent which
is called from dispatchPopulateAccessiblityEvent.

2. Removed the string description from events fired from
CompoundButton since the event has isChecked()
property and it is responsibility of the clients
to decide what utterrance to use and if to use such
for announcing the checked state.

Change-Id: I5d7f75cf8a87a7a4b3bb7b311e8e642ec9a0faa5
iew.java
65f47d88107b2e34e4bab1f5208bff3f73ce4e8a 13-May-2011 Jeff Brown <jeffbrown@google.com> Merge "Add initial API for stylus and mouse buttons."
fe9f8ab03a63b1037f07dd85799fbea80ec6adaa 07-May-2011 Jeff Brown <jeffbrown@google.com> Add initial API for stylus and mouse buttons.

Added the concept of pointer properties in a MotionEvent.
This is currently used to track the pointer tool type to enable
applications to distinguish finger touches from a stylus.

Button states are also reported to application as part of touch events.

There are no new actions for detecting changes in button states.
The application should instead query the button state from the
MotionEvent and take appropriate action as needed.

A good time to check the button state is on ACTION_DOWN.

As a side-effect, applications that do not support multiple buttons
will treat primary, secondary and tertiary buttons identically
for all touch events.

The back button on the mouse is mapped to KEYCODE_BACK
and the forward button is mapped to KEYCODE_FORWARD.

Added basic plumbing for the secondary mouse button to invoke
the context menu, particularly in lists.

Added clamp and split methods on MotionEvent to take care of
common filtering operations so we don't have them scattered
in multiple places across the framework.

Bug: 4260011
Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
nputDevice.java
eyEvent.java
otionEvent.java
iew.java
iewGroup.java
5c22a8c80aefe8c0739e93321f8cead5b60571e4 13-May-2011 Romain Guy <romainguy@google.com> Fix waaayyy too many documentation links.

Change-Id: Ia8d56149d8b92d85239ad62adacbf65d1e9e127d
iew.java
aa9d84c37e05f696ec158dac98ce38cf41e18314 10-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 05be6d6f to master

Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
05be6d6fe09ddfb706d1bef3b20c3d37f45e3c8a 10-May-2011 Dianne Hackborn <hackbod@google.com> am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2

* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
Better compat mode part one: start scaling windows.
4907d1d5e2c7d244b07579b8c52153df69754e85 10-May-2011 Dianne Hackborn <hackbod@google.com> am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2

* commit '0c6cbf410a642f6e9cea7cca0a6e53a4a3cdd324':
Better compat mode part one: start scaling windows.
e2515eebf42c763c0a2d9f873a153711778cfc17 28-Apr-2011 Dianne Hackborn <hackbod@google.com> Better compat mode part one: start scaling windows.

First step of improving app screen size compatibility mode. When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling. Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling. The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible. It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode. This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well. I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly. There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
isplay.java
indowManagerPolicy.java
9aabb95781bee6a44684a6f6feb155e115d24983 06-May-2011 satok <satok@google.com> Add one shot flag to the subtype

Bug: 4257258

Change-Id: I21da9e11c882eea056beb84a2dfb0f28da8a98b1
nputmethod/InputMethodSubtype.java
b51cc1dd63808da505cd8beb7300f57dc98ff1d3 05-May-2011 Patrick Dubroy <dubroy@google.com> Merge "Only delay pressed feedback for Views inside a scrolling parent"
e0a799a2ac1ca78e30fbac9e4e12a063425c08d3 05-May-2011 Patrick Dubroy <dubroy@google.com> Only delay pressed feedback for Views inside a scrolling parent

Add a method on ViewGroup to determine whether it supports scrolling.
This allows us to show the pressed feedback immediately in many cases,
improving responsiveness of buttons, etc.

This patch also lengthens the timeout in order to reduce flashes
when the user is scrolling.

Change-Id: Ieb91ae7a1f8e8f7e87448f2a730381a53947996f
iew.java
iewConfiguration.java
iewGroup.java
ed30fd8e9a2d65ee5c8520de55b0089c219f390c 23-Apr-2011 Chet Haase <chet@google.com> Add ability for hierarchyviewer to output displaylist info

Clicking on a node in hierarchyviewer1 and hierarchyviewer2 and then
clicking the new "Dump DisplayList" button will cause the display
list for the selected node (including its children) to be output into
logcat.

Change-Id: Iad05f5f6cca0f8b465dccd962b501dc18fe6e053
LES20Canvas.java
ardwareCanvas.java
iewAncestor.java
iewDebug.java
a17de9b493123f0d6e6d0b842150bf29322b7a88 05-May-2011 Chet Haase <chet@google.com> Revert "Add ability for hierarchyviewer to output displaylist info"

This reverts commit b2a4b52e8d5e499d33e2765e8c47851bf0266299.
LES20Canvas.java
ardwareCanvas.java
iewDebug.java
42a3a39e231c02a3c2b7624cb7c64fe10d6ff4b0 05-May-2011 Chet Haase <chet@google.com> Merge "Add ability for hierarchyviewer to output displaylist info"
b2a4b52e8d5e499d33e2765e8c47851bf0266299 23-Apr-2011 Chet Haase <chet@google.com> Add ability for hierarchyviewer to output displaylist info

Clicking on a node in hierarchyviewer1 and hierarchyviewer2 and then
clicking the new "Dump DisplayList" button will cause the display
list for the selected node (including its children) to be output into
logcat.

Change-Id: Id32f62569ad1ab4d533bc62987f3a7390c1bb4e6
LES20Canvas.java
ardwareCanvas.java
iewDebug.java
iewRoot.java
c6cc0f8c19d9eccf408a443fa2bf668af261dcd0 12-Apr-2011 Joe Onorato <joeo@google.com> Rename ViewRoot to ViewAncestor.

ViewRoot is about to be a new public class for poking at ViewAncestor.

Change-Id: Ie95d707c6d8bbb48f78d093d7b2667851812a7d5
ardwareRenderer.java
urfaceView.java
iew.java
iewAncestor.java
iewDebug.java
iewGroup.java
iewRoot.java
indowManagerImpl.java
nputmethod/BaseInputConnection.java
nputmethod/InputMethodManager.java
0c19aaaebb5baf78857e2e18ebe7fb37b7e1cf8e 04-May-2011 Daniel Sandler <dsandler@android.com> Merge "On-screen navigation bar (separate from the status bar)."
df0a7fbdcff3c683641b7980da50a7d0eebe0876 03-May-2011 Romain Guy <romainguy@google.com> Merge "Allows to render with an OpenGL context inside a TextureView."
8f0095cd33558e9cc8a440047908e53b68906f5f 03-May-2011 Romain Guy <romainguy@google.com> Allows to render with an OpenGL context inside a TextureView.

Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
LES20Canvas.java
LES20TextureLayer.java
ardwareRenderer.java
extureView.java
e91a9c7ab075c43e983fdeb9af80447caa501337 02-May-2011 Romain Guy <romainguy@google.com> Remove unnecessary code.

Change-Id: I0352bf861192df51fe78873d439e8d7ff887118e
ardwareRenderer.java
a3dcd0a3f1b48fc0d675db7e32c27415a14f6d08 30-Apr-2011 Conley Owens <cco3@android.com> Merged "Adjust mBiggerTouchSlopSquare to the suitable value"

Conflicts:
core/java/android/view/ViewConfiguration.java

Change-Id: I74de006dbb19fd878591bc90955a1c6e74aa084e
f0f955e2c3440d835bfffffdec31c980d9a1ffd9 30-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Touch exploration - nits"
887e1a17eb9b12448f5929791b564565b2665aab 30-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration - nits

Change-Id: Ie49558e0a81218dbad70c02f81dd7a59b3213d5c
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityRecord.java
eb8171bcff9bd980dbdfc99b2d843a5bcc0ae3e5 29-Apr-2011 Conley Owens <cco3@android.com> Merge "Adjust mBiggerTouchSlopSquare to the suitable value"
e208fc2f5b5bf44e418ea24336317174c9ff7ec5 29-Apr-2011 Romain Guy <romainguy@google.com> Fix the build.

Change-Id: Ia6768ea01b3885504adb65bb9795daf68cee01e6
extureView.java
ad44445c772efe66fdf063aa8f78d7ae3233570e 29-Apr-2011 Romain Guy <romainguy@google.com> Merge "New widget: TextureView Bug #4343984"
aa6c24c21c727a196451332448d4e3b11a80be69 29-Apr-2011 Romain Guy <romainguy@google.com> New widget: TextureView
Bug #4343984

TextureView can be used to render media content (video, OpenGL,
RenderScript) inside a View.

The key difference with SurfaceView is that TextureView does
not create a new Surface. This gives the ability to seamlessly
transform, animate, fade, etc. a TextureView, which was hard
if not impossible to do with a SurfaceView.
A TextureView also interacts perfectly with ScrollView,
ListView, etc. It allows application to embed media content
in a much more flexible way than before.

For instance, to render the camera preview at 50% opacity,
all you need to do is the following:

mTextureView.setAlpha(0.5f);
Camera c = Camera.open();
c.setPreviewTexture(mTextureView.getSurfaceTexture());
c.startPreview();

TextureView uses a SurfaceTexture to get the job done. More
APIs are required to make it easy to create OpenGL contexts
for a TextureView. It can currently be done with a bit of
JNI code.

Change-Id: Iaa7953097ab5beb8437bcbbfa03b2df5b7f80cd7
LES20Canvas.java
LES20Layer.java
LES20RenderLayer.java
LES20TextureLayer.java
ardwareLayer.java
ardwareRenderer.java
extureView.java
a60594cb1c1399f557a82403f7fc7abb7af55250 28-Apr-2011 Conley Owens <cco3@android.com> Fixed bad merge in ViewRoot.java.

Change-Id: If76a320da3ecf0d0e9f366eb7157b195274a9e5f
iewRoot.java
4135f45c87d9aedebd0f7999e76d1c53a5042ec2 28-Apr-2011 Dima Zavin <dima@android.com> view: fix a bad merge

Change-Id: Ia309b6aca3d303d5ebc6f3def55b2d807ec8ec4b
Signed-off-by: Dima Zavin <dima@android.com>
iewRoot.java
d21e7b5d542cc9e93526182272c2bdc995c816fb 28-Apr-2011 Conley Owens <cco3@android.com> am c4791bd6: Merge commit \'5e3562a5\' into m

* commit 'c4791bd65cdf2e487c87da0d863140337e5141cb':
onDetachedFromWindow is called before onAttachedToWindow
c4791bd65cdf2e487c87da0d863140337e5141cb 28-Apr-2011 Conley Owens <cco3@android.com> Merge commit '5e3562a5' into m

Conflicts:
core/java/android/view/ViewRoot.java

Change-Id: Idd1eb8309e169eae2de3838f7969606df8097b87
2ef1ce494c923a9163de08f5cda6259e23134761 27-Apr-2011 Romain Guy <romainguy@google.com> Merge "Correctly compute tex coords for rect layers. Bug #4192695"
9fc27819d75e24ad63d7b383d80f5cb66a577a0d 27-Apr-2011 Romain Guy <romainguy@google.com> Correctly compute tex coords for rect layers.
Bug #4192695

This change also fixes Javadoc links in the framework.

Change-Id: Ia548bcb18baba5d6fe6a4a04a2278e3a3bd465b2
iewGroup.java
8956dbbc5f292d8b79072ae73b25f2114c8c7479 22-Apr-2011 Daniel Sandler <dsandler@android.com> On-screen navigation bar (separate from the status bar).

In Honeycomb we introduced navigation controls in the status
bar, for xlarge devices without physical buttons. What about
phones? The status bar is pretty cramped already, and
besides, it's at the top of the display most of the time,
not at the bottom where your thumb is likely to be.

Enter the navigation bar. It's a new window type that
appears atop almost everything (including the keyguard); the
window manager subtracts its rectangle from the default
visible rectangle of other windows (including the status bar
and notification shade).

However, it behaves (on phones) like the status bar in that
applications that request fullscreen windows can get access
to those pixels. Well, almost; they need cooperation from
the navigation bar implementation to make the navbar
disappear, just like the status bar.

The current SystemUI implementation of the navigation bar on
phones is still rough, but it has the basics:

+ back, home, and menu keys (NB: we're showing menu all the
time right now because checking the api level of the
package owning the top window is currently a poor
indicator of whether the app requires the menu key)
+ it tries to stick to the same physical end of the device,
regardless of device orientation (on a phone, this is
the strip of land closest to the microphone)

Change-Id: Ic613a3351220af0bbfbdef63e1d99cbefd5ed1c2
indowManager.java
ece92d34fcf273f68f33d2fd8e5764764fc0c66d 27-Apr-2011 satok <satok@google.com> Fix a bug in InputMethodSubtype#hashCode

Bug: 4345760

Not to use resource ids for calculating hashCode

Change-Id: I29d2555aeb7d0e51205d9f1fe0da708df0890942
nputmethod/InputMethodSubtype.java
5a7e94ea89196074962a1864aa785bc4d855c771 26-Apr-2011 Adam Powell <adamp@google.com> Only set the accelerated drawable state for views when the hardware
renderer is available.

Change-Id: I5bcf2068771d47604e12a44e1ab870fa4c69fb4c
iew.java
736c2756bf3c14ae9fef7255c119057f7a2be1ed 23-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iea2258c07ffae9491071825d966dc453b07e5134
nputEventConsistencyVerifier.java
iew.java
iewConfiguration.java
iewGroup.java
iewParent.java
iewRoot.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityManager.aidl
3fb3d7c4e756bd32d5abde0abca9ab52d559bc84 23-Apr-2011 Adam Powell <adamp@google.com> Revert "Touch exploration feature, event bubling, refactor"

This reverts commit ac84d3ba81f08036308b17e1ab919e43987a3df5.

There seems to be a problem with this API change. Reverting for now to
fix the build.

Change-Id: Ifa7426b080651b59afbcec2d3ede09a3ec49644c
nputEventConsistencyVerifier.java
iew.java
iewConfiguration.java
iewGroup.java
iewParent.java
iewRoot.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityManager.aidl
f9fa622cc04028fd7c5f5036ea2e0ccfb80d55f3 23-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Touch exploration feature, event bubling, refactor"
dacea8ce503369e7b82ff1c0e1a5a8a48863a25a 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Start work on simulating landscape/portrait when orientation is locked.

Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.
isplay.java
indowManagerPolicy.java
ac84d3ba81f08036308b17e1ab919e43987a3df5 05-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iec03c6c3fe298de3f14cb6efdbb9b198cd531a0c
nputEventConsistencyVerifier.java
iew.java
iewConfiguration.java
iewGroup.java
iewParent.java
iewRoot.java
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityManager.java
ccessibility/AccessibilityRecord.java
ccessibility/IAccessibilityManager.aidl
9d13264f6b5818812e61d66baaada599b8ad1faf 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Fix bug in deciding which rotation to use for an orientation.

Change-Id: Icc928c2188a5865035cafcdab2efd5bae3132b1f
indowManagerPolicy.java
44bc17c6b517aef35a390c81b5aa79c4f284f744 21-Apr-2011 Dianne Hackborn <hackbod@google.com> Rework display size access.

Applications now get the display size from the window manager. No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I2958a6660895c1cba2b670509600014e55ee9273
isplay.java
WindowManager.aidl
nputDevice.java
eyCharacterMap.java
iew.java
iewRoot.java
9567a66a5e6f49dd8495fb5f6e2efb9f32e84b35 20-Apr-2011 Dianne Hackborn <hackbod@google.com> Deprecate a bunch of APIs.

And clean up some documentation.

Change-Id: I7882183b3daf883b7ac6098d19f88dc7cfbcdf61
nputmethod/InputConnection.java
bbdc50b102faf52768ac3028bc49e027ff140656 20-Apr-2011 Jeff Brown <jeffbrown@google.com> Track unhandled input events in consistency verifiers.

This fixes spurious verification errors that would be generated
when a view declined an initial event such as ACTION_DOWN. Since
the view would not receive the rest of the event stream, it would
not see the corresponding ACTION_UP and the next ACTION_DOWN would
trigger a spurious verification error.

Change-Id: I2386acf378cd1765d5446faed5ad9c6525f8b400
estureDetector.java
nputEventConsistencyVerifier.java
caleGestureDetector.java
iew.java
iewGroup.java
2352b978a3c94cd88f41d0d908f961333fdac1e9 13-Apr-2011 Jeff Brown <jeffbrown@google.com> Initial checkin of spot presentation for touchpad gestures.

Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: I5126b1e69d95252fda7f2a684c9287e239a57163
ointerIcon.aidl
ointerIcon.java
d4fce2b7f1a861590ce84afcf2f569189251bc59 10-Apr-2011 satok <satok@google.com> Add comments for APIs of InputMethodManager added to Honeycomb

Change-Id: I89501889c612aaeca503d0c11f14e23c67a0ca39
nputmethod/InputMethodManager.java
68f1b78b7b9139a0e34285ff641a664e664a14b8 11-Apr-2011 satok <satok@google.com> Add an API to get the last used input method subtype

Bug: 4075039

- Voice input requires to know the last used input method subtype.

Change-Id: I603a4fb88a2af5195e52188adfa6585ad80304fa
nputmethod/InputMethodManager.java
505bd0d60d26811ac1e61d2c39a2d5a995d2254d 13-Apr-2011 Martin Wallgren <martin.wallgren@sonyericsson.com> onDetachedFromWindow is called before onAttachedToWindow

Multiple threads are adding messages about the current
state of the views to the main looper. This can cause
onDetachedFromWindow to be posted on the looper before
onAttachedToWindow. This change will make sure to only
dispatch onDetachedFromWindow if we have previously
dispatched onAttachToWindow.

Change-Id: Ibc7cbcafb098bc000d2ef5480d2110d3fff4d55a
iewRoot.java
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 07-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These haven't been working since before 1.0.

Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
rientationEventListener.java
urfaceView.java
iew.java
iewDebug.java
iewRoot.java
indowManagerImpl.java
indowOrientationListener.java
ccessibility/AccessibilityManager.java
4e91a180be46c0c7c3bf398d4df4cbe2404216b5 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Coalesce input events that arrive faster than 333Hz.

Some drivers report individual finger updates one at a time
instead of all at once. When 10 fingers are down, this can
cause the framework to have to handle 10 times as many events
each with 10 times as much data. Applications like
PointerLocation would get significantly bogged down by all
of the redundant samples.

This change coalesces samples that are closely spaced in time,
before they are dispatched, as part of the motion event batching
protocol.

Increased the size of the InputChannel shared memory buffer so
that applications can catch up faster if they accumulate a
backlog of samples.

Added logging code to help measure input dispatch and drawing
latency issues in the view hierarchy. See ViewDebug.DEBUG_LATENCY.

Change-Id: Ia5898f781f19901d2225c529a910c32bdf4f504f
ardwareRenderer.java
nputEvent.java
eyEvent.java
iewDebug.java
iewRoot.java
5487500cf3d9f6d7703ce0704cb91837aa95d716 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Minor Alt-TAB / Recent Apps Dialog improvements.

Alt-TAB should have different semantics from the APP_SWITCH key
or long-press on HOME. Accordingly, remove the fallback action
for Alt-TAB and initiate the task switching behavior directly
in the policy.

Modified RecentApplicationsDialog to be more precise about the
initial modifiers that it considers to be holding the dialog.

The dialog is now dismissed by a second press on the APP_SWITCH
key or by a second long press on HOME.

Change-Id: Idf4d803f51103819057cb655ff3b770b7729e4be
eyEvent.java
21bc5c917d4ee2a9b2b8173091e6bba85eaff899 01-Mar-2011 Jeff Brown <jeffbrown@google.com> Add a little input event consistency verifier.

The idea is to assist with debugging by identifying cases in which
the input event stream is corrupted.

Change-Id: I0a00e52bbe2716be1b3dfc7c02a754492d8e7f1f
estureDetector.java
nputEvent.java
nputEventConsistencyVerifier.java
eyEvent.java
otionEvent.java
caleGestureDetector.java
iew.java
iewGroup.java
iewRoot.java
0029c66203ab9ded4342976bf7a17bb63af8c44a 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Add input filter mechanism for accessibility.

This patch adds a mechanism for capturing, filtering, transforming
and injecting input events at a very low level before the input
dispatcher attempts to deliver them to applications. At this time,
the mechanism is only intended to be used by the accessibility
system to implement built-in system-level accessibility affordances.

The accessibility input filter is currently just a stub.
It logs the input events receives and reinjects them unchanged,
except that it transforms KEYCODE_Q into KEYCODE_Z.

Currently, the accessibility input filter is installed whenever
accessibility is enabled. We'll probably want to change that
so it only enables the input filter when a screen reader is
installed and we want touch exploration.

Change-Id: I35764fdf75522b69d09ebd78c9766eb7593c1afe
nputEvent.java
indowManagerPolicy.java
3d4bf17f49b82355b3b82d8bdaec4d65c4293bc9 29-Mar-2011 Christopher Tate <ctate@google.com> Add view/drawable states for drag-accepting / drag-hovered

Added new drag_can_accept and drag_hovered XML attributes and the View
logic to support them. Drawable states are now refreshed automatically
when a drag starts/ends and when a drag crosses the boundary of a
participating view.

Change-Id: I25f8ee02c83b3fa4f27201997d7eabf4be653fd8
iew.java
iewGroup.java
e3797a15fbf769a0abcbe121cfd33b4b658aea1e 21-Mar-2011 satok <satok@google.com> Removed APIs for setCorrectionSpan from InputConnection

("setCorrectionSpan" was added in Id3abc9ea4d11753cd )

Also..
- Added a class java doc for CorrectionSpan
- Removed FLAG_DEFAULT
- Changed the return type of getSuggestions from Array<CharSequence> to String[]

Change-Id: If5eb091e307a7a40c5b4a70ec1fe6059ecd9fb2d
nputmethod/BaseInputConnection.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
c50232d517d7b99ae3c3e073f04eb6799c876e8c 25-Mar-2011 satok <satok@google.com> Add hashCode to InputMethodInfo

The uniqueness of InputMethodInfo was guaranteed by mId (like InputMethodInfo#equals), but the hashCode was not implemented in the same way.
This change fixes a problem happening when the user gets the hashCode of InputMethodInfo obtained through IPC.

Change-Id: Ib876c5cb0d778481100597ec31202f94fb7b8f37
nputmethod/InputMethodInfo.java
dff626c56ac42bdcc7af5a300eefccd3fee3d166 25-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Added a hovered state for drawables."
c33d8d49e44358d72f19e7f7730c03d3902fa1f2 15-Mar-2011 PY Laligand <pylaligand@google.com> Added a hovered state for drawables.

Change-Id: I2b12c8593e04e37c8eb748946ca6d4d7a61de36a
iew.java
ad575f4dda3391baf9fcab927e65afbee32e7b95 25-Mar-2011 Romain Guy <romainguy@google.com> Merge "When deleting a path, remove it from the path cache. Bug #4170585"
1af23a32d879db330eb5a08b21090ec60b604a32 25-Mar-2011 Romain Guy <romainguy@google.com> When deleting a path, remove it from the path cache.
Bug #4170585

Change-Id: I6be4d251ceb908c89afe49c2ff85c05f36c73b70
iewRoot.java
9c78930046a6e393764b58e6d7d4648963306d3f 25-Mar-2011 Michael Jurka <mikejurka@google.com> Merge "Fixing invalidate problems in software rendered mode"
d0872bd38a449012e3165ddf9cfca31b6044c05b 24-Mar-2011 Michael Jurka <mikejurka@google.com> Fixing invalidate problems in software rendered mode
iew.java
b7c25ce3aef3c6e930fc3f31436f52aed8ebed14 24-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Add MotionEvent.HOVER_ENTER and HOVER_EXIT."
a032cc008618b83ecbbede537517d1e7998e3264 08-Mar-2011 Jeff Brown <jeffbrown@google.com> Add MotionEvent.HOVER_ENTER and HOVER_EXIT.

The input dispatcher sends a HOVER_ENTER to a window before dispatching
it any HOVER_MOVE events. For compatibility reasons, the window will
*also* receive the HOVER_MOVE. When the pointer moves into a different
window or the pointer goes down or when events are canceled for some reason,
the input dispatcher sends a HOVER_EXIT to the previously hovered window.

The view hierarchy behavior is similar. All views under the pointer
receive onHoverEvent with HOVER_ENTER followed by any number of HOVER_MOVE
events. When the pointer leaves a view, the view receives HOVER_EXIT.
Similarly, if a parent view decides to capture hover by returning true
from onHoverEvent, the hovered descendants will receive HOVER_EXIT.

The default behavior of onHoverEvent is to update the view's hovered
state by calling setHovered(true/false). Views can query their current
hovered state using isHovered().

For testing purposes, the hovered state is mapped to the pressed
drawable state. This will change in a subsequent commit with the
introduction of a new hovered drawable state.

Change-Id: Ib76a7a90236c8f2c7336e55773acade6346cacbe
otionEvent.java
iew.java
iewGroup.java
c5a43a249baad41acede2ab132d797c342c321e7 24-Mar-2011 Romain Guy <romainguy@google.com> Avoid NPE in postInvalidate().
Bug #4048131

Change-Id: I020400fc97015240924461674ca7bf8077059152
iew.java
13f35f3ce6a7d26c20d1c63485bfb5e2ffff31b9 24-Mar-2011 Romain Guy <romainguy@google.com> Correctly check bottom padding in setPadding().

Change-Id: Ie8099d37ad865acc559c4a4d34eb84960a1a19f3
iewGroup.java
aaceeb0c5be11121a81e44b9633c06fc5c0fcd4d 24-Mar-2011 Romain Guy <romainguy@google.com> Use the correct API to query system properties.

Change-Id: Ie120dee0e24959d4db3fdb0100b6d8fe7fe46cdb
ardwareRenderer.java
56215274f25d0040af00bf69b0df990894c0b4b0 24-Mar-2011 Romain Guy <romainguy@google.com> Apply color filters to bitmaps.

Change-Id: I36354a6a2d330b2e61ed2af12b6701b151880288
LES20Canvas.java
566c33105a76c6a02333db8b775721990bc6cca4 22-Mar-2011 Romain Guy <romainguy@google.com> Remove unnecessary test.

Change-Id: I7cb797f4be70ecd40a65c51e92a8e8722e49dec2
iewRoot.java
43e7aeb37e1d4d86eb89a0a5f620d148289d1986 21-Mar-2011 Romain Guy <romainguy@google.com> Merge "Add support for drawPoint() and drawPoints()."
ed6fcb034b44d9a6ac2fc72fee6030417811f234 21-Mar-2011 Romain Guy <romainguy@google.com> Add support for drawPoint() and drawPoints().

Change-Id: I01bef50c08ec3160f8d40dc060b2cf6c2e4d7639
LES20Canvas.java
a3d17a753d073b1f7425a495a17dec438c6894cd 19-Mar-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Text in accessibility events not consistent"
c0a8cd10a5829bf4e94ee073ba6f553128e9d8e9 19-Mar-2011 Svetoslav Ganov <svetoslavganov@google.com> Text in accessibility events not consistent

bug:2513822

Text added to accessibility events is truncated to max
length. However, the fromIndex and toIndex properties
are relative to the text before being truncated, thus
potentially our of bound. Removed the max length
limitation because test very rarely is longer that
500 characters and in the cases in which text is longer
than 500 character it will not be a real problem to
pass a bit more data through an IPC (very rarely).

Change-Id: Ie70ac630dfeb56d4f59079abb2f46d07582796b6
ccessibility/AccessibilityEvent.java
a168d7372132d6c87835878794b6ed43d0d282fd 19-Mar-2011 Romain Guy <romainguy@google.com> Correctly apply filters to Alpha8 bitmaps.

This change also removes unnecessary operations from display lists.

Change-Id: I627f85861982731f0ee7705b48b36d9c56f22f39
LES20Canvas.java
7270f62c1fcdf1e1133ba10f9765109c49e725ed 17-Mar-2011 Adam Powell <adamp@google.com> am 9cd93f09: am ea775ca3: am f8d1533b: Merge "Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow" into honeycomb-mr1

* commit '9cd93f09d451afacb8fffeee5e71806e0f91cf31':
Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow
ea775ca3ac793033e91b4d1cc05dfdb53ab807be 17-Mar-2011 Adam Powell <adamp@google.com> am f8d1533b: Merge "Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow" into honeycomb-mr1

* commit 'f8d1533b07b51935e295b2cf92e2ea2aa94b303f':
Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow
d0197f3669efda060c7ee2069ff41bd970fd6d9c 17-Mar-2011 Adam Powell <adamp@google.com> Fix bug 4111271 and bug 4077526 - WebView touch event handling when
WebCore is too slow

Make sure that we can recover properly from a bad gesture with missing
events that never come back from webcore. Lower timeout to 1 second.

Confirm movement on touch event enqueue so that we don't get phantom
taps or long presses when webcore is slow to respond.

Add sanity check in ScaleGestureDetector to end a gesture early on a
bad MotionEvent stream rather than throwing up.

Change-Id: I69690409d7edd6b4320dbcf3b052aba4023360fe
caleGestureDetector.java
5949f89f3c944ca5992cbe09b5cf3abbacbaa8b6 16-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Add 3D mode key and others."
9812aed2765c671e6c3f5255ac1b8a2fe0e72ef6 08-Mar-2011 Jeff Brown <jeffbrown@google.com> Add 3D mode key and others.

Related to an AOSP change request.

Change-Id: I3f4f84b56a1af626a8783f5ecbb823eb12ba9fbe
eyEvent.java
4ad45c4d15b4d9772cc9b45e4fc31037b54a0cde 16-Mar-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Pressed state not cleared if view is disabled in long click handler"
35267f178c10878034364b8c774580401621cb78 16-Mar-2011 satok <satok@google.com> Merge "Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView"
adb435835fb9a5f2bb74d29930b239dde18504a7 09-Mar-2011 satok <satok@google.com> Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView

- CorrectionSpan is a span which has suggestions made by IME.
This has a function to change the current IME to other IME specified
in this span. For security reasons, only the current IME
is allowed to use this function through InputConnection.
(IME token is used for checking the validity of it.).

- CorrectionSpan stores following information:

flags, subtype Id, InputMethodInfo Id, suggests, locale, original string

Change-Id: Id3abc9ea4d11753cdc4f483a2bb3128f49ba198a
nputmethod/BaseInputConnection.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
77b80c06af064403d9d6e8fbe04d76dd6f7d2dbb 16-Mar-2011 Svetoslav Ganov <svetoslavganov@google.com> Pressed state not cleared if view is disabled in long click handler

bug:2133127

If a View is disabled its onTouchEvent handler uses a shortcut
path for efficient handling which does not clear the pressed
flag. As a result if the view is disabled in a long click
handler the view keeps being in pressed state. The fix is to
clear if needed the pressed flag in the shortcut path
of onTouchEvent.

Change-Id: I046a62c2fce751c27fec3cfb756b74431fc003c3
iew.java
843e29d3751017267b96565c543df0301c31a9f7 16-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Improve VelocityTracker numerical stability."
2ed2462aa29c564f5231f317c27b3188da875e52 15-Mar-2011 Jeff Brown <jeffbrown@google.com> Improve VelocityTracker numerical stability.

Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
elocityTracker.java
aaae0573bb537b9de89c0410b9386e8f96c3568b 15-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> am 403da3a7: am 8d25eab1: Merge "Releasing lock even if exception is thrown."

* commit '403da3a79af78920b33448bbc8d91c4b8aebf4a4':
Releasing lock even if exception is thrown.
8d25eab10523ac2424dc645dc697126dbadad588 15-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> Merge "Releasing lock even if exception is thrown."
8b5345fb3647fee0ec5882537b6a68bb90f4ac1b 15-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> Merge "Fixing self-assignment in copying code."
ee7ace065f77b53a57cb6273b9f2f5d85caba90c 15-Mar-2011 Romain Guy <romainguy@google.com> Merge "Fix rendering artifact in edge fades. Bug #4092053" into honeycomb-mr1
7b5b6abf852c039983eded25ebe43a70fef5a4ab 15-Mar-2011 Romain Guy <romainguy@google.com> Fix rendering artifact in edge fades.
Bug #4092053

The problem always existed but was made visible by partial invalidation.
When saving a layer, the renderer would try to postpone glClear()
operations until the next drawing command. This however does not work
since the clip might have changed. The fix is rather simple and
simply gets rid of this "optimization" (that turned out to be
usless anyway given how View issues saveLayer() calls.)

This change also fixes an issue with gradients (color stops where
not properly computed when using a null stops array) and optimizes
display lists rendering (quickly rejects larger portions of the
tree to avoid executing unnecessary code.)

Change-Id: I0f5b5f6e1220d41a09cc2fa84c212b0b4afd9c46
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
iewGroup.java
1b365921e88b14857d8e0826e221c371d25f6cb2 10-Mar-2011 Jim Miller <jaggies@google.com> Fix 3201849: Enable hardware acceleration in LockScreen WaveView [DO NOT MERGE]

Change-Id: I07bbed7843857158cd2c1ffd9b184bde7fd5860d
iewRoot.java
indowManager.java
7a9794e402ee961abbc149858f34848dd653ac7e 10-Mar-2011 Jim Miller <jaggies@google.com> Merge "Fix 3201849: Enable hardware acceleration in LockScreen WaveView"
3fa8a454f61c772036f5f38661d1a077fd3d8388 10-Mar-2011 Jim Miller <jaggies@google.com> Fix 3201849: Enable hardware acceleration in LockScreen WaveView

Change-Id: Id64e82fe2e09ac231736d7867cd47b504d79b81b
iewRoot.java
indowManager.java
efd3266b719eed5f1b217021c0a9e76e4b274b06 09-Mar-2011 Jeff Brown <jeffbrown@google.com> Input improvements and bug fixes.

Associate each motion axis with the source from which it comes.
It is possible for multiple sources of the same device to define
the same axis. This fixes new API that was introduced in MR1.
(Bug: 4066146)

Fixed a bug that might cause a segfault when using a trackball.

Only fade out the mouse pointer when touching the touch screen,
ignore other touch pads.

Changed the plural "sources" to "source" in several places in
the InputReader where we intend to refer to a particular source
rather than to a combination of sources.

Improved the batching code to support batching events from different
sources of the same device in parallel. (Bug: 3391564)

Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
nputDevice.java
9626b14a283ef82d16636cf5fb5ba8bb4d30381e 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Fix off by one errors in touch motion ranges. (DO NOT MERGE)

Report inclusive minimum and maximum ranges for all
axes including X and Y.

Set mouse pointer bounds to 0..width-1, 0..height-1.

Rotate touch and mouse positions more carefully, paying attention
to the maximum bounds when calculating the complement of an axis.

Simplified the InputReader somewhat and removed support for a
couple of poorly defined input device configuration parameters.
We now assume that the touch device provides useful absolute axis
ranges for the X and Y axes since the alternative does not actually
make sense.

Bug: 3413541
Change-Id: I121d28a125c4f9618cb283dc460d33ff1a907023
otionEvent.java
3391435afd7fa69e12cde17754e1d1f98f9d77e9 09-Mar-2011 Romain Guy <romainguy@google.com> am 812dba1f: Merge "Prevents NPE when a View was detached Bug #4068284" into honeycomb-mr1

* commit '812dba1fcaa1a374124c2fe0694c1b4f21e3dea9':
Prevents NPE when a View was detached Bug #4068284
e294d41593f13edc5598cf62f8a89e573b3eb653 09-Mar-2011 Romain Guy <romainguy@google.com> Prevents NPE when a View was detached
Bug #4068284

Change-Id: Ied1c9b8d32a3e9957c6b165642ba40bbdaf35d53
ardwareRenderer.java
1e415023ee4c8aef2bfcb51e4293e62eb32eb23f 08-Mar-2011 Romain Guy <romainguy@google.com> am 3d7796c1: Merge "Correctly handle opaque fading views Bug #3475554" into honeycomb-mr1

* commit '3d7796c17ffae7892d1987053c3b6698697cffa2':
Correctly handle opaque fading views Bug #3475554
2243e555b061254f7f0f72ca1d6cd44db6c266fa 08-Mar-2011 Romain Guy <romainguy@google.com> Correctly handle opaque fading views
Bug #3475554

Change-Id: Ia4915ada67046486103dfc6f08e4dac8564f85dd
iewGroup.java
d00353fe3191571a6773ef2d11921cfcff260bc4 08-Mar-2011 Romain Guy <romainguy@google.com> am bc8a8e8c: Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1

* commit 'bc8a8e8c926115cb7b3910d016e5cff12b0f7b0a':
Add support for partial invalidates in WebView Bug #3461349
bc8a8e8c926115cb7b3910d016e5cff12b0f7b0a 08-Mar-2011 Romain Guy <romainguy@google.com> Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1
78b9035b51cd5e59500fa242952cb30ee50cddc9 08-Mar-2011 Dianne Hackborn <hackbod@google.com> am 37e792d5: Merge "Fix issue #3515088: Don\'t be so aggressive trying to reclaim memory" into honeycomb-mr1

* commit '37e792d53d4b38d1283960d62edcd63ef0a30e5e':
Fix issue #3515088: Don't be so aggressive trying to reclaim memory
37e792d53d4b38d1283960d62edcd63ef0a30e5e 08-Mar-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3515088: Don't be so aggressive trying to reclaim memory" into honeycomb-mr1
79bd55ccb55e85b39a8d0c867add56021cd608e2 08-Mar-2011 Chet Haase <chet@google.com> am 4bd6ccd2: Merge "Restore save/restore calls removed recently" into honeycomb-mr1

* commit '4bd6ccd25162a7634a90cfde72dcdc7d581d9a88':
Restore save/restore calls removed recently
4bd6ccd25162a7634a90cfde72dcdc7d581d9a88 08-Mar-2011 Chet Haase <chet@google.com> Merge "Restore save/restore calls removed recently" into honeycomb-mr1
6ac23abf0e3978e6995981810ddc01812a235387 08-Mar-2011 Adam Powell <adamp@google.com> am ad542efb: Merge "Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector" into honeycomb-mr1

* commit 'ad542efb8aa241d3e576d9567f5b0979355037b3':
Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector
cabfcc1364eb7e4de0b15b3574fba45027b45cfc 08-Mar-2011 Romain Guy <romainguy@google.com> Add support for partial invalidates in WebView
Bug #3461349

This change also fixes two bugs that prevented partial invalidates
from working with other views. Both bugs were in our EGL implementation:
they were preventing the caller from comparing the current context/surface
with another context/surface. This was causing HardwareRenderer to always
redraw the entire screen.

Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
iewGroup.java
ad542efb8aa241d3e576d9567f5b0979355037b3 08-Mar-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector" into honeycomb-mr1
88172fe49cf78f73fa7bf2b1bde665b45b1712ca 08-Mar-2011 Chet Haase <chet@google.com> Restore save/restore calls removed recently

Calls thought to be duplicates were removed, which caused rendering problems
for Browser as well as crashes in the widget list and music.

Change-Id: I6364aaa362619ea3dd368990304d61d84bbe2a90
iew.java
0818020d7cb04d83d51b71b8262d34bd79a76a95 08-Mar-2011 Adam Powell <adamp@google.com> Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector

Change-Id: Id38ebb368168b7157369964e39948036405427b1
caleGestureDetector.java
3314a31377e60ee11335cc51a2e3dba86b36bb7e 08-Mar-2011 Adam Powell <adamp@google.com> am a46c1df2: Merge "Fix bug 4021346 - crash while navigating" into honeycomb-mr1

* commit 'a46c1df226f2aea54d3bb068b0537c9b1d28590c':
Fix bug 4021346 - crash while navigating
a46c1df226f2aea54d3bb068b0537c9b1d28590c 08-Mar-2011 Adam Powell <adamp@google.com> Merge "Fix bug 4021346 - crash while navigating" into honeycomb-mr1
3ba8f5d675831647e45d0ce11507c85dfb5f753b 08-Mar-2011 Adam Powell <adamp@google.com> Fix bug 4021346 - crash while navigating

Change-Id: Iff60c5f4214c56597f2a1b393982d023866e490e
iewGroup.java
db773c557226e8008a1fff7596321a69289c80ba 05-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3515088: Don't be so aggressive trying to reclaim memory

Change-Id: I8184306fa8c27a41b8bcfcad8d96985be8f0c9aa
iewRoot.java
fd47c5eea2a4393b5c9897bb80db721809146aaf 07-Mar-2011 Jeff Brown <jeffbrown@google.com> am f0210c36: Merge "Joystick tweaks. (DO NOT MERGE)" into honeycomb-mr1

* commit 'f0210c36218c03dc30e444ef85690dc815097920':
Joystick tweaks. (DO NOT MERGE)
f0210c36218c03dc30e444ef85690dc815097920 07-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Joystick tweaks. (DO NOT MERGE)" into honeycomb-mr1
15c6b719fe8d1f4b27b4fa66ac94eede3957caf2 07-Mar-2011 Romain Guy <romainguy@google.com> am 0aaa11ed: Merge "Remove many unnecessary save/restore calls." into honeycomb-mr1

* commit '0aaa11ed5be45170fb2535a6ce021c92b18d8878':
Remove many unnecessary save/restore calls.
8529745b27877d98a0c76692295a3fcac238b1e6 04-Mar-2011 Jeff Brown <jeffbrown@google.com> Joystick tweaks. (DO NOT MERGE)

Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied. (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior. They work fine without them but the axis mappings
are not ideal.

Change-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7
otionEvent.java
d6cf477e5d6245a63f71958b75c3d658cd6c100e 05-Mar-2011 Romain Guy <romainguy@google.com> Remove many unnecessary save/restore calls.

This should help complex applications by reducing the amount of
unnecessary work performed by the renderer.

Change-Id: I9bdebb1a35cdbcc3d926b7485f19d9e88a019040
LES20DisplayList.java
iew.java
1bc593efeb88f668118bb7c169c49b978410bea4 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix off by one errors in touch motion ranges."
d41cff2d3a95963a7aa348e502c6d42bae367235 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Fix off by one errors in touch motion ranges.

Report inclusive minimum and maximum ranges for all
axes including X and Y.

Set mouse pointer bounds to 0..width-1, 0..height-1.

Rotate touch and mouse positions more carefully, paying attention
to the maximum bounds when calculating the complement of an axis.

Simplified the InputReader somewhat and removed support for a
couple of poorly defined input device configuration parameters.
We now assume that the touch device provides useful absolute axis
ranges for the X and Y axes since the alternative does not actually
make sense.

Bug: 3413541
Change-Id: I682ce3729e4473de7f1bcf8addb49a3f4484126f
otionEvent.java
63e1cea248cde3db3e89f49e5fcc3458aa87951e 03-Mar-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3485923: Gmail crash"
648251710162cdaf7371012a1cbb79b9bc5bc0e4 03-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3485923: Gmail crash

Allow application to try to recover if a surface OOM error
happens on the client side.

Change-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6
ardwareRenderer.java
WindowSession.aidl
iewRoot.java
a454767b09ecb7d25d00beae0e5a1fdd48605c63 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Get key repeat timeout and delay from ViewConfiguration.

Replaces previously hardcoded values. This ensures that key repeat
takes the accessibility long press timeout setting into account.

Unfortunately the system must be rebooted for the change to take
effect. We will fix that later.

Change-Id: I3ab70bb037331620b7e532170c1727287b5c6f91
iewConfiguration.java
55acdf7dcd0cf5b9aacfe48808e98056c7d60e5b 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Wake screen from external HID peripherals."
56194ebec6212e229f4ccdaa4b187166d20013ef 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Wake screen from external HID peripherals.

Added some plumbing to enable the policy to intercept motion
events when the screen is off to handle wakeup if needed.

Added a basic concept of an external device to limit the scope
of the wakeup policy to external devices only. The wakeup policy
for internal devices should be based on explicit rules such as
policy flags in key layout files.

Moved isTouchEvent to native.

Ensure the dispatcher sends the right event type to userActivity
for non-touch pointer events like HOVER_MOVE and SCROLL.

Bug: 3193114
Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
otionEvent.java
indowManagerPolicy.java
2da0c5826df40d9f528bfe7d2e762c3fbea03f7f 03-Mar-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Add system wide management of core settings"
9402a667e90c86947834df172ae5a1db6e49eecb 03-Mar-2011 Chet Haase <chet@google.com> Merge "Cancel LayoutTransition animations selectively"
e8e45d32fd1f67fed1b70d0fc19d2f91a76f128e 03-Mar-2011 Chet Haase <chet@google.com> Cancel LayoutTransition animations selectively

A recent change to LayoutTransition caused new layout transitions to
cancel any previously-running animations. This was to handle situations
where a transition adding an item needed transitions removing items to
finish their job first (and vice versa). But canceling *all* running
animations from transitions caused some artifacts, like making the status
bar icons blink or fade in, depending on which one was started last.

The new approach is to cancel just the ones we care about: adding animations
cancel removing animations, and vice versa. Either one cancels 'changing'
animations, which prevents objects from being animated to the old end
locations, since the new transition will animate them to the correct new
end locations.

Change-Id: I68ac351b05365cace6639b6618422395c35c83fd
iewGroup.java
54d068ec6af0ee6d261a135400efe6816c6f5ffe 02-Mar-2011 Svetoslav Ganov <svetoslavganov@google.com> Add system wide management of core settings

bug:3505060

Since we want to have some settings that are used very frequently
by many applications (long-press timeout is one example) these should
be managed efficiently to reduce lookups from different processes
because in the case of a cache miss a disk I/O is performed. Now
the system manages such core settings and propagates them to the
application processes.

Change-Id: Ie793211baf8770f2181ac8ba9d7c2609dfaa32a7
iewConfiguration.java
acc3944dd16074491885bf0252c456e0ac190168 03-Mar-2011 Romain Guy <romainguy@google.com> Merge "Add an API to force Views to render their layer."
f1ae10640fe152b56465e7e7184731226f95b0dd 03-Mar-2011 Romain Guy <romainguy@google.com> Add an API to force Views to render their layer.

Change-Id: Id5776f3b0880fdf75835f16560a1d03a3175d139
iew.java
cbf9cb35bb7064f303c6dd9da4485cd5344b6779 03-Mar-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3400119: API to specify a black background behind a window transition"
de75cb4738376c4cfe15c56aba7cd78d90e3100e 03-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3400119: API to specify a black background behind a window transition

There is now an API, which is used for task switching.

Also improved how we handle rotation animation when we can't take a
screen shot, to cleanly revert to the old freeze behavior. This removes
the need to special case the emulator.

Change-Id: I7227432a2309370437ec6ac78db02c6f1e7eedd5
nimation/Animation.java
05dc66ada6b61a6bdf806ffaa62617ac5394695d 02-Mar-2011 Jeff Brown <jeffbrown@google.com> Fade out the mouse pointer after inactivity or other events.

Fades out the mouse pointer:
- after 15 seconds of inactivity normally
- after 3 seconds of inactivity in lights out mode
- after a non-modifier key down
- after a touch down

Extended the native Looper to support enqueuing time delayed
messages. This is used by the PointerController to control
pointer fade timing.

Change-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da
iew.java
ffe2c7a071911b6a24954d41bbaeecd367286ba8 02-Mar-2011 Romain Guy <romainguy@google.com> Merge "Don't account for scrollX/Y when drawing a display list in a layer."
a7dabcd3dfb263468613fa2b04909c8fabb66a9d 02-Mar-2011 Romain Guy <romainguy@google.com> Don't account for scrollX/Y when drawing a display list in a layer.

Change-Id: I73bdcdab3e547d00ba2853aed550e65d5f8c6fcd
iewGroup.java
606ecf3e9f27c8f69a398ea4d83d842df50d094f 02-Mar-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3495749: Crash on choosing to open the downloaded images"
d643bb56fdf21973ea75984f0816b7dc024698df 01-Mar-2011 Romain Guy <romainguy@google.com> Correctly mark layers dirty when drawing WebView.

Change-Id: I7ae0c3cfa0916d8fbeaf01e8da127c621a06a0f4
iewGroup.java
e6c524022deb665439a442ab8b66f2917ca62ca2 01-Mar-2011 Romain Guy <romainguy@google.com> Merge "Correctly mark layers dirty when drawing WebView."
ce418e661ab52a08a2a2c3b2f10a4dd9adf33305 01-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3495749: Crash on choosing to open the downloaded images

This is due to the window doing a relayout after its activity is
stopped, at which point it may need to interact with the adapter
to load data.

The fix here is to tell ViewRoot about an activity being stopped
and, if in this state, hold off on doing any new measurements and
layouts of the hierarchy until it is no longer stopped.

In this case the relayout was happening due to the cursor
being deactivated, with causes the adapter to invalidate
its data. Because this is now in a dialog window, this
allows the window to actually be resized smaller (unlike when
in a full screen activity), and boom.

Change-Id: I26442b4679819b4a4e6bc56289afd3445526750b
iewRoot.java
indowManagerImpl.java
d666cf320db4134938f72b0ffe18212997f8c8d8 01-Mar-2011 Chet Haase <chet@google.com> Cleanup of docs for ViewPropertyAnimator class

Fixed the copyright date, spec'd auto-canceling behavior of various methods,
fixed various typos.

Change-Id: I0db74787275890557a3ad8d617b69daeef2413ee
iewPropertyAnimator.java
9b1aa5e80cd1286ed7971fd4d0232588096bfe82 28-Feb-2011 Adam Powell <adamp@google.com> Merge "Fix some bugs in the new ScaleGestureDetector logic."
0fe4a135b78e3ee993dd5111cc3e48a5b48952fb 28-Feb-2011 Adam Powell <adamp@google.com> Fix some bugs in the new ScaleGestureDetector logic.

Lifting an active pointer now properly ends/begins a new gesture.

Fix out of bounds errors.

Change-Id: I29cb802785b886f65e7fc16fa7d2870f9219a3c6
caleGestureDetector.java
99aac7beca18b6d73e40db5e8e49f52f94be638e 26-Feb-2011 Dianne Hackborn <hackbod@google.com> You can now specify a custom display size as NxM.

Change-Id: Ieb6df51aab009689f0f19b8887025261c5ceb69f
isplay.java
33bbfd2232ea9eaae9a9d87a05a95a430f09bd83 25-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for mouse hover and scroll wheel.

Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View
hierarchy as onGenericTouchEvent. Pointer events dispatched
this way are delivered to the view under the pointer. Non-pointer
events continue to be delivered to the focused view.

Added scroll wheel support to AbsListView, ScrollView,
HorizontalScrollView and WebView. Shift+VSCROLL is translated
to HSCROLL as appropriate.

Added logging of new pointer events in PointerLocationView.

Fixed a problem in EventHub when a USB device is removed that
resulted in a long stream of ENODEV errors being logged until INotify
noticed the device was gone.

Note that the new events are not supported by wallpapers at this time
because the wallpaper engine only delivers touch events.

Make all mouse buttons behave identically. (Effectively we only
support one button.)

Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
otionEvent.java
iew.java
iewGroup.java
iewRoot.java
53c7b1d544f1b78cc4fb206c74dc52b39b58b258 26-Feb-2011 Chet Haase <chet@google.com> Merge "ViewPropertyAnimator cancels prior animations"
0277c171283826dce53cc48e8dd66187051227e4 25-Feb-2011 Gilles Debunne <debunne@google.com> Merge "Code clean-up around ScrollView."
ba592d200390d89723682f1a7e40d308d7804b36 25-Feb-2011 Chet Haase <chet@google.com> ViewPropertyAnimator cancels prior animations

The initial approach of VPA was to cancel previous animations
on the same exact set of properties. This worked in most cases,
but if the new animation had a different set of properties
(like animating alpha, x, and y instead of just x and y), then
there was a possible artifact as the old animation continued to
run in the background and could show the button in the wrong
location as a result.

The new approach is to search all running animations for
a property when a new animation is requested on it and to
remove that property from the list of properties being animated
by that previous animation. The prior animations continue to
run, but will no longer update that property, which will now be
controlled solely by the new animation requested.

Change-Id: Ib35d54a5e91be0a1310725be6e2acbaa6ead4a4e
iewPropertyAnimator.java
2ed2eacd7e0569675410f1e62238b708c5dcc8ac 25-Feb-2011 Gilles Debunne <debunne@google.com> Code clean-up around ScrollView.

Change-Id: Ia110f30279a93c96741e9afbd93ed6231aa97ef1
iew.java
a00f3865f55c5c9cb74510ee2b239d101230133c 22-Feb-2011 Chet Haase <chet@google.com> Add ViewPropertyAnimator for easy animation of View properties

Change-Id: I2bc52ca16507d8d20004d2d6823e587791272aac
iew.java
iewPropertyAnimator.java
78b1dc594e53120ba7817d9ceb6a340278186891 25-Feb-2011 Adam Powell <adamp@google.com> Merge "Ensure WebView passes a complete/in-order event stream to ScaleGestureDetector. Prerequisite for several ScaleGestureDetector bugfixes."
a5364ee8942cd9f0546f80f6430812ca2ee59f30 24-Feb-2011 Romain Guy <romainguy@google.com> Add an API to control the distance between a View and its camera.

Change-Id: Ibaf4e7dc827933f7ad2bb7ab50c1dcef45fee83c
iew.java
e33cef8037cb87386e17bcf8701a47452d262fa6 24-Feb-2011 Adam Powell <adamp@google.com> Ensure WebView passes a complete/in-order event stream to
ScaleGestureDetector. Prerequisite for several ScaleGestureDetector
bugfixes.

Bugfixes for ScaleGestureDetector.

Make ScaleGestureDetector properly support >2 pointers. Track the most
recent two pointers for scale gestures.

Change-Id: I966319ad438c1c8e1103f245b53b3862c2d4e3c0
caleGestureDetector.java
47b8adec3904535c8d8ce2b6e42ecd736f2d90ce 24-Feb-2011 Romain Guy <romainguy@google.com> Add a new Camera API to control the camera's location

Change-Id: Id9a082d2def803eb527e1987875e0d8a22c6e8aa
iew.java
0c4650b4d566f65aa6faa9be45e7f1e29148e1a9 22-Feb-2011 Gilles Debunne <debunne@google.com> Merge "Cursor does not jump back to its previous position when IME is showed up."
3c85a4e6396dabf7f0061ff2c6e9f9b35793eadd 22-Feb-2011 Mike Lockwood <lockwood@android.com> Merge "KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()"
795e42e91ad049d7ddf5c3672a40f044fbc4d1e2 22-Feb-2011 Romain Guy <romainguy@google.com> Merge "Add more info to View.getLayoutParams()"
01c174bce3ab78ff85bf27f549b29ab9fcb70ac2 22-Feb-2011 Romain Guy <romainguy@google.com> Add more info to View.getLayoutParams()

Change-Id: I9abc64c9bbf726a02256a9ab692d9c555a6e3525
iew.java
93c5b6a81da8f7348ae43c860d21617eed4fa6d7 22-Feb-2011 Jozef BABJAK <jozef.babjak@gmail.com> Releasing lock even if exception is thrown.

However, the whole method needs to be reviewed. It still has several
locking/unlocking places not tied together by try-finally construct,
but they cannot be fixed without deeper understanding.

Change-Id: Iaaf87568d585327654be409377b6d57a1da135eb
iewRoot.java
5d29860222a9acb8b9c4a4b7359da61f2b1d835c 22-Feb-2011 Jozef BABJAK <jozef.babjak@gmail.com> Fixing self-assignment in copying code.

Change-Id: I0799f83dc9d02b9bc31c76e747e6ba1ff58000b0
otionEvent.java
cc0c159e9b3dd4e0f48da0ce3e33d2c68a651413 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new hover move action and scroll wheel plumbing.

Added support for tracking the mouse position even when the mouse button
is not pressed. To avoid confusing existing applications, mouse movements
are reported using the new ACTION_HOVER_MOVE action when the mouse button
is not pressed.

Added some more plumbing for the scroll wheel axes. The values are
reported to Views but they are not yet handled by the framework.

Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
otionEvent.java
iewGroup.java
6f2fba428ca5e77a26d991ad728e346cc47609ee 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new axes for joysticks and mouse wheels.

Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
nputDevice.java
eyEvent.java
otionEvent.java
iewRoot.java
e7c943926db892d479ba4a0a9b9b314db8abaaee 19-Feb-2011 Adam Powell <adamp@google.com> Merge "Add an API to listen for window attach/detach events on a View."
4afd62b18c52a55371ab923d54f93615ad68fd7a 19-Feb-2011 Adam Powell <adamp@google.com> Add an API to listen for window attach/detach events on a View.

Fix bug 3312949 - inconsistent state in MenuPopupHelper

Change-Id: Ie802ada3f8de4cf71c92fcc7c6abce9ba85e7b75
iew.java
520d8bc1d840966b5519195aaa514597a662c053 18-Feb-2011 Mike Lockwood <lockwood@android.com> KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()

BUG: 3402847

Change-Id: I725838c9d96617dd4497f9c80417cd623eceb846
Signed-off-by: Mike Lockwood <lockwood@android.com>
WindowManager.aidl
indowManagerPolicy.java
ad8484b3799ba7046e57388e34ba9a4c0a971b42 18-Feb-2011 Gilles Debunne <debunne@google.com> Cursor does not jump back to its previous position when IME is showed up.

Bug 3441308

This behavior may be restored for phones if appropriate.

Change-Id: Ibc2de587d64d372521da2d54f239cab56f04b407
nputmethod/InputMethodManager.java
e2ad901f4a7ec645c8711b19f0af379bab363c44 18-Feb-2011 Eric Laurent <elaurent@google.com> Added bluetooth SCO stream to VolumePanel

This is a preliminary change to enable control of BLUETOOTH_SCO stream
volume while in a video chat with a bluetooth headset.
The complete change requires a new icon for BT SCO volume.

Change-Id: I6cd22f0c73d80a9b404b228650b9a30ef144cedc
olumePanel.java
45708bf2f03f9f50c22f86cb794c2a088bab1c05 17-Feb-2011 Jeff Brown <jeffbrown@google.com> Merge "Add support for arbitrary axes in MotionEvents."
e9140a72b1059574046a624b471b2c3a35806496 17-Feb-2011 Chet Haase <chet@google.com> Fix invalidation bug with View bounds properties

When setLeft/Right/Top/Bottom() functions were called on View,
invalidation was only happening at the parent level. When an
app is hardware accelerated, this means that the view's display
list is not being recreated. So views that were changing size due
to these calls were not getting redrawn properly, causing some
artifacts in animations (especially LayoutTransition, which
calls these setters).

Fix is to invalidate the child instead of just the child's bounds
in the parent.

Change-Id: Ic8b2a5db519345dce617f914c2214738f22031b2
iew.java
91c69ab01539f7ba28708f41ec1835cc2920d0a0 15-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for arbitrary axes in MotionEvents.

This change makes it possible to extend the set of axes that
are reported in MotionEvents by defining new axis constants.

The MotionEvent object is now backed by its C++ counterpart
to avoid having to maintain multiple representations of the
same data.

Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
nputDevice.java
nputEvent.java
eyEvent.java
otionEvent.java
9c4cc03a354922df08efacfc486ef0e80144d3ea 14-Feb-2011 satok <satok@google.com> Add a method to check a string contained in ExtraValue of InputMethodSubtype

Change-Id: I34390537eaacd3ff8cfd336eaf5b9ca0d3e4b802
nputmethod/InputMethodSubtype.java
93a4dc6c3f5705d5e45ba6d7288fb824992a5749 15-Feb-2011 Christopher Tate <ctate@google.com> Merge "Disable cross-app drag/drop"
7f9ff9d191f00354c564a70eeeb1eda2b32eb1c7 15-Feb-2011 Christopher Tate <ctate@google.com> Disable cross-app drag/drop

@hides the View constant that designates a drag as cross-app, and also
forcibly ignores that flag on the system_server side even if it's passed
to startDrag() as a literal.

Change-Id: I6f321bdf0389db5bb44131fd0f8d6b92f049be52
iew.java
0211a0a10d20ec99bd78905ea9cd2960f7beb4c8 15-Feb-2011 Romain Guy <romainguy@google.com> Gracefully handle drawing caches allocation failure.
Bug #3431451

This bug was causing ListView to not render properly when showing an item
larger than the maximum drawing cache size. ListView relies on the drawing
cache to correctly mask all the background pixels. However, if the cache
is not properly created, the background will show through even though
ListView.isOpaque() == true. This change detects this case and falls
back to the default non opaque behavior.

Change-Id: I30a45e7a03fb7ebb2b12f0e85c075c2901954c44
iew.java
iewConfiguration.java
iewGroup.java
676b17391fb6583e5df944c36b1bd4c1be835689 14-Feb-2011 Romain Guy <romainguy@google.com> Deprecate ARGB_4444.

It looks awful.
Don't use it.
Use ARGB_8888, it's much better.
If you think you need ARGB_4444, you are wrong.
You are.

Change-Id: I4d6963cf98b6a8fb34cebcd0d24b9fd66b5a0fbf
iew.java
7265d9bd6d80c5bedaa6de2b80f6619a301a07c8 14-Feb-2011 satok <satok@google.com> Add sort method to InputMethodSubtype

Bug: 3364167

Change-Id: I94ad55b8eab49dc9b233dcb4e74429863b406fb4
nputmethod/InputMethodSubtype.java
e3361b8d0889de6489eb61c6d9ca05885cf4bf31 11-Feb-2011 Amith Yamasani <yamasani@google.com> Fix over-eager locking of volume dialog's primary stream.

Bug: 3427027

Don't lock in the active stream if visual feedback was not requested.
This fixes a transient problem after the notification volume was modified
by an API call.

Change-Id: I2227d8fdf6cc565713d9bbcc66748805e04ae163
olumePanel.java
8b4b97a14ad9b5b982d8fe92755efabec8ad0076 04-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3352047 Wrong message when adjusting volume

Add hidden AudioManager.getDevicesForStream and output device codes.

Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
olumePanel.java
add6577a0196258e5a48c5deefcdb12e05c935b3 10-Feb-2011 Chet Haase <chet@google.com> Fix animation and layoutTransition issues.

There were some subtle timing issues in animators with ending animations that
were not completely initialized (possibly because a startDelay'd animator
was ended before the delay elapsed).
Also, LayoutTransition had bugs around running a transition on a container
while a previously-started transition was still in progress. This could result
in some minor artifacts or crash bugs, depending on the durations and delays set
on the transition animations.

Change-Id: Ic6a69601f1ce9a55db15fff6b8ed25950b354491
iewGroup.java
069ea0e31a0aa283c83fae79f31a1798a6d85dde 08-Feb-2011 Romain Guy <romainguy@google.com> Better handling of EGL_SWAP_BEHAVIOR_PRESERVED_BIT
Bug #3410832
Bug #3410834

Change-Id: I6025d6b7200e4d23e43f783e9401df13a13e7b63
ardwareRenderer.java
3da2538aa18da2d457b54380c81aba1d992b60b2 07-Feb-2011 Eric Laurent <elaurent@google.com> am bdb23c26: am 2e96f15d: Merge "Fix issues 3425035 and 3423785." into honeycomb

* commit 'bdb23c26759089e29eb2f379e296bd006bc32b97':
Fix issues 3425035 and 3423785.
85cabc2eb367e8dcbe7445886bdd945e47d1bbfa 07-Feb-2011 Mike Cleron <mcleron@google.com> am 9cfa9c7a: am f6141980: Merge changes I46acd27a,I70b322e1 into honeycomb

* commit '9cfa9c7a3f5f23dec6ef4575407c1076d1b3c479':
aa is better than cc
Prevent ProgressBar from slowing down everything. bug #3422568
ced2c59678768116e2726f75fc433520e437085a 07-Feb-2011 Eric Laurent <elaurent@google.com> am a37a81d7: am e6955f8e: Merge "Issue 3371080: fix VolumePanel in mute state" into honeycomb

* commit 'a37a81d705bd9abaf1110fecd176a74d32ac2016':
Issue 3371080: fix VolumePanel in mute state
9edc5c056fa9999a8e1cd7dc7bbc449a252919ca 07-Feb-2011 Amith Yamasani <yamasani@google.com> am 9589ac6c: am 823fbbba: Merge "Expanded volume panel with sliders and mute buttons." into honeycomb

* commit '9589ac6c3f63a632e078adcc8ef742412af2014c':
Expanded volume panel with sliders and mute buttons.
40209532bff0f83cbbdf408bb3f6e8142e7b02cd 14-Jan-2011 Masanori Ogino <ogino.masanori@sharp.co.jp> Adjust mBiggerTouchSlopSquare to the suitable value

If the scaling factor is larger than 1.0 (i.e. 1.5),
then mTouchSlopSquare(576) is bigger than mBiggerTouchSlopSquare(400).
The double tap condition should be bigger than a single tap's one.
This causes the fail of the following CTS test cases in the device has
over 240 density.
- android.view.cts.GestureDetectorTest
* testOnTouchEvent
- android.view.cts.GestureDetector_SimpleOnGestureListenerTest
* testSimpleOnGestureListener
To fix this issue, I'll add a new public method
ViewConfiguration#getScaledLargeTouchSlop() then the value returned
from that method is used as a slop area of mLargeTouchSlop.

Change-Id: I0e61c13670e1300be1ccf45a89ef89410496fb48
estureDetector.java
iewConfiguration.java
bdb23c26759089e29eb2f379e296bd006bc32b97 04-Feb-2011 Eric Laurent <elaurent@google.com> am 2e96f15d: Merge "Fix issues 3425035 and 3423785." into honeycomb

* commit '2e96f15d8c6608c6bcb49c73fe13078a57245b28':
Fix issues 3425035 and 3423785.
402f7f29634a9f68e7929be828a927a3e2f5efe9 04-Feb-2011 Eric Laurent <elaurent@google.com> Fix issues 3425035 and 3423785.

- Make sure that STREAM_MUSIC is affected by ringer mode on non voice capable
devices whatever the saved settings say.

- Added a hidden method to AudioManager for VolumePanel to override
the stream selection logic while the panel is showing.

Change-Id: Ib2ff2a7af63decb4e29c45700c41e5058f79d877
olumePanel.java
9cfa9c7a3f5f23dec6ef4575407c1076d1b3c479 04-Feb-2011 Mike Cleron <mcleron@google.com> am f6141980: Merge changes I46acd27a,I70b322e1 into honeycomb

* commit 'f6141980c84f64618f083297bc37cfae7e0fca84':
aa is better than cc
Prevent ProgressBar from slowing down everything. bug #3422568
f6141980c84f64618f083297bc37cfae7e0fca84 04-Feb-2011 Mike Cleron <mcleron@google.com> Merge changes I46acd27a,I70b322e1 into honeycomb

* changes:
aa is better than cc
Prevent ProgressBar from slowing down everything. bug #3422568
a37a81d705bd9abaf1110fecd176a74d32ac2016 04-Feb-2011 Eric Laurent <elaurent@google.com> am e6955f8e: Merge "Issue 3371080: fix VolumePanel in mute state" into honeycomb

* commit 'e6955f8e38dfe7c0d748c3b55bbcfc5640c968c5':
Issue 3371080: fix VolumePanel in mute state
d72d51c77a43d75c098afb55c3939210739510f9 04-Feb-2011 Eric Laurent <elaurent@google.com> Issue 3371080: fix VolumePanel in mute state

VolumePanel must take stream mute state into account before displaying
the update stream volume.

Change-Id: I03a1697c25fca3fa56f892e3d426d00906abeb79
olumePanel.java
bb01f8a2d0656648cef6b4d665ad66b711f88157 04-Feb-2011 Michael Jurka <mikejurka@google.com> am d51e0820: am 8275c608: Merge "adding fast setters for translationx/y" into honeycomb

* commit 'd51e0820b3b7a71f2b3e0447bdf05188588c6003':
adding fast setters for translationx/y
8b113cf6d78bdb673e97400951b0829d722dba2b 04-Feb-2011 Romain Guy <romainguy@google.com> am cb2c84fd: am 3b66e43e: Merge "Refresh display lists when turning off layers rendering. Bug #3420565" into honeycomb

* commit 'cb2c84fd81a0891071e8ed0237927ad785751850':
Refresh display lists when turning off layers rendering. Bug #3420565
2f57ba56b3d4648476f0c00bd74fc4f6aa052810 04-Feb-2011 Romain Guy <romainguy@google.com> Prevent ProgressBar from slowing down everything.
bug #3422568

Change-Id: I70b322e140a8fdbe504c6984c54a22bcb7b753e7
iewGroup.java
b0905c998da7d4f7c8b7275ec0dcfa691d370e4e 04-Feb-2011 Romain Guy <romainguy@google.com> am 20bf23e5: am ac14db72: Merge "Fast transform properties setters. Bug #3413510" into honeycomb

* commit '20bf23e5e4172f5f80ce6c4cc16168355b107f0d':
Fast transform properties setters. Bug #3413510
9bd32c235dc0823f05eee824f37a2863bc80ff06 04-Feb-2011 Romain Guy <romainguy@google.com> am 109da7df: am 5bfd1aff: Merge "Allocate layers from the layers pool. Bug #3413433" into honeycomb

* commit '109da7dfd4c0766274b17467880ee673c731735c':
Allocate layers from the layers pool. Bug #3413433
9589ac6c3f63a632e078adcc8ef742412af2014c 04-Feb-2011 Amith Yamasani <yamasani@google.com> am 823fbbba: Merge "Expanded volume panel with sliders and mute buttons." into honeycomb

* commit '823fbbbab5856fa46f56c7acbdddaa50bf211d09':
Expanded volume panel with sliders and mute buttons.
2bbdd77ab20788e901a410f299edef028b66bb6e 03-Feb-2011 Amith Yamasani <yamasani@google.com> Expanded volume panel with sliders and mute buttons.

Bug: 3395734

Volume panel that can be expanded and can be used
to control different streams' volume and toggle
silent mode.

Shows the active stream's slider on top and the
remaining below. Touching outside dismisses the
dialog as well as a 3 second timeout.

Dialog fades out after timeout.

Change-Id: Ief258cc904bfd3d62f1291adba4a9cf442bcb006
olumePanel.java
d51e0820b3b7a71f2b3e0447bdf05188588c6003 03-Feb-2011 Michael Jurka <mikejurka@google.com> am 8275c608: Merge "adding fast setters for translationx/y" into honeycomb

* commit '8275c6087897e8fd614681d1cd12db62e6b9fcd5':
adding fast setters for translationx/y
8275c6087897e8fd614681d1cd12db62e6b9fcd5 03-Feb-2011 Michael Jurka <mikejurka@google.com> Merge "adding fast setters for translationx/y" into honeycomb
cb2c84fd81a0891071e8ed0237927ad785751850 03-Feb-2011 Romain Guy <romainguy@google.com> am 3b66e43e: Merge "Refresh display lists when turning off layers rendering. Bug #3420565" into honeycomb

* commit '3b66e43e8c5671c646ccc6d52b0f2dec13898c91':
Refresh display lists when turning off layers rendering. Bug #3420565
9d18f2d189aa2670d96462f2220ee7fd7950ebe5 03-Feb-2011 Romain Guy <romainguy@google.com> Refresh display lists when turning off layers rendering.
Bug #3420565

Change-Id: I2139540e591a97cd487e3d7cce6b70d6b23df9de
iewGroup.java
dece29ffd345c08f63f331e5766a5df906656798 03-Feb-2011 Michael Jurka <mikejurka@google.com> adding fast setters for translationx/y
iew.java
20bf23e5e4172f5f80ce6c4cc16168355b107f0d 03-Feb-2011 Romain Guy <romainguy@google.com> am ac14db72: Merge "Fast transform properties setters. Bug #3413510" into honeycomb

* commit 'ac14db72ca55110326f4ceb9ac34fddd360036f4':
Fast transform properties setters. Bug #3413510
da489796e5836b7db4cf3c925c40db449ac6e9ec 03-Feb-2011 Romain Guy <romainguy@google.com> Fast transform properties setters.
Bug #3413510

Change-Id: I2c83e219faff697a48a160fee627f87422a2cd08
iew.java
109da7dfd4c0766274b17467880ee673c731735c 03-Feb-2011 Romain Guy <romainguy@google.com> am 5bfd1aff: Merge "Allocate layers from the layers pool. Bug #3413433" into honeycomb

* commit '5bfd1afffe361958682bcb899b763ce35ec00c3a':
Allocate layers from the layers pool. Bug #3413433
09b7c91de73b59aa3f679b3ae3ba299f82ec9f8a 03-Feb-2011 Romain Guy <romainguy@google.com> Allocate layers from the layers pool.
Bug #3413433

This change will be beneficial to Launcher to avoid hiccups when
swiping pages of icons. When a layer is discarded, it is kept
in the layers pool instead of being destroyed right away. This
favors memory reuse over allocations.

Change-Id: Ifb6944ba83d6ceb67c331527c0827b26ce648eb1
LES20Layer.java
dcbcb680bc21059bf527f5c3c72373f26b2cd298 03-Feb-2011 Romain Guy <romainguy@google.com> am 44e3b0d0: am f44ed5ad: Merge "Don\'t clobber the local dirty rect after rendering a layer. Bug #3417254 Bug #3413433" into honeycomb

* commit '44e3b0d0344955d5ce1bbb0b329627e24b7dd468':
Don't clobber the local dirty rect after rendering a layer. Bug #3417254 Bug #3413433
44e3b0d0344955d5ce1bbb0b329627e24b7dd468 03-Feb-2011 Romain Guy <romainguy@google.com> am f44ed5ad: Merge "Don\'t clobber the local dirty rect after rendering a layer. Bug #3417254 Bug #3413433" into honeycomb

* commit 'f44ed5adc42fefa0c91fc79c5e3c20e1cdc7d697':
Don't clobber the local dirty rect after rendering a layer. Bug #3417254 Bug #3413433
62687ec12cb8e0b1d4044a235b1387b9a8c3b4b4 03-Feb-2011 Romain Guy <romainguy@google.com> Don't clobber the local dirty rect after rendering a layer.
Bug #3417254
Bug #3413433

Change-Id: I8045e9ec414ebe4ce4d38124142a00726d2c634d
ardwareRenderer.java
iew.java
44fbc03f651ce79b0726a6bb585567918a88e29c 02-Feb-2011 Romain Guy <romainguy@google.com> am 57188f0d: am c1f8bcff: Merge "Fix incorrect dirty rectangle transformation in hardware layers. Bug #3413433" into honeycomb

* commit '57188f0d1d7225991f8f5afb2740ed4cc878305b':
Fix incorrect dirty rectangle transformation in hardware layers. Bug #3413433
57188f0d1d7225991f8f5afb2740ed4cc878305b 02-Feb-2011 Romain Guy <romainguy@google.com> am c1f8bcff: Merge "Fix incorrect dirty rectangle transformation in hardware layers. Bug #3413433" into honeycomb

* commit 'c1f8bcffb8612ef5bdddc4bca6eca23804cbe453':
Fix incorrect dirty rectangle transformation in hardware layers. Bug #3413433
beff8d83ef062975459f149ad0c632a3797d78ce 02-Feb-2011 Romain Guy <romainguy@google.com> Fix incorrect dirty rectangle transformation in hardware layers.
Bug #3413433

Change-Id: Iba201c7c4b4f11937797f3afcbf20c5a7395be25
iewGroup.java
34cdf5bbb7d4d09e95cc6579a96c384284f99455 02-Feb-2011 Romain Guy <romainguy@google.com> am debeeef5: am d51eaa64: Merge "Update layers based on the dirty region. Bug #3413433" into honeycomb

* commit 'debeeef50408cf12f1041426e7438be266789a62':
Update layers based on the dirty region. Bug #3413433
debeeef50408cf12f1041426e7438be266789a62 02-Feb-2011 Romain Guy <romainguy@google.com> am d51eaa64: Merge "Update layers based on the dirty region. Bug #3413433" into honeycomb

* commit 'd51eaa64e3f2d9684b2dd18ebd67734f4e0e7801':
Update layers based on the dirty region. Bug #3413433
3a3133d876caf60ebff2176ad75c3dcf0259148d 02-Feb-2011 Romain Guy <romainguy@google.com> Update layers based on the dirty region.
Bug #3413433

This helps Launcher when a widget updates during a scroll, or when interacting
with widgets on the workspace if layers are still turned on.

Change-Id: Ic7a42eb34f74f4ae988039754f815e2efd1d1e4f
iew.java
iewGroup.java
4e96efe2edb73a8fbe4b89e85e03327da9796d80 02-Feb-2011 Romain Guy <romainguy@google.com> am a42ee699: am 518813ec: Merge "New API to let apps draw without layers. Bug #3413433" into honeycomb

* commit 'a42ee6994b59c02a745cb5d0f8ec257d01424753':
New API to let apps draw without layers. Bug #3413433
a42ee6994b59c02a745cb5d0f8ec257d01424753 02-Feb-2011 Romain Guy <romainguy@google.com> am 518813ec: Merge "New API to let apps draw without layers. Bug #3413433" into honeycomb

* commit '518813ec13153c7b02fb417720f353330e5d946e':
New API to let apps draw without layers. Bug #3413433
849d0a37cf2ca6c6a6c2d4d4456495e32e363120 02-Feb-2011 Romain Guy <romainguy@google.com> New API to let apps draw without layers.
Bug #3413433

Launcher now enables layers all the time, but in some cases (for instance, when the
workspace is not scrolling,) it is more efficient to draw without the layer.

Change-Id: I625fb5b48506acda9ae75356fdbbe812c85f2aab
iew.java
iewGroup.java
509e6cd89551d4222fab3dab9df190cc5e25666b 01-Feb-2011 Romain Guy <romainguy@google.com> am 1c531f4a: am f222956c: Merge "Correctly set the alpha of a hardware layer before drawing it. Bug #3410819" into honeycomb

* commit '1c531f4a44c9ea61e74dbe2ded1b8dca0f83f790':
Correctly set the alpha of a hardware layer before drawing it. Bug #3410819
1c531f4a44c9ea61e74dbe2ded1b8dca0f83f790 01-Feb-2011 Romain Guy <romainguy@google.com> am f222956c: Merge "Correctly set the alpha of a hardware layer before drawing it. Bug #3410819" into honeycomb

* commit 'f222956c955c97cf436c6f18b50bd0e57c89f381':
Correctly set the alpha of a hardware layer before drawing it. Bug #3410819
f222956c955c97cf436c6f18b50bd0e57c89f381 01-Feb-2011 Romain Guy <romainguy@google.com> Merge "Correctly set the alpha of a hardware layer before drawing it. Bug #3410819" into honeycomb
74c86d3e3a5206fef8d2e0ad1727bf903a76a638 01-Feb-2011 Chet Haase <chet@google.com> am 0a198c80: am 2cd52c80: Merge "Fix invalidation issue with actionbar items" into honeycomb

* commit '0a198c80765a0fbf52bdc84fddd11bc86c83ed51':
Fix invalidation issue with actionbar items
54229ee5eb92e3e2fc63d75353bcf09e0ebc8030 01-Feb-2011 Romain Guy <romainguy@google.com> Correctly set the alpha of a hardware layer before drawing it.
Bug #3410819

Change-Id: I3ebaca2233f4edf5b59d84ec7706555056a1a4b1
iewGroup.java
0a198c80765a0fbf52bdc84fddd11bc86c83ed51 01-Feb-2011 Chet Haase <chet@google.com> am 2cd52c80: Merge "Fix invalidation issue with actionbar items" into honeycomb

* commit '2cd52c809e52c042ad61067c93a4b5521eadd503':
Fix invalidation issue with actionbar items
2cd52c809e52c042ad61067c93a4b5521eadd503 01-Feb-2011 Chet Haase <chet@google.com> Merge "Fix invalidation issue with actionbar items" into honeycomb
f28595e47d7a2712df3e2d2e7b6591d1333add3b 01-Feb-2011 Chet Haase <chet@google.com> Fix invalidation issue with actionbar items

When a view hierarchy becomes VISIBLE, it is possible that the display
list of some of the subtrees needs to be recreated. In particular, if
the subtree was measured while it was GONE, then the children probably
didn't have a valid size. If a display list is created for any of the
subnodes in the tree during this time, then they may have clipped the
children out.

The fix is to force the parent to become INVALIDATED whenever a child
view's bounds change (and it is VISIBLE).

Change-Id: I3624253e65354289f4fb94c9ba76a7e6fb82af9a
iew.java
b4e28848e3244096fc1a7cff7f6a5ad688c96022 31-Jan-2011 Joe Onorato <joeo@google.com> am 19a02219: am fe6fd242: Merge "Mask out the non public bits, not the public ones." into honeycomb

* commit '19a022194d0e049759112a743835af323f4b05a1':
Mask out the non public bits, not the public ones.
19a022194d0e049759112a743835af323f4b05a1 31-Jan-2011 Joe Onorato <joeo@google.com> am fe6fd242: Merge "Mask out the non public bits, not the public ones." into honeycomb

* commit 'fe6fd242867022576a99fcd5fd6078fb7bab8451':
Mask out the non public bits, not the public ones.
6ab77bd5b3e613b064ebfa5780f21b79f81390a9 31-Jan-2011 Joe Onorato <joeo@google.com> Mask out the non public bits, not the public ones.

Bug: 3406103
Change-Id: I44b16700567cb2bf76efe9e8c1f9c82d0eaa8f10
iew.java
60d9d9cdba31e2d3483b33138d2e98ce8be4567b 31-Jan-2011 Joe Onorato <joeo@google.com> am 75057b15: am 4de68bae: Merge "Check for the STATUS_BAR permission for the system UI properties." into honeycomb

* commit '75057b1507881625368f76b2f401097b606bd530':
Check for the STATUS_BAR permission for the system UI properties.
75057b1507881625368f76b2f401097b606bd530 31-Jan-2011 Joe Onorato <joeo@google.com> am 4de68bae: Merge "Check for the STATUS_BAR permission for the system UI properties." into honeycomb

* commit '4de68baed4bf18b33dc38f89f25410d3d5edfecf':
Check for the STATUS_BAR permission for the system UI properties.
ac0ee89bd985c024870fefca9a3422c4585b62d4 31-Jan-2011 Joe Onorato <joeo@google.com> Check for the STATUS_BAR permission for the system UI properties.

If the app doesn't have that permission, just mask out the bits.
Also makes the systemUiVisibility field visible in hierarchyviewer.

Change-Id: Ic3d3a3aed96b5c6448832755b4b2e6175117e5be
iew.java
69aedbedfef2e2633076004000ae8931039ff7f5 30-Jan-2011 Joe Malin <jmalin@google.com> am f5002922: am 51990f9b: Merge "sdk doc change: Copy/Paste/Drag/Drop" into honeycomb

* commit 'f50029220664be6cc5b2b4c18377b0efa9fe6ca5':
sdk doc change: Copy/Paste/Drag/Drop
f50029220664be6cc5b2b4c18377b0efa9fe6ca5 30-Jan-2011 Joe Malin <jmalin@google.com> am 51990f9b: Merge "sdk doc change: Copy/Paste/Drag/Drop" into honeycomb

* commit '51990f9b0c7c0a22e1a3440c620ab97ebe4209c9':
sdk doc change: Copy/Paste/Drag/Drop
51990f9b0c7c0a22e1a3440c620ab97ebe4209c9 30-Jan-2011 Joe Malin <jmalin@google.com> Merge "sdk doc change: Copy/Paste/Drag/Drop" into honeycomb
9805d8e0818ea4e8ebddf20d40cf1856ecee6cc8 29-Jan-2011 Christopher Tate <ctate@google.com> Merge "Enable global (cross-application) drag/drop"
251602f410aaecc482a13d12984e67e3ddc1ef9c 29-Jan-2011 Christopher Tate <ctate@google.com> Enable global (cross-application) drag/drop

Also adds a new flag constant, View.DRAG_FLAG_GLOBAL, which indicates that
the drag operation should be allowed to propagate the drag outside the
originating app. When this flag is specified, all visible windows will
be notified about the ongoing drag.

Bug 3322724

Change-Id: Iaa3412a97f83f4e763019c9a03b5f09ebf75453f
iew.java
b6689044e917e8ec4de8972e646eb58f65406c1b 29-Jan-2011 Joe Onorato <joeo@google.com> am 9fecc19f: am 430dde3e: Merge "Don\'t force all views to be asking for lights out just because somebody did." into honeycomb

* commit '9fecc19f97453cc3ef258100f3a8e323011a7e80':
Don't force all views to be asking for lights out just because somebody did.
9fecc19f97453cc3ef258100f3a8e323011a7e80 29-Jan-2011 Joe Onorato <joeo@google.com> am 430dde3e: Merge "Don\'t force all views to be asking for lights out just because somebody did." into honeycomb

* commit '430dde3ef3b9b82bfca4ae51e225c6ad88aee514':
Don't force all views to be asking for lights out just because somebody did.
957a189bf2b28b063d7268e38b6cdae3304f1ea7 29-Jan-2011 Joe Onorato <joeo@google.com> Don't force all views to be asking for lights out just because somebody did.

Bug: 3396308
Bug: 3395422
Change-Id: Ic97a689bda12d3b53a6ecace504d411f2beb87d5
iew.java
98bf25269de0a8dc62c3d816b9d64fd36a1535e4 29-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Protected surface API"
489c8960b66387fb043350310e5b53554cff4c1f 28-Jan-2011 Romain Guy <romainguy@google.com> am 571a2c97: am b0c939ad: Merge "Prevent crash when detaching a SurfaceView. Bug #3400461" into honeycomb

* commit '571a2c971b9691f3ace247bf2110efccc782f3ba':
Prevent crash when detaching a SurfaceView. Bug #3400461
571a2c971b9691f3ace247bf2110efccc782f3ba 28-Jan-2011 Romain Guy <romainguy@google.com> am b0c939ad: Merge "Prevent crash when detaching a SurfaceView. Bug #3400461" into honeycomb

* commit 'b0c939adfa339c5cbb7f458072119269368b3ba5':
Prevent crash when detaching a SurfaceView. Bug #3400461
b0c939adfa339c5cbb7f458072119269368b3ba5 28-Jan-2011 Romain Guy <romainguy@google.com> Merge "Prevent crash when detaching a SurfaceView. Bug #3400461" into honeycomb
bafa3a31f58a52d49883db43167e28c16af1fc61 28-Jan-2011 Joe Onorato <joeo@google.com> am d6874a10: am cfd0bafd: Merge changes Iaa7bc042,Icc312fc9,I50ba06ed into honeycomb

* commit 'd6874a105ee584b1dc60aae2f2af7c78ee875114':
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.
8b16ebd0e80d5cc695d9a5567359a6c5dd9ac884 28-Jan-2011 Joe Onorato <joeo@google.com> am b940659f: am 94eb3d0f: Merge "Plumb whether an input view is actually visible or not through from the IME to the status bar." into honeycomb

* commit 'b940659f415d536966f1bb8af4d5281efa3a7f7a':
Plumb whether an input view is actually visible or not through from the IME to the status bar.
d6874a105ee584b1dc60aae2f2af7c78ee875114 28-Jan-2011 Joe Onorato <joeo@google.com> am cfd0bafd: Merge changes Iaa7bc042,Icc312fc9,I50ba06ed into honeycomb

* commit 'cfd0bafdebf1fccd3f5a0baed5cad8a539546e9b':
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.
b940659f415d536966f1bb8af4d5281efa3a7f7a 28-Jan-2011 Joe Onorato <joeo@google.com> am 94eb3d0f: Merge "Plumb whether an input view is actually visible or not through from the IME to the status bar." into honeycomb

* commit '94eb3d0f7e77eb94c9fee8523c013fbc0f9032c4':
Plumb whether an input view is actually visible or not through from the IME to the status bar.
cfd0bafdebf1fccd3f5a0baed5cad8a539546e9b 28-Jan-2011 Joe Onorato <joeo@google.com> Merge changes Iaa7bc042,Icc312fc9,I50ba06ed into honeycomb

* changes:
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.
94eb3d0f7e77eb94c9fee8523c013fbc0f9032c4 28-Jan-2011 Joe Onorato <joeo@google.com> Merge "Plumb whether an input view is actually visible or not through from the IME to the status bar." into honeycomb
f2a8b3c450f0570c1ad0ee6e0fae3cfb85bfb4de 28-Jan-2011 Dianne Hackborn <hackbod@google.com> am 8691b724: am 10e4148b: Merge "Fix issue #3291173: Problem report for NewsRoom - RSS News Reader" into honeycomb

* commit '8691b7243d40d5ef0ab94b8d5f204635d36bf1c4':
Fix issue #3291173: Problem report for NewsRoom - RSS News Reader
8691b7243d40d5ef0ab94b8d5f204635d36bf1c4 28-Jan-2011 Dianne Hackborn <hackbod@google.com> am 10e4148b: Merge "Fix issue #3291173: Problem report for NewsRoom - RSS News Reader" into honeycomb

* commit '10e4148b62c9bfed945c1bcea9dd5eea2a17b0d0':
Fix issue #3291173: Problem report for NewsRoom - RSS News Reader
420829ef78c5d86e470fc445279c7c10be6b5dbe 28-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3291173: Problem report for NewsRoom - RSS News Reader

The framework had started using the LayoutInflator's factory
for itself, which breaks apps that want to use it. Add a hack for
the framework to insert its own private factory.

Also fix a deadlock in the system process.

Change-Id: Iaf80186a5d7e4029faf89e968e184abdaabe514a
ayoutInflater.java
01d5edc49ae8995aabffe1a30bfd966faaf70bd6 28-Jan-2011 Romain Guy <romainguy@google.com> Prevent crash when detaching a SurfaceView.
Bug #3400461

Change-Id: I837d9d47b12bc5a8798b6dbb720de43b7539c3bc
urfaceView.java
iew.java
d6f5bde96b2fe82bc7e5d4e64266d585108c4648 20-Jan-2011 Glenn Kasten <gkasten@google.com> Protected surface API

To be used by DRM framework, implemented by display HAL

Change-Id: I054a07a94f4d5dbe792f3a597e2e49a100d90eb2
urface.java
indowManager.java
75afc6bfe27bffce1e75dd7107f410754cddbeb7 28-Jan-2011 Dianne Hackborn <hackbod@google.com> am f1a9ab26: am d23316bc: Merge "Maybe fix issue #3358322: Status and nav bar died while watching youtube" into honeycomb

* commit 'f1a9ab2673a2b5e6f684f7ceced177e3fc749ee7':
Maybe fix issue #3358322: Status and nav bar died while watching youtube
f1a9ab2673a2b5e6f684f7ceced177e3fc749ee7 28-Jan-2011 Dianne Hackborn <hackbod@google.com> am d23316bc: Merge "Maybe fix issue #3358322: Status and nav bar died while watching youtube" into honeycomb

* commit 'd23316bc8b49f269e5adcc91eae5698549faa0a3':
Maybe fix issue #3358322: Status and nav bar died while watching youtube
d23316bc8b49f269e5adcc91eae5698549faa0a3 28-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Maybe fix issue #3358322: Status and nav bar died while watching youtube" into honeycomb
6478adc6b4c35f8c56176582bcde029998e7436f 28-Jan-2011 Joe Onorato <joeo@google.com> Allow independent control of the back and the other navigation buttons.

Bug: 3363046
Change-Id: Icc312fc9ffbf2f584dc541489c9769b07ed50315
iew.java
7bb8eeb90cf55f409a282c1f36ca08aa48c10543 28-Jan-2011 Joe Onorato <joeo@google.com> Allow the status bar disable flags to be used as View's system ui visibility fields.

Bug: 3363046
Change-Id: I50ba06ed9a4d2f5d0e0c807437aea9900f44fee9
iew.java
857fd9b8562c29913e03ed29288bd1802d37dc60 28-Jan-2011 Joe Onorato <joeo@google.com> Plumb whether an input view is actually visible or not through from the IME
to the status bar.

Bug: 3391067
Change-Id: I049531155bf7ee0b29874916c0b5b0a45b73c09e
nputmethod/InputMethodManager.java
ed383e4d24427aa0a639083cc7079d01a82c0709 28-Jan-2011 Adam Powell <adamp@google.com> am 599814f1: am f95e8c5b: Merge "Fix bug 3400213 - MenuItem ignores String spannable colors" into honeycomb

* commit '599814f16c6f25495cf05146e2760bf0ca46455d':
Fix bug 3400213 - MenuItem ignores String spannable colors
599814f16c6f25495cf05146e2760bf0ca46455d 28-Jan-2011 Adam Powell <adamp@google.com> am f95e8c5b: Merge "Fix bug 3400213 - MenuItem ignores String spannable colors" into honeycomb

* commit 'f95e8c5bb24b3e2ea217fb140077526bde5d6dcc':
Fix bug 3400213 - MenuItem ignores String spannable colors
f95e8c5bb24b3e2ea217fb140077526bde5d6dcc 28-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3400213 - MenuItem ignores String spannable colors" into honeycomb
83a6f450bde23e1bfd07ee1c218dab35053dec76 28-Jan-2011 Dianne Hackborn <hackbod@google.com> Maybe fix issue #3358322: Status and nav bar died while watching youtube

Or at least make it better. Now if we get a failure locking the surface,
we mark to do a full relayout pass later to try to get a new good surface.

Also fix some bugs in how activity manager was classifying processes for
their OOM adjustment to make better choices in what to kill.

Change-Id: I8e4aa86744211ba7693f9828291d8bbf2698274f
iewRoot.java
6650185caed9d08162764ed9278095e602c7ab95 28-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3400213 - MenuItem ignores String spannable colors

Make MenuInflater preserve spannable strings.

Change-Id: I1e01827def3a87ea7814078df53debcc35f245d2
enuInflater.java
4d7b10630a5192bfe84181a83c70c38ef0655b5f 28-Jan-2011 Adam Powell <adamp@google.com> am e3ba5cfe: am d1f94e36: Merge "Fix bug 3399725 - externally reported issue 14317: android:scrollbarSize attribute does not work in ScrollView tag" into honeycomb

* commit 'e3ba5cfe9b4f524d955f77f5fff53440d80f9464':
Fix bug 3399725 - externally reported issue 14317: android:scrollbarSize attribute does not work in ScrollView tag
e3ba5cfe9b4f524d955f77f5fff53440d80f9464 28-Jan-2011 Adam Powell <adamp@google.com> am d1f94e36: Merge "Fix bug 3399725 - externally reported issue 14317: android:scrollbarSize attribute does not work in ScrollView tag" into honeycomb

* commit 'd1f94e36da6276acc00d0a3267a505fd6a61702d':
Fix bug 3399725 - externally reported issue 14317: android:scrollbarSize attribute does not work in ScrollView tag
d1f94e36da6276acc00d0a3267a505fd6a61702d 28-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3399725 - externally reported issue 14317: android:scrollbarSize attribute does not work in ScrollView tag" into honeycomb
e90a8b06b771881e08d04436d664417a865867f1 28-Jan-2011 Romain Guy <romainguy@google.com> am 01a58129: am 0250bc2f: Merge "Catch exception when ViewRoot\'s surface is not valid. Bug #3399426" into honeycomb

* commit '01a5812902668d0dbba51cd0efe22bfba3711230':
Catch exception when ViewRoot's surface is not valid. Bug #3399426
01a5812902668d0dbba51cd0efe22bfba3711230 28-Jan-2011 Romain Guy <romainguy@google.com> am 0250bc2f: Merge "Catch exception when ViewRoot\'s surface is not valid. Bug #3399426" into honeycomb

* commit '0250bc2faca14a332155b9111e0ee5dfc8493d6a':
Catch exception when ViewRoot's surface is not valid. Bug #3399426
fea12b87f2988f20ea87314c4a1b47e1a0f4d95e 28-Jan-2011 Romain Guy <romainguy@google.com> Catch exception when ViewRoot's surface is not valid.
Bug #3399426

Change-Id: Id4e0b8714c9520c4e84e81c2978752d46c912b6b
iewRoot.java
38d1f2530829ae14d5ee9bf7871cb359dbf03f89 28-Jan-2011 Chet Haase <chet@google.com> am 19312cfe: am 246bf85a: Merge "Fix NPE with display lists when view not attached" into honeycomb

* commit '19312cfef15608fca2c8403dc240e8ec4f54d6b7':
Fix NPE with display lists when view not attached
19312cfef15608fca2c8403dc240e8ec4f54d6b7 28-Jan-2011 Chet Haase <chet@google.com> am 246bf85a: Merge "Fix NPE with display lists when view not attached" into honeycomb

* commit '246bf85aaacbadf4e892270d714efcdb280a3de8':
Fix NPE with display lists when view not attached
3ba6774263db28bdfaa88bfdc4f2dfb37d6ce26a 27-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3399725 - externally reported issue 14317:
android:scrollbarSize attribute does not work in ScrollView tag

Change-Id: Ic2cc908936991f473ccfc60d9c2711edfd45c132
iew.java
32736f085b74c4dcc9da61212ccbd6fe2de193a7 20-Jan-2011 Joe Malin <jmalin@google.com> sdk doc change: Copy/Paste/Drag/Drop

Change-Id: Ifb9ed554ae1a72ce6badff1c79d95c02f30525e9
ragEvent.java
iew.java
f4ac547f868db7c8a358e1f6e3d8fcebb02dbd49 27-Jan-2011 Chet Haase <chet@google.com> Fix NPE with display lists when view not attached

There was logic in ViewGroup that assumed that an accelerated
view must always be able to get a display list for any child
that it was drawing. One situation occurred, however, that
caused a problem with this - a contacts activity was started
and not yet attached, but was being asked to render into an
accelerated canvas. We assumed that the child would have a display
list and simply called getDisplayList(). But since that call
returned null, we later deref'd the null object.

The fix is to check whether a child can have a display list
instead of assuming that it can just because the container view
is accelerated.

Change-Id: I7de62fd597ad50720c9585d621bec02e77c171df
iew.java
iewGroup.java
75b8c858ab43375092da06658b6046a007eb85ef 27-Jan-2011 Chet Haase <chet@google.com> am cd88c39b: am e38ba4ac: Fix gmail crossfade artifacts.

* commit 'cd88c39b989fc927016aa8d1c3794b872519d575':
Fix gmail crossfade artifacts.
cd88c39b989fc927016aa8d1c3794b872519d575 27-Jan-2011 Chet Haase <chet@google.com> am e38ba4ac: Fix gmail crossfade artifacts.

* commit 'e38ba4acbe6f1536997ffb98d662fc3eff07add8':
Fix gmail crossfade artifacts.
e38ba4acbe6f1536997ffb98d662fc3eff07add8 27-Jan-2011 Chet Haase <chet@google.com> Fix gmail crossfade artifacts.

Display lists could not handle custom views that did their
own draw dispatching, as is the case with gmail. This fix makes that
possible and display lists handle this case robustly. Now the
crossfade works because the display lists contain the right content.

Change-Id: Iea7d6e99239b24f833701d546fe083aa00e2b31b
iewGroup.java
82782446cd0ea26604fcbd22d4b7e3608f32136d 27-Jan-2011 Chet Haase <chet@google.com> am fcf51a67: am a45c056e: Merge "Fix display List bugs" into honeycomb

* commit 'fcf51a67967a402bf2178c3d0e09828e8942cade':
Fix display List bugs
fcf51a67967a402bf2178c3d0e09828e8942cade 27-Jan-2011 Chet Haase <chet@google.com> am a45c056e: Merge "Fix display List bugs" into honeycomb

* commit 'a45c056e62be0ca97edbdd6f6660822cf453c886':
Fix display List bugs
a45c056e62be0ca97edbdd6f6660822cf453c886 27-Jan-2011 Chet Haase <chet@google.com> Merge "Fix display List bugs" into honeycomb
a1eb2ff008ce1b7d9d7039718a8295113abcb81a 27-Jan-2011 Romain Guy <romainguy@google.com> am 38f34ed2: am 7c53a0d6: Merge "Don\'t draw the same triangles several times. Bug #3388197" into honeycomb

* commit '38f34ed20a52d027cbf1b72fe22c6d616810613b':
Don't draw the same triangles several times. Bug #3388197
38f34ed20a52d027cbf1b72fe22c6d616810613b 27-Jan-2011 Romain Guy <romainguy@google.com> am 7c53a0d6: Merge "Don\'t draw the same triangles several times. Bug #3388197" into honeycomb

* commit '7c53a0d6078620df3abc4997acfe267ef903f5c6':
Don't draw the same triangles several times. Bug #3388197
678e0adbdbac5fa3f25ca8371fdff1b3182f67e9 25-Jan-2011 Chet Haase <chet@google.com> Fix display List bugs

Various property setters in View need to invalidate the parent's
cache to get redrawn properly when accelerated with display lists.

Also, fix logic around display lists and old-style Animations in
ViewGroup.

Change-Id: I70e1c2fa49e62228ee4a1301a006ce50bda4c305
iew.java
iewGroup.java
4f09f5417b5c14fd31336dacfff86972e7885a03 27-Jan-2011 Romain Guy <romainguy@google.com> Don't draw the same triangles several times.
Bug #3388197

Change-Id: Ief1dfd9447f144e9992340a173d2893e5e049129
iew.java
166f26e2c2378decaf023a4c829b03034a65d160 27-Jan-2011 Dianne Hackborn <hackbod@google.com> am f35d43f9: am 2dc9c784: Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb

* commit 'f35d43f90b9e4553343a59b217430aaba91b0d1f':
Fix issue #3382992: IME close animation stutters from URL bar
3a6b7be25d8158c471034029de138ce0ee8844a3 27-Jan-2011 Romain Guy <romainguy@google.com> am 0d8f88b2: am ede54ce2: Merge "Fix crash in movie studio." into honeycomb

* commit '0d8f88b272f80f2a3594d2d988faabed4e540631':
Fix crash in movie studio.
b5fb99ff4d2022966073166e5ed026f3b55faf6d 27-Jan-2011 Romain Guy <romainguy@google.com> am 0518e7b5: am 9c8307fb: Merge "Make sure that we update SurfaceView\'s window with display lists. Bug #3395487" into honeycomb

* commit '0518e7b5bddfdeb010591c736fb080009a99cd14':
Make sure that we update SurfaceView's window with display lists. Bug #3395487
f35d43f90b9e4553343a59b217430aaba91b0d1f 27-Jan-2011 Dianne Hackborn <hackbod@google.com> am 2dc9c784: Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb

* commit '2dc9c784b2fab67a8233318f559e65f444bf0c97':
Fix issue #3382992: IME close animation stutters from URL bar
2dc9c784b2fab67a8233318f559e65f444bf0c97 27-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb
63042d6a0347017fcc4cd98560ca3407044c165c 27-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3382992: IME close animation stutters from URL bar

Gross hack is grosser.

Change-Id: I0a34bf1d7c16c547402318f24776a5f7e8b7552b
iew.java
iewRoot.java
0d8f88b272f80f2a3594d2d988faabed4e540631 27-Jan-2011 Romain Guy <romainguy@google.com> am ede54ce2: Merge "Fix crash in movie studio." into honeycomb

* commit 'ede54ce2fe3252d4ab56b90de464b35a6920970d':
Fix crash in movie studio.
0c75622cf80e53c13d079bfe1f3df0b185c4f02d 27-Jan-2011 Romain Guy <romainguy@google.com> Fix crash in movie studio.

Change-Id: I06acb0b39cc3839cf7abb58b32dec9b9bec424d6
urfaceView.java
0518e7b5bddfdeb010591c736fb080009a99cd14 27-Jan-2011 Romain Guy <romainguy@google.com> am 9c8307fb: Merge "Make sure that we update SurfaceView\'s window with display lists. Bug #3395487" into honeycomb

* commit '9c8307fb19558ffe2e897bad009fb038bb9e845b':
Make sure that we update SurfaceView's window with display lists. Bug #3395487
f2499fa434521a8948387afe8f0acd4f39620500 27-Jan-2011 Romain Guy <romainguy@google.com> Make sure that we update SurfaceView's window with display lists.
Bug #3395487

Change-Id: Idaef3953a596ee3b4049a2d8aef6dda676b1545b
urfaceView.java
c02a1cc1b148e1d57b6d2f91e23720c308ed5afb 27-Jan-2011 Romain Guy <romainguy@google.com> am 62bea428: am 9e7c2c6d: Merge "Optimize invalidate() calls." into honeycomb

* commit '62bea4287dafc88b640d7e3fc8a433ddd858a5b8':
Optimize invalidate() calls.
62bea4287dafc88b640d7e3fc8a433ddd858a5b8 27-Jan-2011 Romain Guy <romainguy@google.com> am 9e7c2c6d: Merge "Optimize invalidate() calls." into honeycomb

* commit '9e7c2c6ded1144122915cfb8bd663e789c7eb93b':
Optimize invalidate() calls.
9e7c2c6ded1144122915cfb8bd663e789c7eb93b 27-Jan-2011 Romain Guy <romainguy@google.com> Merge "Optimize invalidate() calls." into honeycomb
0fd89bf7221431260883cee4597e2db942d799a0 27-Jan-2011 Romain Guy <romainguy@google.com> Optimize invalidate() calls.

Change-Id: I09d99290ca74f96046702bc2604f125a1276ce05
iew.java
cf5afe9299f6a8b7d76935d8efabe36c2423cc27 26-Jan-2011 Romain Guy <romainguy@google.com> am 08cdf6fd: am 940df6dd: Merge "Remove unused API" into honeycomb

* commit '08cdf6fd9ac9bbbd77024518c45034d66b5830c6':
Remove unused API
2b1847ea60650a9f68372abe860415f18b55081d 26-Jan-2011 Romain Guy <romainguy@google.com> Remove unused API

Change-Id: I1714fd82a64b752f0350ef4ef9179ce19e089c6a
LES20Canvas.java
08cdf6fd9ac9bbbd77024518c45034d66b5830c6 26-Jan-2011 Romain Guy <romainguy@google.com> am 940df6dd: Merge "Remove unused API" into honeycomb

* commit '940df6dd83624e5f46b147837d848853a1dab9b2':
Remove unused API
940df6dd83624e5f46b147837d848853a1dab9b2 26-Jan-2011 Romain Guy <romainguy@google.com> Merge "Remove unused API" into honeycomb
b648c60854e74ffda4caefa26b9e1d3f6cdbf13f 26-Jan-2011 Joe Onorato <joeo@google.com> am a4a5ec5e: am 1aadb210: Merge changes I48392c75,Id09437a4,I4a0aa878 into honeycomb

* commit 'a4a5ec5e748f99c40301c9c422b3d36cb44c6081':
Expose the window flags for lights out mode.
Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its own.
Make FLAG_FULLSCREEN not go into lights out mode anymore.
a4a5ec5e748f99c40301c9c422b3d36cb44c6081 26-Jan-2011 Joe Onorato <joeo@google.com> am 1aadb210: Merge changes I48392c75,Id09437a4,I4a0aa878 into honeycomb

* commit '1aadb2108d7614d9d1ff61b41c6c31cb8d211ab9':
Expose the window flags for lights out mode.
Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its own.
Make FLAG_FULLSCREEN not go into lights out mode anymore.
1aadb2108d7614d9d1ff61b41c6c31cb8d211ab9 26-Jan-2011 Joe Onorato <joeo@google.com> Merge changes I48392c75,Id09437a4,I4a0aa878 into honeycomb

* changes:
Expose the window flags for lights out mode.
Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its own.
Make FLAG_FULLSCREEN not go into lights out mode anymore.
f5240cddbd5732c3929f7cd298666eb9bc999a8f 26-Jan-2011 Romain Guy <romainguy@google.com> am 7c55da5d: am f5b27e35: Merge "Fix NPE in YouTube. Bug #3385339" into honeycomb

* commit '7c55da5db50400400efbcd53a5cdc1a79c04cc63':
Fix NPE in YouTube. Bug #3385339
7c55da5db50400400efbcd53a5cdc1a79c04cc63 26-Jan-2011 Romain Guy <romainguy@google.com> am f5b27e35: Merge "Fix NPE in YouTube. Bug #3385339" into honeycomb

* commit 'f5b27e35c1e0e46ffd882606d0783875e1a1ff7b':
Fix NPE in YouTube. Bug #3385339
d30b36d3cdccc7854dedf5e3c020d2f4a8afa7b8 26-Jan-2011 Romain Guy <romainguy@google.com> Fix NPE in YouTube.
Bug #3385339

Change-Id: Id7b307994e343cdb808161a7fae590536f04252e
iew.java
f5b27e35c1e0e46ffd882606d0783875e1a1ff7b 26-Jan-2011 Romain Guy <romainguy@google.com> Merge "Fix NPE in YouTube. Bug #3385339" into honeycomb
14782f705e94d4e563a48efc85fd25129fd38a7d 26-Jan-2011 Joe Onorato <joeo@google.com> Expose the window flags for lights out mode.

I hadn't wanted to do this, but it makes porting the FLAG_FULLSCREEN
stuff over to this simpler because you don't have to go find a view
to proxy through.

This change also clears the flag everywhere when the window manager
notifies the views that the change has come back.

Change-Id: I48392c7550925bcca50c5bb9e1f263e99de6c7bc
iew.java
iewRoot.java
indowManager.java
e29131cac364d38e6ee598d190027a1b9bdda01d 26-Jan-2011 Chet Haase <chet@google.com> am b69e985b: am ace9233b: Merge "Fix invalidation problem with display lists" into honeycomb

* commit 'b69e985b9aa059d6cf7498a2350d3f814b4cf711':
Fix invalidation problem with display lists
b69e985b9aa059d6cf7498a2350d3f814b4cf711 26-Jan-2011 Chet Haase <chet@google.com> am ace9233b: Merge "Fix invalidation problem with display lists" into honeycomb

* commit 'ace9233b11e9be0d894fcf36cdee4c6b0a20d3bd':
Fix invalidation problem with display lists
ace9233b11e9be0d894fcf36cdee4c6b0a20d3bd 26-Jan-2011 Chet Haase <chet@google.com> Merge "Fix invalidation problem with display lists" into honeycomb
77785f9d257f663087a8c27957f506b9f7aa24c2 26-Jan-2011 Chet Haase <chet@google.com> Fix invalidation problem with display lists

It was previously the case that a view marked ~DRAWN must be
invalidated correctly already, so we would not mark any flags.
Display lists added new logic such that an undrawn node must still
be checked to see if its cache has been marked invalid. If not,
we must mark it invalid to make sure that a future rendering call
will cause the view to refresh its display list, thus refreshing its
child node tree's display lists, since that's where the invalidate
call must have originated.

Change-Id: I0f73c85459174c0e3f16d703f7eb914a706c808a
iew.java
iewGroup.java
e9a7d0dfb94726b8d742093fae031a7f91cc1f8c 26-Jan-2011 Romain Guy <romainguy@google.com> am 5742a277: am b6110a1e: Merge "Make sure the opaque bitmap is opaque. GL doesn\'t like being lied to. Bug #3382992" into honeycomb

* commit '5742a2771025fc40f00777b5b4aa02765317f5f9':
Make sure the opaque bitmap is opaque. GL doesn't like being lied to. Bug #3382992
5742a2771025fc40f00777b5b4aa02765317f5f9 26-Jan-2011 Romain Guy <romainguy@google.com> am b6110a1e: Merge "Make sure the opaque bitmap is opaque. GL doesn\'t like being lied to. Bug #3382992" into honeycomb

* commit 'b6110a1ef41337a5f3042c7e08b63274cee4faf6':
Make sure the opaque bitmap is opaque. GL doesn't like being lied to. Bug #3382992
f90f8171e6acb56f9f87093c01fd586f2140697a 26-Jan-2011 Romain Guy <romainguy@google.com> Make sure the opaque bitmap is opaque. GL doesn't like being lied to.
Bug #3382992

The result still looks wrong but it works as designed, unfortunately.

Change-Id: I6108e199fa336cb01faaabf6c75faa3b71c2339b
iewRoot.java
fbe446d7f2b9679f356d7a1d2e4a0ceab515ba76 26-Jan-2011 Jeff Brown <jeffbrown@google.com> am 391ef42c: am 3168a137: Merge "Fix surface frame size reporting." into honeycomb

* commit '391ef42c92ab97e5c22a720973790696d30576ca':
Fix surface frame size reporting.
391ef42c92ab97e5c22a720973790696d30576ca 25-Jan-2011 Jeff Brown <jeffbrown@google.com> am 3168a137: Merge "Fix surface frame size reporting." into honeycomb

* commit '3168a13723ff0f3f87937457fe33c3518caa4bb9':
Fix surface frame size reporting.
3168a13723ff0f3f87937457fe33c3518caa4bb9 25-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix surface frame size reporting." into honeycomb
402ede322d2d9bcb1675dacb6106624a2db36568 25-Jan-2011 Romain Guy <romainguy@google.com> am 535602fe: am 3ac1b0f0: Merge "Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339" into honeycomb

* commit '535602fe5572e2a648251faf01b4dcd3649d5ede':
Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339
535602fe5572e2a648251faf01b4dcd3649d5ede 25-Jan-2011 Romain Guy <romainguy@google.com> am 3ac1b0f0: Merge "Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339" into honeycomb

* commit '3ac1b0f0d4d78568faf7616b2a8b808bdf5c4882':
Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339
3ac1b0f0d4d78568faf7616b2a8b808bdf5c4882 25-Jan-2011 Romain Guy <romainguy@google.com> Merge "Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339" into honeycomb
bfdb926d83056538796aed53a80d9cabb16dffdc 25-Jan-2011 Gilles Debunne <debunne@google.com> am a5b43a04: am c927ec50: Merge "Overscoll bounce amplitude is smaller." into honeycomb

* commit 'a5b43a04921711da8fa09b4f30ff5977f8222954':
Overscoll bounce amplitude is smaller.
a5b43a04921711da8fa09b4f30ff5977f8222954 25-Jan-2011 Gilles Debunne <debunne@google.com> am c927ec50: Merge "Overscoll bounce amplitude is smaller." into honeycomb

* commit 'c927ec50497bf5f477663deb7b366b37185d46b0':
Overscoll bounce amplitude is smaller.
c927ec50497bf5f477663deb7b366b37185d46b0 25-Jan-2011 Gilles Debunne <debunne@google.com> Merge "Overscoll bounce amplitude is smaller." into honeycomb
30bc34f191ca8a009af313fc751e5b4bff6e39a1 25-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix surface frame size reporting.

The SurfaceHolder provided by the wallpaper service was not reporting
the correct size in getSurfaceFrame(). This broke an optimization in
the ImageWallpaper. The old code happened to work because calling
lockCanvas on the SurfaceHolder with a null dirty rectangle happened
to have the side-effect of updating the SurfaceHolder's surface frame
size field because it passed mSurfaceFrame as the dirty rect, causing
mSurfaceFrame to be set to the size of the region to be drawn.

However, relying on this side-effect is wrong. Among other things,
the dirty region could actually be smaller than the surface frame.

This patch fixes WallpaperService, SurfaceView and ViewRoot to ensure
that the surface frame size is always set explicitly and is not modified
by calls to lockCanvas.

Change-Id: I10948f5ec269409ceaf0f7d32b3f6731e9499ebc
urfaceView.java
iewRoot.java
6e81e57b526a3e23038e365414acbb9688f8e44a 25-Jan-2011 Romain Guy <romainguy@google.com> Prevent crash in View when gathering attributes without an AttachInfo.
Bug #3385339

Change-Id: I06b6f03721b52ab0b9d13c2fb3e133ae25d99970
iewRoot.java
8ce7aab79e711ff5de54985aeffb1a205b7f9942 25-Jan-2011 Gilles Debunne <debunne@google.com> Overscoll bounce amplitude is smaller.

Per Dan's request for poor behavior on low speed Overscrolls.

Change-Id: I184133df5e6cc68d8d9bf39edb62d42e13d27a90
iewConfiguration.java
335f1513d7644a62e8d1a5b47befd950371d4665 25-Jan-2011 Romain Guy <romainguy@google.com> am b372d7cb: am 89fca351: Merge "Make nested hardware layers work again" into honeycomb

* commit 'b372d7cbea0b80cda3c7b08dcaddbd5c398911b2':
Make nested hardware layers work again
b372d7cbea0b80cda3c7b08dcaddbd5c398911b2 25-Jan-2011 Romain Guy <romainguy@google.com> am 89fca351: Merge "Make nested hardware layers work again" into honeycomb

* commit '89fca351702e3ec54c2748e2e2676ec1b2fbe9dc':
Make nested hardware layers work again
5e7f766e99c679110fa95501728bb81a8e396e58 25-Jan-2011 Romain Guy <romainguy@google.com> Make nested hardware layers work again

Change-Id: I97bde694ec1b712a1e010c8137919e6d64af3148
iew.java
iewGroup.java
caf48e95e7ce9417c1f89aa28bc262b9ffd90797 25-Jan-2011 Romain Guy <romainguy@google.com> am 7b4950ae: am 169fafe6: Merge "Fix rendering issues with animated layers. Bug #3385247" into honeycomb

* commit '7b4950ae350255a393125cc4262925b432770ac4':
Fix rendering issues with animated layers. Bug #3385247
7b4950ae350255a393125cc4262925b432770ac4 25-Jan-2011 Romain Guy <romainguy@google.com> am 169fafe6: Merge "Fix rendering issues with animated layers. Bug #3385247" into honeycomb

* commit '169fafe6797dc4c7ae17eba29b72034be6c9c8ec':
Fix rendering issues with animated layers. Bug #3385247
8168396d1acbcb5fdd29eeda4c30b2803d5283ae 25-Jan-2011 Romain Guy <romainguy@google.com> Fix rendering issues with animated layers.
Bug #3385247

- The layer's alpha was interpreted in the wrong range 0..255 instead of 0..1
- 9-patches would not correctly dirty the layer region, the generated mesh
was incorrect

Change-Id: I4916249bedcdb0794929f3796bd17854971efc88
iewGroup.java
136f1b42a0b05cf33708c052bb175d8ef592a25c 25-Jan-2011 Romain Guy <romainguy@google.com> am 74d9a373: am 92dcf629: Merge "Fix rendering issues in Movie Studio." into honeycomb

* commit '74d9a373f9ac4fd1a8e51de7de5d7611317c5755':
Fix rendering issues in Movie Studio.
74d9a373f9ac4fd1a8e51de7de5d7611317c5755 25-Jan-2011 Romain Guy <romainguy@google.com> am 92dcf629: Merge "Fix rendering issues in Movie Studio." into honeycomb

* commit '92dcf629e1ecb60fc497b8b1b3d2aab35c334672':
Fix rendering issues in Movie Studio.
d88f54c5c4ce59585b8b9e6009836f14c00be743 25-Jan-2011 Romain Guy <romainguy@google.com> Fix rendering issues in Movie Studio.

Change-Id: I5b293767b9bdedeef0df4d27a179d0da48d7fe32
ardwareRenderer.java
e965dee34135e7bce186408d1265a5cfd05a9fb1 25-Jan-2011 Romain Guy <romainguy@google.com> am 4e1db6da: am 2ff6d705: Merge "Enable partial invalidates when rendering with OpenGL." into honeycomb

* commit '4e1db6dadd404c023b71ae1ab54e990fce56abc3':
Enable partial invalidates when rendering with OpenGL.
4e1db6dadd404c023b71ae1ab54e990fce56abc3 25-Jan-2011 Romain Guy <romainguy@google.com> am 2ff6d705: Merge "Enable partial invalidates when rendering with OpenGL." into honeycomb

* commit '2ff6d70521fe1f537f8ebd631f0b9b3aa8becf94':
Enable partial invalidates when rendering with OpenGL.
2ff6d70521fe1f537f8ebd631f0b9b3aa8becf94 25-Jan-2011 Romain Guy <romainguy@google.com> Merge "Enable partial invalidates when rendering with OpenGL." into honeycomb
7d7b5490a0b0763e831b31bc11f17d8159b5914a 25-Jan-2011 Romain Guy <romainguy@google.com> Enable partial invalidates when rendering with OpenGL.

Change-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130
LES20Canvas.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
iewGroup.java
iewRoot.java
f8ac62237babea7ec08ba71d00539f33d6ad560d 25-Jan-2011 Chet Haase <chet@google.com> am 235a20a3: am 21d405f5: Merge "Fix for display list problem with listview items." into honeycomb

* commit '235a20a3d1b57492ba0fbebb7f9dcce41ef011d0':
Fix for display list problem with listview items.
235a20a3d1b57492ba0fbebb7f9dcce41ef011d0 25-Jan-2011 Chet Haase <chet@google.com> am 21d405f5: Merge "Fix for display list problem with listview items." into honeycomb

* commit '21d405f5fa0ccf75e805e3f9404a53579416e2da':
Fix for display list problem with listview items.
3b2b0fc257b4c69cdd5c1f2885359786af6787df 25-Jan-2011 Chet Haase <chet@google.com> Fix for display list problem with listview items.

We were not correctly invalidating items that were being attached
to listviews.

Change-Id: I5d29a82c4276f09e401c6869ab1e86a3c8281366
iewGroup.java
63502a7fb2a0524d286d8ff1b2b84faf284927de 25-Jan-2011 Chet Haase <chet@google.com> am 2292fb4a: am 50d4de21: Merge "Fix bug with display lists and layout." into honeycomb

* commit '2292fb4afb942b5880ef20bca5b255c5e005fa5e':
Fix bug with display lists and layout.
2292fb4afb942b5880ef20bca5b255c5e005fa5e 25-Jan-2011 Chet Haase <chet@google.com> am 50d4de21: Merge "Fix bug with display lists and layout." into honeycomb

* commit '50d4de21ee6a2ee62c7ad89dfdfd82d1045e7a58':
Fix bug with display lists and layout.
5af048c791d1fc361e6fe3e901adc9598c8bfb72 25-Jan-2011 Chet Haase <chet@google.com> Fix bug with display lists and layout.

requestLayout() and forceLayout() should force the INVALIDATED
flag to be set, which causes a view's display list to be regenerated
on the next drawing operation. This is necessary when containers change
due to layout requests.

Change-Id: I5b18b5936b59f0605f93c8f45baf83a76dab4e5e
iew.java
76a23f8b2e22273ecba8443a90fed53e45f52a2e 25-Jan-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of eebc944f to master

Change-Id: I969cf69d2bd6901742d2cdf1bd44344ee7ba9fc7
eebc944fd13099945b04a99f15173cdaada1ecf2 25-Jan-2011 Jeff Brown <jeffbrown@google.com> am aaa55d3f: Merge "New orientation listener." into honeycomb

* commit 'aaa55d3f45744814907d0809befb49281ced462e':
New orientation listener.
aaa55d3f45744814907d0809befb49281ced462e 25-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "New orientation listener." into honeycomb
ad184530375fc78b26b8e9fa8592f0ed0b7f7b0d 25-Jan-2011 Gilles Debunne <debunne@google.com> am c46491fc: am 7c8c6d68: Typo in InputMethodManager\'s documentation

* commit 'c46491fc2fdaa8cddaa2a4f83f50630b7d2e2a74':
Typo in InputMethodManager's documentation
c46491fc2fdaa8cddaa2a4f83f50630b7d2e2a74 25-Jan-2011 Gilles Debunne <debunne@google.com> am 7c8c6d68: Typo in InputMethodManager\'s documentation

* commit '7c8c6d689280ecfbd151a2e0cb40341768470676':
Typo in InputMethodManager's documentation
3a23a82275aaeb8e406e5b512112b845dda32bc2 24-Jan-2011 Gilles Debunne <debunne@google.com> am 287035f5: am 88b5953a: Merge "NULL inputType text fields should never show the IME." into honeycomb

* commit '287035f5749e4a5d4f088ee5f215f9ec4d03cc42':
NULL inputType text fields should never show the IME.
287035f5749e4a5d4f088ee5f215f9ec4d03cc42 24-Jan-2011 Gilles Debunne <debunne@google.com> am 88b5953a: Merge "NULL inputType text fields should never show the IME." into honeycomb

* commit '88b5953ab2f63ed6f820bb13845cf8fecb2d57e3':
NULL inputType text fields should never show the IME.
7c8c6d689280ecfbd151a2e0cb40341768470676 24-Jan-2011 Gilles Debunne <debunne@google.com> Typo in InputMethodManager's documentation

Change-Id: I711e6d24462e336546b789fac0b9c6f529ebe260
nputmethod/InputMethodManager.java
88b5953ab2f63ed6f820bb13845cf8fecb2d57e3 24-Jan-2011 Gilles Debunne <debunne@google.com> Merge "NULL inputType text fields should never show the IME." into honeycomb
4519f07e9c6b993fbe7a3d3df24d71d9450a54f1 23-Jan-2011 Jeff Brown <jeffbrown@google.com> New orientation listener.

The objective in this listener is to be more careful about the
signal processing to prevent spurious orientation changes
and to make all of the tweakable factors physically meaningful.

The calibration is defined in terms of time constants and
does not assume a particular discrete sampling rate. This is
useful because it allows us to change the accelerometer sampling
interval if desired without having to change the calibration.
Moreover, the accelerometer sampling interval can vary +/- 20ms
from one sample to the next even in normal circumstances.

Proposed orientation changes are weighted by confidence factors
that vary exponentially in relation to how close the device
is to the ideal orientation change posture (screen is vertical,
angle is exactly at the midpoint of the orientation quadrant,
and no external acceleration beside gravity). When not in an ideal
posture, the device takes proportionally longer to settle into a
new orientation state.

Added a little tool to plot the log output of the
WindowOrientationListener. Check the README for more information
about how to use it.

Change-Id: I787f02d03582ff26367df65eda8d9ce85c5cb343
indowOrientationListener.java
61b9649a50aefacc74449728e96f37f6f9d7a8b3 24-Jan-2011 Huahui Wu <hwu@google.com> am 6e4a69bb: am 94b8b114: Merge "A few small cleanning-ups." into honeycomb

* commit '6e4a69bbf7d7566899ec76d2634538dd79ca4166':
A few small cleanning-ups.
b05aacc1aea4eb7dec3126c88fd53680fb8765cc 24-Jan-2011 Joe Onorato <joeo@google.com> am ab8967ae: am da34e13b: Merge "Remove unwanted parameter (it was a typo)." into honeycomb

* commit 'ab8967ae9db71291094da2967e744038b7e91ff7':
Remove unwanted parameter (it was a typo).
3873da3c6ee0a63de0d91e6045b7546402f4ce3d 24-Jan-2011 Chet Haase <chet@google.com> am 2acb67ec: am 67005b05: Merge "Use optimized display lists for all hwaccelerated rendering" into honeycomb

* commit '2acb67ec9fe34316231519373f59dfb76c03d57b':
Use optimized display lists for all hwaccelerated rendering
6e4a69bbf7d7566899ec76d2634538dd79ca4166 24-Jan-2011 Huahui Wu <hwu@google.com> am 94b8b114: Merge "A few small cleanning-ups." into honeycomb

* commit '94b8b114ab9abf5ccad6b85deb08aac2a359915d':
A few small cleanning-ups.
10f4126a367071a49f208f10ceb1ed0e1151d48c 24-Jan-2011 Joe Onorato <joeo@google.com> resolved conflicts for merge of faf083ef to master

Change-Id: I316a1b4356f6dba6c3880ccb02dbb2fa00d21a85
8cbb4c6e30cff706a243599634aeb8fd9a818d92 24-Jan-2011 Gilles Debunne <debunne@google.com> NULL inputType text fields should never show the IME.

Bug 3381317

Changes made in https://android-git.corp.google.com/g/#change,91880
displayed the IME onFocus. However, the test was not consistent to what
is done in touch event. textIsEditable is now checked too.

Change-Id: If11382c1c90a557839b87d62494253470c42b621
nputmethod/InputMethodManager.java
f93246923f0a8c85fddb508533d63d59977f75eb 24-Jan-2011 Huahui Wu <hwu@google.com> A few small cleanning-ups.

1. Remove mDeferMultiTouch in WebView, it was for testing only but
we don't need it now since we always pass MultiTouch to WebKit.

2. Remove the use of mDeferMultiTouch in DRT tests.

3. Correct the index of getX(Y) for the second touch point in the
debug string of MotionEvent.

Change-Id: Ib63cfc5935af1a169ed26b2b138f74908492bc18
otionEvent.java
ab8967ae9db71291094da2967e744038b7e91ff7 24-Jan-2011 Joe Onorato <joeo@google.com> am da34e13b: Merge "Remove unwanted parameter (it was a typo)." into honeycomb

* commit 'da34e13bb4ef97832c43489937a26d314437a1d7':
Remove unwanted parameter (it was a typo).
2acb67ec9fe34316231519373f59dfb76c03d57b 24-Jan-2011 Chet Haase <chet@google.com> am 67005b05: Merge "Use optimized display lists for all hwaccelerated rendering" into honeycomb

* commit '67005b05cc76a38a5b3bf6e83957dd03619e9126':
Use optimized display lists for all hwaccelerated rendering
da34e13bb4ef97832c43489937a26d314437a1d7 24-Jan-2011 Joe Onorato <joeo@google.com> Merge "Remove unwanted parameter (it was a typo)." into honeycomb
e595cad6ee3971ff43b94a71fb46d1a72d84544f 24-Jan-2011 Joe Onorato <joeo@google.com> Remove unwanted parameter (it was a typo).

Bug: 3241144
Change-Id: I569f6c8dffb17041a422be6084b6eab89624a57b
iew.java
daf98e941e140e8739458126640183b9f296a2ab 10-Jan-2011 Chet Haase <chet@google.com> Use optimized display lists for all hwaccelerated rendering

Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.

In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.

This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.

This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.

Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
isplayList.java
LES20Canvas.java
LES20DisplayList.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
iewDebug.java
iewGroup.java
iewRoot.java
faf083ef0b7b893acb871084231d20e08e208f8f 24-Jan-2011 Joe Onorato <joeo@google.com> am 4c541b13: Merge "visibility ("lights out") API." into honeycomb

* commit '4c541b1303b0ee2b9b0d19bee85d3780c5c4c110':
visibility ("lights out") API.
4c541b1303b0ee2b9b0d19bee85d3780c5c4c110 24-Jan-2011 Joe Onorato <joeo@google.com> Merge "visibility ("lights out") API." into honeycomb
664644d9e012aa2a28ac96f305b1ce6499ec8806 24-Jan-2011 Joe Onorato <joeo@google.com> visibility ("lights out") API.

1. Views may setSystemUiVisibility() to recommend that
the system chrome (status bar or other UI) show or hide
itself. (This functionality was previously available only
via the FLAG_FULLSCREEN window flag for some SystemUI
implementations.)

2. Views may register a OnSystemUiVisibilityChangedListener
on a view, and find out when the system UI actually
appears or disappears, allowing apps to coordinate the
appearance of their own UI if desired.

Bug: 3241144
Change-Id: Ia1758d94099182d49a1e3688ea2738ae4995b829
Window.aidl
WindowManager.aidl
iew.java
iewGroup.java
iewRoot.java
indowManager.java
indowManagerPolicy.java
e3ba084285b96e69e7ccd09cd89f649fc7beac69 24-Jan-2011 Romain Guy <romainguy@google.com> am ff42d952: am 502d41d8: Merge "Add support for arcs." into honeycomb

* commit 'ff42d952ebb1d5393951f1644ee3d1b9e0fbc9e5':
Add support for arcs.
ff42d952ebb1d5393951f1644ee3d1b9e0fbc9e5 24-Jan-2011 Romain Guy <romainguy@google.com> am 502d41d8: Merge "Add support for arcs." into honeycomb

* commit '502d41d85958fb729a17e0651e80134e1c41c621':
Add support for arcs.
8b2f5267f16c295f12faab810527cd6311997e34 24-Jan-2011 Romain Guy <romainguy@google.com> Add support for arcs.

Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
LES20Canvas.java
1166e0f3adf1647ff1068f9ca3e8332d75bc891c 23-Jan-2011 Romain Guy <romainguy@google.com> am 22fdb6f3: am d182046e: Merge "Add support for ovals and stroked rectangles." into honeycomb

* commit '22fdb6f3e94f88687a2f624124ef678282588b75':
Add support for ovals and stroked rectangles.
22fdb6f3e94f88687a2f624124ef678282588b75 23-Jan-2011 Romain Guy <romainguy@google.com> am d182046e: Merge "Add support for ovals and stroked rectangles." into honeycomb

* commit 'd182046ee67c1196e52b74dc9f3f89dcb816785d':
Add support for ovals and stroked rectangles.
c1cd9ba335b293f11e1082447ef08e474710a05f 23-Jan-2011 Romain Guy <romainguy@google.com> Add support for ovals and stroked rectangles.

Change-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f
LES20Canvas.java
ccb9a0a9f0376f5971d0c0f79b297ec0cc1dd6c1 23-Jan-2011 Dianne Hackborn <hackbod@google.com> am 11a5d424: am b149f5c8: Merge "Fix issue #3302006: Cannot see the dialog lunched from a transparent activity." into honeycomb

* commit '11a5d42454fad1f61eb4874855113c5416396888':
Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.
11a5d42454fad1f61eb4874855113c5416396888 23-Jan-2011 Dianne Hackborn <hackbod@google.com> am b149f5c8: Merge "Fix issue #3302006: Cannot see the dialog lunched from a transparent activity." into honeycomb

* commit 'b149f5c8d29cda2f2e46559a68467be89714f737':
Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.
ff801ec71399f7e8aa95bcbb9937c53144fe17c5 23-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.

The activity manager was not performing the layout pass on the new window,
because its app token was still hidden, because the activity manager / window
manager were still waiting for it to be ready to show.

Just ignore whether the app token is hidden for this case.

Also fixes some problems with animations, and tweaks the ViewConfiguration
values for xlarge screens.

Change-Id: Icbe9c77ba8127d1e02df2d6f27b8e86ec842e50a
iewConfiguration.java
iewRoot.java
d832d0b2406b930f04be1bbecd1da826c045c958 22-Jan-2011 Romain Guy <romainguy@google.com> am 10444a13: am 596ba2fa: Merge "Correctly invalidate views that transition from opaque to non-opaque. Bug #3337037" into honeycomb

* commit '10444a138ae98e940982096d802b2655cef0b645':
Correctly invalidate views that transition from opaque to non-opaque. Bug #3337037
10444a138ae98e940982096d802b2655cef0b645 22-Jan-2011 Romain Guy <romainguy@google.com> am 596ba2fa: Merge "Correctly invalidate views that transition from opaque to non-opaque. Bug #3337037" into honeycomb

* commit '596ba2fa791db7ae671bd79c346b54a7ea2f8113':
Correctly invalidate views that transition from opaque to non-opaque. Bug #3337037
596ba2fa791db7ae671bd79c346b54a7ea2f8113 22-Jan-2011 Romain Guy <romainguy@google.com> Merge "Correctly invalidate views that transition from opaque to non-opaque. Bug #3337037" into honeycomb
c5d55863ec0290370a17d37d06feab743626b12f 22-Jan-2011 Romain Guy <romainguy@google.com> Correctly invalidate views that transition from opaque to non-opaque.
Bug #3337037

Change-Id: I31397273a31b6004e2e3801866122bcbb3ebee5d
iew.java
iewRoot.java
61d4504ec66827924f926e99361ebf432c2390cb 22-Jan-2011 Adam Powell <adamp@google.com> am a4f8e903: am 5fc3c84f: Merge "Fix bug 3362680 - calendar crash while tabbing among views" into honeycomb

* commit 'a4f8e903c3b4be9a840e0495be5bbfdb2a0a21e1':
Fix bug 3362680 - calendar crash while tabbing among views
a4f8e903c3b4be9a840e0495be5bbfdb2a0a21e1 22-Jan-2011 Adam Powell <adamp@google.com> am 5fc3c84f: Merge "Fix bug 3362680 - calendar crash while tabbing among views" into honeycomb

* commit '5fc3c84f5c465d3f0f435037bd5b92fa8da1f2c2':
Fix bug 3362680 - calendar crash while tabbing among views
3cb8b638c49b767354b62d853067ae8290ff7e80 22-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3362680 - calendar crash while tabbing among views

Remove pending click callbacks when a view is detached from its
window.

Change-Id: I51de184b8e95dbd594675ea6849647586a7c4ba2
iew.java
b8febbe12ec3295299c32d53add6820ea571747f 21-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 8a82de2f: am 4bb180d6: am ded2b006: Merge "frameworks/base: remove redundant code in WindowManager"

* commit '8a82de2fcae11a2a9cba25132c37cad83ccc859f':
frameworks/base: remove redundant code in WindowManager
8a82de2fcae11a2a9cba25132c37cad83ccc859f 21-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 4bb180d6: am ded2b006: Merge "frameworks/base: remove redundant code in WindowManager"

* commit '4bb180d62f71658d04a7d6800707de83c10b01a5':
frameworks/base: remove redundant code in WindowManager
ed19b88fe2707e85ebdc20f97b01eaf9b1f9e460 21-Jan-2011 Ken Wakasa <kwakasa@google.com> am 6ddec8be: am ccbdf5e8: Merge "Update class doc for InputMethodSubtype" into honeycomb

* commit '6ddec8be1cc23f4b7e8793503420072024884072':
Update class doc for InputMethodSubtype
d0417fa04e91318185e181ae09d81da7f7e38164 21-Jan-2011 Romain Guy <romainguy@google.com> am 8e2d489a: am 99d49118: Merge "Add support for drawBitmapMesh()." into honeycomb

* commit '8e2d489a868d52a979eed91a13a7605630ac997c':
Add support for drawBitmapMesh().
6ddec8be1cc23f4b7e8793503420072024884072 21-Jan-2011 Ken Wakasa <kwakasa@google.com> am ccbdf5e8: Merge "Update class doc for InputMethodSubtype" into honeycomb

* commit 'ccbdf5e838eb44a1920c2c02fcf4190880a3c540':
Update class doc for InputMethodSubtype
e31e9424554d5f032f578830556913b4ba78f7f9 21-Jan-2011 Ken Wakasa <kwakasa@google.com> Update class doc for InputMethodSubtype

bug: 3370290
Change-Id: Ib86f81c1a5f6c9acca34b586d810c6e94db1b552
nputmethod/InputMethodSubtype.java
8e2d489a868d52a979eed91a13a7605630ac997c 21-Jan-2011 Romain Guy <romainguy@google.com> am 99d49118: Merge "Add support for drawBitmapMesh()." into honeycomb

* commit '99d49118b857df4051a864b35254e275bc8a68b6':
Add support for drawBitmapMesh().
99d49118b857df4051a864b35254e275bc8a68b6 21-Jan-2011 Romain Guy <romainguy@google.com> Merge "Add support for drawBitmapMesh()." into honeycomb
5a7b466a2b4b7ced739bd5c31e022de61650545a 21-Jan-2011 Romain Guy <romainguy@google.com> Add support for drawBitmapMesh().

Change-Id: Ic77f9c534bb90dc7b9458299544bd50b8b6ae6a5
LES20Canvas.java
4789b873a6d19f798aa8599a9391eb1bfcad9181 21-Jan-2011 Dianne Hackborn <hackbod@google.com> am 8a545b9e: am e69e0fde: Merge "Fix issue #3374356: Buttons sometimes don\'t highlight" into honeycomb

* commit '8a545b9e3f67fedcb18f3ab9de00e8003a7fcd51':
Fix issue #3374356: Buttons sometimes don't highlight
3e09d42b2b0b44bdfae885b4d40fd9204b78c69f 21-Jan-2011 Christopher Tate <ctate@google.com> am 9424bfa9: am 7fb8b565: Include the local state obj in ACTION_DRAG_STARTED events

* commit '9424bfa91dd5686187d0e9611c17851dae580f52':
Include the local state obj in ACTION_DRAG_STARTED events
8a545b9e3f67fedcb18f3ab9de00e8003a7fcd51 21-Jan-2011 Dianne Hackborn <hackbod@google.com> am e69e0fde: Merge "Fix issue #3374356: Buttons sometimes don\'t highlight" into honeycomb

* commit 'e69e0fde6cf0e6302d5a05363a3db7a9c555e9dc':
Fix issue #3374356: Buttons sometimes don't highlight
9424bfa91dd5686187d0e9611c17851dae580f52 21-Jan-2011 Christopher Tate <ctate@google.com> am 7fb8b565: Include the local state obj in ACTION_DRAG_STARTED events

* commit '7fb8b565f9cd2ec6a63ff4d8a89f98f68a1a138c':
Include the local state obj in ACTION_DRAG_STARTED events
e69e0fde6cf0e6302d5a05363a3db7a9c555e9dc 21-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3374356: Buttons sometimes don't highlight" into honeycomb
be1f62260ae4798cd80404dc595e1146f346cfe9 21-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3374356: Buttons sometimes don't highlight

On touch up, View would move itself to the pressed state if it
hadn't already shown as pressed. However, it did this *after*
scheduling the message to deliver the onClick(). Thus if the
app took a little too long to execute inside of onClick(), the
invalidate to draw the highlight state would be executed right
before the following message to remove the highlight state,
causing it to basically not be shown.

This change just does the invalidate before scheduling the
onClick, so we can be sure it gets done first.

Change-Id: I6a4d1742a3aab60969c38b44bb3e163f48de62d4
iew.java
7fb8b565f9cd2ec6a63ff4d8a89f98f68a1a138c 20-Jan-2011 Christopher Tate <ctate@google.com> Include the local state obj in ACTION_DRAG_STARTED events

Fixes bug 3362502

The underlying cause was that the DragEvent.obtain() variant which
clones an existing event was failing to copy the local state field.

This change also moves the logic for inserting the local state object
into DragEvents about to be dispatched from the Binder incall thread
into the main-thread code sequence. This is to eliminate any potential
SMP memory coherency issues around drag start vs incoming events
needing to refer to the local state object.

Change-Id: I368e8936dbf8a00b7d5cc19c2ef0101bd75b6b2d
ragEvent.java
iewRoot.java
571f76a24e685855d4cd8f6ea5f6ddead760dd2f 20-Jan-2011 Romain Guy <romainguy@google.com> am cff27e52: am c8219299: Merge "Remove unnecessary code." into honeycomb

* commit 'cff27e523d68f72012bd908bac1a78cbb5b0a7e9':
Remove unnecessary code.
cff27e523d68f72012bd908bac1a78cbb5b0a7e9 20-Jan-2011 Romain Guy <romainguy@google.com> am c8219299: Merge "Remove unnecessary code." into honeycomb

* commit 'c8219299b0003793cee8049b96a3bf7530765eea':
Remove unnecessary code.
c8219299b0003793cee8049b96a3bf7530765eea 20-Jan-2011 Romain Guy <romainguy@google.com> Merge "Remove unnecessary code." into honeycomb
ff26a0c1c905dc1ec53b1bab860b80f2976d59be 20-Jan-2011 Romain Guy <romainguy@google.com> Remove unnecessary code.

Change-Id: I83eba3406c26a4028af08b4d4c95ecd02803e75a
iewRoot.java
f41e1af8c092c2f7c18850bf263b32b7811dc074 20-Jan-2011 Ken Wakasa <kwakasa@google.com> am 7fff9d8e: am 586f0513: Refine InputMethodInfo API

* commit '7fff9d8e0489455363eb2d70111b7164adab46ff':
Refine InputMethodInfo API
7fff9d8e0489455363eb2d70111b7164adab46ff 20-Jan-2011 Ken Wakasa <kwakasa@google.com> am 586f0513: Refine InputMethodInfo API

* commit '586f051375d8d7aeece05329921f9f66fc6164cb':
Refine InputMethodInfo API
586f051375d8d7aeece05329921f9f66fc6164cb 20-Jan-2011 Ken Wakasa <kwakasa@google.com> Refine InputMethodInfo API

bug: 3370297
Change-Id: I2a18f3bdbe2fccb22e22cdae0f75aec5c703ad6d
nputmethod/InputMethodInfo.java
91d61c6b31b360c75642d9f6bfc97d8392ea0b23 20-Jan-2011 Romain Guy <romainguy@google.com> am 821b82aa: am ed8f8dd8: Merge "Add rounded rects and circles support to OpenGLRenderer." into honeycomb

* commit '821b82aaa1071b9ad69596ce0d0fae596ab1b171':
Add rounded rects and circles support to OpenGLRenderer.
821b82aaa1071b9ad69596ce0d0fae596ab1b171 20-Jan-2011 Romain Guy <romainguy@google.com> am ed8f8dd8: Merge "Add rounded rects and circles support to OpenGLRenderer." into honeycomb

* commit 'ed8f8dd8cf621d6046db7e083f8a36205ed55609':
Add rounded rects and circles support to OpenGLRenderer.
ed8f8dd8cf621d6046db7e083f8a36205ed55609 20-Jan-2011 Romain Guy <romainguy@google.com> Merge "Add rounded rects and circles support to OpenGLRenderer." into honeycomb
01d58e43ede5ca98cbebdd166f9b0c545032c01b 20-Jan-2011 Romain Guy <romainguy@google.com> Add rounded rects and circles support to OpenGLRenderer.

Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
LES20Canvas.java
c0d4062965b392dffef267ad4835930d504ca39f 20-Jan-2011 Jeff Brown <jeffbrown@google.com> am e200420e: am d49f3e00: Merge "Rename KeyCharacterMap.UnavailableException." into honeycomb

* commit 'e200420e168ae135f6e87ee3a1abd44c971a1fe4':
Rename KeyCharacterMap.UnavailableException.
e200420e168ae135f6e87ee3a1abd44c971a1fe4 20-Jan-2011 Jeff Brown <jeffbrown@google.com> am d49f3e00: Merge "Rename KeyCharacterMap.UnavailableException." into honeycomb

* commit 'd49f3e0078a79804e8dbd455c92786977a686020':
Rename KeyCharacterMap.UnavailableException.
7e1e21fdc5e8a9bb870b1f030658a67d2bf43207 20-Jan-2011 Jeff Brown <jeffbrown@google.com> Rename KeyCharacterMap.UnavailableException.

Bug: 3370261
Change-Id: I5cdca8ef2300b70b7a0fcc7e2c26765079645ecc
eyCharacterMap.java
eyEvent.java
ef3f7bd356a80c396ab597e6b9c20e497349d11d 20-Jan-2011 Christopher Tate <ctate@google.com> am 67265808: am 28f0a53a: Merge "Fail more gracefully when window state changes during drags" into honeycomb

* commit '67265808c10e53f305f59a65911d7bfcd82151a6':
Fail more gracefully when window state changes during drags
67265808c10e53f305f59a65911d7bfcd82151a6 20-Jan-2011 Christopher Tate <ctate@google.com> am 28f0a53a: Merge "Fail more gracefully when window state changes during drags" into honeycomb

* commit '28f0a53a882a39bc22bc5892250411cadf6c0d5d':
Fail more gracefully when window state changes during drags
28f0a53a882a39bc22bc5892250411cadf6c0d5d 20-Jan-2011 Christopher Tate <ctate@google.com> Merge "Fail more gracefully when window state changes during drags" into honeycomb
f01af7551b3cf8853d3a76412c2745a543063434 20-Jan-2011 Christopher Tate <ctate@google.com> Fail more gracefully when window state changes during drags

In particular, if a new window was created out from under the drag,
the drag-move event dispatch logic would wind up blithly assuming
that it would find a valid touch-dispatchable window under the
finger. When this was untrue, it would NPE, but the NPE was caught
and discarded safely by higher-level guard code.

With this change, we now avoid the NPE entirely and report the
spurious condition as part of the debugging log stream.

(Also add the local-state object to DragEvent.toString()'s output.)

Change-Id: Idfa5f45d049e48415ee59c8b0ffb5b0ed4098ce3
ragEvent.java
73ed89571c64daa87cff9dc890e321cc6e630f0d 20-Jan-2011 Gilles Debunne <debunne@google.com> am 8d2480ca: am 0c44d1db: Merge "Race condition patched in Email autocompletion." into honeycomb

* commit '8d2480ca39502e1378a19a5cd28c2319d1e0c59f':
Race condition patched in Email autocompletion.
8d2480ca39502e1378a19a5cd28c2319d1e0c59f 20-Jan-2011 Gilles Debunne <debunne@google.com> am 0c44d1db: Merge "Race condition patched in Email autocompletion." into honeycomb

* commit '0c44d1dbb152ed16df4eb2af39157f3d281323d9':
Race condition patched in Email autocompletion.
be2c4f92a990ca48ad6ede252343dd9574dfe505 18-Jan-2011 Gilles Debunne <debunne@google.com> Race condition patched in Email autocompletion.

Bug 3347962

Root cause of this problem: if the adapter's content gets updated by a backgroung
thread, the PopupDataSetObserver will call showDropDown which will popup the
list.

Added a flag to make this call show the popup iif it is already visible.
This relayout is needed to clear the mDataChanged flag set when the content was
modified and which otherwise prevents touch events on the result list.

ArrayAdapter didn't use its lock to protect access to mObject.

-------------------------------------------------

However, the study of the this race conditions revealed an other bug:

Updated adapter's content is not displayed in filtered AutoCompleteTextView
Bug 3369097

Change-Id: Icd90d452f98231866f4d8a1f6994c1492febecb9
indowManager.java
cf4b6c7cd6effe95068c2d5a3cdeef1e666e92ad 19-Jan-2011 Romain Guy <romainguy@google.com> am 1aae1c2a: am 8f36bedc: Merge "Don\'t attempt to create empty layers. Bug #3369888" into honeycomb

* commit '1aae1c2a9ba7ad229e8c2ba8ad1befc598986e57':
Don't attempt to create empty layers. Bug #3369888
1aae1c2a9ba7ad229e8c2ba8ad1befc598986e57 19-Jan-2011 Romain Guy <romainguy@google.com> am 8f36bedc: Merge "Don\'t attempt to create empty layers. Bug #3369888" into honeycomb

* commit '8f36bedcf3fd3b5b3e5746af689b9915d506365f':
Don't attempt to create empty layers. Bug #3369888
8f36bedcf3fd3b5b3e5746af689b9915d506365f 19-Jan-2011 Romain Guy <romainguy@google.com> Merge "Don't attempt to create empty layers. Bug #3369888" into honeycomb
514fb18827186591d66973c2362c859b64b63556 19-Jan-2011 Romain Guy <romainguy@google.com> Don't attempt to create empty layers.
Bug #3369888

Change-Id: Ic17bbd1c04bbf760cb17d0eb9e6767fd6479948c
LES20Canvas.java
22da4dd48ec8c143d90126a0760a06774c4923a9 19-Jan-2011 Christopher Tate <ctate@google.com> am 714066d8: am 5383d077: Merge "Fix a couple of drag & drop crashes" into honeycomb

* commit '714066d873b70098c09c2c094d374781b12d65a2':
Fix a couple of drag & drop crashes
714066d873b70098c09c2c094d374781b12d65a2 19-Jan-2011 Christopher Tate <ctate@google.com> am 5383d077: Merge "Fix a couple of drag & drop crashes" into honeycomb

* commit '5383d077ed79e9fec95361046fcd7491ee9a0fd4':
Fix a couple of drag & drop crashes
5383d077ed79e9fec95361046fcd7491ee9a0fd4 19-Jan-2011 Christopher Tate <ctate@google.com> Merge "Fix a couple of drag & drop crashes" into honeycomb
741fbc13d287f7982b52a25b193b060477ebe834 19-Jan-2011 Romain Guy <romainguy@google.com> am 2c197a07: am 9335f5b2: Merge "Make embedded hardware layers work. Bug #3369474" into honeycomb

* commit '2c197a0708dc3cb26c335371b572a3c47ca33736':
Make embedded hardware layers work. Bug #3369474
2c197a0708dc3cb26c335371b572a3c47ca33736 19-Jan-2011 Romain Guy <romainguy@google.com> am 9335f5b2: Merge "Make embedded hardware layers work. Bug #3369474" into honeycomb

* commit '9335f5b2fde244614184f45d29cc574d1ba8cbba':
Make embedded hardware layers work. Bug #3369474
9335f5b2fde244614184f45d29cc574d1ba8cbba 19-Jan-2011 Romain Guy <romainguy@google.com> Merge "Make embedded hardware layers work. Bug #3369474" into honeycomb
42f3a4b7c35dd1ea1922356eb3611af8cde05179 19-Jan-2011 Romain Guy <romainguy@google.com> Make embedded hardware layers work.
Bug #3369474

Change-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d
iew.java
1fc014fd0051a48083c6d469c2a4f22da1aa15e4 19-Jan-2011 Christopher Tate <ctate@google.com> Fix a couple of drag & drop crashes

1. ViewGroups being removed from the layout during a drag would wind up
crashing the app with an NPE at drag-ended time, due to blind dereference
of now-cleared object pointers.

2. Passing a 'null' ClipData to startDrag() would crash the system
process with an NPE. Should this even be valid? I'm inclined to say
yes, though it means that apps will need to guard against it.

Fixes bug 3369542

Change-Id: I168fc1284d6fd4403999946609725414cf254df0
iewGroup.java
iewRoot.java
033b5f63c183339f3020580b84097f084adda8be 19-Jan-2011 Eric Laurent <elaurent@google.com> am 28e8c942: am 10f4ffe9: Merge "Issue 3315999: catch ToneGenerator exceptions." into honeycomb

* commit '28e8c9423c1e8ac8f5d945f6f7742511e58dac57':
Issue 3315999: catch ToneGenerator exceptions.
28e8c9423c1e8ac8f5d945f6f7742511e58dac57 19-Jan-2011 Eric Laurent <elaurent@google.com> am 10f4ffe9: Merge "Issue 3315999: catch ToneGenerator exceptions." into honeycomb

* commit '10f4ffe9619ca3a943e3460d8bb7b5441575a173':
Issue 3315999: catch ToneGenerator exceptions.
733a42b24b91ce2881e2e4457a1ee06f12bb127a 19-Jan-2011 Eric Laurent <elaurent@google.com> Issue 3315999: catch ToneGenerator exceptions.

When the AudioFlinger runs out of available AudioTracks (max 32),
the ToneGenerator constructor throws a RuntimeException. Although this
denotes an abnormal situation, VolumePanel should catch this exception.

Change-Id: Ida1312fe4857e99a0ef38b4013cb03e819405689
olumePanel.java
9afbd5654dee66426a009692982bfa4929284f8f 19-Jan-2011 Romain Guy <romainguy@google.com> am 3e4f4b88: am 064f6ad3: Merge "Recreate the EGL surface when ViewRoot\'s surface changes. Bug #3306150" into honeycomb

* commit '3e4f4b88571a07ea08b8f6c8e98dc600dbe84f61':
Recreate the EGL surface when ViewRoot's surface changes. Bug #3306150
310ae9b39c10f6b43c885e458eb8d135a3ba6b71 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am fe86e979: am 661b6cfb: Merge "Okay, new plan for dialogs." into honeycomb

* commit 'fe86e9793ce62c6a1aa34e5712f16b45800efdd0':
Okay, new plan for dialogs.
a953359db5250d0f648c7ca210ef3954bf1f8b66 19-Jan-2011 Christopher Tate <ctate@google.com> am 31cd02ad: am 17ed60c3: API CHANGE: add a no-View ctor for DragShadowBuilder

* commit '31cd02ade3dd85c676bb278a1c2181f57179c390':
API CHANGE: add a no-View ctor for DragShadowBuilder
7fc5d4b8e7145413411da3320495388f09fab536 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am 2ec5a716: am 36c84403: Merge "Fix issue #3362484: Can\'t dismiss activity picker by tapping outside dialog" into honeycomb

* commit '2ec5a7160b3d32887b2428edef7a751ee3700809':
Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog
3e4f4b88571a07ea08b8f6c8e98dc600dbe84f61 19-Jan-2011 Romain Guy <romainguy@google.com> am 064f6ad3: Merge "Recreate the EGL surface when ViewRoot\'s surface changes. Bug #3306150" into honeycomb

* commit '064f6ad3928c51996359694c00a580115b2dabfc':
Recreate the EGL surface when ViewRoot's surface changes. Bug #3306150
fe86e9793ce62c6a1aa34e5712f16b45800efdd0 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am 661b6cfb: Merge "Okay, new plan for dialogs." into honeycomb

* commit '661b6cfb2bcecdd335540db7059e5d8e22c2e79a':
Okay, new plan for dialogs.
31cd02ade3dd85c676bb278a1c2181f57179c390 19-Jan-2011 Christopher Tate <ctate@google.com> am 17ed60c3: API CHANGE: add a no-View ctor for DragShadowBuilder

* commit '17ed60c3d2e480ab9788b445958a22b9ae7b6e96':
API CHANGE: add a no-View ctor for DragShadowBuilder
2a83f001fdb189f945e82e81e717ba204824b112 19-Jan-2011 Romain Guy <romainguy@google.com> Recreate the EGL surface when ViewRoot's surface changes.
Bug #3306150

Change-Id: Ifbf0ab9deca7a34eff7d844ea7276d12d7284788
ardwareRenderer.java
urface.java
iewRoot.java
064f6ad3928c51996359694c00a580115b2dabfc 19-Jan-2011 Romain Guy <romainguy@google.com> Merge "Recreate the EGL surface when ViewRoot's surface changes. Bug #3306150" into honeycomb
661b6cfb2bcecdd335540db7059e5d8e22c2e79a 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Okay, new plan for dialogs." into honeycomb
ef57575887bde74ef09e9f21aae6b02f9c8163c7 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Okay, new plan for dialogs.

Don't dismiss by default when tapping outside, even for AlertDialog.

If AlertDialog doesn't have any buttons, tapping outside will dismiss it.

Applications can make their own dialogs (or activities looking like
dialogs) can use the existing and new APIs to control this behavior
themselves so that it does the right thing.

Change-Id: I02bfb9161e169de0033200211b3a7ec80080bd83
indow.java
17ed60c3d2e480ab9788b445958a22b9ae7b6e96 18-Jan-2011 Christopher Tate <ctate@google.com> API CHANGE: add a no-View ctor for DragShadowBuilder

Cf conversation with the API council. Also expand the javadoc
a bit.

Change-Id: I9d4edb1042e00492b3db5c6bb7c7d9648581efad
iew.java
2ec5a7160b3d32887b2428edef7a751ee3700809 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am 36c84403: Merge "Fix issue #3362484: Can\'t dismiss activity picker by tapping outside dialog" into honeycomb

* commit '36c84403ec07439d11ed284ac5f9a9db807fbf92':
Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog
36c84403ec07439d11ed284ac5f9a9db807fbf92 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog" into honeycomb
cfaf8878de83b6bb7a24aee3c240259f428e6e4a 18-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog

Change-Id: Idc2fe5a86c61e8f94fe9d902a0087a05f6f7918e
indow.java
4bb180d62f71658d04a7d6800707de83c10b01a5 18-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am ded2b006: Merge "frameworks/base: remove redundant code in WindowManager"

* commit 'ded2b00643c788a96ce8adc1a4cc0f7619a4c606':
frameworks/base: remove redundant code in WindowManager
ba7ac24e4d85cabbe803c7abf032aca2606ee6a4 18-Jan-2011 Romain Guy <romainguy@google.com> am a2dcab45: am 89108d5c: Merge "Add support for skew()" into honeycomb

* commit 'a2dcab45d8dbbd9fd8d93720a91f789f18ae4d76':
Add support for skew()
3f6875f143fbaf4de993025f6765dc8237eb2b0b 18-Jan-2011 Vairavan Srinivasan <vairav@codeaurora.org> frameworks/base: remove redundant code in WindowManager

Change-Id: I8a356ca36129645977d33129e0d56c1b89f97fb0
indowManager.java
a2dcab45d8dbbd9fd8d93720a91f789f18ae4d76 18-Jan-2011 Romain Guy <romainguy@google.com> am 89108d5c: Merge "Add support for skew()" into honeycomb

* commit '89108d5c311d0cc6879fb41c6392f17c58644fee':
Add support for skew()
807daf7df615b60ce6fc41355aabe3aa353cebab 18-Jan-2011 Romain Guy <romainguy@google.com> Add support for skew()

Change-Id: Ia3a9a867f74fd78b61f75179e3788fdc2f0cacd0
LES20Canvas.java
0f6226b9f417182bbf791598000f0a153fbf191c 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Add joystick support to framework."
ef1b612ebea2e5fe562abd826448533b01247189 17-Jan-2011 Romain Guy <romainguy@google.com> am d80d81bb: am a43cfd29: Merge "Improve hardware layers rendering speed when setting a View\'s alpha." into honeycomb

* commit 'd80d81bb65a1e60c0cc1a70959f6a67f55bdd5f0':
Improve hardware layers rendering speed when setting a View's alpha.
d80d81bb65a1e60c0cc1a70959f6a67f55bdd5f0 17-Jan-2011 Romain Guy <romainguy@google.com> am a43cfd29: Merge "Improve hardware layers rendering speed when setting a View\'s alpha." into honeycomb

* commit 'a43cfd2940d7c887a8130c0e972a1b398a887819':
Improve hardware layers rendering speed when setting a View's alpha.
d6cd572df8067c40b3e0e7e74e58cdb456b33e92 17-Jan-2011 Romain Guy <romainguy@google.com> Improve hardware layers rendering speed when setting a View's alpha.

Change-Id: Ib1275677f531c60d9919978c5538c663fdb823b5
iew.java
iewGroup.java
cb1404e45639d20439d7700b06d57ca1a1aad1fa 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Add joystick support to framework.

Change-Id: I95374436708752e1a9cff3f85c5b9bc3e0987961
nputDevice.java
eyEvent.java
otionEvent.java
iew.java
iewGroup.java
iewRoot.java
indow.java
c886ff38c73983d028feae7cca0ee90915ebe67b 17-Jan-2011 Jeff Brown <jeffbrown@google.com> am fed9d654: am 5cdf0752: Merge "Support non-rectangular input regions." into honeycomb

* commit 'fed9d654e9f769a2d81682121faff01fee11555f':
Support non-rectangular input regions.
8675b3f79d20b1f0527999717012ece8c326a308 17-Jan-2011 Romain Guy <romainguy@google.com> am 761ae69b: am 3c372789: Merge "Don\'t dispatchDetachedFromWindow() if the View was not attached." into honeycomb

* commit '761ae69b7cb5639a5f468f258848578a6c8feb72':
Don't dispatchDetachedFromWindow() if the View was not attached.
fed9d654e9f769a2d81682121faff01fee11555f 17-Jan-2011 Jeff Brown <jeffbrown@google.com> am 5cdf0752: Merge "Support non-rectangular input regions." into honeycomb

* commit '5cdf07524132722e0db69db1ca8dcaf3f0073265':
Support non-rectangular input regions.
5cdf07524132722e0db69db1ca8dcaf3f0073265 17-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Support non-rectangular input regions." into honeycomb
fbf097732137a32930d151f7ba6816a5b870c32a 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Support non-rectangular input regions.

This enables the system bar to carve out a region through which
events will be sent to the IME behind it.

Bug: 3238092
Change-Id: I69b855a8d9b5b3ee525266c0861826e53e5b5028
WindowSession.aidl
iewRoot.java
iewTreeObserver.java
761ae69b7cb5639a5f468f258848578a6c8feb72 16-Jan-2011 Romain Guy <romainguy@google.com> am 3c372789: Merge "Don\'t dispatchDetachedFromWindow() if the View was not attached." into honeycomb

* commit '3c372789ea0b7836c6a9fe4852fac0de3f29fbbf':
Don't dispatchDetachedFromWindow() if the View was not attached.
90fc03bc493fc2c984599b198b9d50bc387134f2 16-Jan-2011 Romain Guy <romainguy@google.com> Don't dispatchDetachedFromWindow() if the View was not attached.

Change-Id: I36cb697be76c8c03497284563dc339c5367559c6
iewRoot.java
720b3ee1b18465f0c8884183a9ae4b690a9a8cd8 16-Jan-2011 Romain Guy <romainguy@google.com> am 2be00ccb: am 8dd5b1e5: Prevent NPE when a View is detached without having been attached. Bug #3355252

* commit '2be00ccbe7c8e2aedfa15b6b7c469160734dda15':
Prevent NPE when a View is detached without having been attached. Bug #3355252
8dd5b1e53184ed3b786dd329e12d665ae59ca3f4 15-Jan-2011 Romain Guy <romainguy@google.com> Prevent NPE when a View is detached without having been attached.
Bug #3355252

Change-Id: I58e03983ccf6a27a24619ec0f49659d6d7cc0a64
iew.java
2be00ccbe7c8e2aedfa15b6b7c469160734dda15 15-Jan-2011 Romain Guy <romainguy@google.com> am 8dd5b1e5: Prevent NPE when a View is detached without having been attached. Bug #3355252

* commit '8dd5b1e53184ed3b786dd329e12d665ae59ca3f4':
Prevent NPE when a View is detached without having been attached. Bug #3355252
a34773300009e41d965a7b9232f488ab7295e538 15-Jan-2011 Dianne Hackborn <hackbod@google.com> am 88471b25: Merge "DO NOT MERGE Added check to make orientation calculations more robust" into honeycomb

* commit '88471b25632818a8bc79193e20bd04a8be39f660':
DO NOT MERGE Added check to make orientation calculations more robust
fcbbb31f27f00efe7314031bac23e1e011954ad6 14-Jan-2011 Niclas Kellgren <niclas.kellgren@sonyericsson.com> DO NOT MERGE Added check to make orientation calculations more robust

Added check avoid a division by zero resulting in NaN which in turn
makes checkFullyTilted to ignore high tilt angles from then on.
If (x, y, z) == (0, 0, 0) then there is no tilt or rotation and
this vector must be ignored. This check is extended to ignore all
small acceleration values where noise can be of big influence.

Low or zero readings can happen when space travelling free falling,
but more commonly when shaking or getting bad readings from the sensor.
The accelerometer is turned off when not used and polling it too soon
after it is turned on may result in (0, 0, 0).

Change-Id: I7b61b77c8a9d4e137bf6352b84f0c358d93c82ae
indowOrientationListener.java
544ff558a80912d968570494363cea6540c08dd3 15-Jan-2011 Dianne Hackborn <hackbod@google.com> am 29c99aaa: Merge "Added check to make orientation calculations more robust" into gingerbread

* commit '29c99aaaaed00c605fb6cd64de169fafad0e40ed':
Added check to make orientation calculations more robust
75f555f26ffe1471ce0b9c7f83c4c81cff9ff145 14-Jan-2011 Patrick Dubroy <dubroy@google.com> am bdcff0fa: Merge "Allow old view hierarchy to be GC\'ed more quickly during rotation." into honeycomb

* commit 'bdcff0fa8383a1ae93c18a768a7c2bf150d3f405':
Allow old view hierarchy to be GC'ed more quickly during rotation.
ec84c3a189e4aa70aa6ea8ba712e5a4f260a153b 14-Jan-2011 Patrick Dubroy <dubroy@google.com> Allow old view hierarchy to be GC'ed more quickly during rotation.
iew.java
e1cc00bba019bdc165d61b14fef8a72fdeed1ae5 14-Jan-2011 Christopher Tate <ctate@google.com> am 64cb24e6: Merge "Send DRAG_STARTED notices to views that become visible during drag" into honeycomb

* commit '64cb24e686b13aabe3d28e049796c8315b011485':
Send DRAG_STARTED notices to views that become visible during drag
64cb24e686b13aabe3d28e049796c8315b011485 14-Jan-2011 Christopher Tate <ctate@google.com> Merge "Send DRAG_STARTED notices to views that become visible during drag" into honeycomb
f21ae26935349f45c55afa5c8e45e1f6aa880915 14-Jan-2011 Dianne Hackborn <hackbod@google.com> am d922ae01: Add Holo theme for IMEs.

* commit 'd922ae01ca99a2b6d39a9393f86776a1d10ebd14':
Add Holo theme for IMEs.
d922ae01ca99a2b6d39a9393f86776a1d10ebd14 14-Jan-2011 Dianne Hackborn <hackbod@google.com> Add Holo theme for IMEs.

Also clean up theme selection code to get rid of duplication.

Change-Id: Idf7b21db70ee83fce24756ead877169bd08b77a9
ontextThemeWrapper.java
86cab1bd52197d6fa60786413fad9788d9236762 14-Jan-2011 Christopher Tate <ctate@google.com> Send DRAG_STARTED notices to views that become visible during drag

We now recognize that a view is now a candidate for receiving the drop
but hasn't yet been notified about it, and send the DRAG_STARTED lifecycle
event properly. This change also changes the DRAG_ENDED policy: now,
every view that had been sent a DRAG_STARTED receives the corresponding
DRAG_ENDED event, even though subsequent visibility changes may have
occured.

Change-Id: If4ae9ddbf414703e9f15eb2005471626bf19f316
iewGroup.java
a1454becb96456fe7aef18519e891a088063089d 14-Jan-2011 Niclas Kellgren <niclas.kellgren@sonyericsson.com> Added check to make orientation calculations more robust

Added check avoid a division by zero resulting in NaN which in turn
makes checkFullyTilted to ignore high tilt angles from then on.
If (x, y, z) == (0, 0, 0) then there is no tilt or rotation and
this vector must be ignored. This check is extended to ignore all
small acceleration values where noise can be of big influence.

Low or zero readings can happen when space travelling free falling,
but more commonly when shaking or getting bad readings from the sensor.
The accelerometer is turned off when not used and polling it too soon
after it is turned on may result in (0, 0, 0).

Change-Id: I19aec653abb8ab6f7126778035c8c96449f1326f
indowOrientationListener.java
494565ad1b0efe8ab70d23c61866748a9de66337 14-Jan-2011 Niclas Kellgren <niclas.kellgren@sonyericsson.com> Added check to make orientation calculations more robust

Added check avoid a division by zero resulting in NaN which in turn
makes checkFullyTilted to ignore high tilt angles from then on.
If (x, y, z) == (0, 0, 0) then there is no tilt or rotation and
this vector must be ignored. This check is extended to ignore all
small acceleration values where noise can be of big influence.

Low or zero readings can happen when space travelling free falling,
but more commonly when shaking or getting bad readings from the sensor.
The accelerometer is turned off when not used and polling it too soon
after it is turned on may result in (0, 0, 0).

Change-Id: I19aec653abb8ab6f7126778035c8c96449f1326f
indowOrientationListener.java
bd04922f8fe08e132667da41fe55dad2e8044d0b 14-Jan-2011 Romain Guy <romainguy@google.com> am 5b907be8: Merge "Move the main thread check to the appropriate place." into honeycomb

* commit '5b907be8f5c387e7580a8e43935250adabc408c8':
Move the main thread check to the appropriate place.
5b907be8f5c387e7580a8e43935250adabc408c8 14-Jan-2011 Romain Guy <romainguy@google.com> Merge "Move the main thread check to the appropriate place." into honeycomb
501053a16dd8b24664856cab5551b246550d1ce5 14-Jan-2011 Romain Guy <romainguy@google.com> Move the main thread check to the appropriate place.

Change-Id: Ic9bcf209e9398ea05b293a8cc31ac7f234b9de16
iewRoot.java
4809e629a62a0c2f44c4ad8f833b7f0602afcd64 14-Jan-2011 Huahui Wu <hwu@google.com> am bfbb089c: Merge "b/3133123 Pass touch point ids to WebKit." into honeycomb

* commit 'bfbb089c7fcb2bc74f55fe3c171ef1b6df78b2da':
b/3133123 Pass touch point ids to WebKit.
bfbb089c7fcb2bc74f55fe3c171ef1b6df78b2da 14-Jan-2011 Huahui Wu <hwu@google.com> Merge "b/3133123 Pass touch point ids to WebKit." into honeycomb
e838a427786f136155b618962bd18781be8e012d 14-Jan-2011 Huahui Wu <hwu@google.com> b/3133123 Pass touch point ids to WebKit.

This is the CL in framework side and it needs the WebKit part CL:
https://android-git.corp.google.com/g/#change,89627

Change-Id: I11d4ffa29fa106d918332e6983090b06726ebd36
otionEvent.java
b054b4c8359992c13cc73d70914bc2b5bdb724de 14-Jan-2011 Dianne Hackborn <hackbod@google.com> am 8eca7a1e: Merge "Fix issue #3153930: orphan window left on screen" into honeycomb

* commit '8eca7a1e11d905e1d89d4c45adfe210536b5f521':
Fix issue #3153930: orphan window left on screen
8eca7a1e11d905e1d89d4c45adfe210536b5f521 14-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3153930: orphan window left on screen" into honeycomb
2cf2b0c84cf1091f9700b4d1da823f590b52b9ec 13-Jan-2011 Gilles Debunne <debunne@google.com> am 783e6c8b: Merge "fix for cts DuplicateParentStateEnabled bug with TextViews." into honeycomb

* commit '783e6c8b3ba7eecac3bdd796b53a1293f9cb1be4':
fix for cts DuplicateParentStateEnabled bug with TextViews.
783e6c8b3ba7eecac3bdd796b53a1293f9cb1be4 13-Jan-2011 Gilles Debunne <debunne@google.com> Merge "fix for cts DuplicateParentStateEnabled bug with TextViews." into honeycomb
e3f71db5532858f0d609ca75024e4a964bd011aa 13-Jan-2011 Svetoslav Ganov <svetoslavganov@google.com> am cecb1db6: Merge "Invisible of gone views fire accessibility events." into honeycomb

* commit 'cecb1db6accffaa4749b1b0e71c0ec842c5b7a1a':
Invisible of gone views fire accessibility events.
fb81703ab11c653a587b652b90ec3b550f500ccf 13-Jan-2011 Gilles Debunne <debunne@google.com> fix for cts DuplicateParentStateEnabled bug with TextViews.

Bug 3347206

Do not add an extra slot in the drawable state for multiline if it
is not needed.

Updated setDuplicateParentStateEnabled documentation.

Change-Id: I95f74284721e25b483e12e9b861e810a55c260b6
iew.java
f99f9c5f92dbcdf5f6e9c93847a5dae4c35a817e 13-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3153930: orphan window left on screen

The problem is that if a window containing children is removed
before the children are, the children may be lost. This change
(amongst the huge amount of new debugging code) now ensures at
this point that all children windows are removed when the parent
is.

Note that this results in a bunch of error messages now as the
client app tries to continue to do things with that child window.
This is correct, it shouldn't be doing that, and needs to be
fixed to stop it. But at least it now can't cause the window
manager to leak surfaces.

Change-Id: I7b80dd89ff9de7cb5af1dc759cfa4b31ac29cddc
indowManagerPolicy.java
9cd1eca8546a6e633c94830d2195634fbfbb7144 13-Jan-2011 Svetoslav Ganov <svetoslavganov@google.com> Invisible of gone views fire accessibility events.

bug:3350110

1. Added a visibility check before sending an accessibility event.

Change-Id: I322ede3844502bc623ba2aff2b3586a9925ba682
iew.java
718153c71704f18ddd6e436df2008eb5ef9f6a06 13-Jan-2011 Romain Guy <romainguy@google.com> am c15c7a79: Merge "Cleanup implementation of hardware layers." into honeycomb

* commit 'c15c7a79a69733bd21d6548fd74c2874fdabe7e8':
Cleanup implementation of hardware layers.
c15c7a79a69733bd21d6548fd74c2874fdabe7e8 13-Jan-2011 Romain Guy <romainguy@google.com> Merge "Cleanup implementation of hardware layers." into honeycomb
ada830f639591b99c3e40de22b07296c7932a33f 13-Jan-2011 Romain Guy <romainguy@google.com> Cleanup implementation of hardware layers.

The new implementation relies on OpenGLRenderer's existing layer
code instead of duplicating it. The new code is much cleaner, with
simpler and better APIs and allows tracking of drawn regions inside
layers. Region tracking is not yet enabled but this will be done
in a future CL.

Change-Id: Ie826121a2227de8252c77b992a61218defea5143
LES20Canvas.java
LES20Layer.java
ardwareCanvas.java
iewGroup.java
3186e0da33256400b52024b268c9e6e048caee6c 13-Jan-2011 Christopher Tate <ctate@google.com> am 44a94bb5: Merge "Turn off debugging logspam for release" into honeycomb

* commit '44a94bb5a915922400944f666b218f4bb268c565':
Turn off debugging logspam for release
44a94bb5a915922400944f666b218f4bb268c565 13-Jan-2011 Christopher Tate <ctate@google.com> Merge "Turn off debugging logspam for release" into honeycomb
994ef9296a00523de1df424b4b760b4416ead58b 13-Jan-2011 Christopher Tate <ctate@google.com> Turn off debugging logspam for release

Fixes bug 2679101

Change-Id: I94cf1b1d0b732b2030008118eff3534f0e0608f7
iewDebug.java
dd14ec2e85204f93b7f80c5afd2361c68b3dc4f0 13-Jan-2011 Chet Haase <chet@google.com> am ef9932c2: Merge "Supress layout requests while a LayoutTransition is running." into honeycomb

* commit 'ef9932c2505eaf5a4256c6c398aa640bee3b47ea':
Supress layout requests while a LayoutTransition is running.
9c0874408cfc6f6f4e4561973ca5ae52a5982db7 13-Jan-2011 Chet Haase <chet@google.com> Supress layout requests while a LayoutTransition is running.

LayoutTransition works by animating layout-related properties
(left, right, top, and bottom). This works great when that animation
is the only thing affecting the layout of the UI. But if there are other things
happening in the application that cause layout to run on that
container or in its parent hierarchy, this can cause the layout properties
on its children to get mis-set during the middle of the transition.
This results in artifacts like animating objects jumping to locations where
they would be were there no animation running.

The fix is to supress layout requests on that container (and its children)
until the transition is complete (then issue a layout request on the container
to make sure that the container has the correct layout data)

Change-Id: I15bf0423a11409f854076f86099233db7fe4edc0
iew.java
iewGroup.java
703b0bc95313d6b43befce7b8a4ac6f166ccb9dc 13-Jan-2011 Romain Guy <romainguy@google.com> am d6b13534: Merge "Only enable GL rendering on the main thread." into honeycomb

* commit 'd6b13534d44faee5bf80eb02495c17aa0195d381':
Only enable GL rendering on the main thread.
4f6aff386045000c2c03b903c7109cb42092b7ea 13-Jan-2011 Romain Guy <romainguy@google.com> Only enable GL rendering on the main thread.

Change-Id: I41950f4c0a5063ee5d6950cf137eb60a1c7a72fe
ardwareRenderer.java
iewRoot.java
3aaff3aef4998156226486d1fad297150dd7a6bf 12-Jan-2011 Romain Guy <romainguy@google.com> Better debug info for layers.

Change-Id: I816c2446a33a1135553eaeea2f89c7418641cfe1
iew.java
1138401f348b2e30dc48c01da9a26e66e51b318c 12-Jan-2011 Romain Guy <romainguy@google.com> am e465b117: Merge "Better debug info for layers." into honeycomb

* commit 'e465b11745cdc49283c360fb2acf01649f4f4fb0':
Better debug info for layers.
5ecceb7df70a6e6b2a32ab97630bc625000261da 12-Jan-2011 Romain Guy <romainguy@google.com> am 85354828: Merge "Cleanup GL objects on the correct thread." into honeycomb

* commit '853548287ffe4eb85d1bd10669270292336d137a':
Cleanup GL objects on the correct thread.
853548287ffe4eb85d1bd10669270292336d137a 12-Jan-2011 Romain Guy <romainguy@google.com> Merge "Cleanup GL objects on the correct thread." into honeycomb
57066eb64c9a190d1afc87bb060bbb2d31e5b86c 12-Jan-2011 Romain Guy <romainguy@google.com> Cleanup GL objects on the correct thread.

Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
LES20Canvas.java
LES20Layer.java
771fcc5e3d87f81663fe91149f3b680beec65f4a 12-Jan-2011 Christopher Tate <ctate@google.com> am 28514f8f: Merge "API CHANGE: startDrag() now takes "int flags" instead of "boolean localOnly"" into honeycomb

* commit '28514f8f9cdac95799d5654a30fe36ef05443dd3':
API CHANGE: startDrag() now takes "int flags" instead of "boolean localOnly"
af6295869051ad351070354bff9f01e5e65ea824 12-Jan-2011 Romain Guy <romainguy@android.com> am 9688fdf5: am fcf3d12d: Merge "Typo in Javadoc"

* commit '9688fdf51edb82a73e1a6d436bf7bce706c049fb':
Typo in Javadoc
02d2b3ba9ba830a8147db2739613f7bbb2d0fcbf 11-Jan-2011 Christopher Tate <ctate@google.com> API CHANGE: startDrag() now takes "int flags" instead of "boolean localOnly"

There will be, in the future, a flag (View.DRAG_FLAG_GLOBAL) that means
for the drag to be cross-application. For now that flag constant is @hide
and furthermore the server-side implementation strips it, enforcing
local-only drags.

Change-Id: I8db840480ab90e18a5b8ecf29d62b4e6eafd405e
WindowSession.aidl
iew.java
6c319ca1275c8db892c39b48fc54864c949f9171 11-Jan-2011 Romain Guy <romainguy@google.com> Better backend for hardware layers.

With this new backend, a hardware layer is only recreated when
its associated view is udpated. This offers fast composition
in GL and fast update of the layer in GL as well.

Change-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076
LES20Canvas.java
LES20DisplayList.java
LES20Layer.java
LES20RecordingCanvas.java
ardwareCanvas.java
ardwareLayer.java
ardwareRenderer.java
iew.java
iewGroup.java
a07105b7d2a27e6d69407bf96ddb773bddb5e553 11-Jan-2011 Romain Guy <romainguy@google.com> Better logging of out of memory errors in OpenGLRenderer.

Change-Id: I6b72a084340d8d4b6e0b0a100ed4314d09d441ef
iewRoot.java
72f0a276ffd5f3d6513400e50de1a8bda547bed4 10-Jan-2011 Romain Guy <romainguy@google.com> Better documentation for FLAG_HARDWARE_ACCELERATED
Bug #3154883

Change-Id: I2062781ba3b447b8ec4e0836b9ddeaa97c7aa60e
indowManager.java
fcd3e8e6faa5c73d3cf964b765ba3199ff323276 09-Jan-2011 Romain Guy <romainguy@google.com> Merge "Tighten up AsyncTask's semantics and behavior. Bug #3109366 Bug #3109382" into honeycomb
e95003e4a15eea2d5f93950fc46f99ff2b9c973a 09-Jan-2011 Romain Guy <romainguy@google.com> Tighten up AsyncTask's semantics and behavior.
Bug #3109366
Bug #3109382

The new behavior of AsyncTask is the following:
- Unchanged if you don't call cancel()
- If you call cancel():
- Either onCancelled() *OR* onPostExecute() is invoked
- onCancelled() is invoked only after doInBackground() finishes

Change-Id: If53faec5890d2fa7098aea76973186a0b1026b39
iewGroup.java
247fe74c934cb3fba85aae7e051a8044f460fb11 09-Jan-2011 Dianne Hackborn <hackbod@google.com> Implement issue # 3255887 could CursorLoader offer...

...to throttle contentobserver-based requeries

Why yes, I guess it could.

This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.

And removes some of the old APIs that had been deprecated but
need to be gone for final release.

And fixes a few little problems with applying the wrong theme
in system code.

Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f
ontextThemeWrapper.java
9688fdf51edb82a73e1a6d436bf7bce706c049fb 08-Jan-2011 Romain Guy <romainguy@android.com> am fcf3d12d: Merge "Typo in Javadoc"

* commit 'fcf3d12d701e41d6e46bae8c13776f56d54f90e8':
Typo in Javadoc
bd6fda11d287ba8ac749e06053dc9488653d1471 08-Jan-2011 Christian Mehlmauer <FireFart@gmail.com> Typo in Javadoc

Change-Id: I911ce02cab178f64aab222e4abcd25d113d75ec5
ayoutInflater.java
36d4c3f02b4c3366b965896bc3da8bb332db1a64 07-Jan-2011 Christopher Tate <ctate@google.com> Rename drag "thumbnail" to the drag "shadow"

No functional changes; just a rename of the relevant class/method/parameters.

Change-Id: I55d9ef7c2c17892b0bc99f5da622c281e006b53e
iew.java
7e68efb0a098149e1e6f86663e978e9fd26e0ea1 07-Jan-2011 Romain Guy <romainguy@google.com> Non-opaque views with fading edges cannot be marked dirty opaque.
Bug #3325084

Change-Id: I80b7653daa2ae3cc6d81da1063911aa4cb69e8f4
iewGroup.java
2c602e6a66469c9fcd8bc4d7d64aa24134dad8d9 07-Jan-2011 Romain Guy <romainguy@google.com> Merge "Non-opaque views with fading edges cannot be marked dirty opaque. Bug #3325084" into honeycomb
ad7fa7fa77318d416ed338ede6aae582c239f822 07-Jan-2011 Dianne Hackborn <hackbod@google.com> WM part of #3293405: Screen needs to be redrawn when HDMI is plugged in

Change-Id: If5ceb28073c6abf14165871bd99cb481b31a863b
indowManagerPolicy.java
171c592f0b7066acf279863c8a52ddabea49d3db 06-Jan-2011 Romain Guy <romainguy@google.com> New layers API for Views.

This API can be used to back a view and its children with either a
software layer (bitmap) or hardware layer (FBO). Layers have
various usages, including color filtering and performance
improvements during animations.

Change-Id: Ifc3bea847918042730fc5a8c2d4206dd6c9420a3
LES20Canvas.java
iew.java
iewGroup.java
b9a12d7b87e39e3f1588eb8d8d28129ae5449039 07-Jan-2011 Joe Onorato <joeo@google.com> Merge changes Ib809d4c5,I05d69da4 into honeycomb

* changes:
This makes the events at the edge of the screen find the button.
some touch event debugging
03ab0c7231a5c534b86eca28d875c6026ae09564 07-Jan-2011 Joe Onorato <joeo@google.com> some touch event debugging

Change-Id: I05d69da4db8c03f9c5131cd271bd9ee1b4996ca9
iewGroup.java
5977baa1fa24125c148a72699b53e62abaf08960 06-Jan-2011 Chet Haase <chet@google.com> Reuse of native display list objects

Change-Id: Ia4553e23930ad20e56c11faa7809be788a1ad4bb
LES20Canvas.java
LES20DisplayList.java
dab559a24f58d502aeeba62d2e341f0438f52b35 05-Jan-2011 Michael Jurka <mikejurka@google.com> exposing isDirty() method on View

- needed in Launcher2 for implementation of caching views to bitmaps

Change-Id: I1dc1e8e4328106f88e1aa8e55ccb17b08fc9756b
iew.java
9e90a9953b65ae575ec8db3989857e0c145724b1 05-Jan-2011 Chet Haase <chet@google.com> Reuse display lists at the java level.

Objects are invalidated and reset instead of being nulled out
and recreated. This avoids creating small amounts of garbage for
the display list and canvas objects.

Change-Id: I464fac7ea8944c19ad6d03f13a95d9017e3f4262
isplayList.java
LES20Canvas.java
LES20DisplayList.java
LES20RecordingCanvas.java
iew.java
64da12ab1f472e01325b6c6d094153ac110eaf7b 05-Jan-2011 Jeff Brown <jeffbrown@google.com> Add dispatch key shortcut window callback.

Enables Activities and Dialogs to implement key shortcut behavior.
Useful for global key shortcuts that are not bound to the focused
view or to a menu.

Change-Id: If377d20b227ee1c5cac84c47c9630b2d77f67e2c
eyEvent.java
iew.java
indow.java
70588bf864f961974c93aace7586d3e2773a54a8 05-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 3a2c6bf0 to master

Change-Id: I1963d8fc391bb84de1054f2b20ce4e082d764cbe
3a2c6bf0fcae9421cccf113ff972df7aaeb6d3e9 05-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 69ea4e15: Documentation fixes found over vacation hacking.

* commit '69ea4e15e52c456537575d21443ac1efdb03a902':
Documentation fixes found over vacation hacking.
69ea4e15e52c456537575d21443ac1efdb03a902 05-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> Documentation fixes found over vacation hacking.

Change-Id: I28900026465d66d950cf4f05f0c202b46c3c2d43
iew.java
3dbf55c3a2d993b89d0947885061cf8421930639 16-Dec-2010 Gilles Debunne <debunne@google.com> TextView's color transparency is taken into account.

Unless it has a background, the TextView will be able to support
alpha (text, cursor and highlighted text colors).

Background colored spans should be detected and should also multiply
their alpha by mCurrentAlpha.

Bug 3144861

Change-Id: If640895b8c0b25dc00b909a0a118b68fac0cfd76
iew.java
3f476b34049d062942eafcf48396f593e00bd324 04-Jan-2011 Adam Powell <adamp@google.com> Revisiting ActionBar API and layout.

Fix several bugs where ActionBar was ignoring LayoutParams in action
views.

Add convenience methods for toggling display options flags.

Add layout resource version of ActionBar#setCustomView

Fix a bug preventing actionViewClasses from being loaded properly in
menu xml.

Change-Id: I0d9a0b635fd9cfc020bac69369c0c7749c226349
enuInflater.java
enuItem.java
7f3d515f5e7bec65bea5e4e3aeeed716cea90876 05-Jan-2011 Romain Guy <romainguy@google.com> Merge changes Ia8a15db8,I20ac5203

* changes:
Don't enable hardware acceleration when the app owns the surface. Bug #3323096
Make FrameLayout support mixed wrap_content/match_parent children. Bug #3259668
1aec9a2212dd76e47ce0215006e5415b6430b54f 05-Jan-2011 Romain Guy <romainguy@google.com> Don't enable hardware acceleration when the app owns the surface.
Bug #3323096

Change-Id: Ia8a15db844703199b3cee3d178f118159315c2b9
iewRoot.java
b35cd54b88292bd6cf0387406ad9071f5475c6a7 05-Jan-2011 Dianne Hackborn <hackbod@google.com> No longer needed.

Change-Id: Ia2e8264147bb02e29599227d0588e40b1e626358
ontextThemeWrapper.java
6b5108bc9ce6401174fb1abf6791222f3e0353c4 05-Jan-2011 Romain Guy <romainguy@google.com> Change the OpenGL viewport when new layout params are used.
Bug #3303158

Change-Id: Id0b8667b262c218ead5feeb5df2c3a256f522bed
iewRoot.java
8235404786b9a78321691e4c3ac9bc66c55c602d 29-Dec-2010 Jeff Brown <jeffbrown@google.com> Merge "Add initial support for cursor-based pointing devices."
83c09685f2e62bc3cf7e71bc61d903f4b9ccaeb4 24-Dec-2010 Jeff Brown <jeffbrown@google.com> Add initial support for cursor-based pointing devices.

Some parts stubbed out but you can plug in a mouse and move
a green cursor around to interact with the UI.

Change-Id: I80d597a7f11d3bd92041890f74b3c77326975e6e
indowManager.java
6c7ad5dbed878a4b477edd8d92004a9be672a731 28-Dec-2010 Chet Haase <chet@google.com> Changes to view position update pivot point

Change-Id: I8ca8e2c8c016ae5ced32c8f8fbcbcded9fa3a466
iew.java
82d731ac5d28fb54c49948116786813a62b07b8b 24-Dec-2010 Ken Wakasa <kwakasa@google.com> Add TYPE_NUMBER_VARIATION_PASSWORD for entering a numeric password.

Also, bug fix in EditoInfo.makeCompatible().

bug: 3296883
Change-Id: Icc663b375cffbe1f4506d1758d624a1acca3576b
nputmethod/EditorInfo.java
fa93584a4fab6ca8d9348658dc30cedf76891753 23-Dec-2010 Jeff Brown <jeffbrown@google.com> am c6f2b3b3: Merge "Fix policy issues when screen is off. (DO NOT MERGE)" into gingerbread

* commit 'c6f2b3b302c06b8b7b81ec7e3a43a7df1813d0e0':
Fix policy issues when screen is off. (DO NOT MERGE)
995e77431982f9a320451dbe6132a62e69f73bab 23-Dec-2010 Jeff Brown <jeffbrown@google.com> Enable touch splitting by default for Honeycomb apps.

Also fixed some bad comments I noticed along the way.

Change-Id: I4328c8aaa22f48a5c1fd274e889abb7823747330
iew.java
iewGroup.java
eb9f7a01b0f501a535d872a957c1102ebb13d1c7 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix policy issues when screen is off. (DO NOT MERGE)

Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Bug: 3144874
Change-Id: Iebb91e10592b4ef2de4b1dd3a2e1e4254aacb697
indowManagerPolicy.java
f74dcfcf001849096a95496a8cd30bed25e79757 22-Dec-2010 Chet Haase <chet@google.com> Merge "Account for background drawable size changing when lrtb properties change"
55dbb6516d8b3d04ed23cfd613aee24bd525b965 22-Dec-2010 Chet Haase <chet@google.com> Account for background drawable size changing when lrtb properties change

LayoutTransition may set the left, right, top, bottom properties of a View when
animating it. If the View has a background drawable, and if these properties change
the actual dimensions of the view, then the background drawable must be informed
of the size change in order to display itself correctly.

Change-Id: I8ae47a051b250d0d4bdee97b1f1b5d27fe3f7f8b
iew.java
c1df907e3950fd8d2efac110edd72ea07b3b441e 22-Dec-2010 Jeff Brown <jeffbrown@google.com> Support invoking key shortcuts using Control.

This enables Select All, Cut, Copy and Paste behavior in TextViews
and provides a general pattern for implementing additional keyboard
accelerators based on Control key shortcuts. The same shortcuts
also apply to menu accelerators.

Bug: 3286262
Change-Id: I7d458ee26abf51e0de1735ce490ce3baf504b471
eyEvent.java
iewRoot.java
16331c8a1d33defccc5cbb18694def79196c921b 20-Dec-2010 satok <satok@google.com> Add a parameter to InputMethodManagerService.getEnabledSubtype for allowing to select subtypes implicitly if no subtype is enabled.

Bug: 3142286

Change-Id: I92d019d0648c552e6d7695c3530aa81ae054d702
nputmethod/InputMethodManager.java
96abab264e4d96071dc169b4828e950c1ae59681 21-Dec-2010 Patrick Dubroy <dubroy@google.com> Merge "Ensure bitmaps aren't freed while referenced from a display list"
f890fab5a6715548e520a6f010a3bfe7607ce56e 20-Dec-2010 Patrick Dubroy <dubroy@google.com> Ensure bitmaps aren't freed while referenced from a display list

Also removes the reference queue finalizers. They aren't necessary
anymore now that Bitmaps are allocated in the heap.
LES20Canvas.java
LES20DisplayList.java
LES20RecordingCanvas.java
cec4328e63ecd773b3606bd6fa0c32cdb08fa44a 20-Dec-2010 Chet Haase <chet@google.com> Merge "Make sure background drawables are correct when View is attached"
a9b61ac69cd40bf019e640abb34f2b027378994c 20-Dec-2010 Chet Haase <chet@google.com> Make sure background drawables are correct when View is attached

Books had a bug where the search menu item would come back with an
out of date background color. The problem was that the logic to
change the background color was tied into StateListDrawable animations.
These animations were not always completing because the action bar would
remove the associated View and the drawable animations would stop being
scheduled (no handler to post to).
The fix is to always set the drawable state to the current state when
a View is added to the hierarchy.

Change-Id: I0fc8008381f7439b9e49d6449ae618512c8e9dd0
iew.java
334031cd07c3bd09d23fce0ebaf946fc6ecfee26 10-Nov-2010 Glenn Kasten <gkasten@google.com> Fix documentation errors

Fix typos.
Fix javadoc error.
Fix wrong instructions about new returning null.

Change-Id: I76bca22e386839007fc99667b07649a4ced4180f
urface.java
urfaceHolder.java
urfaceView.java
4c7cc34127efa3308e1a09b28728868911b79789 17-Dec-2010 Dianne Hackborn <hackbod@google.com> Demo hack!

To make a 800 tall screen run like a 720:

adb shell setprop persist.demo.screensizehack 800=720

Note this is a persistent property, so it will (intentionally) remain across boots.

Change-Id: I8a8a9f937399327444e8fb154b91f0e642db116e
isplay.java
4e6319b73c85082e18d1c532b86336ddd1f8cfaa 13-Dec-2010 Jeff Brown <jeffbrown@google.com> Add initial support for TAB navigation.

Bug: 3286652
Change-Id: I813a0318b3b8d9c9bc791ea6a2427be11c08de00
ocusFinder.java
iew.java
iewGroup.java
iewRoot.java
d4bbcbd2dd516108a11acfab1d2d5c0c2f911aad 17-Dec-2010 Chet Haase <chet@google.com> Merge "Fix for TimePicker not redrawing itself."
c75ec3324e9e3e6500148cc2978caab90ea962e4 17-Dec-2010 Chet Haase <chet@google.com> Fix for TimePicker not redrawing itself.

The problem was that NumberPicker override View.draw(), but did not
call the superclass version of the method in some situations. This
resulted in the DIRTY flag for the view not getting cleared properly,
and future invalidations not propagating correctly.

The fix was to call super.draw() from NumberPicker.draw().

Change-Id: Ic17215dea86d54b77375494ada124dd6970e3ad6
iew.java
c91893511dc1b9e634648406c9ae61b15476e65d 15-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3272082: Contacts: when going back from edit view,
list UI is not ready yet

This involves some reworking of Loaders.

Loaders, in particular CursorLoader, are now expected to retain
their current data after being stopped. This allows applications
to keep that data across onStop() -> onStart(), so when the user
returns to the app it doesn't have to wait for the data to reload
and thus cause flicker.

This includes various API changes to better reflect the new
semantics, plus a new LoaderCallbacks method to tell the application
when it is actually time to stop their use of a loader's data.

Note this is somewhat half-done, to help checking in the extensive
application changes that are required without causing build breakage.

Change-Id: Ib4b3bf8185a6da46e7f06ca125521d65e2e380a1
indow.java
34961cc2e5cd483b15dfd1ff1eb33b01b849e0dc 15-Dec-2010 Gilles Debunne <debunne@google.com> Reduced Overfling threshold after many different cefficient tries.

Change-Id: Ib655e73fc75a09c6379883871fabf90793a6cff5
iewConfiguration.java
982b71bf4713d57b0fdb9acaaf9f9465a817aacb 15-Dec-2010 Patrick Dubroy <dubroy@google.com> Merge "Allocate bitmap backing buffers in the Java heap."
e4ac2d6b5723c95e648c489b187ddde449452c13 01-Dec-2010 Patrick Dubroy <dubroy@google.com> Allocate bitmap backing buffers in the Java heap.

Change-Id: I60f6ccff13357c1c518e9d56b02fe0171637edd1
LES20Canvas.java
aa0b92ce2b51987e9c864164234fe968ab5b9311 14-Dec-2010 Adam Powell <adamp@google.com> Fix bug 3210201 - Popup window wrong size/position when IME hidden

Fixes a case where ViewRoot does not recompute its size properly.
This caused various offsets to get out of sync and the window would
draw improperly.

Change-Id: Id0abb37bbf27b60de2dca4077c21040ec84ef163
iewRoot.java
d2835935d2df8be70d1b37d3ef3b2fe0155b3422 14-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3258849: Grab thumbnail when exiting an app via back

Also issue #3281400: Rotating a retained instance fragment leaks the fragment manager

And turn off fragment debug logging.

Change-Id: Ibdd7db82bb35618021bcba421ba92ced7cd691c2
WindowManager.aidl
urface.java
28cbf4bd5c204f0493a6fa448a259ec056dcc29e 13-Dec-2010 Jeff Brown <jeffbrown@google.com> Make framework modifier key handling more precise.

Change-Id: I0cc2276b31f882170aea575288f607a3a4ee05d4
eyCharacterMap.java
eyEvent.java
b8c0de2c2726f4e8f0029710047efe0c8e6661ed 13-Dec-2010 Romain Guy <romainguy@google.com> Improve error detection in HardwareRenderer.draw().
Bug #3280872

This should avoid crashes before we detect a GL error and we switch over to
software rendering.

Change-Id: Ieb4992576d20014e194aab863a456f09c5e19672
ardwareRenderer.java
c35a829b10946fe88b53fd3354b55218ecaff00e 10-Dec-2010 Gilles Debunne <debunne@google.com> Modified OverScroller curves

When OverFlinged, the scroller goes back to the edge using a spline
instead of a parabolic curve. This ensures that the final velocity of
this movement is null, thus removing the visual discontinuity that can
be observed with the current version.

Bouncing coefficient is deprecated. Changed doc accordingly.

New more expressive spline tension tuning coefficients.
These were tuned to match the one used before the refactoring of CL 81532.

Change-Id: I80dbccebea11544595935077463ad7737c3392e9
iewConfiguration.java
cf9cf2f40efc4ccf3f73e6fdb07725d9c00c4f91 09-Dec-2010 Gilles Debunne <debunne@google.com> New API in InputConnection to signal IME's text correction.

Scafolding so that the IME team can start working on this feature.

The animation part in the TextView is missing.

Change-Id: I8225538564370fba1500e3539742a8ab79bdd199
nputmethod/BaseInputConnection.java
nputmethod/CompletionInfo.java
nputmethod/CorrectionInfo.aidl
nputmethod/CorrectionInfo.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
20232d0f7ce2220df72dd78bed052f6b4a643f10 09-Dec-2010 Adam Powell <adamp@google.com> Holo scrollbars and related tweaks.

Added setting for placing vertical scrollbars on left or right.

Added setting for showing fast scroll persistently.

Fixed a bug where inset padding was miscalculated for horizontal scroll bars.

Fixed a bug where padded ListViews would draw fading edges incorrectly

Change-Id: I1f8499895272d42598b4b3fd3375301115def461
iew.java
a64f506941c5c3113984cd3403b82cbcb6bf482d 10-Dec-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3272051: Use backward transition when going backwards."
7da6ac33a9de82be52e22846d5f22d502452854c 10-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3272051: Use backward transition when going backwards.

Also know as:

Issue #3272051 Contacts edit view: Tapping the in-app back button
results in a forward transition

Yeah more complexity in deciding which animation to use.

Also reduce complexity in deciding which app's animation set to use,
to balance things out (and make it have less stupid behavior).

Change-Id: I78c6c5c5249a96206f7e03ce587c1dcb9a7dc14f
WindowManager.aidl
af636ebf5feb2837683fbfe965040cb706b32ec1 10-Dec-2010 Romain Guy <romainguy@google.com> Don't set the invisible flag when saving an empty layer.
Bug #3270371

Change-Id: I65e85671c2fb70d74553c91213e5e759e0ac64ee
iew.java
d2112306330ce0c162bee4b864991962ca2b655a 08-Dec-2010 Mathias Agopian <mathias@google.com> remove support for PUSH_BUFFER surfaces and overlays

the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.

Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
urface.java
urfaceHolder.java
urfaceView.java
indowManager.java
f8d47b88dc2fba738ed07be73af7f75832d597a1 08-Dec-2010 Romain Guy <romainguy@google.com> Merge "Fallback to software rendering when eglMakeCurrent fails. Bug #3200621"
9745fae73b584f3e9a9c304098ed9b11f506e93b 08-Dec-2010 Romain Guy <romainguy@google.com> Fallback to software rendering when eglMakeCurrent fails.
Bug #3200621

Change-Id: Id8a455e64a1af23840752124b49c070c00e5e2a6
ardwareRenderer.java
0aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2 08-Dec-2010 Dianne Hackborn <hackbod@google.com> Rework activity lifecycle so onSaveInstanceState() is after onPause().

The goal is to fix a bunch of fragment-related bugs caused by various
things trying to do fragment transactions after onPause()... which
currently throws an exception, since this is after the activity's state
has been saved so the new fragment state can be lost.

The basic change is relatively simple -- we now consider processes
hosting paused or stopping activities to be unkillable, and the client
code now does the onSaveInstanceState() as part of stopping the
activity.

For compatibility, if an app's targetSdkVersion is < HONEYCOMB, the
client side will still call onSaveInstanceState() prior to onPause()
and just hold on to that state until it needs to report it in once
being stopped.

Also included here is a change to generate thumbnails by taking
screenshots. The code for generating thumbnails by re-rendering
the view hierarchy is thus removed.

Change-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a
WindowManager.aidl
f9e2ca326f565e4012f83da25068c00edb087e94 08-Dec-2010 Mathias Agopian <mathias@google.com> Merge "resolved conflicts for merge of a0f011ff to master"
669084dbe6f1a20517964745028eff158c2c27e3 08-Dec-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of a0f011ff to master

Change-Id: I4c17021fc269ce66c98cc345353600eda332f980
dde4c353851fd107ebe122a4ad9328e007c169b9 08-Dec-2010 Romain Guy <romainguy@google.com> Merge "Correctly release the OpenGL Canvas on EGL error."
67f27952c1bcb2230beef9b5ca0bf42edad436a9 08-Dec-2010 Romain Guy <romainguy@google.com> Correctly release the OpenGL Canvas on EGL error.

Change-Id: Ib31fd8445f7ce5f7aa7e0205de0e7db80d024fc2
ardwareRenderer.java
49ed71db425c5054e3ad9526496a7e116c89556b 07-Dec-2010 Jeff Brown <jeffbrown@google.com> Add support for fallback keycodes.

This change enables the framework to synthesize key events to implement
default behavior when an application does not handle a key.
For example, this change enables numeric keypad keys to perform
their associated special function when numlock is off.

The application is informed that it is processing a fallback keypress
so it can choose to ignore it.

Added a new keycode for switching applications.

Added ALT key deadkeys.

New default key mappings:
- ESC -> BACK
- Meta+ESC -> HOME
- Alt+ESC -> MENU
- Meta+Space -> SEARCH
- Meta+Tab -> APP_SWITCH

Fixed some comments.
Fixed some tests.

Change-Id: Id7f3b6645f3a350275e624547822f72652f3defe
eyCharacterMap.java
eyEvent.java
iew.java
iewRoot.java
indowManagerPolicy.java
dbf78bdb7a9aed3b8393c247128a7e8c760343b5 08-Dec-2010 Romain Guy <romainguy@google.com> Fix possible NPE in ViewRoot with GL rendering enabled.
Bug #3257222

Change-Id: Ic11cbe5f06311627eb7eac4dfa8864b43651d904
iewRoot.java
a0f011ff499289c89535c41ebe79c8c642414dff 07-Dec-2010 Mathias Agopian <mathias@google.com> am 05813b0e: Merge changes I244b5469,I32044e91 into gingerbread

* commit '05813b0eb92cb1bc79607ee402f14ca1e4b43f6d':
[3253328, 3171580] Treat GONE and INVISIBLE views the same when calculating transparent regions
[3171580] Fix two typos related to fixed-size buffers
4d2bd4c9ae028adbb863bf6dd0aa90f7249153fc 01-Dec-2010 Michael Jurka <mikejurka@google.com> fixing getLocationInWindow

- takes into account mTranslationX/Y

Change-Id: I7d622fe9e8b5e021f8585894b72ffd82c087cc57
iew.java
e33811512eb061338792dbb0dbd37a1b8e4e1079 03-Dec-2010 Mathias Agopian <mathias@google.com> [3253328, 3171580] Treat GONE and INVISIBLE views the same when calculating transparent regions

We only used to check for INVISIBLE, which prevented some Surfaceview
optimization to take place.

Change-Id: I244b54696d861a022ca1c334ff61ab7efb899587
iewGroup.java
f2f7d8f9dd75c6e32a46a28fd3f53435addf0746 03-Dec-2010 Chet Haase <chet@google.com> Fix invalidation issue for optimized/GL case.

The bug caused intermittent artifacts where some apps would not get
repainted until some overall screen invalidation occurred.

Change-Id: I82a3294429f15fe51cc8f4b47134e3b5540cb240
iew.java
iewGroup.java
189ee18d6c6483ad63cc864267328259e2e00b95 03-Dec-2010 Dianne Hackborn <hackbod@google.com> Implement smarter sizing of WRAP_CONTENT windows.

This extends the view hierarchy's measure pass to allow view to
propagate up to their parent additional information besides just
their measured size. They can now report that their measured width
and/or height should be larger than the size their parent is
limiting them to (even though by definition they need to contrain
their reported measurements to the limits imposed by the parent).

ViewRoot uses this information to determine if it should remeasure
the window with a larger size limit to try to make it fit.

Change-Id: I90af3b7a8ec45d0a5c003fb009857025209d83eb
urfaceView.java
iew.java
iewRoot.java
9065504a63d6bf37bf621191fda1d1fe4da76ee3 02-Dec-2010 Jeff Brown <jeffbrown@google.com> Improve support for external keyboards.

Use Vendor ID, Product ID and optionally the Version to
locate keymaps and configuration files for external devices.

Moved virtual key definition parsing to native code so that
EventHub can identify touch screens with virtual keys and load
the appropriate key layout file.

Cleaned up a lot of old code in EventHub.

Fixed a regression in ViewRoot's fallback event handling.

Fixed a minor bug in FileMap that caused it to try to munmap
or close invalid handled when released if the attempt to map
the file failed.

Added a couple of new String8 conveniences for formatting strings.

Modified Tokenizer to fall back to open+read when mmap fails since
we can't mmap sysfs files as needed to open the virtual key
definition files in /sys/board_properties/.

Change-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6
iewRoot.java
7d695945801b8e6a051440731b500ff109e4b5ab 02-Dec-2010 Romain Guy <romainguy@google.com> Skip DIRTY_OPAQUE optimizations when ViewRoot changes the dirty region.
Bug #3159481

Change-Id: I97d6517f4648b3efe8b13a277e0374844a4d8455
iewRoot.java
67f23ba649b99647873b5a61e4a38de25fa6d660 02-Dec-2010 Michael Jurka <mikejurka@google.com> Revert "Re-add performance optimization in View"

Found reproducible cases of Launcher freezing up due to this change

This reverts commit 62490bd358cd001e00cb643cf3879d736c448788.

Change-Id: I1b10e05ee9f0c43566b53c7a11e61fc168d17a75
iew.java
407b4e91fe7627545b8110e683953353236b4543 01-Dec-2010 Christopher Tate <ctate@google.com> API CHANGE: drags can now carry an originator-only object payload

When calling startDrag(), the app can now supply an Object to be passed
along in every DragEvent that the app winds up receiving itself. This
object is *not* passed to any other applications; it's strictly app-
local. The purpose is to allow state tracking/management to be done
directly through the drag mechanism rather than requiring out-of-band
code.

An example of the utility here might be TextEdit widgets. A drag that
starts in one TextEdit but ends in a different one should be treated as
a copy/paste operation, where the originating TextEdit is not altered.
However, a drag that starts and ends in the *same* TextEdit is a 'move'
operation within that TextEdit; the text is removed from its original
position and inserted at the drop point. To support this easily, the
drag/drop code in TextEdit can now pass a pointer to the originating
view as the local state object. Then, the drop recipient could tell
whether the drag started within the same TextEdit without needing to
implement any other out-of-band state tracking.

This CL (and its accompanying CLs in a few other packages where the
startDrag() API is being used) adds the new local-state parameter to
the API, but does not actually change the behavior of any existing
clients.

Change-Id: Icba73b2ab4a650b7a94485a19633065b0ef9058c
ragEvent.java
iew.java
iewRoot.java
fff4ab09b6c69e437537f322aaca7829f009ff1d 24-Nov-2010 Gilles Debunne <debunne@google.com> Refactored OverScroller

Restored the interpolator and a constructor with 4 parameters.

New spline coefficients, spline computation moved to MagneticOverScroller, which has been
renamed SplineOverScroller.

Change-Id: If1ab2653bb998600e9c5d6f46dfd6cd30fa44efc
iewConfiguration.java
0f761d6b8f5d5a607c87dbcdca6fe0ec7911970e 01-Dec-2010 Dianne Hackborn <hackbod@google.com> Implement issue #3201795: Improve transition when keyboard comes up

ViewRoot now does a fade animation between a snapshot of the previous
layout to the new one when its content rect changes.

Also tweaked some things in the window manager to fix problems in
deciding when to animate the movement of a window and when not to.

Change-Id: I9b4b3bd53c8258bd39a2f2fc315e77cfc56a409c
ardwareRenderer.java
iewRoot.java
46a5ae6dd747d4169c7328df3c2a3c4c26f4bd26 01-Dec-2010 Jeff Brown <jeffbrown@google.com> Fix documentation bug.

Change-Id: Idd8857087a61e357466c8db60d56075637240c5d
eyCharacterMap.java
1f2451007c660091b7b090c1ea332f9044515d2d 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Ensure the ShortcutManager uses the correct key character map.

The ShortcutManager used to only receive the key code of the key event
that triggered the shortcut. This change now provides the shortcut
manager with the whole key event so it can look up the associated
character using the correct key character map.

To make this more efficient, added a mechanism for recycling
key events. At the moment it is only used by key events owned by the
system process, since clients of the existing API (such as Views)
might continue to hold on to key events after dispatch has finished so
they would break if the key event were recycled by the framework.

Deprecated KeyCharacterMap.BUILT_IN_KEYBOARD.

Change-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8
eyCharacterMap.java
eyEvent.java
otionEvent.java
indowManagerPolicy.java
62490bd358cd001e00cb643cf3879d736c448788 30-Nov-2010 Michael Jurka <mikejurka@google.com> Re-add performance optimization in View

- undoing change 79897

Change-Id: I52eb1247c4fead5e4203d7e7200129aa815e7c9b
iew.java
730666858692ea396f5ad779654b5d86ff90b6ca 30-Nov-2010 Chet Haase <chet@google.com> animation bugfix plus xml resources for new View properties

There was a bug around animation duration where it was possible,
for small durations or large inter-frame times, to calculate
fractions outside of the 0-1 range, causing bad value calculations.

Unrelated: new View properties for translation, scale, and rotation
were added in this release. This commit addes XML resources for
those properties.

Change-Id: Ieaf5dd729588adb2a40656aa82beecc3576f4af5
iew.java
fefc0743f8b0e8a936f0d138de20eca025ffe8c7 30-Nov-2010 Dianne Hackborn <hackbod@google.com> Merge "Auto-show IME for dialogs on large screens."
7d3a5bcf300aea7bffb1d46f28e244ca807f5e82 30-Nov-2010 Dianne Hackborn <hackbod@google.com> Auto-show IME for dialogs on large screens.

On a large screen the IME is not going to as significantly
cover a pan & scan window, so allow it to auto-show if the
app hasn't otherwise specified its visibility.

Also some fixes here and there.

Change-Id: I10227ec59c43454e06e6870633f53426f4d78b83
iewRoot.java
af4bf400abab86baee44dacbcdf13444d06ee46e 30-Nov-2010 satok <satok@google.com> Fix a bug of equals in InputMethodSubtype

Change-Id: I68b4726bedfb55d4737cf859ad3cb54bc19f9511
nputmethod/InputMethodSubtype.java
711e62a84fe6e127592fb14642e9d08cf25a5b75 30-Nov-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3225529: AlertDialogs are squishing their content views

ViewRoot is now smarter about measuring WRAP/WRAP windows.

Change-Id: I690fc78ddbe252d7c8070edb8e7352aec6c67ce9
iewRoot.java
f9d0be917b6f80efad29dce88ad2d2f117986c57 24-Nov-2010 Dianne Hackborn <hackbod@google.com> Implement rotation animations.

This introduces a small new feature for ScaleAnimation allowing
the scaling factor to be expressed as a percentage of the object
(which is the same as the existing float interpretation), a
percentage of the container, or a fixed dimension. Maybe not
useful for anything else, but I needed it for this.

Also fix a bug in how transformation matrices were propagated
from the Animation to Surface Flinger, so that rotate and skew
animations will actually work. :p

Change-Id: I301f4caa2147aa35564b5e511cb9c0b368d2425d
nimation/ScaleAnimation.java
440aab54cab106030f1edafea4dec1f9d8624f9b 25-Nov-2010 satok <satok@google.com> Removed InputMethodSubtypePicker

Change-Id: I08abac5d65a30c02cc671f4f70e93df25b6c8a92
nputmethod/InputMethodManager.java
c1a968a8ed45181312f7d4bcdbba0cc8ddc201ba 24-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Option to enable StrictMode flashing on userdebug builds.

Change-Id: Ifc8e733ea0e0f6bda234a18ad84bcd230879e802
WindowManager.aidl
7750c2ac61d933cdb50114c2fc2e0a0c558a140e 24-Nov-2010 Joe Onorato <joeo@google.com> Merge "this should be @hidden"
a89e903fd4b84778e1a7f2268fe025fe66a6e45e 24-Nov-2010 Joe Onorato <joeo@google.com> this should be @hidden

Change-Id: Ib372fa15a5284b30e2edef5a1d90544eb2166ee4
indowManager.java
a111187a5b4dc5d287e29ced7d65e8d20edca140 24-Nov-2010 Dianne Hackborn <hackbod@google.com> Change rotation freeze to all be implemented in window manager.

Lots of work for no visible change in behavior, but now we can
do some fancier stuff...

Also allow rotation in all 4 directions.

Change-Id: I7e5e9537c5e359f69b83c10f65cc1ce95f371461
urface.java
29fc2c9705e1bb8ae098fca016032d2325031587 24-Nov-2010 Joe Onorato <joeo@google.com> Allow status bar panels to be on top of the status bar.

Change-Id: I3c74ece5f7042e6302717f4263746d59d5447ec9
indowManager.java
2820351489537698ad153c6397edf3270455edc5 24-Nov-2010 satok <satok@google.com> Add an API to set InputMethodAndSubtype

Change-Id: I66f1a4c8e0d98705614f12a737e7efcd0263b72a
nputmethod/InputMethodManager.java
f3db1af8d55ab247b6db67baf4fe772c18f33cab 23-Nov-2010 satok <satok@google.com> Change return type of getShortcutInputMethodsAndSubtypes to Map<InputMethodInfo, List<InputMethodSubtype>>

bug: 3201828

- Brushed up the code

Change-Id: I11ad9d1d749bd8947144ca7f1676bab3cf777fd6
nputmethod/InputMethodManager.java
637d337b58d8eec6de19230a5dd5ca5581c0478d 25-Aug-2010 Adam Powell <adamp@google.com> Merge overscrolling from gingerbread.

Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
iew.java
iewConfiguration.java
6804433b0af50f33a338307ae8ddb50bc49e886b 23-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode visual notification support.

Change-Id: I64a5adb683060d9649f1132414547bb3c346a2a8
WindowManager.aidl
4e4569dab5c75804b01a19b2d6e6101b445c1c68 19-Nov-2010 satok <satok@google.com> Add an API to get shortcut IMEs

- If there are no selected shortcut IMEs, the most applicable voice input will be selected as a shortcut IME

Change-Id: Ibd0f7ef5101013569c303820a3adc9038a97356d
nputmethod/InputMethodManager.java
8c62c1d6b9738cf55411f155a061814bd886ac76 20-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "Adding CloseGuard to Animation to find forgotten animations"
877e0b99eedfd22590db4a1663ca8a3b8e6b63d2 19-Nov-2010 Brian Carlstrom <bdc@google.com> Adding CloseGuard to Animation to find forgotten animations

Change-Id: I90df2c8a88dd75550431b7db63242db1a1b2f16a
nimation/Animation.java
855e4c98846a4264b7a27ad68cfa66c12ac0591c 19-Nov-2010 Christopher Tate <ctate@google.com> Hide DragEvent pool implementation and add docs

Change-Id: Idaead8ab604c69d6dbc1bd5de3afa86e1fae8396
ragEvent.java
8e11ef0d949a52fec15359ec35557b2e773b093d 19-Nov-2010 Dianne Hackborn <hackbod@google.com> Some work on issue #3201795: Improve transition when keyboard comes up

Now try to slide dialogs if they end up moving due to the IME (or
other system things) showing/hiding. Pretty hackish, but seems to
work.

Change-Id: Icd297e941cf847fa920c9605145c46be63043d52
indowManager.java
6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Added support for full PC-style keyboards.

BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
eyCharacterMap.java
eyEvent.java
nputmethod/BaseInputConnection.java
67ddf9cbd5d7133c7f443cd3c55841ed1109c3a0 17-Nov-2010 satok <satok@google.com> Add a function to get enabledInputMethodAndSubtype

Change-Id: Ie97635343249aa63e33028c2843cab103125ca92
nputmethod/InputMethodManager.java
d9b3b7e8e1d8c919c3e5f5851daa80a2651ea7d1 17-Nov-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3202866: system server crash

Change-Id: Ied92164bea70f6cb8afe2c1c6ff4fc3836a209ab
indowManager.java
debf3bed9ea913ac55c80e1f9f7f33217054a943 16-Nov-2010 Adam Powell <adamp@google.com> Fix bug 2948913 - provide lifecycle notifications for action modes

Change-Id: I432e29a7bddb18bc32dfbe21a8ecd7d83158e3a0
indow.java
f942b7cbca8df6fbe44d73609662c47a480e523c 16-Nov-2010 Michael Jurka <mikejurka@google.com> Merge "Fix issue where Launcher was not getting redrawn"
ebefea465893529230157d4a857ef52c3fb545e7 16-Nov-2010 Michael Jurka <mikejurka@google.com> Fix issue where Launcher was not getting redrawn

This is a temporary fix; will submit a change later that restores the performance improvement but fixes the drawing issue
iew.java
759dc706ba61dda6b9eef80ecae2d590383229ae 16-Nov-2010 Adam Powell <adamp@google.com> Fix bug 3176330 - Improve documentation around MenuItem.setShowAsAction

Change-Id: Ibc8babd3668d0d8e1ed50ac330aac06a4f57dc1e
enuItem.java
7eec10e6c99c30d5ee061fec08ac89ad4254ac32 13-Nov-2010 Dianne Hackborn <hackbod@google.com> Get rid of the extended themes.

We now decide whether to use a bitmap background based on whether the
window's drawing is hardware accelerated. To do this, there is a new
"state_accelerated" that state list drawables can be parameterized on,
and the standard window background uses this to select a solid color
or bitmap drawable as appropriate.

Introduces a little hackery to have wm preview windows pretend like
they are hardware accelerated even if they aren't, so the preview looks
closer to the actual app.

Also Add a DialogWhenLarge variation for the light theme.

Change-Id: I215a79d5df65ba3eed52ab363cade9d8218a6588
WindowManager.aidl
iew.java
iewRoot.java
indow.java
indowManager.java
indowManagerImpl.java
indowManagerPolicy.java
b66d287e3003a0934d5714fbf15e554b3c814906 09-Nov-2010 satok <satok@google.com> Add a setter of InputMethodSubtype to InputMethodManager

- Public API: void setCurrentInputMethodSubtype(int pos)

Change-Id: I55daa19ba924999def544bf841f00bf54852f3e1
nputmethod/InputMethodManager.java
735cf38b8c7f8f91ad087511e44fe79018fa61d6 11-Nov-2010 satok <satok@google.com> Add a function to switch back to the last used IME

Change-Id: Iac7bcc2ee16dd04d91a3e75b160622d246788c9a
nputmethod/InputMethodManager.java
3adf490a5aaa2e87676c8985b566fcb0dfeb74b9 09-Nov-2010 Jason Bayer <bayer@google.com> Add new keycodes initially used for GoogleTV devices.

Change-Id: I1b901037d6d401931dd3ec6f7d5e1e6ad165d1c9
eyEvent.java
449bb119c954e6beacdfc7074c4d4a8254a07a13 11-Nov-2010 Chet Haase <chet@google.com> Merge "Add invalidation to Drawable when its properties change"
9891e1fce5f29d0421d34aa481037417bd70853d 11-Nov-2010 Chet Haase <chet@google.com> Add invalidation to Drawable when its properties change

invalidateSelf() already exists on Drawable. This triggers a call to
callback listeners so that they know the drawable has been invalidated.
For example, the background drawable on View will cause the View itself
to be invalidated.

Change-Id: I45b231a7600dcf3bc139e4059b7c9940ff49f60c
iew.java
0d200833fdc53f9796698f97c18cefc4a1b82df2 05-Nov-2010 Chet Haase <chet@google.com> Fix GL rendering of translucent surfaces

GL renderer was not initializing scissor correctly for translucent
surfaces, resulting in invisible window backgrounds in some cases
like fading popup windows

Change-Id: I87a964986e1ba2c4f59708c8892c5fa71903e6fc
iewGroup.java
848ae6e48b7942ced2ce149b167774db038cc741 09-Nov-2010 Adam Powell <adamp@google.com> am 6bb4f67a: am 26153a33: Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit

* commit '6bb4f67ac29b916b8ea4f08b79a7bc46c5844646':
Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit
0440f023dc2691705b5469aae5a124403f080fb6 09-Nov-2010 Mathias Agopian <mathias@google.com> am f704645b: am 5fd30540: Merge "possibly fix [2265804] OpenGL GLSurfaceView apps don\'t draw status bar drop shadow correctly" into gingerbread

* commit 'f704645b0ccf6feac9f41c82caf0ec34370a3bd0':
possibly fix [2265804] OpenGL GLSurfaceView apps don't draw status bar drop shadow correctly
6bb4f67ac29b916b8ea4f08b79a7bc46c5844646 09-Nov-2010 Adam Powell <adamp@google.com> am 26153a33: Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit

* commit '26153a33df8e6608bd37da7d44214b2a0db3195f':
Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit
26153a33df8e6608bd37da7d44214b2a0db3195f 09-Nov-2010 Adam Powell <adamp@google.com> Fix bug 3163052 - always use 32-bit drawing caches when destination
window is 32-bit

Change-Id: I0b6de28eb2de583e1d10d0a65c1ab534ef5bb047
iew.java
iewRoot.java
6908cd154c5a2ed2e3b21d40f51952d45be69184 09-Nov-2010 Dianne Hackborn <hackbod@google.com> Fix animations to use correct interpolator.

Also some fragment fixes.

Change-Id: I3906199e541a86379d07c8a4e4d5f9e99830c44a
nimation/Animation.java
nimation/DecelerateInterpolator.java
f704645b0ccf6feac9f41c82caf0ec34370a3bd0 08-Nov-2010 Mathias Agopian <mathias@google.com> am 5fd30540: Merge "possibly fix [2265804] OpenGL GLSurfaceView apps don\'t draw status bar drop shadow correctly" into gingerbread

* commit '5fd3054048b41b033700be3f30e4bca69f4f13a6':
possibly fix [2265804] OpenGL GLSurfaceView apps don't draw status bar drop shadow correctly
3915bb845b032dc184dba5e60970b803390ca3ed 05-Nov-2010 Jeff Brown <jeffbrown@google.com> Tell system server whether the app handled input events.

Refactored ViewRoot, NativeActivity and related classes to tell the
dispatcher whether an input event was actually handled by the application.

This will be used to move more of the global default key processing
into the system server instead of the application.

Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
nputHandler.java
nputQueue.java
iewRoot.java
indowManagerPolicy.java
51387974f0914a12dcf758938bbd4ffe120bdab4 08-Nov-2010 Joe Onorato <joeo@google.com> Merge "Move the volume, media, call, camera and search key handling from PhoneWindow to a new PhoneFallbackEventHandler class that is used for all windows, not just ones with decors."
86f6786032b1a0380cf089aeeceef7e9d8982ef8 06-Nov-2010 Joe Onorato <joeo@google.com> Move the volume, media, call, camera and search key handling from
PhoneWindow to a new PhoneFallbackEventHandler class that is used
for all windows, not just ones with decors.

Bug: 3155146
Change-Id: Ib070fa3e523e3564b225bca576c08012fef4f416
allbackEventHandler.java
iewRoot.java
51e7fe7545e3509ebb5c31c10440acd31cec89a2 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Rename the locked meta key constants for clarity.

Also added some tests for LED setting.

Change-Id: I3fd86322afd07ae8de52d1ccbc2fae2c6d586641
eyEvent.java
9ef0283bdcd9534cc09ae37eb2b78771b95247b5 04-Nov-2010 satok <satok@google.com> Change API for getting InputMethodSubtype's mode from resource id to String

Change-Id: I00aa99f8ab9901d40806a6bb336ab718eb857e8b
nputmethod/InputMethodInfo.java
nputmethod/InputMethodSubtype.java
1bd80ad7fdf71e437fa650f02366664c27b66b46 05-Nov-2010 Mathias Agopian <mathias@google.com> possibly fix [2265804] OpenGL GLSurfaceView apps don't draw status bar drop shadow correctly

request a layout when asking the transparent region to be recomputed, without this
it may never happen, since the transparent region is only calculated during layout.

this also fixes an issue where some fullscreen apps will run slower than expected
because their transparent region is never processed.

Change-Id: Iba187ef7b23f08ad3454aaa6707a3d262551e30c
iewRoot.java
e213677037f836529efcc0ac201fc61dd95481c5 04-Nov-2010 Dianne Hackborn <hackbod@google.com> Push the jumpDrawablesToCurrentState() thing off everywhere it should be.

Also add a new interface that items in AbsListView can implement to
adjust the bounds of the selection shown for them. This will allow
contacts to use list view's regular selection facility rather than
implementing something special in their item views.

Change-Id: I29cbdbc7122111ee97e47fe7d6ec55ff07be79cc
iewGroup.java
084f3ae952da2fa173a88ecdcd8055154e2683ec 04-Nov-2010 Daniel Sandler <dsandler@google.com> Merge "Rotation lock."
b73617de462579f7c12c25a4c2747c576f00f6a2 17-Aug-2010 Daniel Sandler <dsandler@google.com> Rotation lock.

IWindowManager now supports two new methods,
freezeRotation() and thawRotation(), that allow a caller to
temporarily stash the device's current rotation as the
default rotation (when no other constraints are present).

The system bar uses this to implement a user-accessible
rotation lock by calling freezeRotation() and then turning
off accelerometer-based display rotation; unless overridden
by an app, the display will continue to appear in the frozen
rotation until the rotation is unlocked by the user (either
via the rotation lock icon in the system bar or by checking
"rotate screen automatically" in Settings).

Bug: 2949639
Change-Id: Icd21c169d1053719590e72401f229424b254622f
WindowManager.aidl
indowManagerPolicy.java
6e0ecb4eed5cd2e1f15766d7028467129974a12d 04-Nov-2010 Chet Haase <chet@google.com> Adding JNI methods as a faster reflection mechanism

This approach is only for the common cases of void-return,
single-argument float/int methods.

Change-Id: Ifb31535a6f717b85417eced93c579be6e461e039
iewTreeObserver.java
079e23575024e103358c982152afb7a720ae1a8a 19-Oct-2010 Dianne Hackborn <hackbod@google.com> Add new fade in/out feature for drawable containers.

This is used to allow list view's pressed and activated indicators
to fade in an out, though of course it can be used elsewhere as well.

There is a lot of complexity in supporting this in list view. The
two main things that are being dealt with:

- When recycling views, we need to make sure that the view's drawable
state doesn't get animated from an old row's state. The recycler
now keeps track of which position a view was last in, and if it is
reused at a new position there is a new View/Drawable API to tell
it to jump to its current state instead of animating.

- For the pressed indicator to fade out, we need to keep displaying it
after it is hidden. There are new variables and code to keep track
of this state, and tweaks in various places to be able to remember
the last selected position and continue updating the drawable bounds
as needed.

Change-Id: Ic96aa1a3c05e519665abf3098892ff2cc4f0ef2f
iew.java
079fd674fb9005771dd383a1a483d7dc5072b5b3 04-Nov-2010 Chet Haase <chet@google.com> invalidate() View when backgroundColor changes

Change-Id: I5dd41b6ccffe35a784eec74495649fede65e78f2
iew.java
7c608f25d494c8a0a671e7373efbb47ca635367e 23-Oct-2010 Chet Haase <chet@google.com> optimizing for primitive types in animations

The animator classes caused autoboxing by converting primitive types (by far
the most typical types used in animations) to be converted to their
Object equivalents because of various APIs that required Object
(like getValue() to get the animated value). This change creates
factory methods on some classes instead of the former constructors
so that we can create and return private type-specific subclasses
which operate directly on the primitive types instead.

In particular, float and int are natively supported by the animators
now. Support in the APIs for double and long was removed because it
seemed like these less common types did not justify the extra
baggage of the added API and code.

Change-Id: I6008a3883e3d6dd5225005f45f112af148e5a4ea
iew.java
5f4b7d8a8a394940b49ecdd8b153a0eab9528c5c 03-Nov-2010 Chris Tate <ctate@google.com> Merge "Fix drag enter/exit reporting"
b0418da0e7594a8c2164a46985c5f1993632e010 01-Nov-2010 Jeff Brown <jeffbrown@google.com> Add plumbing for volume mute key.

Full support for the volume mute key will be implemented in a
later change.

Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
eyEvent.java
9d1ab883293b047b654935b84d0803c8c383be91 02-Nov-2010 Chris Tate <ctate@google.com> Fix drag enter/exit reporting

Now, each ViewGroup is tracking which of its child views [which might
themselves be ViewGroups] is currently under the drag point, and when the
drag leaves that child, a DRAG_EXITED is synthesized and dispatched all
the way down to the leaf view previously under the point. ENTERED is
still *not* dispatched down like this; instead, it's calculated and
synthesized directly at each level based on the new LOCATION.

The ViewRoot still tracks the leaf drag target, but solely for the
purpose of reporting changes to the OS after full dispatch of a new
LOCATION -- the entered/exited messaging is no longer initiated at the
ViewRoot level.

Change-Id: I0089cc538b7e33a0440187543fcfd2f8b12e197d
iewGroup.java
iewRoot.java
a32edd4b4c894f4fb3d9fd7e9d5b80321df79e20 26-Oct-2010 Adam Cohen <adamcohen@google.com> Adding click feedback to widget collections

Change-Id: I97fceb6c68ca6eb1b703eafacf201e1aed7c38e7
iewGroup.java
c9acd7d2f06f4ba8237006ce5930f09c0922d84b 02-Nov-2010 Chet Haase <chet@google.com> Merge "Fixed null deref when view parent null during invalidation"
ea40e9abb094496987ee40aeffc2a57edd4bbcab 02-Nov-2010 Chet Haase <chet@google.com> Fixed null deref when view parent null during invalidation

Change-Id: I4896b4af69f3a44351465e7524dd7b621050b415
iew.java
4d396052deb54399cbadbeb8abd873df6f3af342 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix policy issues when screen is off.

Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Fixed a couple of issues where media keys were being handled inconsistently
or not at all, particularly in the case of the new PAUSE, PLAY
and RECORD keys.

Bug: 3144874
Change-Id: Ie630f5fb6f128cfdf94845f9428067045f42892c
indowManagerPolicy.java
8eb2e244f9b14d946ee587d0b673b866865026c0 01-Nov-2010 Dianne Hackborn <hackbod@google.com> Various PreferenceActivity and related improvement.

This is all about making the preferences implementation better.

Well, mostly all about that.

Change-Id: I8efa98cb5680f3ccfa3ed694a1586de3fb3a9e11
indowManager.java
70d4ba15b1f0c1133c5aabc86de828b41e482fff 06-Oct-2010 Chet Haase <chet@google.com> Performance optimizations for animations and toolkit

Change-Id: I316a48273a9cbb428a965e4b849b3e5e9e8202f1
iew.java
iewGroup.java
iewRoot.java
dea3ef7967228f0ddcc03f2455a4f1254758e584 28-Oct-2010 Dianne Hackborn <hackbod@google.com> Add new resize mode to not resize, new web input types.

Change-Id: Ib098c03793d08532c3c099b59d0cc6b567e54900
indowManager.java
nputmethod/EditorInfo.java
06487a58be22b100daf3f950b9a1d25c3ea42aa2 29-Oct-2010 satok <satok@google.com> Add a functionarity for showing / hiding IME button on the system bar

Bug: 3077030

- IME communicates with status bar directly.

Change-Id: Ic5b6b5b7a2b8ea62372dcc9b9c36d81b9f2db651
nputmethod/InputMethodManager.java
04d50204705c9da52b218f11972da4e7d7a9cb84 25-Oct-2010 satok <satok@google.com> Show Subtype Icon properly in the system status bar

- Added API for getting the current subtype
- Added functions for show/hide status icon

Change-Id: Ifcaad00f7f4c658cdb3af367387476bbf316eb19
nputmethod/InputMethodManager.java
0d9275e565551eed57297627188aa39f3897a50b 26-Oct-2010 Romain Guy <romainguy@google.com> Enable display lists.

Change-Id: Id0d9b987251da5b7ecbb5497a55dbb5937430316
iew.java
iewGroup.java
iewRoot.java
c361da845a205ac35e724c0ca436744d483de7aa 26-Oct-2010 Romain Guy <romainguy@google.com> Don't initialize the hw renderer without a valid surface.
Bug #3054952

Change-Id: I5b4074391dbd84b04a14f7d2fb1b9a4a2487e1e2
iewRoot.java
d4533f1469990582e4a2dd0898429093fe2690c0 20-Oct-2010 Chris Tate <ctate@google.com> Report drag success/fail in the DRAG_ENDED message

DragEvent.getResult() returns 'true' if the drop was ultimately accepted;
false otherwise. The validity of this datum is only guaranteed when the
DragEvent's action verb is ACTION_DRAG_ENDED.

Also fixes the drag-start timeout handling (though the offending app is
not yet officially declared ANR).

Implements bug 3097807

Change-Id: I6908ac628c72ff7d6193d87060d769a559a78d0e
ragEvent.java
WindowSession.aidl
iewRoot.java
5c13d89c1332fcc499379b9064b891187b75ca32 08-Oct-2010 Chet Haase <chet@google.com> Optimizing display lists by referencing pointers to resources instead of copying them

Change-Id: I81ad3551d74aa1e5bb64d69e33d2eb29a6c1eb6a
isplayList.java
LES20Canvas.java
LES20DisplayList.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
iewGroup.java
c02c7af0ec88ec56089a11138d5fcfafcf891c58 21-Oct-2010 Chris Tate <ctate@google.com> Fix obtain() when the pool is still empty

Fixes bug 3116798

Change-Id: I187e79892cd2b60173ef4ebef5d2eab56eb5eb42
ragEvent.java
fb0547d2c0f84e8266dce1444d332433ada09249 20-Oct-2010 Patrick Dubroy <dubroy@google.com> Fix memory leak with TouchTargets not being recycled.
iewGroup.java
32affef4f86961c57d9ba14572ec65dc2a5451de 19-Oct-2010 Chris Tate <ctate@google.com> Introduce an OnDragListener mechanism

If the listener's onDrag(view, event) returns 'false', the view's own
onDragEvent() will be called. If the listener returns 'true', it
consumes the event (and declares that it will handle the rest of the
drag event sequence, in the case of DRAG_STARTED actions).

Change-Id: I01aff0e4f59f71e55f5eea1049905c80714f0607
iew.java
iewGroup.java
6ba052b4847d85831c38c9b8e2942cef4987e55b 16-Oct-2010 Jeff Brown <jeffbrown@google.com> am c1a564b1: Merge "Add support for secure system overlays. (DO NOT MERGE)" into gingerbread

Merge commit 'c1a564b108c511c0bdd699567c245b031930e718' into gingerbread-plus-aosp

* commit 'c1a564b108c511c0bdd699567c245b031930e718':
Add support for secure system overlays. (DO NOT MERGE)
3b2b354ec1ba070eae13391d004d97a3e1403050 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays.

Manual merge from Gingerbread.

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: Id876736fd8bf332ff9a5428bde59f5268aa49c3a
indowManager.java
2d3f159aa9622e05a18e7f93cecd57ad673955ae 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays. (DO NOT MERGE)

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
indowManager.java
497a92cc5ba2176b8a8484b0a7da040eac0e887b 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Add keycodes and meta-key modifiers to support external keyboards.

Added new key maps for external keyboards. These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.

One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used. The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.

The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly. This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.

Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.

The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...

Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis. Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.

Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
eyEvent.java
otionEvent.java
6b3912865c1530a6e06dd189dd95dc5be102b4de 15-Oct-2010 Chris Tate <ctate@google.com> Drag thumbnail fixes / improvements

* Properly wipe the thumbnail canvas before handing it to the app for
its contents to be drawn

* Provide a getView() method in DragThumbnailBuilder that allows
clients or subclasses to get at the associated view. This is
especially for clients that want to draw entire (sub)layouts as
the drag thumbnail, by overriding onDrawThumbnail(Canvas c)
like this:

// Override specifically for drawing a whole ViewGroup into
// the drag thumbnail canvas
@Override
public void onDrawThumbnail(Canvas c) {
getView().dispatchDraw(c);
}

Change-Id: Ib43ddd7cf1d44faf2d7f6ba79f102bc3c7f14596
iew.java
a32dcf7f724137842b9b8d72add4e690fac74984 14-Oct-2010 Chris Tate <ctate@google.com> Actually draw the drag thumbnail

Now sets the layer and thumbnail dimensions correctly. Also removed the
leftover bits of the now-replaced thumbnail measurement/drawing mechanism.

Fixes bug 3077339

Change-Id: I02983648e0a7ce2ce5fee10825f744e20a3a5b8d
iew.java
909cbaf8f92d69f507bbdba9e5aa960d1e6c7a1f 14-Oct-2010 Romain Guy <romainguy@google.com> Don't draw TextView's alpha layers when not needed.

Change-Id: Iedf42cbc62d727f18500c78fcccf2d081a761fec
iewConfiguration.java
67a2f7b5a1b3ec5d2440d8be6e5ee4274e90e226 14-Oct-2010 Romain Guy <romainguy@google.com> Never skip drawing SurfaceViews.

Change-Id: I07fbc632b01d96cee16b6e000e0cbf05238a442b
iewGroup.java
db6303e51ef2779b2b6b8b6dc557b5de9b7fdcf0 14-Oct-2010 Daniel Sandler <dsandler@google.com> Merge "Dynamically show the menu button on the system bar."
d8404b23739b135060ab9a04317a9f8b990cf8ca 13-Oct-2010 Adam Powell <adamp@google.com> Allow icon+text action buttons

Change-Id: I96d1f3958de3ac13cadbab108b87d6bae96e9473
enuItem.java
41030da16856c8869e1e51d4a0405432fa96614e 13-Oct-2010 Romain Guy <romainguy@google.com> Add a getNativeMatrix() API.

This API can be used by WebView to apply the appropriate transform
on its rendering.

Change-Id: I79aa39a29805f462fb08226370328815e74bdc52
LES20Canvas.java
e02d808abf370965c3c4e4d38af11bc69110fde2 08-Oct-2010 Daniel Sandler <dsandler@google.com> Dynamically show the menu button on the system bar.

Windows with FLAG_NEEDS_MENU_KEY (or windowNeedsMenuKey=true
in their theme) will cause the system bar to show a menu
icon. (Note that the phone's status bar currently ignores
this, but phones tend to have hardware menu keys anyway.)

Additionally, all windows whose package's SDK version is
pre-Honeycomb will have FLAG_NEEDS_MENU_KEY set by default.

Bug: 3003728

Change-Id: I2d983763a726ea4f32cd1af9b0390e30478b11d1
indowManager.java
048691cfac42acce24d9462eca5e57ca5aa78e7d 13-Oct-2010 Chris Tate <ctate@google.com> Don't stomp on the drag-focus bookkeeping inadvertently.

Also don't update the focus tracking redundantly.
Fixes bug 3076468

Change-Id: I021e1bb91134d5226735d9510ad7f9a7b650f93f
iewRoot.java
91e9bb3b468f0d5efccdb245d151cbcda1583386 12-Oct-2010 Chris Tate <ctate@google.com> Elide undelivered drag-location messages

The recipient app could be receiving drag location updates faster than
it handled them, leading to progressive poor responsiveness. Now we
discard any undelivered pending location updates and replace them with
the newest data point when the location is updated.

Change-Id: I7299d205a0ef8ef8f5f32fd14e9ef87383d92717
iewRoot.java
a3496a9e6011e73deadd33bd0edd9229512e23d3 12-Oct-2010 Romain Guy <romainguy@google.com> Fix invisible views issue in Launcher.

Change-Id: Ic7cb8f418b5879110eaea5a9c5fdb4f237ca4cab
iew.java
iewGroup.java
c00972bb162779e52d1b0d8f662a9f6033bf9182 12-Oct-2010 Romain Guy <romainguy@google.com> Don't recreate a new texture every time we draw a layer.

Change-Id: I3c28aff5acffc7c6f1ac74805869725426c62d28
elocityTracker.java
d10cd5765a2b706fc174f16b951d6b0a5d3740d3 10-Oct-2010 Romain Guy <romainguy@google.com> Always create OpenGL accelerated windows in RGBA 8888.

Bug #3081600

The OpenGL renderer in libhwui uses a single EGL context per process and
thus create it with an RGBA 8888 EGL configuration. To ensure that all
windows are compatible with this configuration, this change modifies
the window manager and SurfaceFlinger.

The window manager now checks the window's flags and if the window is
hardware accelerated, it forces the window's pixel format to be
translucent when creating the surface. The window itself is still
marked as opaque if we know that the window will be opaque on screen.
This keeps existing optimizations in place.

Similarly in SurfaceFlinger, a translucent Surface can now be created
with the Surface.OPAQUE flag, indicating SurfaceFlinger that the surface
does not require blending, despite its RGBA 8888 configuration.

Change-Id: Ic747b6b12564ba064412d842117880fcc199eb7c
ardwareRenderer.java
urface.java
53ca03d9a3a6a95286302802173c4820b16328ce 09-Oct-2010 Romain Guy <romainguy@google.com> Don't set hwAccelerated=true when libhwui is not present.

Change-Id: I6df5a89e4b4d94d76e96b5d0a678b7a8f646268a
ardwareRenderer.java
iewRoot.java
4231124c9df51727a42cb1c09777816797c912cb 12-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Fix an event injection bug when the policy is bypassed."
d5d2b7382cd863dd5c92c99575fb345777f0c567 12-Oct-2010 Romain Guy <romainguy@google.com> Merge "Don't draw fully transparent views/primitives."
dbc26d2ba13f80a7590c57de2d80530d96832969 12-Oct-2010 Romain Guy <romainguy@google.com> Don't draw fully transparent views/primitives.

Change-Id: Icd7d8ef1f57b51a24faf32f7004125e6300d4fdc
iewConfiguration.java
iewGroup.java
e20c9e0264190f94324197a8271cf03811a4ca58 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Cherry pick of b931a1b4 from gingerbread into master.

Change-Id: I700a5f07b8b227878cea9437a289a45a245c0424
indowManagerPolicy.java
dd8b0c90400a1c59d4d71d768c02eed961596bc8 12-Oct-2010 Jeff Brown <jeffbrown@google.com> am 41aabeb5: am 1e6a3a53: Merge "Added more robust tracking and cancelation of events." into gingerbread

Merge commit '41aabeb51305d19747687f246080f44fc2a74435'

* commit '41aabeb51305d19747687f246080f44fc2a74435':
Added more robust tracking and cancelation of events.
f2e0681ada3ffe1de994a51dcebd6ef045d27434 12-Oct-2010 Jeff Brown <jeffbrown@google.com> am 1da8d4d1: Merge "Fix an event injection bug when the policy is bypassed." into gingerbread

Merge commit '1da8d4d1697cec871dea8c30dad67e90db10bde6' into gingerbread-plus-aosp

* commit '1da8d4d1697cec871dea8c30dad67e90db10bde6':
Fix an event injection bug when the policy is bypassed.
b931a1b4183386ba840edc1bcc507eccf11b5cbe 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Change-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970
indowManagerPolicy.java
101e2ae00c478e13f34c81db05a9a921ad637571 11-Oct-2010 Romain Guy <romainguy@google.com> Redraw the screen when needed.

Bug #3085265

Change-Id: Ibb47500f819b823eb4f3dee829f0396dce9a3d65
iewRoot.java
325b05f611909ffec123003aa33bc22dace356e0 11-Oct-2010 Jeff Brown <jeffbrown@google.com> am b13998f2: am d00b4386: Merge "Clarify some comments on individual key codes." into gingerbread

Merge commit 'b13998f2b482ff0ebe96cd683801758a01d10799'

* commit 'b13998f2b482ff0ebe96cd683801758a01d10799':
Clarify some comments on individual key codes.
fd5072606b85948cbe7c026b6d251774a9facb97 11-Oct-2010 Romain Guy <romainguy@google.com> Reset the dirty region after drawing in hardware.

Change-Id: I687419f2a95d5d7c51913467bd80249244102725
iewRoot.java
41aabeb51305d19747687f246080f44fc2a74435 10-Oct-2010 Jeff Brown <jeffbrown@google.com> am 1e6a3a53: Merge "Added more robust tracking and cancelation of events." into gingerbread

Merge commit '1e6a3a53fc4d56e3a0f86c8721dedfd46e738a32' into gingerbread-plus-aosp

* commit '1e6a3a53fc4d56e3a0f86c8721dedfd46e738a32':
Added more robust tracking and cancelation of events.
b699726018a0049665d8ad6b90dbc5af0e18f135 09-Oct-2010 Jeff Brown <jeffbrown@google.com> Added more robust tracking and cancelation of events.

This change fixes several issues where events would be dropped in the
input dispatch pipeline in such a way that the dispatcher could not
accurately track the state of the input device.

Given more robust tracking, we can now also provide robust cancelation
of input events in cases where an application might otherwise become
out of sync with the event stream due to ANR, app switch, policy decisions,
or forced focus transitions.

Pruned some of the input dispatcher log output.

Moved the responsibility for calling intercept*BeforeQueueing into
the input dispatcher instead of the input reader and added support for
early interception of injected events for events coming from trusted
sources. This enables behaviors like injection of media keys while
the screen is off, haptic feedback of injected virtual keys, so injected
events become more "first class" in a way.

Change-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9
eyEvent.java
otionEvent.java
indowManagerPolicy.java
ca33268ef88d54458a990e082153fa55971b666c 09-Oct-2010 Dianne Hackborn <hackbod@google.com> am 18e225b4: am bfba7cab: Fix issue #3001362: API REVIEW: android.view.InputQueue.Callback

Merge commit '18e225b42b77c48efa63f245a4137c5f74302e26'

* commit '18e225b42b77c48efa63f245a4137c5f74302e26':
Fix issue #3001362: API REVIEW: android.view.InputQueue.Callback
9568a5ab2e51428685904a2d1fd18b4ec736ba0b 09-Oct-2010 Mike Dodd <mdodd@google.com> Merge "HardwareRenderer: When throwing an exception because of an EGL error, include the specific error."
5d3e2ea6f3a02b5bd073887eabfa4f50a59bbcf0 08-Oct-2010 Mike Dodd <mdodd@google.com> HardwareRenderer: When throwing an exception because of an EGL
error, include the specific error.

Change-Id: I8e4b0cdbc207824df4f4bb55c3b379b0ee4aeec2
ardwareRenderer.java
b13998f2b482ff0ebe96cd683801758a01d10799 08-Oct-2010 Jeff Brown <jeffbrown@google.com> am d00b4386: Merge "Clarify some comments on individual key codes." into gingerbread

Merge commit 'd00b4386aed2ef58077490ca7de7d93b98ed51fb' into gingerbread-plus-aosp

* commit 'd00b4386aed2ef58077490ca7de7d93b98ed51fb':
Clarify some comments on individual key codes.
c4dfe3d5c08daebdb4f27f715f2bbb7a860423a9 08-Oct-2010 Dianne Hackborn <hackbod@google.com> am 92d29c66: am a2a0a98a: Merge "Fix NPE if there is no accelerometer." into gingerbread

Merge commit '92d29c66f5cb69627172d21057e672eaba2eb03f'

* commit '92d29c66f5cb69627172d21057e672eaba2eb03f':
Fix NPE if there is no accelerometer.
224d4a15353656182939aaf4be8cbbf5ab7c63c5 08-Oct-2010 Jeff Brown <jeffbrown@google.com> Clarify some comments on individual key codes.

Change-Id: I03cce0ad69aaab5b71e5017982b01afd27285d2f
eyEvent.java
e0ee2e9f3102c3c14c873a75a7b04e49787e0fb9 07-Oct-2010 Chet Haase <chet@google.com> New TimeInterpolator interface for android.animation package.

The new animation package's reliance on the old Interpolator interface (in
android.view.animation) was an eyesore. Adding TimeInterpolator, and having the
old Interpolator interface extend it, allows the new Animator classes to break
the tie to the older animation package completely. However, developers can still
use the older Interpolator-based classes, such as AccelerateInterpolator,
because they all implicitly extend the new TimeInterpolator class.

Change-Id: I41132fa56167ba564f4839113289114d0ea31a92
nimation/Interpolator.java
18e225b42b77c48efa63f245a4137c5f74302e26 07-Oct-2010 Dianne Hackborn <hackbod@google.com> am bfba7cab: Fix issue #3001362: API REVIEW: android.view.InputQueue.Callback

Merge commit 'bfba7cab94cd9cf28e561159dbbe934dc83a6f0a' into gingerbread-plus-aosp

* commit 'bfba7cab94cd9cf28e561159dbbe934dc83a6f0a':
Fix issue #3001362: API REVIEW: android.view.InputQueue.Callback
47a44916e2fb33cf4751906386d5f5c903b28d8b 06-Oct-2010 satok <satok@google.com> Add InputMethodEnabler for enabling input methods and subtypes

- Copyed functionarity from LanguageSettings.java

TODO: Save enabled InputMethodSubtypes

Change-Id: I7b4fb1a79cb8b3229f88773d261430e23ba7aae2
nputmethod/InputMethodManager.java
e743bd2bac1ed8a04d32def6e6ccfa5c9c180458 07-Oct-2010 Romain Guy <romainguy@google.com> Merge "Don't clear the framebuffer when not needed."
6b7bd24659fb175fe1f0e97c86c18969918b496a 07-Oct-2010 Romain Guy <romainguy@google.com> Don't clear the framebuffer when not needed.
LES20Canvas.java
ardwareRenderer.java
iewRoot.java
bfba7cab94cd9cf28e561159dbbe934dc83a6f0a 25-Sep-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3001362: API REVIEW: android.view.InputQueue.Callback

Change-Id: Ibc12a7326a13c318205774e226ed1f62a5cf11eb
nputQueue.java
5ada6cb0591c1106e3591a3b7adcdc77a1322209 05-Oct-2010 Christopher Tate <ctate@google.com> More drag/drop adjustments:

* Make View.onDragEvent() public instead of protected.
* No longer @hide View.startDrag()
* Properly manage the boundaries of DRAG_STARTED / DRAG_ENDED notifications
to windows (and as a result don't send bogus empty DRAG_STARTED events or
double-recycle pooled DragEvents)

Change-Id: Ib75f5c1417640c82a5b043c555e02d6e6f4b4d9c
iew.java
iewGroup.java
7930b5bc068e92a1eaaa6c890b77aebbdf01e259 07-Oct-2010 Mathias Agopian <mathias@google.com> am 722665c5: am ef115308: fix build. SurfaceView.setFrame needed to be hidden

Merge commit '722665c5f76e81bed646490977ea30f38aaa00da'

* commit '722665c5f76e81bed646490977ea30f38aaa00da':
fix build. SurfaceView.setFrame needed to be hidden
3243cbc9b2f9ada6314292d0dea384c0434d8afb 07-Oct-2010 Mathias Agopian <mathias@google.com> am b99e81ab: am 7e6064ad: Merge "fix [3008290] passion GB surface does not send surfaceChanged notification after size change." into gingerbread

Merge commit 'b99e81ab4cccac537fc7ae8d07d59a0f6c1395d2'

* commit 'b99e81ab4cccac537fc7ae8d07d59a0f6c1395d2':
fix [3008290] passion GB surface does not send surfaceChanged notification after size change.
e537858ba72b0cac0ae9d20df687853b5413fba4 06-Oct-2010 Neel Parekh <neel@google.com> Fix pressed vs selected typo in onCreateDrawableState

Change-Id: I7a415cacf29ed8c6c558f6b29902edd76fc98ea6
iew.java
c21550a8d1dfc9e5359fe994cb48049a0bd4c82c 06-Oct-2010 Brian Carlstrom <bdc@google.com> Adding android.os.Debug.countInstancesOfClass

- Debug.countInstancesOfClass is just a wrapper on
dalvik.system.VMDebug.countInstancesOfClass to avoid code from
depending on the dalvik classes directly

- Existing usages of VMDebug.countInstancesOfClass in ActivityThread
and ViewDebug are converted to the new Debug.countInstancesOfClass

- Existing use of OpenSSLSocketImpl.instanceCount, which is being
removed, is converted to Debug.countInstancesOfClass(OpenSSLSocketImpl.class)

Bug: 3015791
Change-Id: Iefa781292d5b82a63bad7254c913a09deb3b7888
iewDebug.java
92d29c66f5cb69627172d21057e672eaba2eb03f 06-Oct-2010 Dianne Hackborn <hackbod@google.com> am a2a0a98a: Merge "Fix NPE if there is no accelerometer." into gingerbread

Merge commit 'a2a0a98ac7ce53f282a9a4caac9d382a0eb01ef9' into gingerbread-plus-aosp

* commit 'a2a0a98ac7ce53f282a9a4caac9d382a0eb01ef9':
Fix NPE if there is no accelerometer.
a2a0a98ac7ce53f282a9a4caac9d382a0eb01ef9 06-Oct-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix NPE if there is no accelerometer." into gingerbread
b499bb106927283c7eccf6d935335c50492a23e4 06-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix NPE if there is no accelerometer.

Change-Id: I983290a7fc3deda2a82b03ff564f1b7201cc3dd3
indowOrientationListener.java
ee7e0efcc1314b994ba70d91f6e8fa951044c916 06-Oct-2010 Adam Powell <adamp@google.com> am 59c4cb9e: Merge "DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll" into gingerbread

Merge commit '59c4cb9e8fee03f770aa0fa1a2f0ec84ffb945b8' into gingerbread-plus-aosp

* commit '59c4cb9e8fee03f770aa0fa1a2f0ec84ffb945b8':
DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll
737e8fe2c7ce167bc68ad779160488007a5e0b1d 05-Oct-2010 Adam Powell <adamp@google.com> DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll

Change-Id: If34c8ea4e15697420adad0bc404f3c278efd7c1b
iew.java
e21635571eec6600abbfa2cd926383e788b12e12 05-Oct-2010 Romain Guy <romainguy@google.com> Merge "Code cleanup and disable display lists for now."
469b1dbeaf7d3267d1b43af4e7391b49eac10ee0 05-Oct-2010 Romain Guy <romainguy@google.com> Code cleanup and disable display lists for now.

Change-Id: I681213036b5279339cb96a016d1dfb15d74dafc8
iewGroup.java
a0374192b9669d00d85840ee3ddbfd41c2cc52f3 05-Oct-2010 Christopher Tate <ctate@google.com> Make View.DragThumbnailBuilder a static class

It also now uses a WeakReference to the associated View, not a hard
object pointer.

Change-Id: I37e10b3155ee7e089a72bdf050cc2d323794810f
iew.java
38014763a2ceec005682066da01849adf95839bd 05-Oct-2010 Dianne Hackborn <hackbod@google.com> am 89230e3b: am 458fc5f5: Merge "Fix issue #3041660: Camera image flips upside down when rotating device" into gingerbread

Merge commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d'

* commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d':
Fix issue #3041660: Camera image flips upside down when rotating device
2fe9a8f6f6a5264597a9dbed2fb2e02d84853189 05-Oct-2010 Romain Guy <romainguy@google.com> Correctly invalidate the drawing cache when an invalidate is requested.

Change-Id: Ic78f85d728a14a9f2e4a1925d46b6db9a204bbb1
iew.java
722665c5f76e81bed646490977ea30f38aaa00da 05-Oct-2010 Mathias Agopian <mathias@google.com> am ef115308: fix build. SurfaceView.setFrame needed to be hidden

Merge commit 'ef11530874f86570aa04a10c16a416b274b3fdf5' into gingerbread-plus-aosp

* commit 'ef11530874f86570aa04a10c16a416b274b3fdf5':
fix build. SurfaceView.setFrame needed to be hidden
ef11530874f86570aa04a10c16a416b274b3fdf5 05-Oct-2010 Mathias Agopian <mathias@google.com> fix build. SurfaceView.setFrame needed to be hidden

Change-Id: I96b0896e24483e9b5db19c938cb6058868f34e48
urfaceView.java
b99e81ab4cccac537fc7ae8d07d59a0f6c1395d2 05-Oct-2010 Mathias Agopian <mathias@google.com> am 7e6064ad: Merge "fix [3008290] passion GB surface does not send surfaceChanged notification after size change." into gingerbread

Merge commit '7e6064ad7ccd4a0c59d89ccdf16e969b0c3296d3' into gingerbread-plus-aosp

* commit '7e6064ad7ccd4a0c59d89ccdf16e969b0c3296d3':
fix [3008290] passion GB surface does not send surfaceChanged notification after size change.
7e6064ad7ccd4a0c59d89ccdf16e969b0c3296d3 05-Oct-2010 Mathias Agopian <mathias@google.com> Merge "fix [3008290] passion GB surface does not send surfaceChanged notification after size change." into gingerbread
2c095f367779ef32130c72849936a2e3013c8492 04-Oct-2010 Christopher Tate <ctate@google.com> Refinements to drag/drop

Thumbnail measurement & drawing has been moved out into a delegate
class called View.DragThumbnailBuilder. This consolidates the
thumbnail-related code as well as ensuring that the drag initiator
does not have to know a priori where to place the thumbnail relative
to the touch point *before* the thumbnail measurement step, as was
previously the case.

startDrag() no longer needs to be told where the current touch point
is at the time the drag is launched.

Drag events are now dispatched only to VISIBLE views.

Dispatch shouldn't double-recycle events any more when the target
window is local to the system process.

Change-Id: I49419103765a0cad2e18ddfcdd6dacb94daf1ff1
ragEvent.java
Window.aidl
iew.java
iewDebug.java
iewGroup.java
iewRoot.java
995bb9d24d3b278939a01e1d05c2b7f337ab0565 05-Oct-2010 Mathias Agopian <mathias@google.com> fix [3008290] passion GB surface does not send surfaceChanged notification after size change.

The video has the same aspect ratio than the window, so the window size doesn't change.
In turn, onSizeChanged() is not called, which is where surfaceChanged() is eventually called from.

we now override setFrame() and always call updateWindow from there instead of from onSizeChanged()

Change-Id: I87064b577ff1d7b6ba50e563d7278813002d2b29
urfaceView.java
5e25c2c14593caee5638603120553ae1ec530f85 16-Sep-2010 Chet Haase <chet@google.com> Add ability to automate animated transitions on View show/hide

Change-Id: Id6ff92c8fd06c3f5fb30c41b020b4de4f567154f
iew.java
iewGroup.java
89230e3b7b9ec455373e3f60b62ff65589a9c57d 04-Oct-2010 Dianne Hackborn <hackbod@google.com> am 458fc5f5: Merge "Fix issue #3041660: Camera image flips upside down when rotating device" into gingerbread

Merge commit '458fc5f52e25d7a8b4e482010711aed66f0b4999' into gingerbread-plus-aosp

* commit '458fc5f52e25d7a8b4e482010711aed66f0b4999':
Fix issue #3041660: Camera image flips upside down when rotating device
e5439f228f603f60febe058f633d91d5af2fff76 03-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3041660: Camera image flips upside down when rotating device

Apps now must explicitly opt in to having their rotation changed while
forcing landscape mode. Also add some new orientation constants for other
things apps may want to do.

Change-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd
indowOrientationListener.java
efb8a3d6e058c8bc90bb9da6c58dde453f359851 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am 57fa3e8b: am 9e32a438: Merge "Support haptic feedback for virtual keys defined in key layout." into gingerbread

Merge commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f'

* commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f':
Support haptic feedback for virtual keys defined in key layout.
120e6be701833fd7cdc6bf063b17e1f88929a074 02-Oct-2010 Dianne Hackborn <hackbod@google.com> am 007d5b2c: am fd57416c: Fix build.

Merge commit '007d5b2cf6af32dfe96c0c04988d090b872afb01'

* commit '007d5b2cf6af32dfe96c0c04988d090b872afb01':
Fix build.
ed03270fb0a6391df50134d69220f04df398f468 01-Oct-2010 Chet Haase <chet@google.com> Optimizing invalidation to avoid trashing the rendering cache

Objects whose size or contents do not change can use the same rendering cache as before, so in these cases we do invalidation without causing the rendering cache to be recreated.

Change-Id: I840737097b73017ae9ccc9e2cc0bc3d71527e555
iew.java
57fa3e8b4c94125ddb5be015dd7fbde4a458894f 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am 9e32a438: Merge "Support haptic feedback for virtual keys defined in key layout." into gingerbread

Merge commit '9e32a438fd87180692da55197972ecddb1a731d9' into gingerbread-plus-aosp

* commit '9e32a438fd87180692da55197972ecddb1a731d9':
Support haptic feedback for virtual keys defined in key layout.
0eaf3931a31c29f3a3883aab426b595c231c2a58 01-Oct-2010 Jeff Brown <jeffbrown@google.com> Support haptic feedback for virtual keys defined in key layout.

Change-Id: I83e4108a87332692e03791dc066206becbc7941f
indowManagerPolicy.java
007d5b2cf6af32dfe96c0c04988d090b872afb01 01-Oct-2010 Dianne Hackborn <hackbod@google.com> am fd57416c: Fix build.

Merge commit 'fd57416cc8c2a333f46cacad6de48a3b1547eac9' into gingerbread-plus-aosp

* commit 'fd57416cc8c2a333f46cacad6de48a3b1547eac9':
Fix build.
fd57416cc8c2a333f46cacad6de48a3b1547eac9 01-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I99d362e6673252ade4da29f29852eccaedbc9709
indowManagerPolicy.java
866717406710595a487cdca33f698876dcd4e8af 01-Oct-2010 Jeff Brown <jeffbrown@google.com> Make View transformation matrix updating more explicit.

The original code depends on side-effects of hasIdentityMatrix()
to update the View transformation matrix. This change adds an
explicit updateMatrix() method to make it more explicit when
we are relying on the matrix having been updated. Among other
things, getInverseMatrix() did not update the matrix so the
caller had to know to call hasIdentityMatrix() first (which was
always the case, but still potentially error-prone).

Change-Id: I16d56f60a785a15c65f73e57b9aded9e4e3bca55
iew.java
0bb5667b4ef91fefd0500fae0186789d15d54e0e 01-Oct-2010 Romain Guy <romainguy@android.com> Fix INVALID_OPERATION error with layers rendering.

This change is a workaround for a driver bug that causes an INVALID_OPERATION
to be thrown on every glCopyTexSubImage() call. This change also adds a new
test for gradients local matrices.

Change-Id: I41b7437481026702d0a3a9677f099b4557c0a84e
iew.java
a53146c5569f8ff5f7eb55e9ad35d23ddacf2add 07-Sep-2010 Christopher Tate <ctate@google.com> Drag/drop APIs and infrastructure

A View initiates a drag-and-drop operation (hereafter just called a "drag")
by calling its startDrag(ClipData) method. Within the processing of that
call, two callbacks are made into the originating View. The first is to
onMeasureDragThumbnail(). Similarly to the core onMeasure() method, this
callback must respond by calling setDragThumbnailDimension(width, height) to
declare the size of the drag thumbnail image that should be used. Following
this, the View's onDrawDragThumbnail(canvas) method will be invoked to
actually produce the bits of the thumbnail image.

If all goes well, startDrag() will return 'true', and the drag is off and
running. (The other arguments to startDrag() provide reconciliation between
the current finger position and where the thumbnail should be placed on
the screen relative to it.)

Potential receipients of the ClipData behind the drag are notified by a
new dispatch mechanism, roughly parallel to motion event dispatch. The core
routine is the View's onDragEvent(event) callback, with the mechanics of
dispatch itself being routed through dispatchDragEvent(event) -- as in
the case of motion events, the dispatch logic is in ViewGroup, with leaf
View objects not needing to consider the dispatch flow.

Several different event 'actions' are delivered through this dispatch
mechanism:

ACTION_DRAG_STARTED: this event is propagated to every View in every window
(including windows created during the course of a drag). It serves as a
global notification that a drag has started with a payload whose matching
ClipDescription is supplied with the event. A View that is prepared to
consume the data described in this event should return 'true' from their
onDragEvent() method, and ideally will also make some visible on-screen
indication that they are a potential target of the drop.

ACTION_DRAG_ENTERED: this event is sent once when the drag point
enters the View's bounds. It is an opportunity for the View to set up
feedback that they are the one who will see the drop if the finger goes
up now.

ACTION_DRAG_LOCATION: when the drag point is over a given View, that
View will receive a stream of DRAG_LOCATION events, providing an
opportunity for the View to show visual feedback tied to the drag point.

ACTION_DRAG_EXITED: like DRAG_ENTERED, but called when the drag point
leaves the View's bounds. The View should undo any visuals meant to
emphasize their being the hovered-over target.

ACTION_DROP: when the drag ends at a given point, the View under that
point is sent this event, with the full ClipData of the payload.

ACTION_DRAG_ENDED: paralleling the DRAG_STARTED action, this is the global
broadcast that the drag has ended and all Views should return to their
normal visual state. This happens after the DROP event.

Change-Id: Ia8d0fb1516bce8c735d87ffd101af0976d7e84b6
ragEvent.aidl
ragEvent.java
Window.aidl
WindowSession.aidl
iew.java
iewGroup.java
iewRoot.java
indowManager.java
20e987bfc35d0ae6cb6344ead65ed44ee7cf8750 23-Aug-2010 Jeff Brown <jeffbrown@google.com> Add MotionEvent Matrix transformations.

Fixed issued in ViewGroup's transformation of MotionEvents to ensure
that the entire historical trace is transformed, not just the current
pointer.

Simplified the code in ViewGroup for splitting events across Views.
The new code also handles the case where some pointers are dispatched
to the ViewGroup in addition to its children whereas the previous
code would drop some pointers on the floor.

Change-Id: I56ac31903e1de8a9c376d9c935b7217b0c42d93e
otionEvent.java
iew.java
iewGroup.java
e17c054d34676c25f03b4eb0d8daebe41b84bf6e 29-Sep-2010 Romain Guy <romainguy@google.com> Merge "Add display lists caching."
b051e895ccb696604349c6c5efe7c4747e1d1ab6 29-Sep-2010 Romain Guy <romainguy@google.com> Add display lists caching.

Change-Id: Iac3a248a81ed8cb076a83ef9d186b8ebba685b4c
isplayList.java
LES20Canvas.java
LES20DisplayList.java
ardwareCanvas.java
ardwareRenderer.java
iew.java
iewGroup.java
iewRoot.java
464fb74e28b6d76d5e741abcdbb714eea2d9b4d1 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 9785bf0f: am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919'

* commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919':
Add suuport for splitting touch events across windows.
9785bf0f2b6b8758aed7ded3b996a2ef0be89919 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '14a288da6a372230d9af41da12241fe500eec837' into gingerbread-plus-aosp

* commit '14a288da6a372230d9af41da12241fe500eec837':
Add suuport for splitting touch events across windows.
14a288da6a372230d9af41da12241fe500eec837 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Add suuport for splitting touch events across windows." into gingerbread
01ce2e9eee41cc0c24b0d16465710a28ea337d5d 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Add suuport for splitting touch events across windows.

This feature is currently used to enable dragging the start and end
selection handles of a TextView at the same time. Could be used for
other things later.

Deleted some dead code in ArrowKeyMovementMethod and CursorControllers.

Change-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409
indowManager.java
79d716f7dec8558e282d13c4372b8b2999bab06d 26-Sep-2010 Jean-Baptiste Queru <jbq@google.com> am 74a8df20: am dcfb271b: Merge "Fix if ACTION_DOWN and lost focus time too close, it will become long press."

Merge commit '74a8df2026514025b186aba80a810a03377a80e9'

* commit '74a8df2026514025b186aba80a810a03377a80e9':
Fix if ACTION_DOWN and lost focus time too close, it will become long press.
74a8df2026514025b186aba80a810a03377a80e9 26-Sep-2010 Jean-Baptiste Queru <jbq@google.com> am dcfb271b: Merge "Fix if ACTION_DOWN and lost focus time too close, it will become long press."

Merge commit 'dcfb271b7fa364d567ffd7c495b2baa28a755251' into gingerbread-plus-aosp

* commit 'dcfb271b7fa364d567ffd7c495b2baa28a755251':
Fix if ACTION_DOWN and lost focus time too close, it will become long press.
405e012681aa563b1d7b66c671c90ed2deb26e41 25-Sep-2010 Dianne Hackborn <hackbod@google.com> am deaa8ff1: am a7ef18fc: Merge "Some debugging support." into gingerbread

Merge commit 'deaa8ff1b10d38add4f7c276e7be2ffc19359a14'

* commit 'deaa8ff1b10d38add4f7c276e7be2ffc19359a14':
Some debugging support.
deaa8ff1b10d38add4f7c276e7be2ffc19359a14 25-Sep-2010 Dianne Hackborn <hackbod@google.com> am a7ef18fc: Merge "Some debugging support." into gingerbread

Merge commit 'a7ef18fca50d0db99a161d8c7e2d8979f0445503' into gingerbread-plus-aosp

* commit 'a7ef18fca50d0db99a161d8c7e2d8979f0445503':
Some debugging support.
f123e49bf0708719b51a7064ae134c097abe4a54 24-Sep-2010 Dianne Hackborn <hackbod@google.com> Some debugging support.

- New feature to "am monitor" to have it automatically launch
gdbserv for you when a crash/ANR happens, and tell you how to
run the client.

- Update dumpstate to match new location of binder debug logs

- Various commented out logs that are being used to track down
issues.

Change-Id: Ia5dd0cd2df983a1fc6be697642a4590aa02a26a5
iewRoot.java
1abe452515c35f04e12421b1745419554c343d20 24-Sep-2010 Romain Guy <romainguy@google.com> Merge "Add drawing profiling to the HardwareRenderer."
9a40babc62416259d18783ce8c03c00042ec317b 24-Sep-2010 Romain Guy <romainguy@google.com> Add drawing profiling to the HardwareRenderer.

Change-Id: Idf410f1764f3e73590b587d0d76a8d10c021f056
ardwareRenderer.java
d1fbcbb3cc9dc060d234715517783155c835051e 24-Sep-2010 Romain Guy <romainguy@google.com> Merge "Don't clip alpha layers if the flag is not set."
fd880425e058a039ed6483d822738b80f962eb08 24-Sep-2010 Romain Guy <romainguy@google.com> Don't clip alpha layers if the flag is not set.

Change-Id: I820fa66bc3699357677f37a769de52fd176d9416
iewGroup.java
5bd069fe1e5208b9d41ea108a8c9ada504cae39c 23-Sep-2010 Jeff Brown <jeffbrown@google.com> am 27917946: am de04fb0a: Merge "Enforce serial ordering of MotionEvents." into gingerbread

Merge commit '279179461edccaa4217fe752a9abf6fcc2efa5a1'

* commit '279179461edccaa4217fe752a9abf6fcc2efa5a1':
Enforce serial ordering of MotionEvents.
279179461edccaa4217fe752a9abf6fcc2efa5a1 23-Sep-2010 Jeff Brown <jeffbrown@google.com> am de04fb0a: Merge "Enforce serial ordering of MotionEvents." into gingerbread

Merge commit 'de04fb0a0366057028369eb3b3efcb75367f74db' into gingerbread-plus-aosp

* commit 'de04fb0a0366057028369eb3b3efcb75367f74db':
Enforce serial ordering of MotionEvents.
93ed4e3052a773289c0570984801ea8f0f0849d2 23-Sep-2010 Jeff Brown <jeffbrown@google.com> Enforce serial ordering of MotionEvents.

This change modifies ViewRoot to wait until the MotionEvent has been
delivered before telling the input dispatcher that it is finished.
The serial ordering guarantee will be required by new features that
may need to transfer touch focus from one window to another.

Change-Id: I0a64d1f0c8bc3f08846f213d6e28ce48b1d48e58
iewRoot.java
085002c5efda0fe57d9e4a0707c0b9ec7ee28ce6 23-Sep-2010 Amith Yamasani <yamasani@google.com> am 847810f0: am 6e98c280: Merge "Fix for IndexOutOfBounds in setComposingRegion." into gingerbread

Merge commit '847810f0cdccd10e6e233281d4eb984b7ce8d680'

* commit '847810f0cdccd10e6e233281d4eb984b7ce8d680':
Fix for IndexOutOfBounds in setComposingRegion.
847810f0cdccd10e6e233281d4eb984b7ce8d680 23-Sep-2010 Amith Yamasani <yamasani@google.com> am 6e98c280: Merge "Fix for IndexOutOfBounds in setComposingRegion." into gingerbread

Merge commit '6e98c280f792932d60bf9374c8979d9eadce2d9c' into gingerbread-plus-aosp

* commit '6e98c280f792932d60bf9374c8979d9eadce2d9c':
Fix for IndexOutOfBounds in setComposingRegion.
6e98c280f792932d60bf9374c8979d9eadce2d9c 23-Sep-2010 Amith Yamasani <yamasani@google.com> Merge "Fix for IndexOutOfBounds in setComposingRegion." into gingerbread
ab751aa085433e9f735d2e7603459c6c7e9d2fb0 14-Sep-2010 satok <satok@google.com> Add methods for managing subtypes

- added showInputMethodSubtypePicker to public API
-- show the selector dialog for subtypes
- added getter, setter and event handler to InputMethodManagerService
- extract InputMethodSubtype to the top level class for using it in aidl
- TODO: make an enabler for input method subtypes
- TODO: handle the event of changing an input method subtype in LatinIME

Change-Id: I49f8c6675ac4b06511635d14a37bd398738eff33
nputmethod/InputMethod.java
nputmethod/InputMethodInfo.java
nputmethod/InputMethodManager.java
nputmethod/InputMethodSubtype.aidl
nputmethod/InputMethodSubtype.java
806de5b1c5f98d67b00f7ba6087faca3b9632845 23-Sep-2010 Romain Guy <romainguy@android.com> Remove unused constant.

Change-Id: I02e8f76cc1406e693f822822808b3485d2158884
indow.java
66df755834e1f5a843f57ea082884bd6f759ae20 23-Sep-2010 Steve Howard <showard@google.com> am 1d056cd6: am 127146ee: Merge "Decrease sensitivity of orientation changes a bit." into gingerbread

Merge commit '1d056cd6ef6d6bdea00a92f411b0eaec7694b624'

* commit '1d056cd6ef6d6bdea00a92f411b0eaec7694b624':
Decrease sensitivity of orientation changes a bit.
4198918eed8e44723417fad8a986cda664c92d5b 23-Sep-2010 Amith Yamasani <yamasani@google.com> Fix for IndexOutOfBounds in setComposingRegion.

Bug: 3000457

Check upper and lower bounds of the composing region and clip them.

Change-Id: I8128a2b581ce3d8a9ff6c71cc648c3e87163b3f5
nputmethod/BaseInputConnection.java
29d8997bd43b7c4ad37fc3d6f91eaafa74913c88 23-Sep-2010 Romain Guy <romainguy@android.com> Fix OpenGL errors in various places.

Change-Id: I3a4e115d8fb13b6c443e65460d92987b16f2524c
iewRoot.java
1d056cd6ef6d6bdea00a92f411b0eaec7694b624 23-Sep-2010 Steve Howard <showard@google.com> am 127146ee: Merge "Decrease sensitivity of orientation changes a bit." into gingerbread

Merge commit '127146ee1c716d785fd70207045625c0c1f1d1ef' into gingerbread-plus-aosp

* commit '127146ee1c716d785fd70207045625c0c1f1d1ef':
Decrease sensitivity of orientation changes a bit.
127146ee1c716d785fd70207045625c0c1f1d1ef 23-Sep-2010 Steve Howard <showard@google.com> Merge "Decrease sensitivity of orientation changes a bit." into gingerbread
625ac271f80777668f832a344486a6fcdc06d0ae 18-Sep-2010 Dianne Hackborn <hackbod@google.com> Work on fragments in layouts.

- Change semantics if IDs associated with these fragments, to
work correctly when placed in a container. If the container
has an ID or you have supplied a tag, the fragment's ID is
optional.

- To do this, there is a new LayoutInflater API that allows code
creating views to access the parent container that view will
be in.

- Fix issues with state management around these fragments. Now
correctly retains state when switching to a layout that doesn't
include the fragment.

Also:

- Add new simple list layouts for items that want to show an
activated state.
- Add new Activity.dump() that can be invoked with adb shell
dumpsys; the default implementation dumps fragment state.

Change-Id: I192f35e3ea8c53fbd26cf909095f2a994abfc1b6
ayoutInflater.java
879fb6b5d66bec90d3420fad12a2a9b2fe9592f3 20-Sep-2010 Adam Powell <adamp@google.com> Text selection anchors changed to use windows

Manually cherry-picked

Change-Id: Id080dfad0e2f324fef3a5175abc78f76c8bad4c8
iew.java
iewGroup.java
iewParent.java
iewRoot.java
770a681b2f5b00e699920317bff04a24676ae143 22-Sep-2010 Adam Powell <adamp@google.com> am 9aed3002: Text selection anchors changed to use windows

Merge commit '9aed300279db6953356aed5ef24a42291f5829cb' into gingerbread-plus-aosp

* commit '9aed300279db6953356aed5ef24a42291f5829cb':
Text selection anchors changed to use windows
9aed300279db6953356aed5ef24a42291f5829cb 20-Sep-2010 Adam Powell <adamp@google.com> Text selection anchors changed to use windows

Change-Id: I14f138039f5e3175a8c07f21985715b8447708e5
iew.java
iewGroup.java
iewParent.java
iewRoot.java
85b53adc750c605adcd0662740df24861ad27f33 22-Sep-2010 Steve Howard <showard@google.com> Decrease sensitivity of orientation changes a bit.

I've noticed over the past couple weeks that my phone was flipping to
landscape when I placed it down too often, more like it did in Eclair.
I think my previous changes to make orientation changes quicker were a
bit too aggressive, so I'm backing off a couple of the time constants.

Change-Id: Ifffd45ac934984cc9091da56958bc2b6bcaa280a
indowOrientationListener.java
5d8f9dd3572c9d3b3d57985c31427dc9ca2a7f4a 18-Sep-2010 Adam Powell <adamp@google.com> am 99f0f367: am 4258bfb7: Merge "Fix some drawing artifacts/bugs around overlays/text anchors" into gingerbread

Merge commit '99f0f3676f50640dbb22bd12960f771fc414862e'

* commit '99f0f3676f50640dbb22bd12960f771fc414862e':
Fix some drawing artifacts/bugs around overlays/text anchors
99f0f3676f50640dbb22bd12960f771fc414862e 18-Sep-2010 Adam Powell <adamp@google.com> am 4258bfb7: Merge "Fix some drawing artifacts/bugs around overlays/text anchors" into gingerbread

Merge commit '4258bfb7a9fb18907fbfbe79ec0a937b4e7382b1' into gingerbread-plus-aosp

* commit '4258bfb7a9fb18907fbfbe79ec0a937b4e7382b1':
Fix some drawing artifacts/bugs around overlays/text anchors
23bd5f50759c54224a2620cbed4614e434437265 18-Sep-2010 Adam Powell <adamp@google.com> Fix some drawing artifacts/bugs around overlays/text anchors

Change-Id: I28170d4e120506c09a1cfea721244fbcd3c2576a
iewGroup.java
f37df070ea84c353ff8bed4b2591932126d7e2ca 18-Sep-2010 Adam Powell <adamp@google.com> resolved conflicts for merge of b39470b5 to master

Change-Id: If441c8684c576b6cbc485a37088d6869ad3fb23f
b39470b57d2e4e0bf5abb43729ef9e43eb0ad5f2 17-Sep-2010 Adam Powell <adamp@google.com> am b08013c3: Added overlay support for drawing/responding to text anchors.

Merge commit 'b08013c312e3d849029a2f4c11889274c00f438d' into gingerbread-plus-aosp

* commit 'b08013c312e3d849029a2f4c11889274c00f438d':
Added overlay support for drawing/responding to text anchors.
b08013c312e3d849029a2f4c11889274c00f438d 17-Sep-2010 Adam Powell <adamp@google.com> Added overlay support for drawing/responding to text anchors.

Overlays let views draw and respond to touch events outside of their
bounds. This allows selection anchors to be friendlier and easier to
grab. This is currently private API, pending further evaluation.

Added themes/styles for text selection anchors.

Added assets for text selection anchors as provided by UX. The
left/right anchors are currently not suitable for use. They are here
for bookkeeping and replacement later. The theme currently uses the
'middle' anchor asset for all three. This will be changed once assets
are ready.

Change-Id: I01b21e5ae90cab201f86f38f2f5eeaf2bd7f6bcd
iew.java
iewGroup.java
iewParent.java
iewRoot.java
a977120681904ee6309f3e90f51c6cc43615c007 17-Sep-2010 Romain Guy <romainguy@google.com> Merge "Add support for drawLines(), with anti-aliasing"
759ea80dca64ad652110a129e0d8bf93fea79f61 17-Sep-2010 Romain Guy <romainguy@google.com> Add support for drawLines(), with anti-aliasing

Change-Id: I16c0593c5671490909dec13a85df601e1428a1a6
LES20Canvas.java
c6669ca63299219d815464129dac051ab2404286 16-Sep-2010 Dianne Hackborn <hackbod@google.com> Add API for showing breadcrumbs of fragment back stack.

This adds a simple API to have your back stack automatically
shown as bread crumbs in the action bar. Introduces some APIs
to retrieve the current back stack.

Also fix a little bug in the "activated" state where it was
being propagated down the hierarchy as "selected". :p And from
that, fix the standard colors to be reasonable when in the
activated state.

Finally PreferenceActivity is updated to take advantage of
bread crumbs to show your place in the preferences.

Change-Id: I9d633bedf8d7c6e4ed9b25cb9698faa66c7dd9a4
iew.java
885b1f21d95c5c356d7dbe40a4d033d558c2c772 16-Sep-2010 Romain Guy <romainguy@google.com> Merge "Better error handling in the OpenGL renderer."
b025b9c8b4efefadb01937db61a1f8ee7d2452bf 16-Sep-2010 Romain Guy <romainguy@google.com> Better error handling in the OpenGL renderer.

Add a glGetError() check on every frame
Don't attempt to create textures larger than the maximum size allowed

Change-Id: Iee4afae16089406dbe8bf10fc93b674f1271a0ca
LES20Canvas.java
ardwareRenderer.java
8fca21d0fa9643b029f8af0d353370a0452953e1 16-Sep-2010 Joe Onorato <joeo@google.com> Merge "Fix broken javadoc."
707929d6f8f8ff2663da9982a99f943736b8be5c 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 61cf67a2: am 24326f72: Merge "Input API review." into gingerbread

Merge commit '61cf67a220ba3205737c646c1c836a92074220de'

* commit '61cf67a220ba3205737c646c1c836a92074220de':
Input API review.
61cf67a220ba3205737c646c1c836a92074220de 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 24326f72: Merge "Input API review." into gingerbread

Merge commit '24326f7223275ba9c85014b86d42040e3a7d2815' into gingerbread-plus-aosp

* commit '24326f7223275ba9c85014b86d42040e3a7d2815':
Input API review.
9316232130fe831c998c9d7be9cf67294eccdcae 16-Sep-2010 Joe Onorato <joeo@google.com> Fix broken javadoc.

Change-Id: I4729ebee36117f281af613e0b49f70d7dee5f334
iew.java
d0fa371f276fde32d81c037006941bc93da0bb03 15-Sep-2010 Dianne Hackborn <hackbod@google.com> Add a new "activated" state to View.

Use this in ListView and GridView if the top view is not checkable.

This allows PreferenceActivity to now highlight the current heading
that is being shown.

Change-Id: I0d28aded9a61a42962b4aece420ae4058712d963
iew.java
iewGroup.java
dc1ab4b5cc274b7d744c11a939bb5910becec5e0 15-Sep-2010 Jeff Brown <jeffbrown@google.com> Input API review.

Drop currently unsupported input features.
Add documentation comments.

Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
nputDevice.java
eyEvent.java
otionEvent.java
5f12084daa254276582be73005ee8c4a19bc8cee 14-Sep-2010 Adam Powell <adamp@google.com> Merge "Fix bug 2995805 - splitMotionEvents behavior change"
167bc821ddfee3d6d3b1c0ea10636be7c6eb591a 14-Sep-2010 Adam Powell <adamp@google.com> Fix bug 2995805 - splitMotionEvents behavior change

Changed the new split motion events behavior to match the enshrined
behavior. A return value of false from a target's dispatchTouchEvent
will not prevent the target from receiving further events in the
gesture unless it is the initial ACTION_DOWN event.

Change-Id: Ied8d531dfec7009a4124ed670b1700753c3f9caa
iewGroup.java
59a29f4a6ca7f6e177509f4c86a8ab968faf4f2c 14-Sep-2010 Adam Powell <adamp@google.com> am b07c0789: Merge "DO NOT MERGE Fix bug 2995887 - overscroll effect initialization issue" into gingerbread

Merge commit 'b07c078921fb917d33075a63d77fdf98221e2bac' into gingerbread-plus-aosp

* commit 'b07c078921fb917d33075a63d77fdf98221e2bac':
DO NOT MERGE Fix bug 2995887 - overscroll effect initialization issue
57361ef001c13a28701dbe8ba3aa08e56310c3a7 14-Sep-2010 Adam Powell <adamp@google.com> DO NOT MERGE Fix bug 2995887 - overscroll effect initialization issue

Change-Id: I03cc18616dec05eb9e0383dc02371366c70cc12b
iew.java
58ef7fbf16864164efe98bf613b15c64deb1afc0 13-Sep-2010 Romain Guy <romainguy@google.com> Forces windows to draw the first time they show.

Change-Id: I239572ee49bc60f30d957f548104e75844859a93
iewRoot.java
26edf20a0b9516f6021521bc8edd2d30c03fc2ad 13-Sep-2010 Tony Wu <Tony_Wu@acer.com.tw> Fix if ACTION_DOWN and lost focus time too close, it will become long press.

It will become long press because CheckForTap is still posted in background.
So remove the callback when lose focus, or it will become long press event.

Change-Id: I4f98a6fc077d256edbe555464095b2b81e75dd41
iew.java
cf78b3e5101349fdddbde14b3a55140f9562ae66 13-Sep-2010 Adam Powell <adamp@google.com> Add support for custom action views in ActionBar menus

Change-Id: Ic7850bc00fcfe95d805dd6a1b15cb5d413942475
enuInflater.java
enuItem.java
2bffd268f135df8308c9e67af110525a5c463424 13-Sep-2010 Romain Guy <romainguy@google.com> Fix text rendering issue with text scaling.

Change-Id: I1f3ae40025697e8f8ca0616ee6550fe215cadcc8
iew.java
iewRoot.java
eb851c4ecf38e3e2935fcf81c75c2ceadc2728e1 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am e740dd0c: am 69206512: Fix some API discrepancies in InputEvent.

Merge commit 'e740dd0c8fde910066f9ddf83b4ab094ed95eaf9'

* commit 'e740dd0c8fde910066f9ddf83b4ab094ed95eaf9':
Fix some API discrepancies in InputEvent.
e740dd0c8fde910066f9ddf83b4ab094ed95eaf9 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am 69206512: Fix some API discrepancies in InputEvent.

Merge commit '692065128e66de77470de2c50ead2bef0452952a' into gingerbread-plus-aosp

* commit '692065128e66de77470de2c50ead2bef0452952a':
Fix some API discrepancies in InputEvent.
692065128e66de77470de2c50ead2bef0452952a 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix some API discrepancies in InputEvent.

Change-Id: I8e33e125e10075d6f256a1eb3dd46990f35074d6
nputEvent.java
e4e0a4bca00e89056945805de2e739e3303476d8 12-Sep-2010 Romain Guy <romainguy@android.com> am 7d5c0e66: am 15f0a79a: Merge "fix typo in comment @beamsOverlap"

Merge commit '7d5c0e660e52888f986acef2cecde8ddc9ca26c8'

* commit '7d5c0e660e52888f986acef2cecde8ddc9ca26c8':
fix typo in comment @beamsOverlap
ae44d554b765597bd82d42e2d7c1008468b42b8e 12-Sep-2010 Romain Guy <romainguy@google.com> Merge "Correct implementation of saveLayer()."
f607bdc167f66b3e7003acaa4736ae46d78c1492 11-Sep-2010 Romain Guy <romainguy@google.com> Correct implementation of saveLayer().

Change-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763
iew.java
7d5c0e660e52888f986acef2cecde8ddc9ca26c8 12-Sep-2010 Romain Guy <romainguy@android.com> am 15f0a79a: Merge "fix typo in comment @beamsOverlap"

Merge commit '15f0a79a81fd18211603587bcd46eee0e37ced4d' into gingerbread-plus-aosp

* commit '15f0a79a81fd18211603587bcd46eee0e37ced4d':
fix typo in comment @beamsOverlap
44e8ec71977127ad5db0f351f796f6c62db86e86 12-Sep-2010 madan ankapura <mankapur@sta.samsung.com> fix typo in comment @beamsOverlap

Change-Id: I7c7f8e94391ed71a54b65badea164286281df7e3
ocusFinder.java
b20db3ec34e846010f389880b2cfab4d7bf79820 10-Sep-2010 Chet Haase <chet@google.com> Make fragment animations work when fragments go away

Change-Id: I136de6ef910cc02b8181fcfa065bdb0770841396
iewGroup.java
897247b2c419567d2d091b8da37a394f481f6f84 09-Sep-2010 Chet Haase <chet@google.com> Fix bug with pivot point not including translationXY factors

Change-Id: Ib16cd0acc007405fea24664327554019e24c2ac9
iew.java
8ae0f3f6c7319717237af74c8d4aad2c082eef2b 09-Sep-2010 Adam Powell <adamp@google.com> Fix bug 2988160 - Flinging broken in certain apps/widgets

Change-Id: I89de767cecbbc37cb2fe90a0346e8e1591dec60b
elocityTracker.java
b380c4d7edc158788a85c906900232675c0164ac 08-Sep-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of a05088c1 to master

Change-Id: I7973f9f28586dec9b9659f8f662f40db7997a521
85a3176704b5bfbeece9bd928369fbb76eec7dc6 02-Sep-2010 Jeff Brown <jeffbrown@google.com> Add support for secure views.

Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches
accordingly.

Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.

Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
otionEvent.java
iew.java
iewGroup.java
indowManagerPolicy.java
a18a86b43e40e3c15dcca0ae0148d641be9b25fe 07-Sep-2010 Chet Haase <chet@google.com> Rename several animation classes

Change-Id: I6a4544875090db485163c8d56de8718f56d267c7
nimation/AnimationUtils.java
53389bdcdf6ffaaec533b73bc1d0abc5807ec7f6 08-Sep-2010 Romain Guy <romainguy@google.com> Correctly set the viewport on window resize.

Change-Id: Idec325264d85feda76d4cda00fa511aaac82cf64
iewRoot.java
5429e1d1026db8922478b715672e6c0703bbf4a9 07-Sep-2010 Romain Guy <romainguy@google.com> Use static final debug fields.

Change-Id: I304c39f54f609729bcec581091f285b2baa6fefa
iew.java
iewDebug.java
iewGroup.java
iewRoot.java
14cd0653e493cc83041ab51af91399ba00b85c24 07-Sep-2010 Romain Guy <romainguy@google.com> Temporarily disable fading edges if solidColor=0 and hw is on.

Change-Id: I430d8d4d00cbabc99644b98ea832460339c196d8
iew.java
a14c8e0c67223fdc9a0746b370ae594a92530e78 04-Sep-2010 Romain Guy <romainguy@google.com> Bring back instances counts to dumpsys meminfo.

Change-Id: Idd846e137e8e87cb93551ba13751df60a8046eed
iew.java
iewDebug.java
iewRoot.java
bfcb1f5c4e53c76d363d230b3cad7ea971a90301 04-Sep-2010 Romain Guy <romainguy@google.com> Merge "Prevent the system process from using the HardwareRenderer."
13cc1207fab68adc5c7da0bf3b365196e26a273e 04-Sep-2010 Chet Haase <chet@google.com> Add ability to enable layout transition animations by default from XML

Change-Id: I2b884c83e868f5d22ef85d65ff8ee984633de65e
iewGroup.java
7627c221c6ce8bf433bf207b002eabe7236c4757 04-Sep-2010 Adam Powell <adamp@google.com> DO NOT MERGE Tweak overscroll

Change-Id: I5ba00fc87ba7b286978acf577ba6461f79066437
iewConfiguration.java
5233920a216302b4aa03b100c32e8b3efe33cbc6 04-Sep-2010 Romain Guy <romainguy@google.com> Prevent the system process from using the HardwareRenderer.

This change allows applications with the system UID to use the hardware
renderer.

Change-Id: I3c5d776ee9c07bb14933dbe3060cad4175e4fc95
ardwareRenderer.java
iewRoot.java
21cd1389d2ef218b20994b617c57af120841a57f 02-Sep-2010 Chet Haase <chet@google.com> Add transition effects for layout changes on ViewGroups

Change-Id: Ibefcca5692450188fbcec608f3f7e36be1213b21
iew.java
iewGroup.java
47c41e807e36999e4d0d2072e41a82bc45655ff2 02-Sep-2010 Erik <roboerik@android.com> Added methods for getting the x and y span

We would like to separate x and y for our pinch gestures. This
change adds methods for returning those independently instead of
only allowing access to the total span.

Change-Id: I2f54cd83602e447174a49035237da379a573b63e
caleGestureDetector.java
355a17c4f853c235a18380e71e1aa446f72fa5eb 03-Sep-2010 Gilles Debunne <debunne@google.com> am ece9e194: am d180232e: Merge "Revert "Merge "InputMethodManager showSoftInput return documentation." into gingerbread"" into gingerbread

Merge commit 'ece9e1947831a46b5d67b1a3d3d8e0189e38d983'

* commit 'ece9e1947831a46b5d67b1a3d3d8e0189e38d983':
Revert "Merge "InputMethodManager showSoftInput return documentation." into gingerbread"
d4723bb415dc70008c744d1027c3e3d9473adfe1 03-Sep-2010 Gilles Debunne <debunne@google.com> Revert "Merge "InputMethodManager showSoftInput return documentation." into gingerbread"

This reverts commit 26d708d93624d2d060529b7e33e0a20172e85efd, reversing
changes made to 3ac85d31de6cab5a468b7728b3340cf1b57bc8fe.

Change-Id: Ifc19f837bee7437707ddddf0b19cb6bce53dd2c5
nputmethod/InputMethodManager.java
25962adc733be1fa7e06ba28a708880f5e66a8da 02-Sep-2010 Gilles Debunne <debunne@google.com> am 5402c34b: am 26d708d9: Merge "InputMethodManager showSoftInput return documentation." into gingerbread

Merge commit '5402c34b2717fd4885782a8fc631b3b66162d140'

* commit '5402c34b2717fd4885782a8fc631b3b66162d140':
InputMethodManager showSoftInput return documentation.
26d708d93624d2d060529b7e33e0a20172e85efd 02-Sep-2010 Gilles Debunne <debunne@google.com> Merge "InputMethodManager showSoftInput return documentation." into gingerbread
9b34d45c8f164f1d4c51538f241263dfefc0f22e 02-Sep-2010 Romain Guy <romainguy@google.com> Correctly apply alpha on TextView.
Bug #2969691

Change-Id: Ied46e9a38718cb37df10f9dc79b48fbc3a8bd237
iew.java
iewGroup.java
5916882c3f13429d29f95b89dd94bd2d5733da85 02-Sep-2010 Adam Powell <adamp@google.com> DO NOT MERGE Overscroll continues; asset and behavior tweaks.

Change-Id: I367643877a397e7b4fa9bd8c40639ff69436e7f0
iewConfiguration.java
8aef54fa17f2a3753d9a8f2027629bc480088f69 02-Sep-2010 Romain Guy <romainguy@android.com> Add support for Canvas flags on save.

This is required for the rewrite of layers support.

Change-Id: I5c0867dcf5aeb0392c8d0fbab05febb0eaff70d9
LES20Canvas.java
a18cf547317d3602b5476ee4b9e206fe4c12d7b5 01-Sep-2010 Gilles Debunne <debunne@google.com> InputMethodManager showSoftInput return documentation.

Change-Id: I12b1fe6d224e1b44377fb9152a33a818b1974925
nputmethod/InputMethodManager.java
2cbe236138d1e8b003730087ee9c8e9ecca83795 31-Aug-2010 Romain Guy <romainguy@google.com> Merge "Add hooks for hardware accelerated WebView."
da8532c6f48b4c10b5e2ccb9e08690341efa1616 31-Aug-2010 Romain Guy <romainguy@google.com> Add hooks for hardware accelerated WebView.

Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003
LES20Canvas.java
6b2a75751d93fb2a4124e979603d79634ac017e0 31-Aug-2010 Jeff Brown <jeffbrown@google.com> am be990e97: am 6eb5ac9c: Fix doc link in InputDevice.

Merge commit 'be990e97a93f029c0ecc77a1bba66ea92057e5e4'

* commit 'be990e97a93f029c0ecc77a1bba66ea92057e5e4':
Fix doc link in InputDevice.
6eb5ac9ceeb3ff67d38c7ead54b4247e762f278d 31-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix doc link in InputDevice.

Change-Id: I3b356b8e3803661ccfe5bb4812021b6c6d576d21
nputDevice.java
0a77ce277c6ed2aa25bbea5f8cd5687c0720cb68 25-Aug-2010 Adam Powell <adamp@google.com> New edge effects for scrolling widgets (overscroll)

TODO: Currently disabled for WebView. Assets used for the glow effect
need to be themable/styleable. Overscroll effect should take place
even when the user did not grab the widget within actual content.

Change-Id: I68277d14d37dc5bcdb9254eaddf6e4998b3f2bf4
iew.java
iewConfiguration.java
22f5ee93746f37823265b8cb9b1e94e572607514 31-Aug-2010 Jeff Brown <jeffbrown@google.com> am 36f0cb26: am 8d60866e: Input device calibration and capabilities.

Merge commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030'

* commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030':
Input device calibration and capabilities.
8d60866e2100db70ecf0502c14768a384514d7e9 30-Aug-2010 Jeff Brown <jeffbrown@google.com> Input device calibration and capabilities.

Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects. The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
WindowManager.aidl
nputDevice.aidl
nputDevice.java
7dff1a72146ba549d51649ad786a0e1cc8b6897c 30-Aug-2010 Romain Guy <romainguy@google.com> Make profiling easier.

Change-Id: I3d4a0a0ead72569a8950bc986dfe584b186e0d65
iewRoot.java
f956fd6d1325fcb2e5ce9b8dac95a9a40824ead8 27-Aug-2010 Amith Yamasani <yamasani@google.com> am 4b4114d1: am a90b7f01: Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText() to return the selected text.

Merge commit '4b4114d155b4f3d5cc4179934cb6403b1776261d'

* commit '4b4114d155b4f3d5cc4179934cb6403b1776261d':
Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText()
a90b7f0125389b9e1040d2be82aad4ef74ea6071 26-Aug-2010 Amith Yamasani <yamasani@google.com> Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText()
to return the selected text.

setComposingRegion:

The TextView may choose to highlight the text in some way (underline for now) to indicate
that the text is selected for correction, if the IME wants to provider alternatives.

Choosing an alternative in the IME can then call IC.commitText() to replace the highlighted
(not selected) text with a different candidate.

This change also ensures that any existing spans/styles are not wiped out. So we can now
correct rich text as well.

getSelectedText:

This is a convenience to get the selected text instead of using extracted text that is
more heavy weight. Existing getTextBeforeCursor() and getTextAfterCursor() fail to
retrieve the selected text, only what's before and after the selection.

Change-Id: Ieb5ecd5ff947ea04958589f501e7bd5228e00fb5
nputmethod/BaseInputConnection.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
5fcfa52d60e1ca7674fbb6d8e90979f267347c18 26-Aug-2010 Dianne Hackborn <hackbod@google.com> am efd05ea6: am 0a7f5fc4: Merge "Fix issue #2951784: Launcher crashes on startup" into gingerbread

Merge commit 'efd05ea69a53d73d2dacacd74f6a420cac8ef97b'

* commit 'efd05ea69a53d73d2dacacd74f6a420cac8ef97b':
Fix issue #2951784: Launcher crashes on startup
0a7f5fc474182c58b478d8f9017209dcf8d0ca0b 26-Aug-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #2951784: Launcher crashes on startup" into gingerbread
9dae48e3992521f104cde7c916ed1fb5ee1ecb54 26-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2951784: Launcher crashes on startup

Change-Id: I98aedacce9a7d6b8bc168f39ea5489b40dc0ec8d
ayoutInflater.java
c8f8497b9cac63a923dbdb1c08e247ba32c19e5e 26-Aug-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 66d633d2 to master

Change-Id: I6c38d7c4d127954dfca17082215c587a3cd4a586
3003a017d312a55e3804d6cf4a80044b1f1d7993 26-Aug-2010 Dianne Hackborn <hackbod@google.com> Merge "Don't retain global ref to last inflated context." into gingerbread
7e269644fcc319835f1e7f762f3cbd8087e3e22f 26-Aug-2010 Dianne Hackborn <hackbod@google.com> Don't retain global ref to last inflated context.

Also rework URI permission granting to support upcoming
clipboard use.

Change-Id: I9842920350955531c5a511c2ecc5215e8c783343
ayoutInflater.java
261d509270d41508ca99d5a1a0d0dd8e7e4bd966 26-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> am 5a54e980: am 6947cc59: Merge "Preventing the hierarchy viewer from getting stuck, once when trying to load the window data for SurfaceView and the Wallpaper, and in the case the captured node has disappeared." into gingerbread

Merge commit '5a54e98022d640900f94102c077d8dff447f3c76'

* commit '5a54e98022d640900f94102c077d8dff447f3c76':
Preventing the hierarchy viewer from getting stuck, once when trying to load the window data for SurfaceView and the Wallpaper, and in the case the captured node has disappeared.
dc9e486e0a6cbc6f4083190848c95fe3f24f9819 25-Aug-2010 Romain Guy <romainguy@google.com> Merge "Only destroy the GL Canvas when necessary."
4caa4ed120a86e855d4d3b6b455c6fb9ca22e365 25-Aug-2010 Romain Guy <romainguy@google.com> Only destroy the GL Canvas when necessary.

Change-Id: I6caf4873b02dc4a6d7c8c91925d2447b3b0e0593
ardwareRenderer.java
iewRoot.java
43b9b48f792e0b1b166af7f7fb6a32172e7f11c2 25-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Preventing the hierarchy viewer from getting stuck, once when trying to load the window data for SurfaceView and the Wallpaper, and in the case the captured node has disappeared.

Change-Id: Iaff6bd501a2bb3faa7a394fff740479f6a95e899
iewDebug.java
9b073948cfb84c0dd04f8a94ee1f7f263f027c83 20-Aug-2010 Adam Cohen <adamcohen@google.com> Cleanup and bug fixes in StackView
-> pushed functionality from AdapterViewAnimator to StackView
-> only modifying clipping flags as far up the view
hierarchy as needed
-> still need framework level solution for drawing outside bounds

ViewGroup touch dispatch temp fix
-> Touch event was being modified and not reset in some
code paths.

Change-Id: I8135b62e2d73f239b9df407b0fa93bc434796989
iewGroup.java
7e2fb173918291bd38573fe57c828c320499cea3 25-Aug-2010 Gilles Debunne <debunne@google.com> Merge "Fixed typo in View id documentation"
71fcc470eb2fda968ef98c75f507a552403a8b8c 25-Aug-2010 Chet Haase <chet@google.com> Merge "Change animator xml importing to use new inflater class"
0243caff24ee3b5e4c5e55c888ebb4cdf75b3602 25-Aug-2010 Gilles Debunne <debunne@google.com> Fixed typo in View id documentation

Change-Id: I2df4f0ff9dc0b229349c8accbd6ef962f1d345bb
iew.java
d51d368f2d512ab657b8ae45780c82c0dbea94c3 12-Aug-2010 Chet Haase <chet@google.com> Change animator xml importing to use new inflater class

Change-Id: I97225ee9868f4dcce5e4c1ba55e16414eb6c0464
nimation/AnimationUtils.java
a84e02ce3cc392ccf23bbe89cdfbef650047ffe7 25-Aug-2010 Romain Guy <romainguy@google.com> Merge "Use only one GL context per process, share chaches."
fb8b763f762ae21923c58d64caa729b012f40e05 24-Aug-2010 Romain Guy <romainguy@google.com> Use only one GL context per process, share chaches.

Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
LES20Canvas.java
ardwareRenderer.java
iewRoot.java
a3715c151b8d35e93b068740baf6b2c38ebc8623 24-Aug-2010 Adam Powell <adamp@google.com> Merge "Disable FEATURE_ACTION_BAR on windows with incompatible feature sets."
f4a6ec4e9398c1beb019e1c208272bf56401f925 24-Aug-2010 Adam Powell <adamp@google.com> Disable FEATURE_ACTION_BAR on windows with incompatible feature sets.

Change-Id: I70c860c72eb9e1f1f123764202334ab714f4f830
indow.java
49afa5bc100e5d4c069fea980dd6b09501f56397 23-Aug-2010 Chet Haase <chet@google.com> Add facilities for layout transitions

Change-Id: I5c73ce6c6ba3bc9e3b57fcfbbcab37d511db6132
iew.java
nimation/Animation.java
208e3c586d83b39b692ed63974edd7feeea761b3 24-Aug-2010 Adam Powell <adamp@google.com> Merge "Fix some issues with touch event splitting around event timing"
816c3be1d7e27ee91ad4e87d39a208dbdc27c8f9 24-Aug-2010 Adam Powell <adamp@google.com> Fix some issues with touch event splitting around event timing

Change-Id: I15d04d226c218ad7b8a5fe43a55c33c3ade2128d
iewGroup.java
a931e9a15840f9074f1803b5adb2f23b40a1ab1b 23-Aug-2010 Jeff Brown <jeffbrown@google.com> am 6bacd9c6: am 2f6d975b: Minor MotionEvent optimization.

Merge commit '6bacd9c6fb799f185be580a0596214b0ce998999'

* commit '6bacd9c6fb799f185be580a0596214b0ce998999':
Minor MotionEvent optimization.
dfc8cde5c865560458518dfcd178ec9f4ebede30 21-Aug-2010 Steve Howard <showard@google.com> am 1f442104: am e0c8582e: Merge "Improve orientation sensing when waking up while flat." into gingerbread

Merge commit '1f4421048206ca1745ddd6366588759c9c5c38f9'

* commit '1f4421048206ca1745ddd6366588759c9c5c38f9':
Improve orientation sensing when waking up while flat.
2b342f0a76f3237e97f15dc2f4e8a0b72dd7c023 19-Aug-2010 Adam Powell <adamp@google.com> Allow ViewGroup to split MotionEvents to multiple targets during dispatch.

Use the layout xml attribute splitMotionEvents="true" or the ViewGroup
method setMotionEventSplittingEnabled(true) to enable motion event
splitting. Rules for splitting are as follows:

* Splitting is enabled per ViewGroup. When splitting is enabled any
MotionEvent dispatched to that ViewGroup can potentially be split
into several and dispatched to children independently.

* Each pointer is assigned a target child view when the ACTION_DOWN or
ACTION_POINTER_DOWN event is received. That will be the pointer's
target until it goes up, the target returns false from onTouchEvent,
or the MotionEvents are intercepted.

* Multiple pointers may be assigned to the same target. All pointer
data sent to a target are bundled into a single MotionEvent. Child
views do not need to be aware that splitting has occurred.

Change-Id: I993f838e2f6b455da9812f4742a016dfcd1c4cc9
iew.java
iewGroup.java
baf72cd79c2a675c2265384eb704067ab24259a7 20-Aug-2010 Dianne Hackborn <hackbod@google.com> Merge "DO NOT MERGE 2928156 Accessibility event's parcelableData property not nullified during recycling (GINGERBREAD)" into gingerbread
2f6d975b93bbc5b55c35a00d913ee38ad9b76401 20-Aug-2010 Jeff Brown <jeffbrown@google.com> Minor MotionEvent optimization.

Change-Id: I862e934e8dae80f394ffd4ab4b4697037805022c
otionEvent.java
d018a0ce72124f668d859b19fe3e73f5637d3c7c 20-Aug-2010 Gilles Debunne <debunne@google.com> Merge "Text selection without trackball." into gingerbread
b0d6ba1ec4f71b96cab7d1ff62b846d5cf162c4f 18-Aug-2010 Gilles Debunne <debunne@google.com> Text selection without trackball.

Backported from HC.

Squashed commit of the following:

commit af214a595c7a9fdd11a2dc384f7d4665abf751c0
Fixes in TextView's selection.

commit eb9fd59ebe6500a66c2003d46b5802299970ae8d
TextView with Selection Contextual Mode

commit 4c4c338ef355b369ce4b57d6c6fba7ee8f9dddf4
Cosmetic changes around TextView.

commit d4b4b054e87480d984ad18766f5e76553e3080d8
Double and one and a half tap removed from TextView.

commit 897c2847ba1fca8ef01eadadd1bc3de007af3ee5
Selection handlers in TextView

commit 832be74a5394649e28927484d9a86c6d53b430e7
New cursor controller in TextViews.

Change-Id: I01cc64736e2abea605317ee53907a1713617fc17
bsSavedState.java
otionEvent.java
iew.java
e0c8582e8a9f2b6eb5ebde667ddd1fddf4652bd4 19-Aug-2010 Steve Howard <showard@google.com> Merge "Improve orientation sensing when waking up while flat." into gingerbread
917031361c2a6f8ddc2986964d1306c51f2b1c27 18-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> am 28bd3a54: am f2af87b3: Merge "Making sure the draw time is measured." into gingerbread

Merge commit '28bd3a54ec192ed9259cf88873e387129103258e'

* commit '28bd3a54ec192ed9259cf88873e387129103258e':
Making sure the draw time is measured.
5eb49583e2f0b82d7a48182ffed5f409b4f85dc5 16-Aug-2010 Steve Howard <showard@google.com> Improve orientation sensing when waking up while flat.

This change makes the window manager pass the currently displayed
orientation to the WindowOrientationListener each time to calls to get
the currently sensed orientation. Now, when the
WindowOrientationListener doesn't know for sure what the orientation
of the device should be (for example, if the sensed orientation is
flat on a table), then it trusts the already-displayed orientation,
rather than trusting whatever sensors reading it most recently
received.

The main use case this addresses is:
* user uses device in portrait
* user turns off device, puts it in pocket
* while in pocket, screen gets turned on, activating orientaiton
sensor, which senses landscape orientation
* screen timed out
* user takes device out, places it on a table (or looks down at it,
holding it flat), and unlocks it

Previously, when the device was unlocked, the
WindowOrientationListener would return landscape orientation based on
its previous sensor readings. Now, it will override those previous
readings because it knows they never actually took effect and the
device is presently flat.

This change also slightly modifies the way we handle flat orientation,
now completely ignoring data when the tilt distrust is nonzero (even
if the current sensor reading shows non-tilted).

Change-Id: Ia4950a41827f8c53a80487d0c2e83b556df781b9
indowOrientationListener.java
756879836bd3acb9fd500ca0aefebe7579567148 18-Aug-2010 Romain Guy <romainguy@google.com> Merge "Layers were using an extra Snapshot causing extra clipping."
2542d199745cdf3ec910b8e3e4cff5851ed24e9b 18-Aug-2010 Romain Guy <romainguy@google.com> Layers were using an extra Snapshot causing extra clipping.

Bug #2919310

Change-Id: I72ccd44bba7a3f3db72f581aa96198b6226e4478
iew.java
bef337f516eafaee8f3891e22688b74388570317 18-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Making sure the draw time is measured.

Change-Id: I6bf8094aee03793f125008386c4fea730e95d07a
iewDebug.java
7eb84256e57ce85bece610e6a01e20fa12e0f3fe 04-Aug-2010 satok <satok@google.com> Enhancement of method.xml for Fast IME switching

- (Public API) Add public attrs: imeSubtypeExtraValue, imeSubtypeLanguage, imeSubtypeMode
-- (Public API) Add InputMethodSubtype class
-- (Public API) Add getSubtypes to InputMethodInfo
- Add parser for the enhanced method.xml

Change-Id: Ie7965fd29fd9615ef9c9418075c9f5f1c3365eb6
nputmethod/InputMethodInfo.java
3dfaf21dfc5b13bed3874f52bdcf63e95de640c2 18-Aug-2010 Svetoslav Ganov <svetoslavganov@google.com> DO NOT MERGE 2928156 Accessibility event's parcelableData property not nullified during recycling (GINGERBREAD)

Change-Id: I18437d98032487329b6b9b579ed12abbfb77501f
ccessibility/AccessibilityEvent.java
291905e34a7f0ae03c68fb2c1b8c34b92d447fbf 18-Aug-2010 Dianne Hackborn <hackbod@google.com> Maybe fix #2925641: calling onCreateOptionsMenu before attached activity

Also add some APIs to PreferenceActivity.

Change-Id: I85894a3eb9cd3e5adb78b82e85454c0d74773178
indow.java
8fb954263dd2f918ad339045cc6d82e346515599 18-Aug-2010 Romain Guy <romainguy@google.com> Fix save()/restore() issues in the OpenGL renderer.

The save stack now behaves exactly like in Skia.

Change-Id: If7e642f41f2c8f693f6e8c26cba81507d466562e
ardwareRenderer.java
iew.java
iewRoot.java
4d9861e7ec8488634d316b20981464de2ab7b6fe 17-Aug-2010 Adam Powell <adamp@google.com> Bug 2923440 - ActionMode buttons show if room by default - different approach.

This enforces the new policy if menu items are created
programmatically instead of inflated from menu xml.

This reverts commit fbb72fdbe58142e0f1f7ffa17f009b0d829b33c3.

Change-Id: I102e93b80a3248634e98e0d7dc3321bf1d8b263b
enuInflater.java
fbb72fdbe58142e0f1f7ffa17f009b0d829b33c3 17-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2923440 - ActionMode buttons show as action by default

The MenuInflater returned by ActionModes will set the default
showAsAction value to "ifRoom" if not otherwise specified.

Change-Id: I86045dc4e877a97a3464a1a5f44d8d1e2120b086
enuInflater.java
0ab1d7f552ba79af59cecea99c95f2a70ee36831 17-Aug-2010 Mathias Agopian <mathias@google.com> am 98a94989: am 833533c9: Improve Display javadoc slightly

Merge commit '98a94989dd5fbf3da61329d0232a84a0e2dfcb74'

* commit '98a94989dd5fbf3da61329d0232a84a0e2dfcb74':
Improve Display javadoc slightly
833533c9292f860e4dfc060a4eba6429cd259ed4 16-Aug-2010 Mathias Agopian <mathias@google.com> Improve Display javadoc slightly

Change-Id: Iaa7d599e11d42d4aaf50e87b141f9b8d04ba445e
isplay.java
1e45aae5de003657e5d18f74d34998f5de5db5b7 14-Aug-2010 Romain Guy <romainguy@google.com> Add drop shadows.

Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
LES20Canvas.java
831cffa572a9228e95528c4a1f6ada7f45f5d2fb 12-Aug-2010 Romain Guy <romainguy@google.com> Merge "Bunch of fixes."
959c91f7f7b4f921d341264f5b4ef54e702a0df0 12-Aug-2010 Romain Guy <romainguy@google.com> Bunch of fixes.

Fixes memory leak, fixes multiple context support, fix 3d transforms.

Change-Id: I7462cfbc57857dbd4de4e76b9d4cba58a1bce77b
ardwareRenderer.java
949dbf7629eacfa02f267ade4643c98aef8e42a9 12-Aug-2010 Chet Haase <chet@google.com> Fix the build from two breaking changes (update to current.xml and ViewRoot import)

Change-Id: I987b12f7c5fdd4137faa55405fce99bd6f73fc71
iewRoot.java
08965fc73099b194ff88a15c0de497aa61e7aff2 12-Aug-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 4e14159a to master

Change-Id: I42dc1efc2218af326a826aeb16daded71722b363
943fbb4f4006273ae5983da42143d721ae05dfd4 12-Aug-2010 Adam Powell <adamp@google.com> Merge "ActionBar overlay mode, height fetching, show/hide"
b219a83ff6278eeef981e6908abf871876a68699 12-Aug-2010 Jeff Brown <jeffbrown@google.com> am f66f8a58: am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread

Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'

* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
Add support for the PointerLocation overlay.
92ff1dd8359889f5876f8a222c5d923071e66dbd 12-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix ViewRoot bug attempting to finish synthetic KeyEvents.

Bug: 2834068
Change-Id: I34ee0c4479cee36b25a2c3e1cdf5d761b663ac1e
iewRoot.java
6b336f835d637853800b94689375a03f337139a4 11-Aug-2010 Adam Powell <adamp@google.com> ActionBar overlay mode, height fetching, show/hide

Change-Id: Ie931ed26ec885d891d6733132b517a53d95f8491
indow.java
95af0c14a64ef264d2b362ded4ca2b5a169d1066 12-Aug-2010 Jeff Brown <jeffbrown@google.com> Merge "Add support for the PointerLocation overlay." into gingerbread
a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Add support for the PointerLocation overlay.

This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications. The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
WindowManager.aidl
indowManagerPolicy.java
12fb5a3573cd39e2bc4699600fe706cc9ef948db 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> am 8279c754: am 91a7f5fe: Making sure that the prefix is handled properly.

Merge commit '8279c754d176d5c2aa23f6f7ad16fcea03278788'

* commit '8279c754d176d5c2aa23f6f7ad16fcea03278788':
Making sure that the prefix is handled properly.
f98d3e3047d87bc468eefa4e1f4f481ed75bc708 11-Aug-2010 Adam Powell <adamp@google.com> am e8fa85d7: am 224ab9a5: Merge "Fix public bug http://code.google.com/p/android/issues/detail?id=10067" into gingerbread

Merge commit 'e8fa85d7a1a75d6894a75b1c25abf99bbff50085'

* commit 'e8fa85d7a1a75d6894a75b1c25abf99bbff50085':
Fix public bug http://code.google.com/p/android/issues/detail?id=10067
ecb1d5ded9afee63735dc91cfb08ada2c639d237 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> resolved conflicts for merge of f00ee0f7 to master

Change-Id: I13b968bde37fad8fffdaa9bb94a0f1da9b2e6e0c
91a7f5fef8a9fc496acef23f513cb48139e8dff5 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Making sure that the prefix is handled properly.

Change-Id: Ic50327b1ed4d6b54753b5b3887508a53cd7a3497
iew.java
iewDebug.java
224ab9a5c6f7ae70fe55bf3d5604cbdf883baee7 11-Aug-2010 Adam Powell <adamp@google.com> Merge "Fix public bug http://code.google.com/p/android/issues/detail?id=10067" into gingerbread
9bccdb7d5c93e350337e707bc6edf3cd017b8f96 11-Aug-2010 Adam Powell <adamp@google.com> Fix public bug http://code.google.com/p/android/issues/detail?id=10067

Change-Id: I7b7a9a32e82fc7541beabe286b20b01f39406cc8
caleGestureDetector.java
f39d5987b977fdff8c34a2ddabaec31d1e909db3 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Merge "Categorizing exported view properties." into gingerbread
bea95162ca25bd00b0479d93739b6283795c3986 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Categorizing exported view properties.

Change-Id: I79c42019836973d80662c21d195d088ae01537a0
iew.java
iewDebug.java
iewGroup.java
ea48ff4ba405923a88f5f0ef22be607be6310564 11-Aug-2010 Jeff Brown <jeffbrown@google.com> am 95105f3c: am c3fc2d03: Fix safe mode and KeyEvent.getMaxKeyCode().

Merge commit '95105f3c25110f28b236cfa71e9ad74533eef854'

* commit '95105f3c25110f28b236cfa71e9ad74533eef854':
Fix safe mode and KeyEvent.getMaxKeyCode().
fb8e05b154c9dd1b36696c20985a3ce70d851b94 11-Aug-2010 Jeff Brown <jeffbrown@google.com> am d3cf0544: am d98d0fc6: Merge "Optimize VelocityTracker to run in linear time." into gingerbread

Merge commit 'd3cf0544cc7eec8ace3dc3b7fc17b7dac69e0aab'

* commit 'd3cf0544cc7eec8ace3dc3b7fc17b7dac69e0aab':
Optimize VelocityTracker to run in linear time.
c3fc2d03d58a258c53c9265a70143d4af076b764 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix safe mode and KeyEvent.getMaxKeyCode().

Bug: 2901731
Change-Id: I78617c1b9dee3790fc590e5af4b5083368873184
eyEvent.java
d98d0fc6e9172d3f130794e499462c911920adf6 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Merge "Optimize VelocityTracker to run in linear time." into gingerbread
a48a1a87ba17f20f7006eaab21dcedf86c015c13 10-Aug-2010 Romain Guy <romainguy@google.com> Fast text selection drawing.

Change-Id: I93fb1312b47bc05345defa9b6cfe47c0658bb329
LES20Canvas.java
61c8c9c5b2006d18e9310b6521c65b36ffe75ce4 10-Aug-2010 Romain Guy <romainguy@google.com> Fix tons of bugs and add new text rendering support.

Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
LES20Canvas.java
ardwareRenderer.java
fd2b002bcfca73958233a4e83a737612393e8a16 06-Aug-2010 Chet Haase <chet@google.com> Add 3D rotation to View

Change-Id: I4aa2542eb821e82d44e13d69b0938de13ffd4f0d
iew.java
iewGroup.java
6f4169cb285bae8225de8616a01f7a69c12f5799 10-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> am 75493be9: am 63cca691: Merge "Make sure profiling is done only for views that are actually measured, laid out and drawn." into gingerbread

Merge commit '75493be9c0b4dd24fc5cddce6ee993ce5f0b2887'

* commit '75493be9c0b4dd24fc5cddce6ee993ce5f0b2887':
Make sure profiling is done only for views that are actually measured, laid out and drawn.
88cf2fca38066e75f9349950c8e6255a91350d97 10-Aug-2010 Jeff Brown <jeffbrown@google.com> Optimize VelocityTracker to run in linear time.

Uses a linked list for efficient pointer addition and removal.
When possible, makes use of the fact that pointer ids are usually in
sorted order to avoid quadratic time lookups when adding new data.
Fixed an incorrect assumption that the pointer count would always change
when old pointers were removed.

Also fixed a bug in InputQueue FinishedCallback recycling.

Change-Id: Ie048d3bb022d39cf4185e2fe43923a861d94c4f3
nputQueue.java
elocityTracker.java
63cca69157eae17da2a5492d1bcb7330061a52ac 10-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Merge "Make sure profiling is done only for views that are actually measured, laid out and drawn." into gingerbread
02890fd0f98b3b8d98baf0bda1ea906afd723d8b 07-Aug-2010 Romain Guy <romainguy@google.com> Replace Bitmap's finalizers with PhantomReferences.

This change also removes the use of SoftReferences for View's
drawing cache.

A bitmap now creates a PhantomReference enqueued in a reference
queue provided by the new Finalizers class. This queue is polled
from a thread started after forking zygote. That thread is in charge
of clearing the references after GC runs and of calling reclaim()
on them. The reclaim() method is now how finalizers are run.

Note that a PhantomReference cannot be kept in the instance it
refers to, which is why they are kept in a separate List.

Change-Id: If3c1a5e9dc23fa49e34857860d730f5cf5ad5926
iew.java
163935113919a184122b8b3bd672ef08c8df65dc 08-Aug-2010 Romain Guy <romainguy@android.com> Make libhwui entirely optional.

The makefile variable USE_OPENGL_RENDERER must be set to true to compile
libhwui and the related code in the JNI layer.

This change also removes obsolete APIs from Canvas that must not be used
and would be confusing if left in. These APIs were remnants of our first
attempt at an OpenGL renderer for the view hierarchy and had not been
taken out before Android 1.0 was released.

Change-Id: I2475ff1307212bab26c926724f3c508681c7dae1
LES20Canvas.java
ardwareRenderer.java
4938d7916042cf25a46fa16072a2e288e009e195 07-Aug-2010 Steve Howard <showard@google.com> am d49d4031: am 9fbf00cb: Merge "Slight improvement (hopefully) to orientation sensing." into gingerbread

Merge commit 'd49d4031d654398904d5af30c488a3b32b176122'

* commit 'd49d4031d654398904d5af30c488a3b32b176122':
Slight improvement (hopefully) to orientation sensing.
c6dc45700bf0c18708b0ad2f695ea85fadcbf131 07-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Make sure profiling is done only for views that are actually measured, laid out and drawn.

Change-Id: I88c66e882be2781d079c51b6580a19c4e359c5b1
iew.java
iewDebug.java
5f531ae6b342697ba94ddb68b47f76ccddb75f7b 06-Aug-2010 Steve Howard <showard@google.com> Slight improvement (hopefully) to orientation sensing.

Since orientation sensing has been an issue for numerous users, I
decided a spend a little time experimenting with some possible
improvements. I've settled on a couple major changes:

* Perform all lowpass filtering in spherical coordinates, not
cartesian. Since the rotations are what we're really concerned
with, this makes more sense and gives more consistent results.

* Introduce a system of tracking "distrust" in the current data, based
on external acceleration and on tilt. The basic idea is after a
signal of unreliable data -- repeated acceleration or
nearly-horizontal tilt -- we wait for things to "stabilize" for some
number of ticks before we start trusting the data again. This is an
extension of the basic lowpass filtering. One simple example is
after the phone is picked up off a table, we ignore the first few
readings. Another example is while the phone is under external
acceleration for a while (i.e. in a car mount on a rough road), if a
single "good" reading comes in, we distrust it, under the assumption
that it was probably just a lucky reading (i.e. the magnitude
happened to be close to that of gravity by chance).

These changes have allowed me to relax other constraints, such as the
filtering time constants, the maximum deviation from gravity, and the
max tilt before we start distrusting data.

The net effect is that orientation changes happen more quickly and can
happen under a wider variety of conditions, but false changes due to
tilt and acceleration are still avoided well. I think the improvement
is subtle, but it's the best I've come up with in my limited time.

I've also included some refactoring and additonal comments to try and
further clarify the (somewhat twisted) logic.

Change-Id: I34c7297bd2061fae8317ffefd32a85c7538a3efb
indowOrientationListener.java
7fbcc0492fca03857e3c45064f4aa040af817d55 05-Aug-2010 Romain Guy <romainguy@google.com> Add support for paths.

Rendering is implementing by rasterizing the paths into A8 textures.
This cna be extremely inefficient if the path changes often.

Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
LES20Canvas.java
df030d2c160ff42927c58ff54c51049c69a48312 31-Jul-2010 Chet Haase <chet@google.com> View x/y properties now feed into matrix translation

Change-Id: I35d8953ab6c7a511cdf90f3f94a4a1b5ef549fc3
iew.java
iewGroup.java
5bac1cc0b8ddfeb1290d8324beaadd1e48f3fd14 04-Aug-2010 Chris Tate <ctate@android.com> am 9f6b16a2: am 5d46ce24: Merge "Enhanced VelocityTracker for > 5 pointers and fixed bugs." into gingerbread

Merge commit '9f6b16a29b62f29496bc652cfec7d6fe9f08c7f4'

* commit '9f6b16a29b62f29496bc652cfec7d6fe9f08c7f4':
Enhanced VelocityTracker for > 5 pointers and fixed bugs.
bf0d12c2e2169ce94995c3bef66fe7b088468545 04-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> am 77c444dd: am 6fcf3a51: Merge "Improving profiling of views." into gingerbread

Merge commit '77c444dd2bdc9bb2d54fc58420d263a83018190c'

* commit '77c444dd2bdc9bb2d54fc58420d263a83018190c':
Improving profiling of views.
529b60a3b16ac3dff24f2403d760ab8ebc9670ff 04-Aug-2010 Romain Guy <romainguy@google.com> Add android:hardwareAccelerated to Activity.

Hardware acceleration can now be enabled/disabled locally on each activity
declared in the manifest. It can also be enabled/disabled directly on a
window through the WindowManager.LayoutParams.

Change-Id: I91dd0b26c4e7eb8cd7288e523ed6b7bda6d0990b
iewRoot.java
indow.java
indowManager.java
5d46ce24cc46dc57d31f809302af916999114ced 03-Aug-2010 Chris Tate <ctate@android.com> Merge "Enhanced VelocityTracker for > 5 pointers and fixed bugs." into gingerbread
f8e1219cf8992a22d6c48c2c70d4fbbccc2494f6 03-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Improving profiling of views.

Change-Id: I1abb8c21f1769ad55416f37e7bfa1458b80ace63
iewDebug.java
7768e02973f65d347f4457583e05c82810bd5cb8 03-Aug-2010 Romain Guy <romainguy@google.com> Merge "Add support for ColorFilters."
db1938e0e6ef816e228c815adccebd5cb05f2aa8 03-Aug-2010 Romain Guy <romainguy@google.com> Add support for ColorFilters.

Color filters are fully supported and can be used with shaders.

Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
LES20Canvas.java
9168f0b170c6a99371ae46e7d3f5d66c8c4c930d 03-Aug-2010 Adam Powell <adamp@google.com> Add ActionMode#getMenuInflater() for easier menu inflation in
ActionMode.Callback implementations

Change-Id: If9e7ab0d65598bab537add6c6a452a55c093064f
ctionMode.java
9e2ad36be87f2703b3d737189944d82f93bd4f27 31-Jul-2010 Jeff Brown <jeffbrown@google.com> Enhanced VelocityTracker for > 5 pointers and fixed bugs.

Improved PointerLocation tool to use VelocityTracker more efficiently
and correctly when multiple pointers are down.

Fixed a bug in TouchInputMapper where it was not correctly copying
the id to index map in the last touch data. This could cause strange
behavior on secondary pointer up events.

Also added finished callback pooling in InputQueue.

Change-Id: Ia85e52ac2fb7350960ea1d7edfbe81a1b3e8267b
nputQueue.java
otionEvent.java
elocityTracker.java
eb4e0c3c1c8e82f363b86a3751f72d7d496ebd1f 31-Jul-2010 Romain Guy <romainguy@google.com> Merge "Refactor Skia shaders handling."
06f96e2652e4855b6520ad9dd70583677605b79a 31-Jul-2010 Romain Guy <romainguy@google.com> Refactor Skia shaders handling.

With this change, Skia shaders can easily be applied to any mesh. This change also
supports ComposeShader. For instance, this can be used to blend a gradient and a
bitmap togehter and paint a string of text with the result.

Change-Id: I701c2f9cf7f89b2ff58005e8a1d0d80ccf4a4aea
LES20Canvas.java
4de823a759a25ee6034454ade0826d9464de1d15 31-Jul-2010 Chet Haase <chet@google.com> Merge "Fix problems with moving Views around (invalidation, conflict with layout)"
8fbf8d2b08a22a8f06abe8cff39d935865ec1c9d 31-Jul-2010 Chet Haase <chet@google.com> Fix problems with moving Views around (invalidation, conflict with layout)

Change-Id: I38f8f8a4e8082854a53a2975da258b5d946ed525
iew.java
6ec402b5ae33c8927694d8522b4cc6a5c8ba974e 29-Jul-2010 Jeff Brown <jeffbrown@google.com> DO NOT MERGE: Fix input event injection ANRs on UI thread.

Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6
WindowManager.aidl
nputEvent.aidl
nputEvent.java
eyEvent.java
otionEvent.java
bbda99d2086d79ac70b403cad38a47c35af84adf 29-Jul-2010 Jeff Brown <jeffbrown@google.com> Fixed StatusBar ANRs due to input event injection on UI thread.

Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: I0464f70ff5cbd519dbb02686b2cb5d810fe7dbb2
WindowManager.aidl
nputEvent.aidl
nputEvent.java
eyEvent.java
otionEvent.java
3b69b6f0be85d1f97c1e6824cf986777ba4e5d00 29-Jul-2010 Chet Haase <chet@google.com> Make the new android.animation package public

Change-Id: Iff31676f25fc989707a1e17fb172296014a22c27
nimation/AnimationUtils.java
f54a8d7c479485174941c38f151ea7083c658da3 22-Jul-2010 Chet Haase <chet@google.com> Adding xml declarations for new animation framework

Change-Id: Ic789e47790cf24d1c4b3bcbe9048b992ab93517b
nimation/AnimationUtils.java
c9ae2a24dc1fa274ca0916c91a2e9a2764ba4bb3 28-Jul-2010 Adam Powell <adamp@google.com> Add support for setting action mode titles/subtitles by resource ID

Change-Id: Ia0d5234cc16f325eeb29127fb87e2616d67379ec
ctionMode.java
f788a9fccd9cdb662527aa375af24b8868069108 22-Jul-2010 Gilles Debunne <debunne@google.com> TextView with Selection Contextual Mode

Context menu entries have been moved to a contextual mode in the action bar.

Change Input Method has been removed and *should be added to the system bar instead*.

Add word to dictionnary has also been removed and should now be done using the suggestioni
bar "tap on word to add" feature.

Change-Id: I767373f53515b2d6a06500321b4b12ed0b05a9b6
iew.java
2279971b6f66d60240b8c72a9d52644a3bcdf01b 28-Jul-2010 Jeff Brown <jeffbrown@google.com> am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.

Merge commit '9795a25da060f9a7df87da8ab43fb1086d4322a5'

* commit '9795a25da060f9a7df87da8ab43fb1086d4322a5':
Refactor input reader to support new device types more easily.
6d0fec2de3601821f4f44eeb7d7deedebb2b7117 24-Jul-2010 Jeff Brown <jeffbrown@google.com> Refactor input reader to support new device types more easily.

Refactored the input reader so that each raw input protocol is handled
by a separate subclass of the new InputMapper type. This way, behaviors
pertaining to keyboard, trackballs, touchscreens, switches and other
devices are clearly distinguished for improved maintainability.

Added partial support for describing capabilities of input devices
(incomplete and untested for now, will be fleshed out in later commits).

Simplified EventHub interface somewhat since InputReader is taking over
more of the work.

Cleaned up some of the interactions between InputManager and
WindowManagerService related to reading input state.

Fixed swiping finger from screen edge into display area.

Added logging of device information to 'dumpsys window'.

Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
nputDevice.java
otionEvent.java
5d27977f9da482627ceb19317a2cd70467aff046 28-Jul-2010 Adam Powell <adamp@google.com> Action modes without action bar

Change-Id: I0367ab35e598a17980bd373b30828175f6283acc
enuInflater.java
indow.java
ac670c0433d19397d4e36ced2110475b6f54fe26 28-Jul-2010 Romain Guy <romainguy@google.com> Generate shaders to cover all possible cases.

With this change, all the vertex and fragment shaders used by the GL
renderer are now generated based on a program description supplied
by the caller. This allows the renderer to generate a large number
of shaders without having to write all the possible combinations by
hand. The generated shaders are stored in a program cache.

Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
indow.java
6e34636749217654f43221885afb7a29bb5ca96a 23-Jul-2010 Adam Powell <adamp@google.com> Moved context modes into view, renamed to action modes

ContextualMode renamed to ActionMode. Adds a reference to the action
bar and reduces confusion around things named "Context".

Change-Id: Ia5098b1d0799a0ece0810c34e6696eda039fb005
ctionMode.java
iew.java
iewGroup.java
iewParent.java
iewRoot.java
indow.java
236d4ee896c831183ca8b873406e3fe7b5fa3058 22-Jul-2010 Romain Guy <romainguy@google.com> Merge "Add text rendering."
694b519ac647fe998fd396fe0784cc8e179aadc4 22-Jul-2010 Romain Guy <romainguy@google.com> Add text rendering.

Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
LES20Canvas.java
46ea4828840952384bd37a73438c88ba5d931856 21-Jul-2010 Chet Haase <chet@google.com> Merge "Fix issue with touch MOVE events on transformed containers"
ddc8e713ba345b24240fd16971283449c060a783 21-Jul-2010 Chet Haase <chet@google.com> Fix issue with touch MOVE events on transformed containers

Change-Id: I17e58f2c6acce606a672756d48d20eb0796b69e8
iewGroup.java
a1db574036c9bc2d397b69f8200594027e1fff16 20-Jul-2010 Romain Guy <romainguy@google.com> Add preliminary support for text rendering.

Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49
LES20Canvas.java
c0ac193b9415680f0a69e20a3f5f22d16f8053be 20-Jul-2010 Romain Guy <romainguy@google.com> Add support for linear gradients.

Change-Id: Id15329da065045b3f06fdaed615f33cd57608496
LES20Canvas.java
ec66a3a9e06ae91e0b49a5e858e46fe0c91606f1 20-Jul-2010 Adam Powell <adamp@google.com> Fix docs for MenuItem#setShowAsAction

Change-Id: Id68273dde9c0ce904bca7b40aa2e9558880c55c2
enuItem.java
33e72aef05c75699c9180626dbaa00b06f86ad5b 17-Jul-2010 Romain Guy <romainguy@android.com> Make View transforms work again.

Change-Id: I42aa8b5a55d7584ed242e1cb1f7123a6354edbc8
iew.java
iewGroup.java
b5de9f3bafae2c30e7a67faa1cdf7d1c161820c3 17-Jul-2010 Adam Powell <adamp@google.com> Fix bug 2845609 - Touch event dispatching problem.

Maintain the state of the CANCEL_NEXT_UP_EVENT flag properly.

Change-Id: I5ca22409bf8557c486d02806811b10550c5576eb
iew.java
iewGroup.java
5700c95f40d09720e6e78130dc753c59dca52027 17-Jul-2010 Chet Haase <chet@google.com> Merge "Fixing view property invalidation issues"
ea2604d966dfc62f50922a516caaa9cc411d9c64 17-Jul-2010 Romain Guy <romainguy@android.com> Merge "Add plumbing to support gradients in OpenGL renderer."
7fac2e18339f765320d759e8d4c090f92431959e 17-Jul-2010 Romain Guy <romainguy@android.com> Add plumbing to support gradients in OpenGL renderer.

The LinearGradient class keeps a copy of the various parameters that
define the gradient. The copies are native arrays to avoid copying
Java arrays on every draw call. The gradient code path is implemented
until OpenGLRenderer::drawRect() (see TODO.) The actual gradient
implementation will be added in a latter change.

Change-Id: I9300d250ef5e2e9c2e097c3116ee71dfc9d752d8
LES20Canvas.java
9a89b0e1b9d4d7ebc9496442b219f2f58f30f5e8 16-Jul-2010 Romain Guy <romainguy@android.com> Merge "Improve clip support (add intersect, union and replace.)"
079ba2c85b15e882629b8d188f5fbdb42f7f8eea 16-Jul-2010 Romain Guy <romainguy@android.com> Improve clip support (add intersect, union and replace.)

This change also modifies the way the clip is stored. The clip is now
always stored in screen-space coordinates.

Change-Id: I96375784d82dfe975bc6477a159e6866e7052487
LES20Canvas.java
9bc829cc15757edd149a61868426b214430a1c24 16-Jul-2010 Chet Haase <chet@google.com> Fixing view property invalidation issues

Change-Id: I51d2c03cabacfc1a7c05073977e7c22d32de7cb3
iewGroup.java
eb857f12d605659b385d168ef1ea7d4ba5193585 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of f7adbe10 to master

Change-Id: I898a5e53b180adaee2337c0c0b9896c799d056e7
e33348ba54cd68d6936cffd4507037c14d4b10c2 16-Jul-2010 Jeff Brown <jeffbrown@google.com> Fix bug with phantom input windows.

Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.

Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
nputDevice.java
nputEvent.java
otionEvent.java
b75fa30aaf03d9e425d150b452501e5df0621351 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of aca672ba to master

Change-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08
c5ed5910c9ef066cec6a13bbb404ec57b1e92637 15-Jul-2010 Jeff Brown <jeffbrown@google.com> Add support for new input sources.

Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
nputChannel.java
nputDevice.java
nputEvent.java
nputHandler.java
nputQueue.java
eyCharacterMap.java
eyEvent.java
otionEvent.java
iewRoot.java
c96cdc9844d60d54683fb7700fc5908fdb8ff856 15-Jul-2010 Romain Guy <romainguy@google.com> Merge "Add support for BitmapShader."
d27977d1a91d5a6b3cc9fa7664ac7e835e7bd895 15-Jul-2010 Romain Guy <romainguy@google.com> Add support for BitmapShader.

This change also fixes an issue with the clip and layers.

Change-Id: I5fd9832098d8cf7ae8eb781ff9bffe7defaea279
LES20Canvas.java
82e2b4cb51e869a5c2014f56e5b0cf38569ff09a 15-Jul-2010 Scott Main <smain@google.com> am 4fd41688: am 5352d237: am 38137d7a: Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo

Merge commit '4fd416880e53c172bac4a51b2eafea699b58badf'

* commit '4fd416880e53c172bac4a51b2eafea699b58badf':
docs: lots of additions to the resources docs
5352d2378d2f92ebe0657e4caedb4498492fc404 15-Jul-2010 Scott Main <smain@google.com> am 38137d7a: Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo

Merge commit '38137d7a27b037611c70a9d900aa53b4c15563bf' into gingerbread

* commit '38137d7a27b037611c70a9d900aa53b4c15563bf':
docs: lots of additions to the resources docs
c3aa361d65119de503224202ae2296dbb1d3cf33 17-Jun-2010 Chet Haase <chet@google.com> Add various properties to View to allow it to be moved, scaled, faded, and rotated by property manipulation instead of just Animation operations.

Change-Id: Iefab11f243c7511f7bba0e32bd399ed716b9131f
iew.java
iewGroup.java
839458d8d4dbf44cd1778a23471cf8f948a2012c 15-Jul-2010 Jim Miller <jaggies@google.com> resolved conflicts for merge of e03952c0 to master

Change-Id: I414d934101d452a2c2500e539f0b0aff1e1b3ff0
71ecab2d89122535a8bb1f589bc8d920aaedaa7c 15-Jul-2010 Dianne Hackborn <hackbod@google.com> Argh oops I didn't mean to delete this.

Change-Id: I8910eb8b6e898b77ee6fc63420d6954b496513ca
urfaceView.java
ed86eaa7301d5509bce38dffce3f8ef11e4e4cd0 15-Jul-2010 Dianne Hackborn <hackbod@google.com> Merge "Argh oops I didn't mean to delete this." into gingerbread
9d42c7f75cfd7544d6e3f253cedf9ac983fdc6b2 15-Jul-2010 Jim Miller <jaggies@google.com> Merge "Fix 2797185: Re-enable thumbnail generation in framework" into gingerbread
251fd430c7e355ad440202c83b0c6d91f5bf93e5 15-Jul-2010 Dianne Hackborn <hackbod@google.com> Argh oops I didn't mean to delete this.

Change-Id: I3d0877d56f1abab3d0929a086621f4ef1212cecc
urfaceView.java
2388ad9eef109fa7f63c196c819c83f0376f0645 14-Jul-2010 Dianne Hackborn <hackbod@google.com> am f8d9379b: am d76b67c3: IME events are now dispatched to native applications.

Merge commit 'f8d9379bd834573feca085284970cf686993c330'

* commit 'f8d9379bd834573feca085284970cf686993c330':
IME events are now dispatched to native applications.
d76b67c340d1564abf8d14d976fdaf83bf2b3320 14-Jul-2010 Dianne Hackborn <hackbod@google.com> IME events are now dispatched to native applications.

And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
urfaceHolder.java
urfaceView.java
iewRoot.java
indow.java
0b2a6d0773211449fbde9d2706388714beeffebb 14-Jul-2010 Jim Miller <jaggies@google.com> Fix 2797185: Re-enable thumbnail generation in framework

This re-enables thumbnail generation code in the framework
with a few improvements.

In addition to enabling the system to capture thumbnails,
it removes padding from the borders to account for space
overlapped by system widgets (status bar, etc.). Thus,
the contents of the bitmap are only those pixels unique to
the activity.

It also maximizes resolution of the bitmap by capturing the
image in the application's current orientation. In landscape
mode, it captures a bitmap with dimensions w x h. In portrait,
it captures a bitmap with dimensions h x w. Where w and h are
thumbnail_width and thumbnail_height as defined in dimens.xml.

Though enabled, the change is not currently used in this
branch. The work is being checked in here to avoid
complicated downstream merges.

Change-Id: Ifc8a4e0075d7d0697d8159589be3816ace31d70c
iew.java
6ac7674e143f9716312f048da3f25ca83b646315 14-Jul-2010 Jeff Brown <jeffbrown@google.com> am 89ee578b: am fd035829: Add initial gamepad support.

Merge commit '89ee578b7053d27a50922f82feb94bf6054b330c'

* commit '89ee578b7053d27a50922f82feb94bf6054b330c':
Add initial gamepad support.
fd03582995e0fce963dd0fa0669e3211b74c0dd7 01-Jul-2010 Jeff Brown <jeffbrown@google.com> Add initial gamepad support.

Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
eyEvent.java
2d0e87b64402459d89adfd004083a748f81a0391 13-Jul-2010 Gilles Debunne <debunne@google.com> Cosmetic changes around TextView.

Fixed some warnings in the code.

Change-Id: Id19395031a1ab41edcc47e3dc8cd9479c6e19f83
bsSavedState.java
otionEvent.java
6926c72e25b8dec3dd4b84af0819fa1937ae7296 13-Jul-2010 Romain Guy <romainguy@google.com> Correctly support pre-multiplied alpha, optimizations, more stuff.

Add support for the following drawing functions:
- drawBitmap(int[]...)
- drawPaint()

Optimizes shader state changes by enabling/disabling attribute arrays
only when needed.

Adds quick rejects when drawing trivial shapes to avoid unnecessary
OpenGL operations.

Change-Id: Ic2c6c2ed1523d08a63a8c95601a1ec40b6c7fbc9
LES20Canvas.java
8445ca6c3ba9b7cee6d20f5919e3b3ba8e6b8c96 10-Jul-2010 Dianne Hackborn <hackbod@google.com> am b14f325a: am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.

Merge commit 'b14f325a0118ffce286155caaabaae149653462c'

* commit 'b14f325a0118ffce286155caaabaae149653462c':
Add ANativeWindow API for directly drawing to the surface bits.
289b9b62372ef52a06113b83dfb870e2c2fb325a 09-Jul-2010 Dianne Hackborn <hackbod@google.com> Add ANativeWindow API for directly drawing to the surface bits.

Also other cleanup and fixes:

- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.

Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
iewRoot.java
dbd77cd444f89d94ec5333223c1bc17dbe0c90cd 09-Jul-2010 Romain Guy <romainguy@google.com> Remove support for density compatibility in the hardware renderer.

Change-Id: I535e919986e5ccfb344ede8516ccd84c02642823
LES20Canvas.java
ardwareRenderer.java
iewRoot.java
1a33274d28a3174b9062ae0dcce77bf1d68cd463 09-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 167449e5 to master

Change-Id: Ib448e69a726eb45b5c9099d2574e40b8345eee67
dac5f9f3caea71e9e0002582ee90ffddadb70d8f 08-Jul-2010 Romain Guy <romainguy@google.com> Do not draw the fade areas when it's not necessary.

Prior to this change, every singleLine TextView would create, draw
and compose a layer on every draw dispatch. This was unnecessary and
expensive.

Change-Id: Ia4f79d7fc8f485784fe6b795f0f196d38d579838
iew.java
deba785f122a47915756ffd991f5540d952cf937 08-Jul-2010 Romain Guy <romainguy@google.com> Add support to draw 9patches in OpenGL.

This change only adds the necessary API and stubs. The implementation
will be added in another change.

Change-Id: Ie50b8aff5868e78796cee331df15bdbf990d2ea1
LES20Canvas.java
00fa7bdd69f0868fd17ea7c881c771d785b2fbbd 03-Jul-2010 Jeff Brown <jeffbrown@google.com> More native input dispatch work.

Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
Window.aidl
WindowSession.aidl
awInputEvent.java
urfaceView.java
iewRoot.java
indowManagerPolicy.java
f86ef57f8bcd8ba43ce222ec6a8b4f67d3600640 01-Jul-2010 Romain Guy <romainguy@google.com> Don't use full screen FBOs, this dramatically increase performance.

The next step will be to add an FBO cache to avoid churning memory on every
frame we draw. This change also adds support for drawBitmap(Bitmap, Matrix, Paint).

Change-Id: I7825cdcf0cad9bffe6219e05d8328a53d4a6e583
LES20Canvas.java
ardwareRenderer.java
8ba548f81d1ab5f1750cbf86098c4a14e0b8bead 01-Jul-2010 Romain Guy <romainguy@google.com> Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint)

Change-Id: I10904d2325a5431d15801aebcec1048715678e8c
LES20Canvas.java
68e9a49aeb0b07d0d99c0a05771348bcd460a703 01-Jul-2010 Romain Guy <romainguy@google.com> Merge "Add hooks for drawBitmap()."
25a98b8e21f7840ae582ce0a4cde21694c4c94ec 01-Jul-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 7f6c6e8f to master

Change-Id: Id9dddb78c51f16ff8c4b60339421c94fde506db2
ce0537b80087a6225273040a987414b1dd081aa0 30-Jun-2010 Romain Guy <romainguy@google.com> Add hooks for drawBitmap().

Change-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0

Add texture cache.

Change-Id: I1c0e5581d228869e114438258a1014e33e024ad7
LES20Canvas.java
ardwareRenderer.java
iewRoot.java
3c80a4a044865bdf1289c7896baffa1c082d835c 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Implement default key handling for native code.

The native code now maintains a list of all keys that may use
default handling. If the app finishes one of these keys
without handling it, the key will be passed back off to Java
for default treatment.

Change-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18
eyEvent.java
89e0645b4157961e8c465eb9c819f965fdb453d8 24-Jun-2010 Adam Powell <adamp@google.com> Added context modes to ActionBar API.

Change-Id: I7c3e782cbf01be7bc671b377fb4d706040888833
ctionBarView.java
enuInflater.java
enuItem.java
f40e4928b9d8e1da4166c76dbd3f86a6bd2d3f72 29-Jun-2010 Chris Tate <ctate@android.com> am 96725326: am 31e0ffe8: Merge "Native input event dispatching." into gingerbread

Merge commit '96725326149687168937cf62f75364cf9cc3e96b'

* commit '96725326149687168937cf62f75364cf9cc3e96b':
Native input event dispatching.
349703effce5acc53ed96f7ed8556131f0c65e18 22-Jun-2010 Jeff Brown <jeffbrown@google.com> Native input event dispatching.

Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.

Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
nputTarget.java
iewRoot.java
indowManagerPolicy.java
bd6b79b40247aea7bfe13d0831c6c0472df6c636 26-Jun-2010 Romain Guy <romainguy@android.com> Add implementations for saveLayerAlpha() and textured rects.

Even though there's an implementation for textured rects, drawBitmap() is not
hooked up yet as it will require a good texture cache.

This method is implemented using FBOs. There's currently an issue either in the
driver or in the Canvas renderer that forces the FBO to be fullscreen, which is
extremely expensive and yields terrible performance.

Change-Id: I148419195e12d45653c60186938aa78c23a68e2c
LES20Canvas.java
c7d53494f1fbd9f9d74af89053ff9fdb1ccbac6c 25-Jun-2010 Romain Guy <romainguy@android.com> Implement quickReject() and drawRect().

The OpenGL ES 2.0 renderer can now draw colored rectangles. At least there's
something on screen now.

Change-Id: I80a13ccc1dd56784edf74f2670a364f30700234a
LES20Canvas.java
9d5316e3f56d138504565ff311145ac01621dff4 25-Jun-2010 Romain Guy <romainguy@google.com> Add colored rectangles implementation in OpenGLRenderer.

Drawing two rectangles one after the other discards the second one because of
Z buffering issues. This will be fixed in another changelist.

Change-Id: Ida1b3cde8a78e60cacc07e477abc44def527ff67
LES20Canvas.java
038ecb097a4ee4997938d5c3a21c1c450c3beedc 24-Jun-2010 Romain Guy <romainguy@google.com> Merge "Add support for transformations."
f6a11b8a9e25ff9861bbba19251bea84d8a5daf2 24-Jun-2010 Romain Guy <romainguy@google.com> Add support for transformations.

This change adds partial support for the following transforms:
- scale()
- translate()
- rotate()
- setMatrix()
- getMatrix()

The transform is stored in a snapshot and saved/restored as needed.
The transform is currently not applied to the clip rect and is not
mapped to the vertex shader.

Change-Id: Id48993453311200804149917d0c126a4d0471226
LES20Canvas.java
f92f8686f982c62a609a2087383a77a24d126992 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am 98f7aed6: am 1e4b9f39: Remove InputConsumer, replacing with InputQueue.

Merge commit '98f7aed66b54c365f816fe990de978f61155cde1'

* commit '98f7aed66b54c365f816fe990de978f61155cde1':
Remove InputConsumer, replacing with InputQueue.
1e4b9f3936d6f357e89360293e05a0e16d5fa440 23-Jun-2010 Dianne Hackborn <hackbod@google.com> Remove InputConsumer, replacing with InputQueue.

Change-Id: Ib06907278457aaee842b123adc072840ca3602d8
nputConsumer.java
nputQueue.java
iewRoot.java
indow.java
c047b956360a2476793b38d9d3e996fed941af8b 23-Jun-2010 Adam Powell <adamp@google.com> am bc337d2f: am 73ccafb5: Merge "Fix a bug where requestDisallowInterceptTouchEvent does not get called when scrolling is resumed after stopping a fling." into gingerbread

Merge commit 'bc337d2f675e8417be5534439e1b4ed1bc45a9c7'

* commit 'bc337d2f675e8417be5534439e1b4ed1bc45a9c7':
Fix a bug where requestDisallowInterceptTouchEvent does not get called
bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4 23-Jun-2010 Romain Guy <romainguy@google.com> Add implementations for clipRect(), save() and restore().

The current implementation of clipRect() does not apply local transformations
before setting the new clip.

Change-Id: I5997871bb638dfcd1a8ef96354846af52427e445
LES20Canvas.java
320742b15a710ede57862eee170945da26ef0172 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am e3e2883f: am e24a60aa: Merge "First stab at attaching native event dispatching." into gingerbread

Merge commit 'e3e2883f2232007174ead562610eb01201890d9b'

* commit 'e3e2883f2232007174ead562610eb01201890d9b':
First stab at attaching native event dispatching.
6c55b8b143b4cc8335789bff58a2ac545bd58806 23-Jun-2010 Daniel Sandler <dsandler@android.com> am 71764c4c: am 613dde4a: Revised "immersive mode" API.

Merge commit '71764c4ce5b248a79542238b171a783e82e0fe37'

* commit '71764c4ce5b248a79542238b171a783e82e0fe37':
Revised "immersive mode" API.
e981c883d5ca99ccb97c317d824b9c288b613f67 23-Jun-2010 Jeff Brown <jeffbrown@google.com> am b1efc3f6: am 7fbdc84e: More native input event dispatching.

Merge commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe'

* commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe':
More native input event dispatching.
110486f932510fb49bfeff978b0b0e0237ee0656 23-Jun-2010 Adam Powell <adamp@google.com> Fix a bug where requestDisallowInterceptTouchEvent does not get called
when scrolling is resumed after stopping a fling.

Change-Id: I6796c5082cb81b3116de5baf1f27fe3addb40d00
iewGroup.java
85bf02fc16784d935fb9eebfa9cb20fe46ff7951 22-Jun-2010 Romain Guy <romainguy@google.com> Fix the simulator build.

Change-Id: Ie404f7c2c308f0657f273af19a56e8c039b61898
LES20Canvas.java
a95e4cb62f3642cb190d032dbf7dc40d9ecc6973 19-Jun-2010 Dianne Hackborn <hackbod@google.com> First stab at attaching native event dispatching.

Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.

Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still
work).

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
nputChannel.java
nputConsumer.java
iewRoot.java
indow.java
613dde4aa651e11dac3db859723cc6faf8fc0a82 21-Jun-2010 Daniel Sandler <dsandler@android.com> Revised "immersive mode" API.

No longer a window bit, FLAG_IMMERSIVE is now set on
ActivityInfo.flags and in the Activity's manifest as
android:immersive="true" (ActivityInfo).

[An "immersive" activity is one that wishes to avoid being
paused by full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE/android:immersive is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.]

[Originally: change Ie290c2e.]

Change-Id: I967bb10b930b8f0772b10f81f2957a03fa3f1736
indowManager.java
dfe5c204403bc56c29bb36410574eab8b1950417 09-Jun-2010 Scott Main <smain@google.com> docs: lots of additions to the resources docs
new drawable resources
add <merge> and <include> to layout resource
update drawable class descriptioons to point to resources guide
add ID resource type

Change-Id: I733eec50bb2671f28c9e6dd7dec14eb6586f5193
iew.java
7fbdc84e87dd3a0e196b9803bb04495d11e9cb8a 18-Jun-2010 Jeff Brown <jeffbrown@google.com> More native input event dispatching.

Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.

Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
nputChannel.java
nputTarget.java
7ade1be822ed05a143b059319dccd5e9f623b56d 17-Jun-2010 Adam Powell <adamp@google.com> Action bar button layout changes.

Theme attribute added for spacing between action buttons. Action
buttons are now allowed to fill up to half of the total action bar's
width.

Change-Id: Iabbc67e695684529dfae9681d4d9580cd30839d0
ctionBarView.java
53f2bb549ed756d3f6a6c0baad4c65cf51e56981 18-Jun-2010 Daniel Sandler <dsandler@android.com> am fddf19f6: am a2650db7: Merge "Fix SDK docs build." into gingerbread

Merge commit 'fddf19f671dc91b9c50fa82870e1b3df29ce397a'

* commit 'fddf19f671dc91b9c50fa82870e1b3df29ce397a':
Fix SDK docs build.
a2650db770e93a9424d6d6948fd31f943f6dac49 18-Jun-2010 Daniel Sandler <dsandler@android.com> Merge "Fix SDK docs build." into gingerbread
ae069f76ee65fd5d9252c8191429fa55296d0208 18-Jun-2010 Daniel Sandler <dsandler@android.com> Fix SDK docs build.

Change-Id: I2d11682cdf2cdcd48f0299f8c168fddd5994dc65
indowManager.java
3b970e78d2974eacc621258bb6e581d458d9bbd3 17-Jun-2010 Romain Guy <romainguy@google.com> Merge "Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0."
e4d011201cea40d46cb2b2eef401db8fddc5c9c6 17-Jun-2010 Romain Guy <romainguy@google.com> Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0.

This is the initial checkin to setup the library and turn on OEGL ES 2.0
in ViewRoot, not a functional renderer.

Change-Id: I6655c54166e2967da2e21e7d6dcfba78bf113b44
LES20Canvas.java
ardwareRenderer.java
iewRoot.java
4e74ae3d5b27d917ea26d0929015f9fdc64af412 17-Jun-2010 Jeff Brown <jeffbrown@google.com> am 42bb545a: am 5c225b16: Even more native input dispatch work in progress.

Merge commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00'

* commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00':
Even more native input dispatch work in progress.
733c6f2e9bff13e24dcb468dd05219ec6ea8aa96 17-Jun-2010 Daniel Sandler <dsandler@android.com> am 747f75dc: am 3a0146cd: Merge "New API for "immersive" activity windows." into gingerbread

Merge commit '747f75dc0882138828ac2b2752c2872ccae49747'

* commit '747f75dc0882138828ac2b2752c2872ccae49747':
New API for "immersive" activity windows.
5c225b1680e696ae8bbf505a1997d6f720672f74 16-Jun-2010 Jeff Brown <jeffbrown@google.com> Even more native input dispatch work in progress.

Added more tests.
Fixed a regression in Vector.
Fixed bugs in pointer tracking.
Fixed a starvation issue in PollLoop when setting or removing callbacks.
Fixed a couple of policy nits.

Modified the internal representation of MotionEvent to be more
efficient and more consistent.

Added code to skip/cancel virtual key processing when there are multiple
pointers down. This helps to better disambiguate virtual key presses
from stray touches (such as cheek presses).

Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
otionEvent.java
96675b1df3969f2d313b68f60ed9fa36805db8ce 11-Jun-2010 Adam Powell <adamp@google.com> Merging ActionBar menu with options menu.

Options menu items may now specify if they would like to appear in the
action bar. Menu items defined in xml may set the showAsAction
attribute to one of "never"(default), "ifRoom", or "always". Action
buttons are populated as follows:

* All showAsAction="always" items become action buttons, even if it
would crowd the navigation area of the action bar.

* If there is space remaining, showAsAction="ifRoom" items are added
until no more will fit comfortably.

Action button click events are now handled by the
onOptionsItemSelected method used by the standard options menu.

The construction of options menus now happens earlier in order to
provide data to the action bar. Activities with an action bar can now
expect to have onCreateOptionsMenu called when activity start-up is
complete.

Activity#invalidateOptionsMenu can be used to force a refresh of menu
items where the previous API would use ActionBar#updateActionMenu.

Change-Id: If52ddf1cf9f6926206bcdeadf42072ea2c24fab9
ctionBarView.java
enuInflater.java
e6ac8b9aade9443ab8456c8f7a47cdfba3b70266 17-Jun-2010 Gilles Debunne <debunne@google.com> Removed API changes from CL 54712.

onLoadClass(Class ) was replaced by onLoadClass(Class<?> ) in CL 54712.
This changes the API and may introduce errors in users' implementations.

Change reverted.

Change-Id: Ie578a444168423959b44857f22e13f004e108965
ayoutInflater.java
611fae4c39edbeb23b53f789a0219c539cf32fa6 17-Jun-2010 Daniel Sandler <dsandler@android.com> New API for "immersive" activity windows.

An "immersive" activity (as indicated by the new
FLAG_IMMERSIVE) is one that wishes to avoid being paused by
full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE on its window is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.

FLAG_IMMERSIVE should be used exclusively in conjunction
with FLAG_FULL_SCREEN (that is, only activities that hide
the status bar should consider themselves immersive).

Change-Id: Ie290c2e92fc391bcf55edfdb1fbd626cd284e3e2
indowManager.java
3030193dc179b3010f2dd3bffe9c1dec54da38fc 17-Jun-2010 Gilles Debunne <debunne@google.com> Removed warnings in LayoutInflater.

These changes are similar to those of CL 49296. They do not include the
generic fixes done on GenericInflater.java, which had issues and broke the build.

Added a asSubClass method in LayoutInflater which will (correctly) throw a
ClassCastException when the inflated class is not a View subclass.

Performance testing on these changes showed a 10% performance improvement,
which is still to be explained.

Change-Id: Id4d3b45f0945baccdbbda15fcce095e855b23c9a
ayoutInflater.java
4846032ac7be7c28c7cfeb3096b8cb656312a382 11-Jun-2010 Chet Haase <chet@google.com> Fix bug with layout animations when apps are auto-scaled.

The pivot points in RotateAnimation and ScaleAnimation are in pixel coordinates. When an app is being autoscaled, these values are incorrect and should be adjusted for the current scale factor. The fix adds API to Animation to allow ViewGroup to pass in the scaling factor.

Change-Id: I978c48f9b5aea6760148435e74e1a8d49e2f785d
iewGroup.java
nimation/Animation.java
nimation/AnimationSet.java
nimation/RotateAnimation.java
nimation/ScaleAnimation.java
9295ada0ec89fa7a666be4a2f1006a4b722adf4f 15-Jun-2010 Romain Guy <romainguy@google.com> Allow the use of styles with LinearLayout, make "useLargestChild" attr public.

Change-Id: I044f3f5bd9b90c684ded7a37ff85e3aa8d15af96
ayoutInflater.java
84b51c8eb7ffe137878df3cf2652209c58bbdde4 15-Jun-2010 Scott Main <smain@google.com> am fb48f3a2: am e4bca7ee: am 322e7e47: Merge "docs: fix markup error" into froyo

Merge commit 'fb48f3a25d821a9037591aa76faa7bae46d1debd'

* commit 'fb48f3a25d821a9037591aa76faa7bae46d1debd':
docs: fix markup error
b860fd11e9eaa62d0a6c0c7bc1c0f07806eda3c0 15-Jun-2010 Scott Main <smain@google.com> am 322e7e47: Merge "docs: fix markup error" into froyo

Merge commit '322e7e477d89aca18d65cbd289343e716c45a699' into froyo-plus-aosp

* commit '322e7e477d89aca18d65cbd289343e716c45a699':
docs: fix markup error
e4bca7ee60c6d361ef9f1f025881a6f80a9efdab 15-Jun-2010 Scott Main <smain@google.com> am 322e7e47: Merge "docs: fix markup error" into froyo

Merge commit '322e7e477d89aca18d65cbd289343e716c45a699' into gingerbread

* commit '322e7e477d89aca18d65cbd289343e716c45a699':
docs: fix markup error
15f87c6e4b942cb0221e8230c8a8712387d07926 15-Jun-2010 Mathias Agopian <mathias@google.com> am 5126633a: am 2d468c5d: Make sure SurfaceView use a 565 surface when requesting an OPAQUE format.

Merge commit '5126633a3e7d04754792e0702231b1b6be2d1498'

* commit '5126633a3e7d04754792e0702231b1b6be2d1498':
Make sure SurfaceView use a 565 surface when requesting an OPAQUE format.
2d468c5d73cc1cefbcfa8d98e30622c54756918c 15-Jun-2010 Mathias Agopian <mathias@google.com> Make sure SurfaceView use a 565 surface when requesting an OPAQUE format.

this is needed for backward compatibility with somewhat buggy applications.
not a big deal, since the app can request another format explicitely.

Change-Id: Ic73f8acedf94ffc0115637efac28fa8ffaa7e5a4
urfaceView.java
8e03b7566c42621fda01186b66b019142eb84fbf 14-Jun-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 9e660c82 to master

Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
46b9ac0ae2162309774a7478cd9d4e578747bfc2 23-Apr-2010 Jeff Brown <jeffbrown@google.com> Native input dispatch rewrite work in progress.

The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API. Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
WindowSession.aidl
nputChannel.aidl
nputChannel.java
nputHandler.java
nputQueue.java
nputTarget.java
eyEvent.java
otionEvent.java
urfaceView.java
iewRoot.java
indowManagerPolicy.java
f10e6331e3bf01653235d93aa523056c146a85a3 11-Jun-2010 Scott Main <smain@google.com> docs: fix markup error

Change-Id: Icea017095f58068c55dd3c1c18cecbdf06afb595
indowManager.java
e3924992733234fd7d7a614c165a94e0a2cd6b84 11-Jun-2010 Romain Guy <romainguy@google.com> Refactor HardwareRenderer to allow the use of OpenGL ES 2.0.

The current OpenGL ES 2.0 HardwareRenderer will fail and does not
even attempt to create a Canvas. The next step will be to create
a new native-backed Canvas that relies on OpenGL ES 2.0 and bypasses
the current OpenGL ES 1.0 implementation done in Skia.

Change-Id: I7a8e9f87f316e9137ef191bb5609213e160eaa4c
ardwareRenderer.java
c6133285820bba23778906cd417ceb9114e928dc 11-Jun-2010 Romain Guy <romainguy@google.com> Fix native crash when enabling hardware acceleration.

This change also prevents hardware acceleration when the ViewRoot is in the
system process. This causes problem in EGL intialization because of having
both a SurfaceControl and a Surface. This is not needed and better to leave
it off anyway (so that preview windows don't get unnecessary hw acceleration.)

Change-Id: I1cc55d7fb9a4c1a9c4c59f11f49d3e44de78acef
iewRoot.java
2d6145993e19d2bb664766dbaf3c1e9ad3d12cdc 10-Jun-2010 Romain Guy <romainguy@google.com> Move OpenGL support out of ViewRoot into a new HardwareRenderer class.

Change-Id: Iffaed924a5defc3c4df26223c390dc27eee115b1
ardwareRenderer.java
iewGroup.java
iewRoot.java
b31e84bc4513e46bac4be8f8d0513f78e360fb11 09-Jun-2010 Dianne Hackborn <hackbod@google.com> Add Fragment option menu APIs.

Also fix up how transactions are handled so that a series of transactions
can correctly be created and committed.

Change-Id: I948ba47d49e9b2246a1958bd9eac9dd36dc5a855
indow.java
db479c9af0dd44bb0e3efcd1c432c473153a1a57 09-Jun-2010 Adam Powell <adamp@google.com> Merge "Dropdown mode for ActionBar; style and API updates"
a408291e22def5755559f42cde913706a6d628c0 05-Jun-2010 Adam Powell <adamp@google.com> Dropdown mode for ActionBar; style and API updates
ctionBarView.java
8d49cd77df7bfcd27f28a503641df7fa4c4c5191 08-Jun-2010 Romain Guy <romainguy@google.com> am c62c4c8b: am 804d0496: am 71d73a0d: Merge "Add a method to hide/show a SurfaceView\'s surface." into froyo
6a102b4bc70e22a3636503a90b55ba175b18ab31 08-Jun-2010 Romain Guy <romainguy@google.com> am 71d73a0d: Merge "Add a method to hide/show a SurfaceView\'s surface." into froyo

Merge commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5' into froyo-plus-aosp

* commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5':
Add a method to hide/show a SurfaceView's surface.
804d04969da91b45ee31e8d290de3ede7650fe48 08-Jun-2010 Romain Guy <romainguy@google.com> am 71d73a0d: Merge "Add a method to hide/show a SurfaceView\'s surface." into froyo

Merge commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5' into kraken

* commit '71d73a0dfc110d0bdfc1b7ba385db3e2cfe007e5':
Add a method to hide/show a SurfaceView's surface.
afc3e11f10828e113331eb24b65e4f9759f67747 08-Jun-2010 Romain Guy <romainguy@google.com> Add a method to hide/show a SurfaceView's surface.

This can be used to move a surface offscreen to avoid the cost of compositing it.
This preserves the window and therefore the OpenGL context when used in h/w
accelerated apps.

Change-Id: I280295376601b17989d0fc8a271af66650016f09
urfaceView.java
22449c1d3b37471558a43a0425800971ea37e377 03-Jun-2010 Jeff Brown <jeffbrown@google.com> am 1bcc845f: am ca583f09: Merge "Fixed some minor bugs in MotionEvent recycling." into kraken
d28f4be870ea8850a2d4a2fe51333643f16b9ab1 03-Jun-2010 Jeff Brown <jeffbrown@google.com> Fixed some minor bugs in MotionEvent recycling.

1. MotionEvent.recycle() never set mRecycled to true so it couldn't actually
detect doubly-recycled events (unless the TRACK_RECYCLED_LOCATION debuging
flag was enabled).

2. MotionEvent.obtain() did not set mNext to null before returning the event
so it would unnecessarily retain a reference to other events in the
recycled event linked list until recycled again.

Change-Id: I93709c402d260691875f632dfc080a355f85fbb0
otionEvent.java
812ccbeb3ce55c50463fda1d161b2eeed8b19cd2 01-Jun-2010 Romain Guy <romainguy@google.com> Add new hardwareAccelerated manifest attribute to enable HW drawing.

Change-Id: I2bb0252f3699cb720e7f5b6868419c9904e4fb35
iew.java
iewGroup.java
iewRoot.java
c1600ae869d1f3947bdc645951ba9d6cd265a60f 25-May-2010 Mathias Agopian <mathias@google.com> am 36893612: am d6ddcb7f: fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and fail
d6ddcb7f00a7af95b452233d965b922632f78f21 25-May-2010 Mathias Agopian <mathias@google.com> fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and fail

force all SurfaceView to 565

Change-Id: I8ebfa1239d8e4fa097c2e544677fb92fa20b39bd
urfaceView.java
9b081a809a7e39c6877a9606289ada4680f3d91f 19-May-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 8b625a95 to master

Change-Id: I03264c6aad2d87629f9154f5c390cb36ce08efba
dc8a7f69d7df5f1ca29763995a0d55acf7936fc6 10-May-2010 Dianne Hackborn <hackbod@google.com> Add new API to take over a window's Surface.

Change-Id: Iad6245faadc95f19ea63c8e229a1c02e9188f69e
urfaceHolder.java
iewRoot.java
indow.java
a1700783b52c3f4e6b52ea425cdce93c74936586 13-May-2010 Adam Powell <adamp@google.com> ActionBar - custom navigation views

Change-Id: Ibc98565816c713474eefd4e96fb51175abfb0187
ctionBarView.java
a4bb6410403d7cc4e5cac82243ad2cc3fc1d3c60 13-May-2010 The Android Open Source Project <initial-contribution@android.com> am 1331ded8: am e28776bb: am b1110149: merge from open-source master
e28776bbd72397eea0dd24f5c28273fb2bf1a2f0 13-May-2010 The Android Open Source Project <initial-contribution@android.com> am b1110149: merge from open-source master

Merge commit 'b1110149cccc3b99e59ead34ca46e5ac026f6db9' into kraken

* commit 'b1110149cccc3b99e59ead34ca46e5ac026f6db9':
Use integer for loop counter instead of float
New test in FrameworkTest for the VelocityTracker class
Preserve '+' in phone numbers imported from SIM.
b1110149cccc3b99e59ead34ca46e5ac026f6db9 13-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I88a580162b34a80d1e3e7987b7a301c253afa0e8
b4bc78b16a05554c57508b488e21dd8eca4e13e6 13-May-2010 Dianne Hackborn <hackbod@google.com> Further work on fragments:

- Implement all of the state saving and restoring machinery. This
caused some flux in the API.
- Add ability to have fragments that are retained across activity
instances.
- Fix some bugs.

Change-Id: Ib6b5b0752d7f8d667cfdcd3e76d127cc9b6d901b
iew.java
iewGroup.java
b79781af1ebc68dbaa1b44da43fd391de067a201 13-May-2010 Kenny Root <kroot@google.com> Use integer for loop counter instead of float

Change-Id: Iafaccbb3a3a7cbe0d67ed6827906d713c37ce89b
elocityTracker.java
33b974393b6fadcefc896ec4a0f9b66724f61e9f 20-Apr-2010 Adam Powell <adamp@google.com> ActionBar added to framework, integrated with Activity and styles.
Added onClick attribute support to menus in MenuInflater.

Change-Id: I739771b4f249d87a0d8b15969f3d526b099067a1
ctionBarView.java
enuInflater.java
indow.java
203688c6579bc530288642972d1f872a12516dfe 13-May-2010 Romain Guy <romainguy@google.com> Fix dump of the persistent drawing cache attribute.

Change-Id: I351028f6e0858c9ebf7f59bd6cc964925bc3e2b9
iewGroup.java
10c40078d0cd75544d9183dec9df59bee9fa00ac 07-May-2010 Christopher Tate <ctate@google.com> am 5cfec530: am fa9e7c05: Sketch of Native input for MessageQueue / Looper / ViewRoot
fa9e7c05c7be6891a6cf85a11dc635a6e6853078 06-May-2010 Christopher Tate <ctate@google.com> Sketch of Native input for MessageQueue / Looper / ViewRoot

MessageQueue now uses a socket for internal signalling, and is prepared
to also handle any number of event input pipes, once the plumbing is
set up with ViewRoot / Looper to tell it about them as appropriate.

Change-Id: If9eda174a6c26887dc51b12b14b390e724e73ab3
iewRoot.java
108817f3d85f80ddeb8db0ced75502520449a550 06-May-2010 The Android Open Source Project <initial-contribution@android.com> am 8b270a7a: am 579e08e6: am f7896449: merge from open-source master
579e08e657a8dc9274b297b5dda95a4383cc3642 06-May-2010 The Android Open Source Project <initial-contribution@android.com> am f7896449: merge from open-source master

Merge commit 'f78964490d8098387d51444c87bf520ad3f674e2' into kraken

* commit 'f78964490d8098387d51444c87bf520ad3f674e2':
Add new keycodes for the convenience of Japanese IMEs
Call register_localized_collators() with the current locale.
Fixed deserialization problem in DatePicker.
Fix for bug 2467152 files with spaces fail to open.
Set alpha value for newly created dim surface.
telephony: Fix CID when CID is unknown
f78964490d8098387d51444c87bf520ad3f674e2 06-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Ia9e1f4e049f5870386ea29ddb6e3ef028ea918da
b032bc037399110f41cfdb838a792b3c65756323 02-Oct-2009 mogimo <mogimogio@gmail.com> Add new keycodes for the convenience of Japanese IMEs

Change-Id: Ibd308cef11261147856258595f6ca0137e03e05c
eyEvent.java
5cb9d13ba7ae4f63b2676d0aadb5842769713bc0 05-May-2010 Jean-Michel Trivi <jmtrivi@google.com> am fd9b8fb4: am 99fb5046: am fc12b5be: am b5fa4dff: Merge "Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI sound. This CL doesn\'t fix why mView can be null in the first place, but prevents a crash when mView is null and a UI sound is to be played."
99fb50468c460c29da8541cd69655bd3ff92cb08 05-May-2010 Jean-Michel Trivi <jmtrivi@google.com> am fc12b5be: am b5fa4dff: Merge "Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI sound. This CL doesn\'t fix why mView can be null in the first place, but prevents a crash when mView is null and a UI sound is to be played." into froyo

Merge commit 'fc12b5be2ee49ba2392274d413bd5d759c03c346' into kraken

* commit 'fc12b5be2ee49ba2392274d413bd5d759c03c346':
Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI
fc12b5be2ee49ba2392274d413bd5d759c03c346 05-May-2010 Jean-Michel Trivi <jmtrivi@google.com> am b5fa4dff: Merge "Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI sound. This CL doesn\'t fix why mView can be null in the first place, but prevents a crash when mView is null and a UI sound is to be played." into froyo

Merge commit 'b5fa4dff0c4756ef7868926d4f373645ac0b00a9' into froyo-plus-aosp

* commit 'b5fa4dff0c4756ef7868926d4f373645ac0b00a9':
Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI
13b18fd7f954c0034144edde84a1aef1a7b56355 05-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2594126 Do not crash when ViewRoot is trying to play a UI
sound.
This CL doesn't fix why mView can be null in the first place, but
prevents a crash when mView is null and a UI sound is to be played.

Change-Id: I74ea03567e8e6ebebb6c95c80a473abf11e1163d
iewRoot.java
76f0ce1fe4b10a67fb4c037a89024cc134ccb1c1 04-May-2010 Gilles Debunne <debunne@google.com> Revert "Merge "Raw types warnings removed.""

This reverts commit 9794ca60d745757d882d456e653a2dfe41cbb6ff, reversing
changes made to d3f9051c85ffdf50d800b914c8a2def73ffa5bf3.

Change-Id: I39cebc7e92d3604941d66b09bd7b899d06f703fb
ayoutInflater.java
9794ca60d745757d882d456e653a2dfe41cbb6ff 04-May-2010 Gilles Debunne <debunne@google.com> Merge "Raw types warnings removed."
0c0b1b3a07e1c5caf5ddd158c0e8901f02d4d4d0 29-Apr-2010 Steve Howard <showard@google.com> am 3fd6419f: am 3b20c9e8: am 81ac367b: Merge "Fix a minor bug in transitions to left-edge-up landscape." into froyo
3fd6419fe542c4ecb8e838d1754a83ce8591b288 29-Apr-2010 Steve Howard <showard@google.com> am 3b20c9e8: am 81ac367b: Merge "Fix a minor bug in transitions to left-edge-up landscape." into froyo

Merge commit '3b20c9e80533401d8c423977ef86460d789d4e1e' into kraken

* commit '3b20c9e80533401d8c423977ef86460d789d4e1e':
Fix a minor bug in transitions to left-edge-up landscape.
3b20c9e80533401d8c423977ef86460d789d4e1e 29-Apr-2010 Steve Howard <showard@google.com> am 81ac367b: Merge "Fix a minor bug in transitions to left-edge-up landscape." into froyo

Merge commit '81ac367be66905a5b53b8e7e98160546802bd98b' into froyo-plus-aosp

* commit '81ac367be66905a5b53b8e7e98160546802bd98b':
Fix a minor bug in transitions to left-edge-up landscape.
c64d537e9b3f36c68506c0560e97f53e1afe7d64 28-Apr-2010 Steve Howard <showard@google.com> Fix a minor bug in transitions to left-edge-up landscape.

Fix MAX_TRANSITION_TILT to remove the entry for upside-down
orientation, which should've been removed when that orientation itself
was removed. This was causing the phone to require further vertical
tilt for transitions to left-edge-up landscape, as compared to
right-edge-up landscape or portait mode.

Bug: 2639310
Change-Id: I8fe2e2baecd6a9c2cecae95d316b0d4e2f8ee251
indowOrientationListener.java
9afed28629e9a35d341a39f8b4ee21b418079263 21-Apr-2010 Gilles Debunne <debunne@google.com> Raw types warnings removed.

Raw types replaced. Added a asSubClass method in LayoutInflater which
will (correctly) throw a ClassCastException when the inflated class is
not a View subclass.

Reduced the number of warnings in GenericInflater, but those remaining
are valid. A lot of unsafe class casts happen between parent (P) and
item (T) types that will generate runtime errors if the XML is not valid.

Change-Id: I887fd67769a51ab54c6092e1270dbe3bfb6313ca
ayoutInflater.java
73f37ed8269aeb7e3f17b2a4aca8ecee788efae7 27-Apr-2010 Marco Nelissen <marcone@google.com> am 55fb51aa: resolved conflicts for merge of 86303198 to kraken
55fb51aa411b574646cc3068ce36e73789b81616 27-Apr-2010 Marco Nelissen <marcone@google.com> resolved conflicts for merge of 86303198 to kraken

Change-Id: Idd921c7108e4c2cd4a861ee1fb8b43e5d56f8f2f
863031983d3b4a0f31b9535123ec97dee55ac8cb 27-Apr-2010 Marco Nelissen <marcone@google.com> am 8138cb49: Make Surface.toString() show more useful info to help debug bug 2594388.

Merge commit '8138cb49e47f9a9905a316a217757710185c66aa' into froyo-plus-aosp

* commit '8138cb49e47f9a9905a316a217757710185c66aa':
Make Surface.toString() show more useful info to help debug bug 2594388.
8138cb49e47f9a9905a316a217757710185c66aa 27-Apr-2010 Marco Nelissen <marcone@google.com> Make Surface.toString() show more useful info to help debug bug 2594388.

Change-Id: I005d3388503d8886e11a26fece30b87572934f15
urface.java
cbb02b9a66c6fa6f68aa3542b64c8ad578007f15 27-Apr-2010 Mathias Agopian <mathias@google.com> am 62801264: Merge "fix [2615973] ViewRoot locks the Surface even when the dirty region is empty" into kraken
8af711d35219f626bfccd901d4ce63e79418e020 23-Apr-2010 Jeff Hamilton <jham@android.com> Attempt to fix the build.

Change-Id: I03569da7a426b17fded35a23d01586e837769836
urface.java
2291fe2a8ccbd6c08e1e3d29d20b66fbd5eeba5f 23-Apr-2010 Dianne Hackborn <hackbod@google.com> am 0c1be50f: am dc14dc6d: am bf73bbff: Merge "Some debugging help for issue #2594388" into froyo
0c1be50ffa256d7b4d39034f90633f33b059c799 23-Apr-2010 Dianne Hackborn <hackbod@google.com> am dc14dc6d: am bf73bbff: Merge "Some debugging help for issue #2594388" into froyo

Merge commit 'dc14dc6d60675be688c333bbc60a315d2c658054' into kraken

* commit 'dc14dc6d60675be688c333bbc60a315d2c658054':
Some debugging help for issue #2594388
dc14dc6d60675be688c333bbc60a315d2c658054 23-Apr-2010 Dianne Hackborn <hackbod@google.com> am bf73bbff: Merge "Some debugging help for issue #2594388" into froyo

Merge commit 'bf73bbffc18f5abb5350fa3a410830c05ad10206' into froyo-plus-aosp

* commit 'bf73bbffc18f5abb5350fa3a410830c05ad10206':
Some debugging help for issue #2594388
ba3e31d9eed67291a51b501d12fdc27625af688e 23-Apr-2010 Dianne Hackborn <hackbod@google.com> Some debugging help for issue #2594388

WallpaperService doesn't always call onSurfaceDestroyed()

Just helps us see a little better what is going on.

Change-Id: Ibe8efd9e343e880ca31df446c8b36c7fa3722e87
urface.java
a62b09a121960d98005e364d85aac4998a410ae3 22-Apr-2010 Mathias Agopian <mathias@google.com> fix [2615973] ViewRoot locks the Surface even when the dirty region is empty

Change-Id: I3041a57441bd9ee97f2cbc03ce42643175023c78
iewRoot.java
b19b17ed39d2ffaa799d63878988e1d93a389e07 20-Apr-2010 Adam Powell <adamp@google.com> am 8dc38941: am 7f30f8ab: am 93d35f77: Merge "Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible." into froyo
8dc38941b4321bc367c02649f4efdbd99e7dffb6 20-Apr-2010 Adam Powell <adamp@google.com> am 7f30f8ab: am 93d35f77: Merge "Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible." into froyo

Merge commit '7f30f8abe3161ae912c3475aa89ad14388f576d7' into kraken

* commit '7f30f8abe3161ae912c3475aa89ad14388f576d7':
Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.
7f30f8abe3161ae912c3475aa89ad14388f576d7 20-Apr-2010 Adam Powell <adamp@google.com> am 93d35f77: Merge "Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible." into froyo

Merge commit '93d35f77439f54cc55ff63b6e274dec0ac6c3c47' into froyo-plus-aosp

* commit '93d35f77439f54cc55ff63b6e274dec0ac6c3c47':
Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.
8568c3a09bff9bd2f7c9462b116bed0537d19342 19-Apr-2010 Adam Powell <adamp@google.com> Fix bug 2587373 - awaken scrollbars when a scrolling view becomes visible.

Change-Id: I7eb38c53c3a03b23786b8b0c2d16139acd0eb38e
iew.java
af7adab3e35863fff24e701039d5d04afbc060c5 17-Apr-2010 Svetoslav Ganov <svetoslavganov@google.com> 2604184 Expose hidden APIs for testing the AccessibilityManager separately from the backing AccessibilityManagerServcie

Change-Id: Ief5df31baa3c0990467625977e97cd066a671959
ccessibility/AccessibilityManager.java
7946d07183c2020b7421113e3a113763eac15a67 14-Apr-2010 Dianne Hackborn <hackbod@google.com> Merge "2593810 Accessibility event's parcelableData property not nullified during recycling"
9efd078c6bf513e8c6bf59ce57e6f9c038fdf3ee 14-Apr-2010 Svetoslav Ganov <svetoslavganov@google.com> 2593810 Accessibility event's parcelableData property not nullified during recycling

Change-Id: I88d6f3d63d7ff0fbdd88fb9cb642349029838b31
ccessibility/AccessibilityEvent.java
dd64a9b0d6ff0f15b22d02a108c5342c74db995a 14-Apr-2010 Svetoslav Ganov <svetoslavganov@google.com> 2593833 AccessibilityManager not properly initialized immediately upon registration in the AccessibilityManagerService

Change-Id: I0226bafc5e9c5b800c54019c9309394f1e5f9e88
ccessibility/AccessibilityManager.java
ccessibility/IAccessibilityManager.aidl
8b138323d54e36fd66b22a634494648e20c53373 13-Apr-2010 Mathias Agopian <mathias@google.com> don't hardcode "mSurface" throughout our source code

this is used in a few places to get access to the android.view.Surface
native surface. use a macro instead. Also rename the field to mNativeSurface.

Change-Id: I1c6dea14abd6b8b1392c7f97b304115999355094
urface.java
376722fcdf41ade7286bcdb757564559d35a4976 10-Apr-2010 Romain Guy <romainguy@google.com> am 4525c981: Merge "Fix regression introduced when fixing focus issue with ScrollView. Bug #2581646" into froyo

Merge commit '4525c98114c1e570ecef84521f66095e866af77d' into froyo-plus-aosp

* commit '4525c98114c1e570ecef84521f66095e866af77d':
Fix regression introduced when fixing focus issue with ScrollView.
2d4cff64b4c864aa5f6859b73ffa65e31ee915ac 10-Apr-2010 Romain Guy <romainguy@google.com> Fix regression introduced when fixing focus issue with ScrollView.
Bug #2581646

The correct fix is to make ScrollView ignore the BACK key instead of consuming it.

Change-Id: I5c029a5c60ae8e7791391f63672c44b5c96fec71
iewRoot.java
65369424cbfbf165b4324bdcb6f138435462a196 08-Apr-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I975030d9572463bc69245bcffa25c47d7acb2b51
7b70f6589205dec10afdb358b7ddef7aa61b7dd8 07-Apr-2010 Romain Guy <romainguy@google.com> Search for focusable views only after layout has happened when the window is first created.
Bug #2565564

Change-Id: I9eb58bbcba873ac1d6dc0b60b0de99e0e9979398
iewRoot.java
c957ebef9755d15f92c27d690641995587c0ba2f 07-Apr-2010 Daniel Sandler <dsandler@android.com> Merge "Add more WindowManager flags to ViewDebug." into froyo
2e4f426bbc3bad62d2c30109a5370c2026b3df36 06-Apr-2010 Romain Guy <romainguy@google.com> Correctly resize dialogs when measured in WRAP_CONTENT
Bug #2549649

If the window had a different size than its content but the content had already
been measured with the appropriate size, the window would not be resized. This
happens in wrap_content windows (dialogs.) This change simply adds a new codition
to window resizing: if the window is wrap_content, not as big as it can be and
not as big as its content, it gets resized.

Change-Id: I1d82d03af5a15c9ad8dffa0511d5f6d522578285
iewRoot.java
4fedd80c1d3997d62073518973b1fe09862ebaa5 27-May-2009 Chih-Wei Huang <cwhuang@linux.org.tw> Add keycodes PageUp and PageDown

This is useful for applications like web browser.

Change-Id: Ie9262d5b75de87ecd0971407a7c3ce9aa6e4998e
eyEvent.java
20e9271cf25e48d8ea17bed74e87465ca3d77b8c 02-Apr-2010 Daniel Sandler <dsandler@android.com> Add more WindowManager flags to ViewDebug.

Bug: 2567955
Change-Id: Ia34aaa3cbf6e2bc2e59fe9ae83e4c8a6498612ca
indowManager.java
3d5f648f8fe61507107b900fc3c4cf79b19572c6 26-Mar-2010 Dirk Dougherty <ddougherty@google.com> doc change: cherry pick 75c66da20927e7e854397c00ef1974140270c57f. (clarify fill_parent/match_parent transition in ViewGroup.LayoutParams and R.attr. Mention match_parent in dev guide "declaring layout" doc.)

Change-Id: I1d2b80b8dc3f8b2e3c1befcbb7c4c522d78a2db8
iewGroup.java
726426ee736929e605742bfa52bca4b20095921d 01-Apr-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2529154 Found SurfaceFlinger timeout in logcat when wake up Camcorder

We need to make sure, if the window size changes, to have onSurfaceChanged()
called for the surface to be redrawn.

Change-Id: Iad518199fa400de8059a77ed34d50d6eb93a6aff
urfaceView.java
9d32d24dbd8a015c9d5c44ed4901d5a666eb8e7f 30-Mar-2010 Adam Powell <adamp@google.com> Remove overscrolling

Change-Id: I7e9db8d8a9b8ef67f0c0c82bf57c9155b7ebabea
iew.java
8deb239169f9b60cf19b6f4293978e654fa15a03 30-Mar-2010 Steve Howard <showard@google.com> Merge "Remove upside-down portrait orientation." into froyo
1c310b9d2f58ac008fe50f98c6a5c04a5f0645ff 29-Mar-2010 Steve Howard <showard@google.com> Remove upside-down portrait orientation.

I also realized the ROTATION_NN constants were misdocumented, they
actually align the opposite direction from the "orientation" angle
computed in the code (i.e. orientation=90 is left side up, ROTATION_90
is right side up). I just changed the comment here to keep the change
minimal; I'll update the code to be more consistent outside of this
release branch.

Bug: 2549875
Change-Id: I79c4286be582a21e730b25a8a24f2e1137c6e4cb
indowOrientationListener.java
6b1e6969828f05a2f5f55825fdf16b19c9dce2dd 29-Mar-2010 Romain Guy <romainguy@google.com> Rename tab widget attributes, remove scroll barrier constant.
Bug #2553515 #2553595

Change-Id: Id36280a57f00a1ee59251be6be1aae8df2189c09
apticFeedbackConstants.java
iew.java
d49258fed489bcd72a2b2a6ce3a3c38d4b2531e6 26-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2544466: Car Home brightness icon comes and goes while phone is in car dock in FRE83

There was a really dumb bug that was causing us to not always apply
the new configuration. As a result of fixing this, there were new
glithes in the transition between car and regular mode, so further
work here to fix that. And since I was actually working during the
night and seeing night mode, I noticed how obnoxiously bright the
status bar is compared to the car home at night, so it now nicely
dims itself when we switch to the night config. Oh and in doing
that I also found and fixed a bug in dispatching config changes to
a window (where they wouldn't get dispatched if the window didn't
resize).

FINALLY... tweak the wallpaper enter/exit animations a bit to
make them a little smoother.

Change-Id: I4e062093cbcfbc919307799a794846db2920216f
iewRoot.java
8f2bd4328a7cc9dd70e597b7cc011be22c6ca566 25-Mar-2010 Joe Onorato <joeo@android.com> Add window flags and window types to hierarchyviewer.

For debugging http://b/issue?id=2544870

Change-Id: I4b7775e6fd275bb7a9041bf5736e076122bfb5f1
indowManager.java
f5e32f33eddc6e22edee1df486b38294ddc76cc3 24-Mar-2010 Mathias Agopian <mathias@google.com> another small step towards fixing [2501808] sapphire: OOM in GPU Surface area

release the Surface in SurfaceView when it's not visible, after it comes back from relayout(),
it should not be holding buffers at this point, but it's cleaner to have it in the released state.

also log a warning in Surface.finalize() when there is work to do, as it means Surface.release() wasn't
called when it should have.

Change-Id: Id637d4ec2916d8fd800b0344d8dec6cecce02051
urface.java
urfaceView.java
1c6a89491b23aa54bec9e7677c24005350aca525 24-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2538211: system server crash

Change-Id: Ib440650129ca35e25c8c770113af21fef239178d
ClassCastException: com.android.internal.widget.PointerLocationView
iewRoot.java
1a26c9aa0b96d30fc99eeb10bfd41f966ceb003a 23-Mar-2010 Romain Guy <romainguy@android.com> Merge "Improve export to bitmap layers for HierarchyViewer."
65554f27855ce1764123604b061b10346f8b8404 23-Mar-2010 Romain Guy <romainguy@android.com> Improve export to bitmap layers for HierarchyViewer.

- Do not show layers with an invisible parent
- Correctly draw extras from dispatchDraw() (ListView's dividers for instance)

Change-Id: Id2e24ae9d52879290dffbf1cc446c5eda9522fbb
iewDebug.java
iewGroup.java
7179b8133d4a1d8e5f26cbe3da6aa978094e75c9 22-Mar-2010 Derek Sollenberger <djsollen@google.com> Adding a hidden method to check if a surface is fixed in size.

Change-Id: I5d719d436aa1475dfb25f26c258a6f417a9b5c1c
urfaceView.java
1afd1c90ebe789b8d3a137004127a50d2db7e3b5 19-Mar-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2457218: Corrupt batterystats.bin file preventing phone boot - LIBtt68127

No steps to repro, but makes the code more robust by using the standard
JournaledFile class and doing sanity checks on the input it reads.

This required moving the JournaledFile class in to the framework (and
we really should get rid of either it or AtomicFile, but they have
different recovery semantics so that is tough). Also went through and
cleaned up the file management in various places.

Change-Id: Ieb7268d8435e77dff66b6e67bb63b62e5dea572e
iewDebug.java
52964243dc95f74ac2ab9a96d031a36931a11931 24-Feb-2010 Gilles Debunne <debunne@google.com> New OverScroller with edge bouncing effect.

OverScroller has been made a Scroller child class. Both use a physical constant deceleration
force to compute the animation. OverScroller also includes a rubber edge bounce effect.

Approved by Jim Palmer.

Change-Id: I3f43a03694b8cb6bfa0784c2663b37c9c39322cc
iew.java
nimation/DecelerateInterpolator.java
b05ec11868463fef0322689f5c0b0408a6a0e540 19-Mar-2010 Romain Guy <romainguy@android.com> Merge "Force all views to relayout when ViewRoot is resized. Bug #2519590"
cdb86673a78b021f2ba46c48c1a6e7639d013551 19-Mar-2010 Romain Guy <romainguy@android.com> Force all views to relayout when ViewRoot is resized.
Bug #2519590

Change-Id: Ia6b9d4cf6d719f713703a1eb2e1ccdd5d61a5123
iewRoot.java
e2af5c882b146c3a8c7a37f093d13c8b386e8eba 18-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2438457: Resolving Flash artifacts while scrolling.

When the surface view scrolls off the screen it stops drawing, so
we stop moving it. Add an observer to scrolls so we can continue
to update its position.

Change-Id: I2604cbbecd3e72be1a2a6bc5794e3e1c19317b9e
urfaceView.java
694f79b5d1196640d1beb680b7d1fc68e6e77cbd 18-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2519590: Lock screen stuck in landscape mode

Well, mostly. There is still a problem here where the first time
you show the lock screen it just doesn't draw itself. I assume
this is something breaking in the view hierarchy as it floounders
around removing and adding new views as it is first being shown...
but no idea at this point what is the actual case.

Change-Id: Iba99ae3242931c8673b17b106c86fc99e2c52abe
WindowSession.aidl
urfaceView.java
iewRoot.java
cc83c868b6a34c52060698ef441745ba9e4537a2 18-Mar-2010 Adam Powell <adamp@google.com> Fix the build

Change-Id: I4448a0c56c192d3d9f0308bb77301a3f18de6024
iew.java
8a836a8b98557263152a476f614b6e05e19ffc5a 18-Mar-2010 Adam Powell <adamp@google.com> Eliminate haptic feedback when hitting an overscroll barrier due to a fling.

Change-Id: I434ec3edd95a19677ad9dbd1ac5ca3f3f5d091cb
iew.java
51a6bee6719820d09595f474264fcb833eff470a 15-Mar-2010 Adam Powell <adamp@google.com> Fix bugs when transitioning out of touch mode

Change-Id: I56cbac17fba500871af839a87d746ea8e1fd5d0f
iewRoot.java
a35d7687dda3617b5b8cd4e8876d620223dd1613 12-Mar-2010 Adam Powell <adamp@google.com> Make sure visible View state is updated before dispatching clicks

Change-Id: If2619ffa760be708efe8b0d2d04e17eb0dc9375e
iew.java
346c8fb036b99a33756c66dcebeb5d0f67a1df72 12-Mar-2010 Adam Powell <adamp@google.com> Improvements to ScaleGestureDetector

Change-Id: I995bf7237a1de3ea194efdd21ed31156ff1c3c5b
caleGestureDetector.java
15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab 12-Mar-2010 Kenny Root <kroot@google.com> Add correct copyright headers to multiple files

Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
awInputEvent.java
nputmethod/EditorInfo.java
nputmethod/ExtractedText.java
nputmethod/ExtractedTextRequest.java
3b0233959cc181baca896620b42e3cb6ceca2808 12-Mar-2010 Adam Powell <adamp@google.com> Fix tap detection after a long press

Change-Id: I004651b8522cac175a72e94a14128d2283da35a4
iew.java
42e14d74f3a1e146091e627ae3067651c6dab104 11-Mar-2010 Joe Onorato <joeo@android.com> Throw a better error message when the automatic onClick handling doesn't work.

Change-Id: I61729e26f76a2ab8825e892cd6c70c06f0955e4c
iew.java
b7ef1d9ec9aa09ecba5a348c939b10f798aff131 11-Mar-2010 Adam Powell <adamp@google.com> Make paging touch slop smaller

Change-Id: I36e2623dcc6e3209de51d32841ca68ce322cc5d8
iewConfiguration.java
b8b11a0b1d82e24f7a79f2e1672e7f5cf1611a55 11-Mar-2010 Dianne Hackborn <hackbod@google.com> Further improvements to window management!

Fix issue #2493497: Stuck in the Emergency dialer - Home/Back keys doesn't work
This was another case of not updating the window focus when needed, this time
when the lock screen was hidden.

Also re-arrange the layout/animate flow to address issues where you would see
a flicker of whatever was behind the lock screen when showing a new activity that
hides the lock screen. This was because we were deciding to hide the lock screen
during the layout phase, which meant we had to do it without considering whether
it had drawn. So we could hide the lock screen before the window is shown for the
first time after being drawn. Now we can do this in the policy during animate, so
we can wait until the window is drawn and actually being shown.

The flow in perform layout is thus significantly changed, where the layout and
animate loops are both under the same repeating loop. The actual flow from this
should be the same, but it now allows the policy to request a new layout after
the animation loop is done. This actually cleans up a number of things in this
code as the complexity has increased.

Finally this includes a change to the ui mode manager when switching modes, to do
the resource configuration switch at a different time. This makes transitions
between modes much cleaner (though not yet perfect).

Change-Id: I5d9e75c1e79df1106108dd522f8ffed6058ef82b
indowManagerPolicy.java
80ea00c8391d4fa3a1966903af50732c337aadab 10-Mar-2010 Romain Guy <romainguy@android.com> Fix the build.

Change-Id: I7ed20f3d2fb1a80974fbbfe42fdd2f8f135ee401
elocityTracker.java
de8d0834fc2bc31f011fb3316757883e1b731440 10-Mar-2010 Adam Powell <adamp@google.com> Added ViewConfiguration.getScaledPagingTouchSlop()

Change-Id: I9ab5560c4b76d2b87e53d38b10ba8f5ec4868d85
iewConfiguration.java
1127895fd42111f95fdc5049141c512e60198292 09-Mar-2010 Eric Fischer <enf@google.com> Guard against calls to getTextAfterCursor() in text that has no cursor.

Act like the cursor is at 0 in this case instead of crashing.

Bug 2497485

Change-Id: I5ce9b83b323d895e3be75e3133ff2f8e33cc203d
nputmethod/BaseInputConnection.java
51c5a0c50e8ec5e2cb59bd60f85f3e612eb08931 05-Mar-2010 Adam Powell <adamp@google.com> Added accessors for view overscroll modes
iew.java
20cb56e26e91df91bd64d4251222e0d421cdbe47 04-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix some bugs.

Bug #2376231: Apps lose window focus (and back key causes ANR) if the
lock screen is dismissed while the phone is in landscape mode

This is another case where we weren't recomputing the focused window
after changing the visibility policy.

bug #2479958: Investigate source of "Resources don't contain package
for resource number 0x7f0a0000"

Um, okay, so it turns out there were bugs all over the place where
we would load an XML resource from a another application, but not
use the Resources for that application to retrieve its resources...!
I think the only reason any of this stuff was working at all was
because it typically only cared about retrieving the resource
identifiers of the items (it would look up the values later).

Bug #2401082: Passion ERE26 monkey crash - InputMethodManagerService

Add some null checks.
nputmethod/InputMethodInfo.java
0bba68ddc7e489fd6fb1579417a656f77cbc1ab3 04-Mar-2010 Adam Powell <adamp@google.com> Fix VelocityTracker for CTS tests
elocityTracker.java
f5bcc6addd9c1f8f6bb8b8626540d003b3f964fa 02-Mar-2010 Adam Powell <adamp@google.com> InputDevice filtering for jumpy screens.
Updated ScaleGestureDetector for framework deprecations.
caleGestureDetector.java
223ff5c0586adbbd1d6d57a3a4d176222e8b7434 03-Mar-2010 Romain Guy <romainguy@android.com> Add new CAPTURE_LAYERS command to HiearchyViewer protocol.

This command is used by the desktop tool to export a given view hierarchy into
a layered file format.
iew.java
iewDebug.java
iewGroup.java
8bda24874f1da3ca10e40bd0a11154911337b2ac 02-Mar-2010 Romain Guy <romainguy@android.com> Turn on fading scrollbars by default.
Bug #2142162
iew.java
5d26c1e38dabb3ad8b4b6e1000375f3b1a6b7693 02-Mar-2010 Mathias Agopian <mathias@google.com> Added a name to Surface created by SurfaceFlinger

Updated the window manager to use this new facility.
Surfaces name are now printed by "dumpsys".
urface.java
74bfea76ea601017126714729f7cea68e5d9cbdb 01-Mar-2010 Derek Sollenberger <djsollen@google.com> am a630dcdb: am ecde72fe: Ensure the IME is rendered above the surface when we z-order the surface to be on top.

Merge commit 'a630dcdb956f9acb028dd03bc63b28874f100f8a'

* commit 'a630dcdb956f9acb028dd03bc63b28874f100f8a':
Ensure the IME is rendered above the surface when we z-order the surface to be on top.
ecde72fe411811ca02a2565bf73b86e6e8ddc76b 01-Mar-2010 Derek Sollenberger <djsollen@google.com> Ensure the IME is rendered above the surface when we z-order the surface to be on top.
urfaceView.java
80615257cf71714ff80d22f1cde9035e96257d20 26-Feb-2010 Romain Guy <romainguy@google.com> Merge "Send cancel event to recycled views instead of an up. Bug #2309387"
4c904a3bf3dbe98607b5e3f706ee8ef8887ee104 26-Feb-2010 Joe Onorato <joeo@android.com> fix the build.
isplay.java
8afa515936e78ccfc5563ca9164dc9a50ca73db4 26-Feb-2010 Romain Guy <romainguy@android.com> Send cancel event to recycled views instead of an up.
Bug #2309387

This was a problem in lists with list items that would cause notifyDatasetChanged()
interleaved with a series of up/down motion events. This is a pretty rare case
but it's worth fixing it to avoid getting views in a weird state.
iew.java
iewGroup.java
5cb70b54156fb305d579a1cc167424c8705bfdf7 26-Feb-2010 Dianne Hackborn <hackbod@google.com> Rename Display.getOrientation() to Display.getRotation().

Update various docs.
isplay.java
82fe564267f276151063b2aa0d26075c3210d75f 24-Feb-2010 Carl Shapiro <cshapiro@google.com> Comment out the finalize() methods defined on the Activity,
ContextImpl, View and ViewRoot classes. This allows instances of
subclasses to be collected without the additional latency of
finalization.
iew.java
iewRoot.java
d82968d8d8f3ac5908e6cb76b6e8989092f41c27 25-Feb-2010 Steve Howard <showard@google.com> Merge "Improve accelerometer-based orientation sensing."
8354fa65ebf4f44dd189d1d6f33767cf009b5769 25-Feb-2010 Bjorn Bringert <bringert@android.com> Make setBackgroundResource() remotable

Change-Id: Iad9c2bdf743a81a085024cad9dc340ae8a983f34
iew.java
1ba101f82eae4e54293428480fbcbfd1c58359c8 23-Feb-2010 Steve Howard <showard@google.com> Improve accelerometer-based orientation sensing.

There were three main complains about orientation sensing:
* Switching to landscape when putting a device down on a table (or picking it up)
* Changing orientation due to road bumps or vehicle vibrations while in a car dock
* Switching to upside-down too easily

This change includes three primary enhancements.

First, we run the accelerometer output through a lowpass filter before considering its orientation. This avoids glitches due to brief phone movement, particularly when the phone hits a table. The filter uses a very low default time constant of 200ms to retain responsiveness (note the samping period is ~200ms, so the effect of this filtering is pretty mild). At tilt angles beyond 45 degrees, however, we increase the time constant to 600ms, which helps greatly with avoiding glitches picking the phone up from a table. It does introduce some sluggishness when rotating while the phone is tilted back, i.e. being used in one's lap.

It's also worth mentioning that the accelerometer output on Sapphire appears to be pre-lowpass-filtered with a time constant of around 500ms, making this less necessary on that device, but the added effect doesn't noticeably degrade user experience in my opinion.

Second, we check the magnitude of the raw accelerometer output. If it deviates from the strength of gravity by more than one m/s^2, we distrust the data, since that implies the device is under external acceleration and the sensor data doesn't accurately reflect orientation. This helps avoid glitches due to shocks and vibrations, as in the car dock scenario. However, rather than ignore the data entirely, we filter it with a very high time constant (5 sec). As a result, if the device is rotated while vibrating, even if we never pick up a clean sample, we will eventually detect the orientation switch. Of course, with a sampling period of 200ms, we're prone to aliasing, but that seems like a highly unlikely corner case.

Third, we restrict transitions to upside-down orientation to a much narrower range, both in terms of orientation and tilt. This should prevent upside-down mode from activating in most cases where it's not desired.

I also updated a lot of stale documentation, added a lot of documentation, and cleaned up a lot of the code, so as to make this (often subtle) code as transparent as possible.
indowOrientationListener.java
dcc490f20103a4bbd879ea040ce67779d211c2d7 25-Feb-2010 Romain Guy <romainguy@android.com> Fix the build.
iewGroup.java
a440b002aa59e1455bdfa2c5a1ca51c74bbc19ac 25-Feb-2010 Romain Guy <romainguy@android.com> Prevents ListView items children to modify properties of other children.
Bug #2464502

This fix introduce a new dispatch mechanism to tell views when they are temporary
detached/reattached from/to a ListView. This is very important to remove pending
callbacks or cleanup temporary states.

This change also modifies TextView which was relying on that callback in a very
particular case: a focused EditText in a ListView. The modified code acts only
when in that case, not if onStart/FinishTemporaryDetach() is called via
dispatch*() (== recycled views in ListView.)
iew.java
iewGroup.java
32637cf9fd71096becb4f43bde56e9137b8187e4 19-Feb-2010 Adam Powell <adamp@google.com> Merge "Recycle MotionEvents properly in GestureDetector"
45f2ca7f7d9fac55aa228e022f46ecbac8712a15 18-Feb-2010 Adam Powell <adamp@google.com> Recycle MotionEvents properly in GestureDetector
estureDetector.java
e36d6e277e49475076b7872d36ea6a5c5b996e9d 18-Feb-2010 Dianne Hackborn <hackbod@google.com> Work on issue #2263557: PMF3000 showing hybrid of portrait and landscape modes

This is a bunch of reworking of how configuration changes are handled:

- When orientation is changing (for whatever reason), the window manager no
longer tries to pre-emptively compute a new configuration. Instead, it
just determines change is happening and tells the window manager.
- The activity manager is now responsible for giving the window manager the
final configuration it is using. This is both so it knows whem the
activity manager is done with its configuration updates, and so the window
manager can use the "real" configuration.
- When an orientation or other configuration change is happening, freeze the
screen and keep it frozen until the activity manager has given us the
final configuration.
- The window manager can now send new configurations to its clients during
its layout pass, as part of a resize, if it has determined that it has
changed. This allows for a new View.onConfigurationChanged() API for any
view to easily find out when the configuration has changed.
- ViewRoot now also works with the activity thread to make sure the process's
current resources are updated to the new configuration when it receives one
from a window. This ensures that at the time onConfigurationChanged() and
other view callbacks are happening, the correct configuration is in force.
- There is now a sequence number associated with Configuration, which
ActivityThread uses to avoid using stale configurations. This is needed now
that it can receive configurations asynchronously from both the window
manager and activity manager.
- The hack for keeping the locale has been removed, and underlying problem
fixed by having Configuration initialize its locale to "unknown" instead of
a valid default value.
Window.aidl
WindowManager.aidl
urfaceView.java
iew.java
iewGroup.java
iewRoot.java
ab4835ee0df866a4f7982644742e2b758c50fdd7 18-Feb-2010 Romain Guy <romainguy@android.com> am 00b17659: Manual merge of 40245 (ed5c973fc23a6733fd473ad13b4eb317e74e9bb5) DO NOT MERGE.

Merge commit '00b17659bb4b2774580eea523c5f23b588105ab6' into eclair-plus-aosp

* commit '00b17659bb4b2774580eea523c5f23b588105ab6':
Manual merge of 40245 (ed5c973fc23a6733fd473ad13b4eb317e74e9bb5) DO NOT MERGE.
6f4a52a3f7c6bd87e7109d741441bff332a445a4 18-Feb-2010 Romain Guy <romainguy@android.com> am 67e9e9df: Manual merge of 40170 (b4a107d8269d1a75b8f270e0516c1fa3b517f8f9) DO NOT MERGE

Merge commit '67e9e9df929aad9139f1dc776b15f6c5d64f424e' into eclair-plus-aosp

* commit '67e9e9df929aad9139f1dc776b15f6c5d64f424e':
Manual merge of 40170 (b4a107d8269d1a75b8f270e0516c1fa3b517f8f9) DO NOT MERGE
00b17659bb4b2774580eea523c5f23b588105ab6 10-Feb-2010 Romain Guy <romainguy@android.com> Manual merge of 40245 (ed5c973fc23a6733fd473ad13b4eb317e74e9bb5) DO NOT MERGE.

Prevent infinite loop in the Phone UI.
nimation/Animation.java
67e9e9df929aad9139f1dc776b15f6c5d64f424e 10-Feb-2010 Romain Guy <romainguy@android.com> Manual merge of 40170 (b4a107d8269d1a75b8f270e0516c1fa3b517f8f9) DO NOT MERGE

Fix the lock screen.
iew.java
nimation/Animation.java
6c71d476f32adb5308a2a9e32660b66b2b7e6c1a 18-Feb-2010 Romain Guy <romainguy@android.com> am 8368ef0b: Manual merge of 40080 DO NOT MERGE Properly notifies listener when an animation is cancelled. Bug: #2428005.

Merge commit '8368ef0b670f8193f3161671b119e78b1fb659a1' into eclair-plus-aosp

* commit '8368ef0b670f8193f3161671b119e78b1fb659a1':
Manual merge of 40080 DO NOT MERGE
8368ef0b670f8193f3161671b119e78b1fb659a1 09-Feb-2010 Romain Guy <romainguy@android.com> Manual merge of 40080 DO NOT MERGE
Properly notifies listener when an animation is cancelled.
Bug: #2428005.
iew.java
nimation/Animation.java
2b95c2413838c2e2b127ebab8fb4fead7d52e460 09-Feb-2010 Jeff Sharkey <jsharkey@android.com> Added more @RemotableViewMethod methods, mutate ImageView.

Catch some View methods missed during the first pass of
marking with @RemotableViewMethod annotation. Also adds new
ImageView.setColorFilter(int) to match the android:tint XML
attribute.

When ImageView touches ColorFilter or alpha, mutate the
underlying Drawable. Fix NPE in StateListDrawable.mutate().
iew.java
c9fbaabc1bbf847b6e8bf2595068cbd990f3da55 17-Feb-2010 Adam Powell <adamp@google.com> XML attribute for overscrolling behavior
iew.java
3d0ff09e35521a97ec1cfe14d57c6868e271fe9a 16-Feb-2010 Adam Powell <adamp@google.com> Merge "VelocityTracker now uses pointer id instead of index when referring to multiple pointers. VelocityTracker now correctly handles multitouch. Addresses http://b/issue?id=2439030"
73d8fca6ba1991dbcbcd4686212d087a5ae8de2d 13-Feb-2010 Adam Powell <adamp@google.com> VelocityTracker now uses pointer id instead of index when referring to
multiple pointers. VelocityTracker now correctly handles
multitouch. Addresses http://b/issue?id=2439030
elocityTracker.java
b125dc5599468a09d82751cd76152071ae485afb 13-Feb-2010 Dianne Hackborn <hackbod@google.com> Fix MotionEvent pointer API.

Ooops. The API said that the pointer down and up actions contained
the pointer id, but it is actually the index. Actually it makes
much more sense for it to be the index, and those ACTION_POINTER_1_DOWN
etc. constants were stupid.
estureDetector.java
otionEvent.java
f5c6eff63d19a9f7a970a4f90619edac873c006d 10-Feb-2010 Gilles Debunne <debunne@google.com> Force layout on TableRows when column widths are shrinked or streched.

Also features some comment typos and import re-ordering.

Change-Id: I32cb14419d7d349064032718469daf62a0a72e3a
iewGroup.java
04994989351922e241089de2af540facc8688505 11-Feb-2010 Amith Yamasani <yamasani@google.com> Add a new KEYBOARD_TAP haptic feedback type for very short, low-latency vibration.

The minimum value varies from device to device, so this is useful for defining
the shortest and most efficient vibration. The VibratorService creates a Thread
when playing back vibration patterns, so this allows you to avoid thread creation
and associated scheduling delays by specifying a one-shot duration in the config
file.
apticFeedbackConstants.java
90d2db3d21d07c2a4b4cbbc558f5ec59d20098c3 12-Feb-2010 Dianne Hackborn <hackbod@google.com> Add Pointer Location to the window manager.

The window manager now has pointer location built into it.
Viva la touch!
indowManagerPolicy.java
4886d40091ebf1fd71c0942224c0b4ad7410f6a7 12-Feb-2010 Adam Powell <adamp@google.com> Fix javadoc link for SDK build breakage
iew.java
0b8bb4282a7d1afb24f8c4d5beb2ca4ecc731116 08-Feb-2010 Adam Powell <adamp@google.com> Overscrolling modifications. Overscroll will not allow the user to
scroll content out of view. Scrolling will slow down halfway to the
barrier point. API added in View. AbsListView, ScrollView,
HorizontalScrollView all use this API. Overscrolling uses haptic
feedback. Added scroll barrier pattern to config.xml.
apticFeedbackConstants.java
iew.java
5180d1c52209f6cd86f2273da6105205c505510a 10-Feb-2010 Romain Guy <romainguy@android.com> Prevent infinite loop in the Phone UI.
nimation/Animation.java
b4a107d8269d1a75b8f270e0516c1fa3b517f8f9 10-Feb-2010 Romain Guy <romainguy@android.com> Fix the lock screen.
iew.java
nimation/Animation.java
e1d683074b9a5cfa12c39e2e3d5a538599a9da75 10-Feb-2010 Adam Powell <adamp@google.com> am 87da8606: Manually merged VelocityTracker changes

Merge commit '87da860616009a86e260e49bbefffe12c1a06607'

* commit '87da860616009a86e260e49bbefffe12c1a06607':
Use a circular buffer in VelocityTracker
87da860616009a86e260e49bbefffe12c1a06607 09-Feb-2010 Adam Powell <adamp@google.com> Manually merged VelocityTracker changes
305a2eb8e5957a4f3db2734a8918faf1a39fb9a4 09-Feb-2010 Romain Guy <romainguy@android.com> Properly notifies listener when an animation is cancelled.
Bug: #2428005.
iew.java
nimation/Animation.java
18f75bd45cdbfaf175364552f2d0d0dc3b2835c0 09-Feb-2010 Adam Powell <adamp@google.com> am e88192b9: Cleanup fixes for ScaleGestureDetector

Merge commit 'e88192b9d2a8c364d8545471907c5baa275bb5f6' into eclair-plus-aosp

* commit 'e88192b9d2a8c364d8545471907c5baa275bb5f6':
Cleanup fixes for ScaleGestureDetector
e88192b9d2a8c364d8545471907c5baa275bb5f6 09-Feb-2010 Adam Powell <adamp@google.com> Cleanup fixes for ScaleGestureDetector
caleGestureDetector.java
5d36c46d2d8fb3f1bdc8fd1ff407e14b4433272a 08-Feb-2010 The Android Open Source Project <initial-contribution@android.com> am ad9bcb22: merge from open-source master

Merge commit 'ad9bcb22d05fbf130ac64254abd51a137e9a3d3f'

* commit 'ad9bcb22d05fbf130ac64254abd51a137e9a3d3f':
Fix x coordinate of the ACTION_UP event in TouchUtils.drag() method
Fixed Android animation framework, for using interpolators that do not start at 0.0f
Fix for GPS engines without separate session and engine status events.
Be tolerant of GPS session and engine on status messages arriving out of order.
GpsLocationProvider: Do not release wakelock until the GPS engine is fully off
ad9bcb22d05fbf130ac64254abd51a137e9a3d3f 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master
b09ef7b4fa388c1399a6359e239789ca0137aaac 05-Feb-2010 Adam Powell <adamp@android.com> Merge "Use a circular buffer in VelocityTracker"
4766defdd0778d7e0a656179d03a4865a9a40523 05-Feb-2010 Andreas Agvard <andreas.agvard@sonyericsson.com> Fixed Android animation framework, for using interpolators that do not start at 0.0f

There is a bug that affects interpolators that do not return 0.0f when given 0.0f as input. All default interpolators in Android do return 0.0f, which is why it hasn't been
noticed. Some custom interpolators can for example run backwards, returning 1.0f when given input 0.0f.
nimation/Animation.java
nimation/AnimationSet.java
2a9094d07915a077026a651a7773f94322bf7d23 04-Feb-2010 Dianne Hackborn <hackbod@google.com> Framework part of issue #2391576: Add method to start the Jit and call it
iewRoot.java
732ebb1bc3d7760fd424b84e0235ea9946100102 03-Feb-2010 Adam Powell <adamp@google.com> Fixed a regression in View.cancelLongPress
iew.java
ab905c87b7324d15715b78eaae7ef8558ad3bd10 03-Feb-2010 Adam Powell <adamp@google.com> Javadoc fixes to ScaleGestureDetector for SDK builds
caleGestureDetector.java
ce760cd6df920efff026c8757a371692ac54fad4 03-Feb-2010 Marc Capdevielle <marc.capdevielle@gmail.com> Use a circular buffer in VelocityTracker

Optimizes the frequently called addPoint() method while keeping the
same velocity computation.

Thx Cyril Mottier for help and tests.
elocityTracker.java
216bccf804db9c972b317620a27de6a8adf7fbfe 02-Feb-2010 Adam Powell <adamp@google.com> Updated GestureDetector to ignore multitouch if requested by the app
or if targetSdkVersion >= Froyo. Made ScaleGestureDetector
public. current.xml API updates for gestures.
estureDetector.java
caleGestureDetector.java
95f7850a9d9c7c4f020d06986300f4740fb6a52c 30-Jan-2010 Christopher Tate <ctate@google.com> Fix build: javadoc @link pointers need HTML-style #refname

Change-Id: I0e061516fce2bcf5dea401f58180f2ff396482ab
indowManager.java
ef73162887943e16587b8e737b19e59348338e8c 27-Jan-2010 Mike Lockwood <lockwood@android.com> Support for triggering the lockscreen while the screen is on:

Add new ALLOW_LOCK_WHILE_SCREEN_ON window manager flag, which when set
causes the window manager to put up the lockscreen after the
normal screen timeout has elapsed.

Add plumbing to pass PowerManager.userActivity() to the window manager policy.

Change-Id: I05adc52bad39c56031a08e8ec3cbcf5c2d9b9827
Signed-off-by: Mike Lockwood <lockwood@android.com>
indowManager.java
indowManagerPolicy.java
254cb446faa7cb13699d8150eb4cc4f44cb61a2d 28-Jan-2010 Dianne Hackborn <hackbod@google.com> More device admin.

- Clean up device policy manager APIs.
- Implement lockNow(). For now this just turns the screen off to lock the device.
indowManagerPolicy.java
43c9cdffb619f93d9d4525dffd05701dc9c8c4bf 27-Jan-2010 Romain Guy <romainguy@android.com> New View.dispatchDisplayHint() API.
Bug #2399147

This new API will be used by scrollable containers to tell children that they
are/are not displayed. This will allow lists to hide their filter popup window
for instance.
iew.java
iewGroup.java
f96a91abb6574eb4313946fa65ed69adbc413e44 26-Jan-2010 Grace Kloba <klobag@google.com> am 5b745762: am d5ada83c: ScaleGestureDetector needs to query the displaymetrics for the width/height on each touch down as orientation can change.

Merge commit '5b74576218055f1c9d31d9559255e8cf504cd662'

* commit '5b74576218055f1c9d31d9559255e8cf504cd662':
ScaleGestureDetector needs to query the displaymetrics
8ad96ae820e3fd6e8ad1eb070f0a2cf1356073a6 26-Jan-2010 Grace Kloba <klobag@google.com> am f8c7d06f: am 89e3c1ab: Merge "Fix the sloppy detection in the ScaleGestureDetector." into eclair

Merge commit 'f8c7d06ffa67015516b822a992513ab86aad1ad5'

* commit 'f8c7d06ffa67015516b822a992513ab86aad1ad5':
Fix the sloppy detection in the ScaleGestureDetector.
a948f4787b0bf842ed5a9000bd1e1a214dac0096 22-Jan-2010 Adam Powell <adamp@google.com> am 97b10853: am 5910cb53: Merge "Edge of screen slop detection for ScaleGestureDetector." into eclair

Merge commit '97b108532f04f72af035e372be7b827f77888650'

* commit '97b108532f04f72af035e372be7b827f77888650':
Edge of screen slop detection for ScaleGestureDetector.
cf635ae7c65de34f62a41cd330f25f4ee9ddc95b 22-Jan-2010 Romain Guy <romainguy@android.com> Bring back buttons in dialogs.
Bug #2390537
iewDebug.java
d5ada83c719d366d3063572ca6ce5ab8918fd39b 21-Jan-2010 Grace Kloba <klobag@google.com> ScaleGestureDetector needs to query the displaymetrics
for the width/height on each touch down as orientation
can change.

This should fix the problem where we can't pinch on the
top right corner when device is in landscape mode.
caleGestureDetector.java
8f9fbb0c45265a6f5da51cb3bc35362d8e5bc900 20-Jan-2010 Grace Kloba <klobag@google.com> Fix the sloppy detection in the ScaleGestureDetector.

Fix http://b/issue?id=2385061
caleGestureDetector.java
380b525220955ce4e4df8943b89082c7443ebfdd 20-Jan-2010 Adam Powell <adamp@google.com> Edge of screen slop detection for ScaleGestureDetector.
caleGestureDetector.java
bc9fdc92603112b3462024c8d0096b4eca3001c3 19-Jan-2010 Romain Guy <romainguy@android.com> Make sure the drawing cache is invalidated when reattaching a view.
Bug #2373677
iewGroup.java
3e22d199a0434a6450eccc5f75a1ad8141878de0 19-Jan-2010 Adam Powell <adamp@google.com> am b5a5a397: am 56a17690: Merge "TransformGestureDetector is now ScaleGestureDetector - scope reduced. N1 screen can\'t reliably handle translation and scaling at the same time." into eclair

Merge commit 'b5a5a39716502be2cd325a6f9b393e155c0636ee'

* commit 'b5a5a39716502be2cd325a6f9b393e155c0636ee':
TransformGestureDetector is now ScaleGestureDetector - scope reduced.
d68478467e3f837511196c80891d7245d0e163df 13-Jan-2010 Dianne Hackborn <hackbod@google.com> First pass at new device policy and administration APIs.

This adds new DevicAdmin, DevicePolicyManager, and DeviceAdminInfo classes.
See the java docs for each on documentation on them. Basically: a DeviceAdmin
is what you derive from to administer a device; DevicePolicyManager is what you
use to apply and check your policy requirements and perform other administration
tasks.
nputmethod/InputMethod.java
52e2ef8cac0cd6d78c2c2f5783846e03c636a54c 14-Jan-2010 Romain Guy <romainguy@android.com> Update ListView's children when the drawing cache color hint changes.
Bug #2371777
iew.java
ae542ff055301a4c3c8a18e8da1739df3a771958 14-Jan-2010 Adam Powell <adamp@google.com> TransformGestureDetector is now ScaleGestureDetector - scope reduced.
N1 screen can't reliably handle translation and scaling at the same time.
caleGestureDetector.java
ransformGestureDetector.java
a77f93f76a40128ecc3d017ead6d1105f96b282a 13-Jan-2010 Leon Scroggins <scroggo@google.com> am ace8addc: am 2edd6826: Create a new ImeOption that disables fullscreen in landscape, and use it.

Merge commit 'ace8addce47efc03be5038eef48d7fb066b14aae'

* commit 'ace8addce47efc03be5038eef48d7fb066b14aae':
Create a new ImeOption that disables fullscreen in landscape, and use it.
908c48587d18e787a0511b1fa544d88d13b6bbb5 13-Jan-2010 Adam Powell <adamp@google.com> am 202a6734: am 8acdb201: Added TransformGestureDetector (still in progress) Modified VelocityTracker to track multiple pointers Added TransformTest

Merge commit '202a6734fd39289257955d404edf7a1165f6e480'

* commit '202a6734fd39289257955d404edf7a1165f6e480':
Added TransformGestureDetector (still in progress)
8acdb201bdad2cd03c07ebad9cda29f7971ed164 07-Jan-2010 Adam Powell <adamp@google.com> Added TransformGestureDetector (still in progress)
Modified VelocityTracker to track multiple pointers
Added TransformTest
ransformGestureDetector.java
elocityTracker.java
2edd68260f26cbd6eddd0df16404bb6bcb22b3b6 12-Jan-2010 Leon Scroggins <scroggo@google.com> Create a new ImeOption that disables fullscreen in landscape, and use it.

EditorInfo:
Add a flag to tell the InputMethodService to never go into fullscreen
mode.

InputMethodService:
When the new flag is set, onEvaluateFullscreenMode always returns
false.

WebTextView:
Use the new flag, along with IME_FLAG_NO_EXTRACT_UI. Fixes
http://b/issue?id=2358360
nputmethod/EditorInfo.java
980a938c1c9a6a5791a8240e5a1e6638ab28dc77 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
iew.java
iewGroup.java
iewRoot.java
indow.java
indowManager.java
d9328513da1ed413273afa30a499ee1dcdab1fb4 05-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> Turn off debug flag
indowOrientationListener.java
63104edbf06e16642bd0a02d34e0ae3f9aa655aa 15-Dec-2009 Suchi Amalapurapu <asuchitra@google.com> Add four way directional rotation to WindowOrientationListener
indowOrientationListener.java
de2606dcd36e9dfa49c42dbc68c539505d5ff8d4 19-Dec-2009 Dianne Hackborn <hackbod@google.com> Don't perform app transition of the app is not currently visible.

Yet more special casing for the window manager... try really hard,
if we are performing an activity transition that is behind an
opaque window (like say the lock screen or status bar) to just not
do it. And, just as important, do a reasonable transition away from
whatever is on top.

Examples:

- If the lock screen is up, and you get a call or press the
emergency dialer button, we fade from the lock screen to the
new UI, instead of fading to the animation going on between
the old and new.

- If you are in something hiding the lock screen, like the
in-call screen, and that is hidden, then fade back to the
lock screen.

- If you select an item from the status bar, then have the
new item displayed behind it as the status bar rolls up
rather than seeing a second animation. (In fact this can't
always be done because we may not start the transition to
the new thing until the status bar is already going away.
But for most cases we can do this with just one anim.)
indowManagerPolicy.java
83e10959795fac6438ef20471b3612421b55a9d4 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1d1ed967

* changes:
Tap delays; making tap UI feel better. Addresses bug 2317577
ccc8305ae9fd59ee829d45c62ac79cef7e3df179 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I58acbafc

* changes:
Fix for http://b/issue?id=2323459 and generics correctness on a WeakReference
e14579bac59aa84523c2bfbfc3f28c7842ec664d 17-Dec-2009 Adam Powell <adamp@google.com> Tap delays; making tap UI feel better.
Addresses bug 2317577

Views now will not enter PRESSED state until
ViewConfiguration.getTapTimeout() milliseconds have elapsed. This
prevents scrolls and other gestures from causing views to enter
PRESSED state prematurely.

Quick taps within the same view still work as expected. There is now a
PREPRESSED state flag within View to help track quick taps.

If tapped quickly, views will remain pressed for
ViewConfiguration.getPressedStateDuration().

Tap timeout has been changed to 115ms. Pressed state duration has been
changed to 125ms.
iew.java
iewConfiguration.java
38e951b62ed956501b11f0715e23e3bf70942f6d 17-Dec-2009 Romain Guy <romainguy@android.com> Write HierarchyViewer's data in UTF-8.

This change fixes issues with HierarchyViewer running on phones with a non en locale.
The biggest problem occurred with spanish locales.
iewDebug.java
1549dd1e6801a0240a2e2769c91181698910f98d 15-Dec-2009 Maryam Garrett <mkamvar@google.com> Fixes the IME not triggering on touch bug.

http://b/issue?id=2328818

Change-Id: I98cb3b5c3ba49d35e2b031e4fabd050bccccfa81
iew.java
58acbafcf2263232c4805cf7a39196acf03763d9 15-Dec-2009 Adam Powell <adamp@google.com> Fix for http://b/issue?id=2323459 and generics correctness on a WeakReference

ViewStub.setVisibility now passes View.GONE through. Even though this doesn't
make a lot of sense to do in practice, it preserves the value for future
ViewStub.getVisibility calls.
iewStub.java
236092a36216c79507ec19eb207831810caced19 15-Dec-2009 Romain Guy <romainguy@android.com> Fixes crash in HierarchyViewer when windows hash code exceed int capacity.
Bug: 2321018
iewDebug.java
39f0efba92a4420f77e3abc53c367ea3cacde3cf 11-Dec-2009 Maryam Garrett <mkamvar@google.com> Fixes context-menu trigger behavior after scroll in TextView

This change fixes the context menu trigger behavior while
the user is selecting via touch. How if a user is selecting
text via dragging their finger, to trigger the context menu
they will have to lift their finger up, then issue a
longpress. This is consistent with the behavior of selecting
via the trackball.
iew.java
326d808b858359464b2ffeb84f2e0a8e0c79b600 10-Dec-2009 Adam Powell <adamp@google.com> Added View#dispatchViewVisibilityChanged and View#onDispatchVisibilityChanged; updated api; tests

Reverted a change to InstrumentationTestCase that would have allowed @UiThreadTest on setUp() methods of tests.
iew.java
iewGroup.java
ea4823c1c7fdee093789850d0f76a3df22ca58d2 09-Dec-2009 Romain Guy <romainguy@android.com> Improve javadoc in View.
iew.java
237c1ceea36024cf4194212e713806e3ce8a1c49 08-Dec-2009 Romain Guy <romainguy@android.com> Improve exception message thrown when a View's state is of the wrong type.
iew.java
iewDebug.java
f2feb0faa266e5e0844c20a8adb9cdb5f360322f 04-Dec-2009 Romain Guy <romainguy@android.com> am 48a65d99: Merge change I8c5f2fc3 into eclair

Merge commit '48a65d99cba33db3af2e05982a6825b883be2030' into eclair-mr2

* commit '48a65d99cba33db3af2e05982a6825b883be2030':
Fix invalidate code path (#2273209).
ecd80ee31c23ac067bb420f44f046682c499e83c 04-Dec-2009 Romain Guy <romainguy@android.com> Fix invalidate code path (#2273209).

Cached views would, in some situations, not update if they contained an
animating child. This was caused by clearing the dirty cache flag too
early in View.buildDrawingCache().

Approved by Dr. No mcleron.

Change-Id: I8c5f2fc3e6605657e0da625d60d50b55bb133666
iew.java
44000eb2a2340b1a47eaa587d4829810e04cbcdc 03-Dec-2009 Mike Lockwood <lockwood@android.com> am 678c2e35: Merge change I9ef88863 into eclair

Merge commit '678c2e35768a5426b4ad8f67c836008e7751a353' into eclair-mr2

* commit '678c2e35768a5426b4ad8f67c836008e7751a353':
Add WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR to indicate screen was turned off by the proximity sensor.
435eb6464c1f326caf8179438a5401f358f0d7ac 03-Dec-2009 Mike Lockwood <lockwood@android.com> Add WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR to indicate screen was turned off by the proximity sensor.

Part of a fix for bug b/2300622 (Proximity sensor always blows up the lock screen while in call)

Change-Id: I9ef888638b19540a78a34507d52ff522f505102f
Signed-off-by: Mike Lockwood <lockwood@android.com>
indowManagerPolicy.java
db727a8a0384ba2ac4dcb4bf93e1dd54e3062b28 29-Nov-2009 Mike Lockwood <lockwood@android.com> Remove some unused window manager methods.

Change-Id: I1c28150416b92b96b9f434270652c4be2613434c
Signed-off-by: Mike Lockwood <lockwood@android.com>
indowManagerPolicy.java
df7edf5d92ae3e708e802b68014864fe13184060 25-Nov-2009 Joe Onorato <joeo@android.com> am 55896f3c: Merge change Ib71193bf into eclair

Merge commit '55896f3c5121e73e3f657ed14e7ee8937ad72449' into eclair-mr2

* commit '55896f3c5121e73e3f657ed14e7ee8937ad72449':
Fix 2283089 - ERD47B: Force Close of Launcher2 process when hitting Search button to invoke QSB
b71193bffc1d2ec60efd987300e2e85e678aa6f0 25-Nov-2009 Joe Onorato <joeo@android.com> Fix 2283089 - ERD47B: Force Close of Launcher2 process when hitting Search button to invoke QSB

In this case, as opposed to what was happening in 1977685, the focused view wasn't the one that was
directly removed, it was a child of the removed view.
iewRoot.java
fb73f79340375013225618a5d87f46b958f698ef 20-Nov-2009 Mike Lockwood <lockwood@android.com> Add window manager support for overriding button and keyboard backlight values.

The new backlightBrightness field works similarly as the existing WindowManager.LayoutParams.screenBrightness field

Needed for bugs:
b/2233655 (under low ambient light the touch keys remain illuminated during video playback and never timeout)
b/2221079 (Backlight for home/search/back/etc buttons should turn off when in dock in night mode)

Change-Id: I60dfecdc7bb653b0db38094464de651220b3d438
indowManager.java
a2f4c2543a7f78b77491c701230e8f406dcca540 18-Nov-2009 Dianne Hackborn <hackbod@google.com> am 1d62ea9d: Fix issue #2249821: Unable to start passion in safe mode

Merge commit '1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e' into eclair-mr2

* commit '1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e':
Fix issue #2249821: Unable to start passion in safe mode
1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e 17-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2249821: Unable to start passion in safe mode

Holding down the trackball now works.

Also fix a little API check warning from Intent.

Change-Id: Icb1f901535cb521917bf7f847a93c4ff7861d20e
WindowManager.aidl
9db3d07b9620b4269ab33f78604a36327e536ce1 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
apticFeedbackConstants.java
Window.aidl
WindowManager.aidl
WindowSession.aidl
eyEvent.java
ayoutInflater.java
otionEvent.java
awInputEvent.java
urface.java
urfaceHolder.java
urfaceView.java
iew.java
iewConfiguration.java
iewGroup.java
iewRoot.java
iewStub.java
olumePanel.java
indow.java
indowManager.java
indowManagerPolicy.java
nimation/Animation.java
nputmethod/InputMethodInfo.java
nputmethod/InputMethodManager.java
949ffa3da5231772425c3bde50caeab6c4d08ec5 10-Nov-2009 Marco Nelissen <marcone@google.com> am 11cff8cd: Merge change Ie211adae into eclair

Merge commit '11cff8cd30f03b5adb137e985532543da5e960c4' into eclair-mr2

* commit '11cff8cd30f03b5adb137e985532543da5e960c4':
Add a way for wallpapers to know the delta between virtual screens.
bf6956b1d95442e9d9c483894d578fe6b7044cbb 10-Nov-2009 Marco Nelissen <marcone@google.com> Add a way for wallpapers to know the delta between virtual screens.
Window.aidl
WindowSession.aidl
iewRoot.java
2934bc1c438b6f00942dcc5c18cbe7ecfa8785c0 10-Nov-2009 Dianne Hackborn <hackbod@google.com> am 644693f4: Merge change Ic42763b1 into eclair

Merge commit '644693f4caf2364a0e811dca13304788e2c8fee8' into eclair-mr2

* commit '644693f4caf2364a0e811dca13304788e2c8fee8':
Fix issue #2242440: Window screen brightness attribute is broken
badc47ecd1677d5f53bb16f8f30c158a879f5832 09-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2242440: Window screen brightness attribute is broken

Um okay, that was dumb. And I guess this means it is time to make 6.xml.

Change-Id: Ic42763b1c8a13448cf6db20b4cd6daadc7786ac1
indowManager.java
15b9de8cf217c315acb57044c43a9b12da57b6c4 06-Nov-2009 Romain Guy <romainguy@android.com> am 1d5b3a63: Fix the build

Merge commit '1d5b3a631cfcbfd2ea264f29a11a1366a16593b0' into eclair-mr2

* commit '1d5b3a631cfcbfd2ea264f29a11a1366a16593b0':
Fix the build
1d5b3a631cfcbfd2ea264f29a11a1366a16593b0 06-Nov-2009 Romain Guy <romainguy@android.com> Fix the build

Change-Id: Id7514858594772ab79c0f3db745b00f0bb59218b
iew.java
05abe8d01d91389b4b52111ed525aa4c4f4e1b71 05-Nov-2009 Romain Guy <romainguy@android.com> am 131564d2: Merge change I3bbfb4f9 into eclair

Merge commit '131564d26ac5b7f963c60802089b9fe1472659f7' into eclair-mr2

* commit '131564d26ac5b7f963c60802089b9fe1472659f7':
Remove unused field and add new API to control the children drawing order.
293451e4f005a26386db873f5192f86585cc79bc 04-Nov-2009 Romain Guy <romainguy@android.com> Remove unused field and add new API to control the children drawing order.

Approved by: xav, hackbod, mcleron.

Change-Id: I3bbfb4f96e3c9adedbb68d78703059a2df1e2013
iewGroup.java
4d7860d408d248aaebed973e7f774c02efc290f8 03-Nov-2009 Romain Guy <romainguy@android.com> am 9ed30f93: Merge change I96444af2 into eclair

Merge commit '9ed30f93f6149ede5885b9b8c0e22595876c6c84' into eclair-mr2

* commit '9ed30f93f6149ede5885b9b8c0e22595876c6c84':
Unhide View.isOpaque().
732046f87412dc5da4e7290c9f7c4bd7fa3071e1 03-Nov-2009 Romain Guy <romainguy@android.com> Unhide View.isOpaque().

Change-Id: I96444af2a7e66a330a2c4b3fa0a173ec5ab4ed40
iew.java
c6bead14fe6fe70bcfd8802ee9f0259476a074ce 23-Oct-2009 Dianne Hackborn <hackbod@google.com> am 7580493b: Implement feature #2117336: Create event communication APIs for live wallpaper

Merge commit '7580493b014a2c7ea883cd291255798dc72ebbff' into eclair-mr2

* commit '7580493b014a2c7ea883cd291255798dc72ebbff':
Implement feature #2117336: Create event communication APIs for live wallpaper
7580493b014a2c7ea883cd291255798dc72ebbff 21-Oct-2009 Dianne Hackborn <hackbod@google.com> Implement feature #2117336: Create event communication APIs for live wallpaper

Note: currently only implements an async version (no result), and not yet
actually tested.

Change-Id: Id47ed045a4b0eb309ea8c58daf41a0e03eff1d3a
Window.aidl
WindowSession.aidl
iewRoot.java
3d4247ef9541afc88af5ac8d4634f331b20ed5cb 22-Oct-2009 Mike Lockwood <lockwood@android.com> am fee0f577: Merge change I99dc6477 into eclair

Merge commit 'fee0f5773335e42f4ffdf2d2d1c344ceee3ccb33' into eclair-mr2

* commit 'fee0f5773335e42f4ffdf2d2d1c344ceee3ccb33':
Add WindowManagerPolicy.allowKeyRepeat() method for disabling key repeats.
3d0ea72dd74bb0a7ad082a82dbf53df11a4f487c 22-Oct-2009 Mike Lockwood <lockwood@android.com> Add WindowManagerPolicy.allowKeyRepeat() method for disabling key repeats.

Part of a fix for bug b/2198537

Change-Id: I99dc64772fa7644b12432d5549603025196ea3e2
Signed-off-by: Mike Lockwood <lockwood@android.com>
indowManagerPolicy.java
d443ba4534b88fe6dfd3bd8f1dd1dc8451ed6734 10-Oct-2009 Jack Palevich <jackpal@google.com> Prevent transparent region from getting out of sync with Surface Flinger

The ViewRoot is responsible for calculating the current view's surface's
transparent region and reporting this to the window server, which in
turn notifies Surface Flinger.

To minimize cross-process traffic, ViewRoot keeps track of the
most recent transparent region that it has reported to the window
server, and only sends updates when the region shape changes.

ViewRoot is effectively shadowing the internal state of the window
server, and usually this works fine, because ViewRoot is usually the
only thing that changes this value.

But when the surface is recreated, the window server resets the
transparent region to empty. So in order to properly update the window
server we need to reset our copy of its state to empty too.

Fixes issue #2133090: GL Gears runs at half speed in some cases
iewRoot.java
fd71653f6a37d692d7afba73b68793b3cdb6944d 12-Oct-2009 Mike Reed <reed@google.com> add local flag to enable FPS w/o having to enable Config.DEBUG, which can have unintended costs
iewRoot.java
1bb5550107eae60993dc35f2e917cb664f841255 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I85f598e0 into eclair-mr2

* changes:
Prevent transparent region from getting out of sync with Surface Flinger
61a6e689188cd8743905e4f7b10440c7e50823f3 10-Oct-2009 Jack Palevich <jackpal@google.com> Prevent transparent region from getting out of sync with Surface Flinger

The ViewRoot is responsible for calculating the current view's surface's
transparent region and reporting this to the window server, which in
turn notifies Surface Flinger.

To minimize cross-process traffic, ViewRoot keeps track of the
most recent transparent region that it has reported to the window
server, and only sends updates when the region shape changes.

ViewRoot is effectively shadowing the internal state of the window
server, and usually this works fine, because ViewRoot is usually the
only thing that changes this value.

But when the surface is recreated, the window server resets the
transparent region to empty. So in order to properly update the window
server we need to reset our copy of its state to empty too.

Fixes issue #2133090: GL Gears runs at half speed in some cases
iewRoot.java
a62e4705d51e6f36ba1c02350813b6a12af49703 08-Oct-2009 Romain Guy <romainguy@android.com> Fixes #2175599. Prevents an NPE when AttachInfo is null.

This bug was introduced by a change made to query the window's opacity.

Approved by mcleron.

Change-Id: I95319bde72b0faade095bbbbb317e84b9be8efa8
iew.java
3d163f073f5cf3b3bf0287fc7d60fabce0269748 08-Oct-2009 Dianne Hackborn <hackbod@google.com> More fix #2163209: alarm clock rings but is hidden behind lock screen

There was another way we could ignore the application windows flags
while the lock screen was displayed. This is the infrastructure to
deal with that.

Change-Id: Id8c9cb2f7081df6757ccb797a7cde618e82f7b38
indowManagerPolicy.java
35b38cefcc92f1ed599a652ac5736ab9e9e75039 07-Oct-2009 Romain Guy <romainguy@android.com> Improve drawing cache speed by selecting the correct opacity and keeping a 32 bits
format when the window is 32 bits.

Change-Id: I46762def67fa7d6a331a75fa8660c6422394ccf2
iew.java
iewRoot.java
29e4a3c566f435c32f0b95e4ac8e8b33cac6faba 01-Oct-2009 Dianne Hackborn <hackbod@google.com> Update from API review.

Change-Id: I16b1c566f91167aac9615ac59dd297a154c828ea
urfaceView.java
iew.java
290947bbf830a1ea335b01bcd8155c699b6713ca 30-Sep-2009 Mike Cleron <mcleron@google.com> Git sucks
iew.java
94d691499bdce019421238ebdb6e3d48171eeefd 29-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1930911: Crash in system process

Ensure that we do all the work for removing a window's view
hierarchy in that window's thread.

Change-Id: Ib7c1701aee6b541b75fd1a680f6987f959f2ba88
iewRoot.java
52f0a6495277469bd7ede29ef89bc34cb2aa8a85 29-Sep-2009 Mike Cleron <mcleron@google.com> Finish off java API to allow fading scrollbars
iew.java
ebd45e5ca9690110ecb50c26b0b791054ee4c0ef 29-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I55edce63 into eclair

* changes:
Fix issue #2149145: Safe Mode does not work on Sholes device
fe81d386a818b386ffc0d5a789236531ab4e264f 28-Sep-2009 Mike Cleron <mcleron@google.com> Remove obsolete links; start at a method to turn on fading scrollbars
iew.java
6af0d50a8edb101d9da1306b6d85abf5dd3f9a30 28-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2149145: Safe Mode does not work on Sholes device

The APIs for checking whether keys are held down now also look
at virtual keys.

However it turns out there is less than a second between the time we
start the input thread and check for safe mode, so there is not enough
time to actually open all of the devices and get the data from them
about the finger being down to determine if a virtual key is down.

So now you can also hold DPAD center, trackball center, or s to
enter safe mode. Also give some vibrator feedback.

Change-Id: I55edce63bc0c375813bd3751766b8070beeb0153
apticFeedbackConstants.java
indowManagerPolicy.java
3ecd58c650371206008efd687933c370e4e28a34 28-Sep-2009 Mike Cleron <mcleron@google.com> Fix build
iew.java
f116bf8884b5b58aae261d148003811aa4a7c6e9 28-Sep-2009 Mike Cleron <mcleron@google.com> Fading scrollbars return. But you have to opt in.
iew.java
iewConfiguration.java
2397640740e053af7ef4aa742467f723186d5ad7 27-Sep-2009 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2145012: Array bounds exception in touch event processing

Change-Id: I223d9ae29f22f08cb8426ccd8bbadeedd5db3fc3
otionEvent.java
3e2ac8843489e83c4171aabcfe98769b5159a5c8 25-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix/improve issue #2142662: too easy to click a link/item instead of fling

Reduce the slop.

Change-Id: If255e68cc8092e7f746a91c0fea27abfc5292b73
iewConfiguration.java
3b3e145d3c41fd68974e08f799b1fd1f8f060cf0 25-Sep-2009 Dianne Hackborn <hackbod@google.com> A variety of work on animations.

- The lock screen now fades in and out.
- Fixed a bug where we would accidentally freeze the screen when switching
to an activity with a different orientation than the current (but
the screen itself is in the current orientation). This would mess up
the animations on the car dock.
- New API to force a particular animation for an activity transition
(untested).
- New wallpaper animations.
- Resources now uses the next API version when in a development build,
to help applications being developed against such builds.

Change-Id: I2d9998f8400967ff09a04d693dc4ce55f0dbef5b
WindowManager.aidl
indowManager.java
indowManagerPolicy.java
ffa424800d0338b8b894aef2ea1e3e3344cbda7a 24-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2133206: dialogs/menus should auto-dismiss when screen turns off

Lot of infrastructure for more things to go away when "clear system dialogs"
happens, and now do this when we turn on the lock screen.

Change-Id: I567130296fe47ce82df065ed58ef21b37416ceaf
Window.aidl
WindowManager.aidl
iew.java
iewRoot.java
5baba1698964194daa02d30d4dd93807b08c9379 24-Sep-2009 Dianne Hackborn <hackbod@google.com> Newer animations.

Change-Id: I1bb8e52f91dc60a6ec9496e2c66623bc8080b95d
nimation/Animation.java
9bfb707597898f54722460b48588007b682f3e2a 22-Sep-2009 Dianne Hackborn <hackbod@google.com> Various fixes and improvements to window, activity.

- New meta-data you can add to a dock activity to have it launched by the
home key when the device is in that dock.

- Fix a deadlock involving ActivityThread's internal content provider lock.

- New window flag to have a non-secure keyguard entirely dismissed when a
window is displayed.

- New WindowManagerPolicy APIs to allow the policy to tell the system when
a change it makes during layout may cause the wall paper or
overall configuration to change.

- Fix a bug where an application token removed while one of its windows is
animating could cause the animating window to get stuck on screen.

Change-Id: I6d33fd39edd796bb9bdfd9dd7e077b84ca62ea08
indowManager.java
indowManagerPolicy.java
bfe319e06aa56c081d0d94d64a8181291d7f7388 21-Sep-2009 Dianne Hackborn <hackbod@google.com> Turn animations on by default.

Add API to skip the animation for a particular start activity, so that
a latter better one can be used.

Fix Theme.NoDisplay to actually work.

Fiddle with various animations: don't do a different animation for task
switching, try a scale animation for switching in/out of the wallpaper.

Adjust the animation duration so that at normal speed we have something
more like the slower animation option (so slow is now the default).

Change-Id: Ieba9f3db0bd9a762a19b327a3ecccbc7b547893d
indowManagerPolicy.java
6136b7ef169a65a02a6660be636fcec370c68145 18-Sep-2009 Dianne Hackborn <hackbod@google.com> Show the live wallpaper on the lock screen.

This also takes care of the problem of system dialogs like the
crash dialog causing the status bar to dim behind the lock screen.

On the down side, the fade transition from the lock screen is
now gone, and I'm not sure how likely it is for it to return.

Change-Id: I7f9e6d0f3510a1fdbbe6ad252d986bd85a16475d
indowManagerPolicy.java
c17f07aa0468424e3475d7761313b761372d1860 17-Sep-2009 Mike Lockwood <lockwood@android.com> Revert "Don't activate keyguard if screen is turned off while proximity sensor is active."

This reverts commit ddfe879b783ad72603308e28e8f683454464684e.
indowManagerPolicy.java
d03b880836bcc4fae83a95458e0709cd45aa6313 16-Sep-2009 Romain Guy <romainguy@android.com> Change Theme.Light's background back to pure white.

Go away gray!

Change-Id: Ice59e585bfd01c02c0fa7fd74a8b13e548248f9e
ayoutInflater.java
93e462b79d6896da10e15e74c5aec6beb098dddf 16-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1780928: Need support hiding nav keys.

This implements support for devices whose hardware can hide
their navigation keys. It works much like the existing keyboardHidden
configuration, and for compatibility uses the same configuration
change bit.

Also add FLAG_TURN_ON_SCREEN for windows, which has the system
cause the screen to be turned on when the window is displayed.
Great fun when used with FLAG_SHOW_WHEN_LOCKED!

Change-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a
indowManager.java
1cd403eaac24e0e84619dea07e2d1d60e58e1fd2 15-Sep-2009 Dianne Hackborn <hackbod@google.com> Add SurfaceView API to put surface on top of window.

Change-Id: I9db84ee63a362e54ebc2f5b24a20ae5bdc3588bf
urfaceView.java
8d37426c754e9822feaa8c6cc0b7c13e8523e217 15-Sep-2009 Dianne Hackborn <hackbod@google.com> Various fixed for back key handling.

My last change was far from perfect. Hopefully this gets us
a little closer.

Change-Id: I413e55b6af42400b565de3040859d25d668bc9d2
eyEvent.java
83fe3f559249451706957b1a5f660b2b8272f114 13-Sep-2009 Dianne Hackborn <hackbod@google.com> Last big work on #1991910: Make swipes work with capacitive keys

This takes care of allowing us to cancel the back button. The
back button is a bear because it is strewn all over the place --
everywhere you can close something, there is some code looking
for the back button that now needs to deal with being canceled.

The main things changed are activity (of course), dialog,
input method, search dialog. There are some other misc places
in the framework (and some I missed here that I will get in a
second pass).

To facility all of this, the key dispatching APIs now provide
a lot more support for dealing with looking for cancelled keys,
and incidentally also provide an actual API for catching long
key presses. This also helped clean up the code in PhoneWindow
where it deals with all of the combinations of key pressed and
releases. (And also allows people to override
Activity.onKeyLongPress() to provide a different long press
action for a standard key like search.)

And while I was doing this, I reworked how we detect long
presses by having this be part of the key event delivered by
the window manager. This should greatly reduce (hopefully
outright eliminate) the problems with long presses being
mis-detected when an application is being slow.

Change-Id: Ia19066b8d588d573df3eee6d96e1c90fdc19f57d
eyEvent.java
iew.java
iewRoot.java
d023f9a9a90705410250cd86bc6446c738423a99 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24829 into eclair

* changes:
Some optizations to wallpaper drawing/scrolling.
19382ac1a4e4e7c23a1346d299368763f149de9c 12-Sep-2009 Dianne Hackborn <hackbod@google.com> Some optizations to wallpaper drawing/scrolling.

First, fix some issues with the final wallpaper bitmap
we use: ensure it is always 16bpp, and make sure dithering
of its bitmap is turned off. We take of dithering
when loading, to make sure we don't use it when drawing.

Also add new APIs to return the wallpaper with the equivalent
of Launcher's old FastBitmapDrawable. As doing this, also load
the default wallpaper the same way as custom ones, taking care to
resize it as needed at load time.

Finally implement a mechanism for the window manager to wait
for the wallpaper to redraw at its new position before returning
from the application's call to change the offset. This ensures
that the wallpaper better tracks the application. Note that there
is a timeout in this wait that is relatively short, and if it
expires we will run for a while without waiting.

Change-Id: Ife449437746da85958bd447e0a6cf3d2223b398c
Window.aidl
WindowSession.aidl
iewRoot.java
8c11e31143726c9457280c6c0ec83472763c0de9 15-Sep-2009 Romain Guy <romainguy@android.com> Fix a possible NPE in View.

Change-Id: Ieebd176e1f42c78e298aca973e9e5eed2dc3c6d9
iew.java
8cae124af2142687a6833dbaab8a43df6dd67b43 10-Sep-2009 Dianne Hackborn <hackbod@google.com> Various cleanup around resources and nine-patches.

Remove the stuff that doesn't use preloaded drawables when in
compatibility mode, since this works fine ever since we were able
to deal with drawables in a different density than the canvas.

Change the snapshot function on View to return a snapshot at
the same size that will actually be drawn on screen (when in
compatibility mode), to be able to show scaling artifacts and
all.

This change was original an attempt to fix issue #2101917: Text
field edges appears to be improperly rounded. That turns out to
probably be something deeper in the graphics system, but also
included here is the debugging code I did to try to track down the
problem to make it easy to turn on again later.

Change-Id: I34bfca629639c7ff103f3989d88874112ef778d9
iew.java
6b7f1a62b5094fc72765a2537ee0760572df0950 10-Sep-2009 Mathias Agopian <mathias@google.com> fix [2074427] SurfaceView doesn't disappear on GONE
urfaceView.java
eb034652c2037a47ebfd99779e8383bb8bb528af 07-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement all of the infrastructure for configuring wallpapers.

Actually being able to configure a wallpaper relies on additional
work in the launcher and wallpapers that will be in another change.
Also note that this breaks all existing wallpapers, since they now
need to include a meta-data item about themselves. This also
will be fixed in another change.

Change-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71
nputmethod/InputMethodInfo.java
0586a1b77a788a119166a37fccd909bf9ed65f23 07-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2095422: Some fades from opaque to transparent don't work

ViewRoot was using Surface.clear(), which has different behavior
in different processes -- in the system process it would kill the
surface, causing all windows in that process to immediately disappear
instead of animating away.

This change makes Surface.release() public and uses that instead. It
also renames Surface.clear() to Surface.destroy().

Also fixed some issues in the window manager that were causing the
wallpaper to not get immediately resized when the orientation changes
and its target window is removed and re-added.

Change-Id: I2a992e365cf5747511f0bf1193db32dc2525b218
urface.java
iewRoot.java
25994b4306a256b88d79159106834c9f114e6943 04-Sep-2009 Dianne Hackborn <hackbod@google.com> Wallpapers: new transitions, hiding when not visible, other cleanup.

This is work on the transitions with wallpapers. There are now new
animations specifically for leaving the wallpaper and returning to
it, which allow us to have a consistent animation when entering home
and returning to it. I also renamed the existing animations across
wallpapers, and cleaned up some junk in the various interpolators.

This also now hides the wallpaper surface when it is not visible,
to get rid of the wallpaper flickers people complained about albeit
in a somewhat brutal way. :) (Though really returning us to the
previous behavior with the same previous bugs and name back to them
not being very visible, yay!) There is are also some bug fixes
here and there about managing the wallpaper visibility that this
change revealed.

Change-Id: I913990a9a81651728122ed2e1101b75ed2c36fcb
indowManagerPolicy.java
e8853fc57093e781fa7c659c6eb4da3be9f8695a 04-Sep-2009 Mike Reed <reed@google.com> also expose onDrawHorizontalScrollBar() in View
retool WebView's calculations to correctly compute scrollbar height and parameters
iew.java
4d6fe5ffdc62625726e5785edb0e01586d6072bf 03-Sep-2009 Mike Reed <reed@google.com> allow subclassing for drawing vertical scrollbar, so that clients (e.g. webview) can resize/position
iew.java
6198ae8468668bf7374535c2eeeab8de7f8e7e99 01-Sep-2009 Romain Guy <romainguy@android.com> Prevent ListView from scrolling/flinging its content when the content fits on screen.

Change-Id: Id46313bca3ae53b0717cd74a4a6f889a01f9fcb1
iew.java
72b1f379d5c97c8ff31d2201e78215af777d6bda 31-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
iewRoot.java
6391830d103ccb19465c69660065c22c2711dcfd 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22958 into eclair

* changes:
Don't activate keyguard if screen is turned off while proximity sensor is active.
ddfe879b783ad72603308e28e8f683454464684e 27-Aug-2009 Mike Lockwood <lockwood@android.com> Don't activate keyguard if screen is turned off while proximity sensor is active.

Signed-off-by: Mike Lockwood <lockwood@android.com>
indowManagerPolicy.java
6ccd2aff3eb4450c6f1021637d18e4e5d9346bf0 27-Aug-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 301b97ac to eclair

Change-Id: I0fb70cbe0a52006ad14f43a02c30b72aad457c48
e55e1a78857b5d952f593c912655011fced355d5 27-Aug-2009 Romain Guy <romainguy@android.com> Change fade to use a gradient from opaque color to transparent color.

Previously the fade was using a gradient from opaque color to transparent black.
iew.java
fd12af4e768fec852c4c5dfee3b9bd7403b4b347 27-Aug-2009 Dianne Hackborn <hackbod@google.com> Various tweaks to try to improve low memory behavior.

- Reduce the amount that we ask processes to GC after a significant
operation occurs, but introducing a minimum time between GCs and
using this in various ways to schedule them.

- Don't spam all of the processes with onLowMemory(). Now deliver
these using the same gc facility, so we do the processes one at a
time, and don't allow the same process to get this call more than
once a minute.

- Increase the time a service must run before we will reset its
restart delay to 30 minutes (from 10).

- Increase the restart delay multiplication factor from 2 to 4.

- Ensure that we don't restart more than one service every 10 seconds
(unless some external event causes a service's process to be started
for some other reason of course).

- Increase the amount of time that a service must run before we
decide to lower it to a background process.

And some other things:

- Catch IllegalArgumentException in ViewRoot like we do for no
resources to avoid the system process crashing.

- Fix a number of places where we were missing breaks between the
activity manager's message dispatch func(!!).

- Fix reason printed for processes in the background.

- Print the list of processing waiting to GC.
iewRoot.java
4a51c20ce607c74914f90fd897f04080121ac13b 22-Aug-2009 Dianne Hackborn <hackbod@google.com> I am getting tired of the java doc warnings, so fix them.

Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
nimation/Animation.java
391305e740eb640277c03da0caa6c102a3d90221 24-Aug-2009 Mike Lockwood <lockwood@android.com> Add resources to specify display rotation when in keyboard open or docked state.

Also added constant for SW_LID input event.

Signed-off-by: Mike Lockwood <lockwood@android.com>
awInputEvent.java
3be63c09309b21c01b535271625d4c39045690e5 21-Aug-2009 Dianne Hackborn <hackbod@google.com> Infrastructure for supporting wallpaper previews.

Various things that will allow us to show previews of wallpapers.
Also some fixes to animations across wallpapers.
indow.java
789de3a824003759c369e0f7c74520ef322d0504 20-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22003 into eclair

* changes:
Add wallpaper transition animations.
f8fbdb6b920562473dc47046924ac8ffed0b8daf 19-Aug-2009 Dianne Hackborn <hackbod@google.com> Add wallpaper transition animations.

The window manager now detects when a transition between two
wallpaper activities is happening, and switches to a new set
of animations for that. The animations I defined here are just
an arbitrary something that can work in this case.
indowManagerPolicy.java
b2f8450db8dfbc05724624f93d9ec5e65f0b7e54 20-Aug-2009 Mathias Agopian <mathias@google.com> fix [2063336] Surface.lockSurface throws IllegalArgumentException when out of memory
urface.java
15df6703f8bf3255eb7ba5c27e3518f60adc83f1 18-Aug-2009 Romain Guy <romainguy@android.com> Fix potential leak in ViewRoot.

The way View.post() is handled can cause potential leaks in ViewRoot. For instance,
if a View calls post(Runnable) just after being detached from the window (in an
onClickListener for instance,) it will enqueue a Runnable in ViewRoot.RunQueue.
Unfortunately the RunQueue is emptied only on the very first layout of the ViewRoot.
This change prevents the leak by rxecuting the enqueued Runnables on every layout request
The latter did not happen before and to keep views in a correct state I think it
is necessary to always ensure we run the Runnables sent via View.post().
iewRoot.java
8df8b2b405c60cacf7a66c4e2ca078dd3d7ec7bd 18-Aug-2009 Dianne Hackborn <hackbod@google.com> Allow wallpapers to get touch events.
Window.aidl
otionEvent.java
urfaceView.java
iewRoot.java
317a6280cc109e873646e4652be1582d870eedfd 14-Aug-2009 Mathias Agopian <mathias@google.com> Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.

this also ripples into the window manager API by making some constant there deprecated as well.
urface.java
urfaceHolder.java
urfaceView.java
indowManager.java
168173a698e820ceb1ebf54b4910888891be2056 13-Aug-2009 Joe Onorato <joeo@android.com> Don't crash when the window is closing
urfaceView.java
72c82ab9923025a91bbabb32e56bfea27bfd083b 12-Aug-2009 Dianne Hackborn <hackbod@google.com> Report wallpaper offset to the wallpaper, use this in the image wallpaper.

Wallpapers can now be just the size of the screen, and get told when their
scroll position should change to do the updating on their own.
Window.aidl
urfaceView.java
iewRoot.java
c8a0a75e1c61d1ab24bd46a8243041c107e738ac 11-Aug-2009 Dianne Hackborn <hackbod@google.com> Implement support for scrolling a wallpaper.

This currently only works for a wallpaper that is larger than the
screen. Set the scroll position with the new wallpaper API. Right
now only does jump scrolls.
WindowManager.aidl
WindowSession.aidl
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 09-Aug-2009 Dianne Hackborn <hackbod@google.com> Very primitive wallpapers in a surface.

This is all of the basic pieces:

- The WallpaperService now creates a surface with the window manager for its
contents.
- There is a simple service that displays a bitmap.
- The wallpaper manager takes care of starting and stopping the service.
- The window manager knows about wallpaper windows and how to layer them with
the windows that want to be shown on top of wallpaper.

Lots and lots of issues remain, but at this point you can actually write a
wallpaper service, select it in the UI, and see it behind an activity.
iewRoot.java
indowManager.java
nputmethod/InputMethodManager.java
1e8dfc73fba88766ee3c25ae7b3bb1850319b11d 06-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix crash when MotionEvent is initialized with more than 2 fingers, and bump
its initial size to allow for up to 5 fingers.
otionEvent.java
d41ba666d12a24ee4624ea9a009151e6165e3775 06-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix documentation.
otionEvent.java
0dd7cb4b4ef86eb7d4e837b1948501da66adeebe 04-Aug-2009 Dianne Hackborn <hackbod@google.com> Finish implementation of multiple pointer support for MotionEvent.

The major things going on here:

- The MotionEvent API is now extended to included "pointer ID" information, for
applications to keep track of individual fingers as they move up and down.
PointerLocation has been updated to take advantage of this.

- The input system now has logic to generate MotionEvents with the new ID
information, synthesizing an identifier as new points are down and trying to
keep pointer ids consistent across events by looking at the distance between
the last and next set of pointers.

- We now support the new multitouch driver protocol, and will use that instead
of the old one if it is available. We do NOT use any finger id information
coming from the driver, but always synthesize pointer ids in user space.
(This is simply because we don't yet have a driver reporting this information
from which to base an implementation on.)

- Increase maximum number of fingers to 10. This code has only been used
with a driver that reports up to 2, so no idea how more will actually work.

- Oh and the input system can now detect and report physical DPAD devices.
otionEvent.java
awInputEvent.java
7cd88e171391dd0c876bf7d928d946a70cf95373 04-Aug-2009 Wink Saville <wink@google.com> Update the comment for setBackgroundResource that 0 removes the background.
iew.java
5c1207be90fdf296c1b83034b7c68915e1749284 01-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
isplay.java
urface.java
urfaceView.java
iew.java
iewDebug.java
iewRoot.java
a05f75d61aa4e779f2fdf466267b47e7df213566 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9267

* changes:
Don't invalidate view if setEnabled doesn't change the state.
a2ef00b4282dcf122c3bdd6fc23cf772474f6abb 31-Jul-2009 Amith Yamasani <yamasani@google.com> Don't invalidate view if setEnabled doesn't change the state.

Check the current enabled state before setting it, in case there's
no change. Otherwise some apps are repeatedly redrawing buttons based
on validation of some text field (like gmail or mms message bodies).
Should slightly improve the performance of soft keyboard text entry.
iew.java
afcf686cb070313ae5ce6c54ac381a3a86a60ed2 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 25dff70f: Merge change 9039 into donut

Merge commit '25dff70f153529b87f5ad4a92f4de21e8950b1de'

* commit '25dff70f153529b87f5ad4a92f4de21e8950b1de':
Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA
0d221012ff5fd314711c00ed30e9b807b9c454c1 30-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA

It turns out we were not returning the density for anything retrieved from a
TypedArray... which basically means any bitmap references from a layout or style...!!!

This is now fixed.

Also fiddle with the density compatibility mode to turn on smoothing in certain situations,
helping the look of things when they need to scale and we couldn't do the scaling at
load time.
iewRoot.java
206b7b1709e98952576821cd2ee8867f2265b6aa 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8974

* changes:
Fix OOB in arraycopy.
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
isplay.java
urface.java
urfaceView.java
iewRoot.java
indow.java
indowManager.java
a5d7b1b7f7b75d5adf9802f341b22509195c77d5 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 159e1a9a: Merge change 8883 into donut

Merge commit '159e1a9a13ccfa4d99941e21068994366e2bbc7b'

* commit '159e1a9a13ccfa4d99941e21068994366e2bbc7b':
fix [1973755] Surface.SURACE_FROZEN spelled SURACE_FROZEN
18a081e68441a098fe0a1a6283439913cfb6b0ca 29-Jul-2009 Owen Lin <owenlin@google.com> Fix OOB in arraycopy.
otionEvent.java
f256c4001bfd65169158af854672df0eea234d54 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am a62f16ac: Merge change 8877 into donut

Merge commit 'a62f16accad31e03ede5e4e6525dbe30dccc6db0'

* commit 'a62f16accad31e03ede5e4e6525dbe30dccc6db0':
Remove warning in non-eng builds.
159e1a9a13ccfa4d99941e21068994366e2bbc7b 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8883 into donut

* changes:
fix [1973755] Surface.SURACE_FROZEN spelled SURACE_FROZEN
69f593ccb7414ee98991b1da1a4bfbd9951e3570 28-Jul-2009 Marco Nelissen <marcone@google.com> Support for selection of silent ringtone from the ringtone picker.
This doesn't actually enable that, but adds the necessary code to make it work when enabled, and cleans up some ringtone related code.
olumePanel.java
c87c4a3e3b3c3949ae3c6f8fd245b71691d5ca3b 29-Jul-2009 Mathias Agopian <mathias@google.com> fix [1973755] Surface.SURACE_FROZEN spelled SURACE_FROZEN
urface.java
e551dc76bcde0e114b06e876eeb1d5f9d367fddf 29-Jul-2009 Romain Guy <romainguy@android.com> Remove warning in non-eng builds.
iewDebug.java
dac57e4ec94591207eeb660adbe53245dd78e713 27-Jul-2009 Adam Bliss <abliss@google.com> Fix a bug that was causing ArrayIndexOutOfBoutExceptions when obtaining a MotionEvent from an older one that had a number of time samples.
otionEvent.java
ddca3ee3e86fbaa05c1528bd72afd955f0fb4ee6 24-Jul-2009 Dianne Hackborn <hackbod@google.com> Add support for power keys, improve behavior of virtual keys.

The platform now knows how to deal with a platform key, which at this
point is "just like end call, but don't end a call."

Also improve the handling of virtual keys, to allow for canceling when
sliding off into the display and providing haptic feedback.

Finally fixes a bug where the raw x and y in motion event were not
always set which caused the status bar to not work.
apticFeedbackConstants.java
eyEvent.java
otionEvent.java
iewRoot.java
indowManagerPolicy.java
e2dba02441b42afbae725109ac779877a4b72aa0 25-Jul-2009 Dianne Hackborn <hackbod@google.com> am 11ea3347: Allow for screen density drawables in compatibility mode.

Merge commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8'

* commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8':
Allow for screen density drawables in compatibility mode.
11ea33471e1a14a8594f0b2cd012d86340dd3bd8 23-Jul-2009 Dianne Hackborn <hackbod@google.com> Allow for screen density drawables in compatibility mode.

This change allows us to use drawables that match the current screen
density even when being loaded in compatibility mode. In this case,
the bitmap is loaded in the screen density, and the bitmap and
nine-patch drawables take care of accounting for the density difference.

This should be safe for existing applications, for the most part, since
they shouldn't really be pulling the bitmap out of the drawable. For
the small rare chance of them breaking, it worth getting the correct
graphics. Also this will only happen when there is actually a resource
of the matching density, and no existing apps should have resources for
anything besides the default density (though of course all of the
framework resources will be available in the native density).

As part of this, the bitmap density API has been changed to a single
integer provider the DPI unit density.
isplay.java
iew.java
iewRoot.java
30b06eb8b98b6e6dc685cf65ad4faa25a85008c5 24-Jul-2009 Mitsuru Oshima <oshima@google.com> am 589cebe2: * Use the scaled size for surface view instead of native. The surface will be always scaled by surface flinger in compatiblity mode. The original approach confused the app because the surface size and the view size were different. * a few clean up. remo

Merge commit '589cebe2d58591403de4a77077941c0454bc91bc'

* commit '589cebe2d58591403de4a77077941c0454bc91bc':
* Use the scaled size for surface view instead of native. The surface will be always scaled
08f89ed9a44ae9262a6c2063878bde44bedb0e37 24-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am e0ef973b: Merge change 8323 into donut

Merge commit 'e0ef973b1358585d039989ee5572e16751078aaf'

* commit 'e0ef973b1358585d039989ee5572e16751078aaf':
* a best effort fix for apps that uses get/set Matrix API on canvas.
589cebe2d58591403de4a77077941c0454bc91bc 23-Jul-2009 Mitsuru Oshima <oshima@google.com> * Use the scaled size for surface view instead of native. The surface will be always scaled
by surface flinger in compatiblity mode. The original approach confused the app because
the surface size and the view size were different.
* a few clean up. removed unsed arguments, obsolete conditions from getTranslator()
(expandable check was a bug)
urfaceView.java
iewRoot.java
240f8a7532a024e36998bdbe87cff2ef080d75de 23-Jul-2009 Mitsuru Oshima <oshima@google.com> * a best effort fix for apps that uses get/set Matrix API on canvas.
- scale the matrix
- but don't scale if the matrix *looks* like obtained from the canvas itself. (typically to set it back to original matrix)

This is best effort change and not perfect (not even close), but works for one game,
and hopes it can handle many other apps that uses set/get Matrix. If you have an alternative idea, please let me know.
urface.java
urfaceView.java
iewRoot.java
2c33bb19f704f039aed5634150eed42da446133b 23-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 98a44df4: Merge change 8235 into donut

Merge commit '98a44df4b4cc8cd28276ad888a7e17f81353ae44'

* commit '98a44df4b4cc8cd28276ad888a7e17f81353ae44':
* Revert the change that I introduced while refactroing in SurfaceView#dispatchTouchEvent
424f668545c8b1423f46ed1286146393a8e4bc1a 22-Jul-2009 Mitsuru Oshima <oshima@google.com> * Revert the change that I introduced while refactroing in SurfaceView#dispatchTouchEvent
* Don't scale back the event if the canvas is used in SurfaceView.
urfaceView.java
9822d2b27330793ea4ba9c3316ef35f402f35fb4 21-Jul-2009 Dianne Hackborn <hackbod@google.com> First stab at poly-finger support.

The MotionEvent API should be fairly solid, but there is still a lot of
work to do in the input device code. In particular, right now we are
really stupid about watching how fingers change -- we just take whatever
the driver reports as down and dump that directly into the motion event.

The big remaning work is to assign pointer IDs so that applications have
help in determine which fingers go up and down, and adding support for
the official multi-touch driver protocol.
otionEvent.java
d5d967fbd9753396e908899d8ad2a169d6095d02 22-Jul-2009 Mitsuru Oshima <oshima@google.com> am 38ed7d77: * Adjust canvas size under compatibility mode.

Merge commit '38ed7d7701514ee7127d0430e952930854608c4f'

* commit '38ed7d7701514ee7127d0430e952930854608c4f':
* Adjust canvas size under compatibility mode.
38ed7d7701514ee7127d0430e952930854608c4f 21-Jul-2009 Mitsuru Oshima <oshima@google.com> * Adjust canvas size under compatibility mode.
urface.java
urfaceView.java
iewRoot.java
fead9b8ad0c6e64066fb73f4285b088ab68f452b 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am fe6f45c8: Merge change 8098 into donut

Merge commit 'fe6f45c81463d2d28e11ac6083f2653e1286c5ef'

* commit 'fe6f45c81463d2d28e11ac6083f2653e1286c5ef':
cast is floor. Use round instead.
61324e58c549670c015010d0be14c6af76e3e9f7 22-Jul-2009 Mitsuru Oshima <oshima@google.com> cast is floor. Use round instead.
This fixes a few layout issues (that was due to smaller widnow size)
urfaceView.java
iewRoot.java
indowManager.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
estureDetector.java
otionEvent.java
urfaceView.java
elocityTracker.java
iew.java
iewConfiguration.java
iewDebug.java
iewGroup.java
iewRoot.java
indow.java
indowManager.java
indowManagerImpl.java
ccessibility/AccessibilityEvent.aidl
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityEventSource.java
ccessibility/AccessibilityManager.java
ccessibility/IAccessibilityManager.aidl
ccessibility/IAccessibilityManagerClient.aidl
nputmethod/BaseInputConnection.java
a065b01904d5017232c9b51ccb174412ff57e138 20-Jul-2009 Mitsuru Oshima <oshima@google.com> am 841f13c8: * Reverted the change in PackageParser that I checked by accident * More surface view fix. - correct event translation on surface view. - use compatible window * removed FLAG_NO_COMPATIBILITY_SCALE. It was my misunderstanding of how SurfaceView works,

Merge commit '841f13c8e9ff3f7695b6c18a8abcec3c947983ff'

* commit '841f13c8e9ff3f7695b6c18a8abcec3c947983ff':
* Reverted the change in PackageParser that I checked by accident
841f13c8e9ff3f7695b6c18a8abcec3c947983ff 18-Jul-2009 Mitsuru Oshima <oshima@google.com> * Reverted the change in PackageParser that I checked by accident
* More surface view fix.
- correct event translation on surface view.
- use compatible window
* removed FLAG_NO_COMPATIBILITY_SCALE. It was my misunderstanding of how SurfaceView works, and this was not necessary.
* Added compatibility related info to package dumpsys
urfaceView.java
indowManager.java
97900afa9f80f8e72d6f521b713af17f18d7b769 18-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am e96bd129: Merge change 7707 into donut

Merge commit 'e96bd1291482175ac1740780cbd0f42bbe9ff746'

* commit 'e96bd1291482175ac1740780cbd0f42bbe9ff746':
* scale surface view's canvas
0fde7de9d660e4acdb8404f954f75d8c331b5d45 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 54f09101: Merge change 7613 into donut

Merge commit '54f09101381fa63dca35ae4ea0ba3802ee863236'

* commit '54f09101381fa63dca35ae4ea0ba3802ee863236':
* Use Fede In/Out animation if one of opening/closing apps is in compatibility mode.
34bf2ee9e695c620e0a4b9a790f1f6ccb8a77234 17-Jul-2009 Mitsuru Oshima <oshima@google.com> * scale surface view's canvas
This will not affect GL/Video views as they're directly using surfce but not canvas.
urfaceView.java
5a2b91dc14e4c92e91c6abcc795f54ac98ee5866 17-Jul-2009 Mitsuru Oshima <oshima@google.com> * Use Fede In/Out animation if one of opening/closing apps is in compatibility mode.
* preserve compatibility window flag when the app updates window's layout params.
* Added assertion in DEFAULT_COMPATIBILITY_INFO object to prevent unintentional modification.
* A few minor updates
* log/dump message improvement
* Removed unnecessary method in FadeInOutAnimator
* Fixed 100 char issue in WindwoManagerServer.java
iewRoot.java
indowManager.java
e9dcb803a0a08780054c272df12b7e8b5984b30a 16-Jul-2009 Romain Guy <romainguy@android.com> Fixes merge conflict.
otionEvent.java
6630e4a1dc40850eb7a4ddc8aaa06479469e8c4d 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am b5c735d3: Merge change 7106 into donut

Merge commit 'b5c735d35c8c1d2fb4e4654fbffcdb62d5acab4d'

* commit 'b5c735d35c8c1d2fb4e4654fbffcdb62d5acab4d':
Return adjusted display for WindowManager.getDefaultDisplay()
b5c735d35c8c1d2fb4e4654fbffcdb62d5acab4d 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7106 into donut

* changes:
Return adjusted display for WindowManager.getDefaultDisplay()
5b2e50cbe18d525e9a15cad437f04f45e3c0e46c 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 30d86e51: Merge change 7124 into donut

Merge commit '30d86e5143d01815763f8c28b0fc72b0493ea9f8'

* commit '30d86e5143d01815763f8c28b0fc72b0493ea9f8':
Fixes #1977685. Prevent crash when the soft keyboard is brought up.
e8b165253d03d67b30850cedee15e1214a453cb4 14-Jul-2009 Romain Guy <romainguy@android.com> Fixes #1977685. Prevent crash when the soft keyboard is brought up.

ViewRoot keeps a reference to the previously focused View and use this reference
when trying to scroll the window to the focused rect. There situations however
in which the previously focused view might have been removed from the view
hierarchy. This happens on Home for instance when you trash an icon, or with
ListView's items. This change ensures the previously focused view is still part
of the view hierarchy.
iewRoot.java
ddd12535f095d8d056716c3290faf50ec52a538a 14-Jul-2009 Mitsuru Oshima <oshima@google.com> Return adjusted display for WindowManager.getDefaultDisplay()
isplay.java
indow.java
5583dc630f861dd9a3006390db227f9296007e00 10-Jul-2009 Mathias Agopian <mathias@google.com> fix [1968839] tap on phonetop search couple of times will cause the runtime restart

ViewRoot wasn't calling Surface.clear() when releasing the Surface.
iewRoot.java
c3f60ddaeadb69c1e85198e609e575f55ecc28ac 09-Jul-2009 Mitsuru Oshima <oshima@google.com> am 1ecf5d28: Re-implementation of large screen support using window manager. * added background filler surface to fill the outer rim. Using the same layer as dim surface because they never co-exists (in the same window) * clean up the obsolete code in Compatibilt

Merge commit '1ecf5d28817f0a051e77488380dcd5bc622ea169'

* commit '1ecf5d28817f0a051e77488380dcd5bc622ea169':
Re-implementation of large screen support using window manager.
1ecf5d28817f0a051e77488380dcd5bc622ea169 07-Jul-2009 Mitsuru Oshima <oshima@google.com> Re-implementation of large screen support using window manager.
* added background filler surface to fill the outer rim. Using the same layer as dim surface because
they never co-exists (in the same window)
* clean up the obsolete code in CompatibiltyMode/ViewRoot for support large screen support.
urfaceView.java
iewRoot.java
indowManager.java
d6f49fe8d6f7f976f358cec47b88c540f3aabdef 07-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 790a604b: Merge change 6372 into donut

Merge commit '790a604b9c32647711599710e21f0f00eb3d839c'

* commit '790a604b9c32647711599710e21f0f00eb3d839c':
Fixes #1963217. Increases the invalidate region in compatibility mode.
1e09597512fd7e6c62ea00e4f0a93d305717ca79 07-Jul-2009 Romain Guy <romainguy@android.com> Fixes #1963217. Increases the invalidate region in compatibility mode.

To account for rounding errors when scaling the invalidate regions, increase
the dirty rectangle by 1 pixel in each direction
iewRoot.java
a2b5dab5b7796d3967c73df95154810ae38efd82 07-Jul-2009 Romain Guy <romainguy@android.com> am 870e09fc: Fixes #1963229. Introduces Context#isRestricted().

Merge commit '870e09fcd2dfdc12ac318962efd28b0420c562bb'

* commit '870e09fcd2dfdc12ac318962efd28b0420c562bb':
Fixes #1963229. Introduces Context#isRestricted().
870e09fcd2dfdc12ac318962efd28b0420c562bb 07-Jul-2009 Romain Guy <romainguy@android.com> Fixes #1963229. Introduces Context#isRestricted().

A restricted Context is a special type of Context that prevents specific features
from being used. For instance, android:onClick, used by View, can be dangerous when
used from within apps widgets. By using a restricted Context to inflate apps widgets,
widgets providers are prevented from using android:onClick.
iew.java
03a9a3449af3e0e79e9bbcd87f8057189ab9e151 06-Jul-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
005ae544f93494eb7d315b2e34aae0ac3c922728 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 79ec07b3: Merge change 6241 into donut

Merge commit '79ec07b333f8982ee83de8eeb0b1927a6cb112ed'

* commit '79ec07b333f8982ee83de8eeb0b1927a6cb112ed':
Fixes #1444844. Set a maximum fling velocity in scrollable views.
4296fc4d326447875c26a925f12b3935632f13bb 06-Jul-2009 Romain Guy <romainguy@android.com> Fixes #1444844. Set a maximum fling velocity in scrollable views.
estureDetector.java
elocityTracker.java
iewConfiguration.java
dfe983bd7979ccb1602f29b8f9804c98411d9cd6 02-Jul-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
35a2664f8d9d19b0c3c33ff675511c86ccc5088d 01-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 22e8cbc3: Merge change 5656 into donut

Merge commit '22e8cbc32bd642bcb3e9b6f161ec662bcf45ff70'

* commit '22e8cbc32bd642bcb3e9b6f161ec662bcf45ff70':
Generate key events for actions sent to generic input connections.
e4b988b6bdc66122941e072b5f3e2752437b3fda 01-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 52bce9c4: Merge change 5680 into donut

Merge commit '52bce9c4e7b66ee0a8e1bc5ea7798cf5892b4f23'

* commit '52bce9c4e7b66ee0a8e1bc5ea7798cf5892b4f23':
Fixes #1949502. Prevents an NPE in View.buildDrawingCache().
b8990f39b0d8d4a74127e295590cc576c78bd56c 30-Jun-2009 Romain Guy <romainguy@android.com> am fbd8f69a: Fixes #1946141. Introduce new caching API to control scaling.

Merge commit 'fbd8f69a84163ef1cf52b07966320caf448c2bc9'

* commit 'fbd8f69a84163ef1cf52b07966320caf448c2bc9':
Fixes #1946141. Introduce new caching API to control scaling.
22e8cbc32bd642bcb3e9b6f161ec662bcf45ff70 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5656 into donut

* changes:
Generate key events for actions sent to generic input connections.
e11232287296eefc82cd895b8392079feedb37cc 29-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1949502. Prevents an NPE in View.buildDrawingCache().
iew.java
86d56cca9ce23b0f4814418d7c71ec11ea9fd278 29-Jun-2009 Dianne Hackborn <hackbod@google.com> Generate key events for actions sent to generic input connections.

There is a compatibility issue with the cupcake IME where the generic
input connection would just consume actions. Late in cupcake this
stuff was reworked so that the IME would send an action command
to the app instead of an enter key event, and the compatibility code
got lost.
nputmethod/BaseInputConnection.java
fbd8f69a84163ef1cf52b07966320caf448c2bc9 26-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1946141. Introduce new caching API to control scaling.

This change fixes issues with existing applications that access the drawing cache
directly. The API now lets application choose whether they want to get a scaled
drawing cache or not. The framework relies on the scaled cache for quality
purposes.
iew.java
iewGroup.java
f31868e59fbf59a8d479587c80b648fb37a166fc 25-Jun-2009 Mathias Agopian <mathias@google.com> merge master in master_gl
ecf2b68d834d334de218dc427615b4ca05c0293a 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 7941e903: Merge change 5091 into donut

Merge commit '7941e903c973af66075bbd4fa4bcadf021a61ccc'

* commit '7941e903c973af66075bbd4fa4bcadf021a61ccc':
* new screen resolution support impl.
64f59342d41849bd365cb43fad7505d5e3daa417 21-Jun-2009 Mitsuru Oshima <oshima@google.com> * new screen resolution support impl.
* use full window for activities, and shift & clip the content
* refactored the compatibility code, and introdcued Translator class to handle cooridnate translations.
* removed a workaround to handle an activity with configChagne=rotation in old implementation.
* I'll fix background issue on rotation in next CL.

* removed unnecessary scaling code in SurfaceView, which I forgot to remove when I changed SurfaceView
not to scale the content.
otionEvent.java
urfaceView.java
iew.java
iewRoot.java
indowManager.java
03e53b4a6601823622dc9316f4c57899269b2349 23-Jun-2009 Karl Rosaen <krosaen@google.com> am 61ab270c: Add missing \'break\'s in switch statement, fixing bug 1876430

Merge commit '61ab270c17094ef1373f54d8fb9ade6d287c3a60'

* commit '61ab270c17094ef1373f54d8fb9ade6d287c3a60':
Add missing 'break's in switch statement, fixing bug 1876430
61ab270c17094ef1373f54d8fb9ade6d287c3a60 23-Jun-2009 Karl Rosaen <krosaen@google.com> Add missing 'break's in switch statement, fixing bug 1876430
iew.java
cb85ef6a8b58f9fe04a1b0f397119353c82f3146 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am e146d824: Merge change 4965 into donut

Merge commit 'e146d824785078fed578f88b11ff47a7390d27c5'

* commit 'e146d824785078fed578f88b11ff47a7390d27c5':
Fix bugs 1827027, 1808979, 1820700.
a465a170ce5d7155580fd308d1e50092365117e4 22-Jun-2009 Dianne Hackborn <hackbod@google.com> Fix bugs 1827027, 1808979, 1820700.

These are all variations of needing to validate ranges on editing operations
coming from the IME, to account for the underlying text changing (usually being
deleted) asynchronously with the IME.
nputmethod/BaseInputConnection.java
9f79975fa03311dd682611d743e9257654d85c59 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am ecfb9f91: Merge change 4940 into donut

Merge commit 'ecfb9f91afa49df7b9b62526dcaca431b5ff1e01'

* commit 'ecfb9f91afa49df7b9b62526dcaca431b5ff1e01':
Fixes #1933585. Don't dismiss ACTV's drop down when it's set to alwaysVisible.
7299807d1895ea25cbe45d32b6edfd9a5723ee7a 22-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1933585. Don't dismiss ACTV's drop down when it's set to alwaysVisible.

This change also resizes the drop down automatically whenever the soft input
method is shown/hidden.
indowManager.java
f73bbd042367b65780316d2335784686dedd0459 20-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
e57b288e243d5eb5e55e9acc8045186abbeca6ef 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 8ad47399: Merge change 4374 into donut

Merge commit '8ad473994d402e42ec3c8f44f31e99ef2f7e9237'

* commit '8ad473994d402e42ec3c8f44f31e99ef2f7e9237':
Fixes a potential NPE in View.
779398e7eb462ca1562eee50a919305849582e08 16-Jun-2009 Romain Guy <romainguy@android.com> Fixes a potential NPE in View.

Calling getLocationOnScreen() before the View is attached to a window can
throw an NPE. This change simply guards against the exception.
iew.java
69f066c8fc42b9f0acc5c41f8ffd972f8d6d0584 16-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
9d2b0f4de03ca9bcdab5a3608dea5474c91faf86 15-Jun-2009 The Android Open Source Project <initial-contribution@android.com> merge cafdea61a85c8f5d0646cc9413a09346c637f43f w/ one minor conflict in core/java/android/view/MotionEvent.java
cafdea61a85c8f5d0646cc9413a09346c637f43f 12-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1914574. An NPE could be causes in lists by ViewGroup.dispatchDraw().

ViewGroup was trying to access the AttachInfo without checking whether the
info object is null. The object can be null at varioous times in the lifecycle
of a list.
otionEvent.java
iewGroup.java
32c79898c0020637b2f8e536c8208519801eb9cb 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am e8966e12: Merge change 4008 into donut

Merge commit 'e8966e126388223de119c909d572fb8d1406a3ac'

* commit 'e8966e126388223de119c909d572fb8d1406a3ac':
Fixes #1886237. Views drawing cache was not generated properly.
8506ab4ac062d0e1ccde136e5e2f4081560e0c11 12-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1886237. Views drawing cache was not generated properly.

In compatibility mode, a View's drawing cache was created at the 160 density
scale instead of the right scale.
iew.java
iewGroup.java
iewRoot.java
bd6b11dd582d7c7dde64e355f967f5ed77a9870d 11-Jun-2009 Mitsuru Oshima <oshima@google.com> am e5fb3288: resolution support fix/improvement * adding compatibility menu * backup gravity * set expanable=true if the screen size is hvga * density. * added "supports any density" mode. I\'ll add sdk check later. * disallow to catch orientation c

Merge commit 'e5fb328825995aa33b5b7ecf8b5bee2b17f81715'

* commit 'e5fb328825995aa33b5b7ecf8b5bee2b17f81715':
resolution support fix/improvement
e5fb328825995aa33b5b7ecf8b5bee2b17f81715 10-Jun-2009 Mitsuru Oshima <oshima@google.com> resolution support fix/improvement
* adding compatibility menu
* backup gravity
* set expanable=true if the screen size is hvga * density.
* added "supports any density" mode. I'll add sdk check later.
* disallow to catch orientation change event if the app is not expandable. This
was causing layout problem under non-expandable mode. I discussed this with Mike C
and we agreed to do this approach for now. We'll revisit if this causes problem to
a lot of applications.
iewRoot.java
indowManager.java
51c8a3e00e6cffe42d25d1ac87d417e925d8a84d 06-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
fa77935446dbbb3719a2e7d260a425361d7e1f6e 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am ad8a510f: Merge change 3227 into donut

Merge commit 'ad8a510fcc3b853bd0dadcffb4433c465f2993b4'

* commit 'ad8a510fcc3b853bd0dadcffb4433c465f2993b4':
Fix int to string mapping of exported properties. The value generated by the
a1f3e4aef19882b4b81075d9205bd363efe1e66d 05-Jun-2009 Romain Guy <romainguy@android.com> Fix int to string mapping of exported properties. The value generated by the
mapping in a @ViewDebug.ExportedProperty annotation was always overriden by
the resolveId attribute.
iewDebug.java
342d59d3197caa1cd1de7a600c6e0ba4a59883f4 04-Jun-2009 Mitsuru Oshima <oshima@google.com> am 9189cabb: * Moved supports-density tag under manifest * Refactored Compatibility code * Added CompatibilityInfo class * Removed getApplicationScale from Context * Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context * Expandable support * Added expandable tag under manifest * Old application w/o expandable is given the default screen size ([320, 480] x density). * The non-expandable window is centered.

Merge commit '9189cabb0b6c6c28232fe6f412b7ba7a37352a6a'

* commit '9189cabb0b6c6c28232fe6f412b7ba7a37352a6a':
* Moved supports-density tag under manifest
9189cabb0b6c6c28232fe6f412b7ba7a37352a6a 03-Jun-2009 Mitsuru Oshima <oshima@google.com> * Moved supports-density tag under manifest
* Refactored Compatibility code
* Added CompatibilityInfo class
* Removed getApplicationScale from Context
* Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context
* Expandable support
* Added expandable tag under manifest
* Old application w/o expandable is given the default screen size ([320, 480] x density).
* The non-expandable window is centered.
urfaceView.java
iewRoot.java
5b4718ba8aeac969095b75c20fbe74ced0c04725 02-Jun-2009 Mike Reed <reed@google.com> make FEATURE_OPENGL public (but hidden for now) so we can test with it
indow.java
2da99bdaa1712f00525e6a84b58044332cb1baef 27-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
include/ui/Rect.h
libs/ui/ISurfaceComposer.cpp
a8ddb2827597f66fcfbe8937f40988d4631caa69 25-May-2009 Romain Guy <romainguy@android.com> am ec25df9f: Fix drawing bug: opaque invalidations should not be taken into account when the invalidated view is animating. Also add the ability to disable the auto-fade on the GestureOverlayView.

Merge commit 'ec25df9fbc685be384f8dd764fa224a4d923e9d8'

* commit 'ec25df9fbc685be384f8dd764fa224a4d923e9d8':
Fix drawing bug: opaque invalidations should not be taken into account when the invalidated view is animating. Also add the ability to disable the auto-fade on the GestureOverlayView.
ec25df9fbc685be384f8dd764fa224a4d923e9d8 25-May-2009 Romain Guy <romainguy@android.com> Fix drawing bug: opaque invalidations should not be taken into account when the invalidated view is animating. Also add the ability to disable the auto-fade on the GestureOverlayView.
iewGroup.java
d14508b4d678373fbb511dc0da9a5133ce321c6d 22-May-2009 The Android Open Source Project <initial-contribution@android.com> merge f41c640d8424fbd90cb1751173ede1c9f5e848b4 w/minor conflict
947f4f4d384ea26eb2145cc070a3eed42c59534a 22-May-2009 Mathias Agopian <mathias@google.com> merge master to master_gl
d6a463a9f23b3901bf729f2f27a6bb8f78b95248 22-May-2009 Romain Guy <romainguy@android.com> Add a new API to ListView: setGestures(int). This allows developers to enable gestures to jump inside the list or filter it. This change also introduces a new XML attribute to control this API. It also adds the ability to theme the GestureOverlayView from the gestures library. Finally, this adds a new VERSION header to the binary format used to store the letters for the recognizer.
iew.java
iewGroup.java
47588ef1a272613d87c22ca32fcba08359eef5ae 22-May-2009 Dianne Hackborn <hackbod@google.com> am c4d5d026: Add new window manager type for a hacking second-level media surface.

Merge commit 'c4d5d02667af6989a3121072871f6a4b1e68b594'

* commit 'c4d5d02667af6989a3121072871f6a4b1e68b594':
Add new window manager type for a hacking second-level media surface.
c4d5d02667af6989a3121072871f6a4b1e68b594 22-May-2009 Dianne Hackborn <hackbod@google.com> Add new window manager type for a hacking second-level media surface.

This adds a new window type that is a surface that sits between the
current media type and the application window, in theory allowing you
to have two surface views in your hierarchy and control their
Z-ordering. There is also another hidden API on SurfaceView to set
the type of your window.

All a big hack, but for the good of the commonwealth!
urfaceView.java
indow.java
indowManager.java
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
otionEvent.java
urfaceView.java
elocityTracker.java
iew.java
iewDebug.java
iewGroup.java
iewRoot.java
indowManager.java
nimation/AccelerateDecelerateInterpolator.java
nimation/AccelerateInterpolator.java
nimation/AnimationUtils.java
nimation/AnticipateInterpolator.java
nimation/AnticipateOvershootInterpolator.java
nimation/BounceInterpolator.java
nimation/OvershootInterpolator.java
nimation/Transformation.java
ccee782cdaadaf28fbbddd3885f1a9ca2427bd2d 18-May-2009 Suchi Amalapurapu <asuchitra@google.com> am d1a93373: Add a new window flag to display a window when keyguard is shown.

Merge commit 'd1a9337380cf9f40f1aa095457b11242d483295d'

* commit 'd1a9337380cf9f40f1aa095457b11242d483295d':
Add a new window flag to display a window when keyguard is shown.
d1a9337380cf9f40f1aa095457b11242d483295d 15-May-2009 Suchi Amalapurapu <asuchitra@google.com> Add a new window flag to display a window when keyguard is shown.
indowManager.java
53071d6d159f6dfd6fe0328a39bcf967ef308a64 14-May-2009 Michael Chan <mchan@android.com> Added LatencyTimer to ease latency measurements

new file: core/java/android/os/LatencyTimer.java
modified: core/java/android/view/MotionEvent.java
modified: core/java/android/view/ViewRoot.java
modified: services/java/com/android/server/InputDevice.java
modified: services/java/com/android/server/KeyInputQueue.java
modified: services/java/com/android/server/WindowManagerService.java
otionEvent.java
iewRoot.java
370331fbcadb241caf1fb48a0b8f5e167b3e41b0 16-May-2009 Android (Google) Code Review <android-gerrit@google.com> am b3c6addf: Merge change 1825 into donut

Merge commit 'b3c6addfc17be2a52133026148f3928ab97c83cb'

* commit 'b3c6addfc17be2a52133026148f3928ab97c83cb':
Fixes #1855461, #1857290 and #1857365. Certain scrollbar styles make an opaque view not be opaque. ListView and View now account for this when indicating whether they are opaque or not.
8f1344f5e7c92f2fd532f65e5584afe0e4cc6b11 16-May-2009 Romain Guy <romainguy@android.com> Fixes #1855461, #1857290 and #1857365. Certain scrollbar styles make an opaque view not be opaque. ListView and View now account for this when indicating whether they are opaque or not.
iew.java
59aa044a1098e49823d59905731f28465003e983 16-May-2009 Mathias Agopian <mathias@google.com> Merge branch '2514' into merge_master
76879bc2343779d4d2a870b7bd46b0544c0cc46c 15-May-2009 svetoslavganov <svetoslavganov@google.com> resolved conflicts w/ 75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec merge....
75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec 15-May-2009 svetoslavganov <svetoslavganov@google.com> Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)
iew.java
iewGroup.java
iewRoot.java
indow.java
indowManagerImpl.java
ccessibility/AccessibilityEvent.aidl
ccessibility/AccessibilityEvent.java
ccessibility/AccessibilityEventSource.java
ccessibility/AccessibilityManager.java
ccessibility/IAccessibilityManager.aidl
ccessibility/IAccessibilityManagerClient.aidl
11abc8a36d639775b05a0471c9ea45d83fa19e56 15-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
e52a5a5fca18348728dfc5609b42b88e9cc7ef98 15-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 669ec3a6: Merge change 1747 into donut

Merge commit '669ec3a6e47248fee0a3a0f4877b46875eb42140'

* commit '669ec3a6e47248fee0a3a0f4877b46875eb42140':
Fixes #1846038. The dirty region can sometimes be modified by SurfaceFlinger. When this happens, force the view hierarchy to ignore the dirty flags.
5bcdff45bf4ada77ae7c95f520b795876adef75c 15-May-2009 Romain Guy <romainguy@android.com> Fixes #1846038. The dirty region can sometimes be modified by SurfaceFlinger. When this happens, force the view hierarchy to ignore the dirty flags.
iew.java
iewDebug.java
iewGroup.java
iewRoot.java
780d61dd97ace088463fe325e548282f9d566213 15-May-2009 Android (Google) Code Review <android-gerrit@google.com> am d1f7b3a5: Merge change 1704 into donut

Merge commit 'd1f7b3a5720a4d6d92c4eea5a1fe812a790a7442'

* commit 'd1f7b3a5720a4d6d92c4eea5a1fe812a790a7442':
New feature to track down #1846038. Adds the ability to export flags encoded in int values so as to make them human readable in HierarchyViewer.
d1f7b3a5720a4d6d92c4eea5a1fe812a790a7442 15-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1704 into donut

* changes:
New feature to track down #1846038. Adds the ability to export flags encoded in int values so as to make them human readable in HierarchyViewer.
809a7f6080312f3e12f1a3a30eacf0e0c7627305 15-May-2009 Romain Guy <romainguy@android.com> New feature to track down #1846038. Adds the ability to export flags encoded in int values so as to make them human readable in HierarchyViewer.
iew.java
iewDebug.java
d6ea77e1a4f6467e3154d56164330b0698010fe5 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 4a8fb93f: Merge change 1638 into donut

Merge commit '4a8fb93f5e320f5bd5c1dd272339ae499e4b4ec4'

* commit '4a8fb93f5e320f5bd5c1dd272339ae499e4b4ec4':
fix window layout problem in ViewRoot
a64b860749ad7e5f9e887013d87b56b928c5d405 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am aa642c0c: Merge changes 1591,1596 into donut

Merge commit 'aa642c0cc20293137376d44f8221876c121e5be9'

* commit 'aa642c0cc20293137376d44f8221876c121e5be9':
Get the backup calling through to the file backup helper.
Fix typos.
Add a new feature to android.os.Debug to add the ability to inject only specific fields when calling setFieldsOn().
Fixes #1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build.
Add Intent.ACTION_APP_ERROR
3d91492d694cf00474fec792134e496be6ee0313 14-May-2009 Mitsuru Oshima <oshima@google.com> fix window layout problem in ViewRoot
* don't scale LayoutParams (this must be app's scale).
* scale the layout params' coordinates & size only when requesting layout.
In SurfaceView, window's x,y wasn't scaled before sending to window manager.
urfaceView.java
iewRoot.java
indowManager.java
13922e03037d71a538f24ddf61c0b61bb4eb5af0 13-May-2009 Romain Guy <romainguy@android.com> Fixes #1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build.
iew.java
iewDebug.java
iewGroup.java
iewRoot.java
898761f6e6a0e83ba699e6886f483ae9dd0824cc 13-May-2009 Mitsuru Oshima <oshima@google.com> am c5b0e6e: don\'t scale trackball event

Merge commit 'c5b0e6e4eb09a4dd8fc1cfcfca959262705d84d0'

* commit 'c5b0e6e4eb09a4dd8fc1cfcfca959262705d84d0':
don't scale trackball event
98eeba88e333d1c6217a642d1da2d90e1bbfb606 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 6347c32: Merge change 1436 into donut

Merge commit '6347c322b36cdf6a30a35e80d205d00d40368e61'

* commit '6347c322b36cdf6a30a35e80d205d00d40368e61':
Density Compatibility mode for SurfaceView
7118a2cf547ed53900a7591ca93b99ee0508cea9 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 807f23b: Merge change 1057 into donut

Merge commit '807f23b2d8c7148cf6fc95bb88cfc2f78e4be66a'

* commit '807f23b2d8c7148cf6fc95bb88cfc2f78e4be66a':
* Add regoin scaling for transparent support
c5b0e6e4eb09a4dd8fc1cfcfca959262705d84d0 13-May-2009 Mitsuru Oshima <oshima@google.com> don't scale trackball event
iewRoot.java
6347c322b36cdf6a30a35e80d205d00d40368e61 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1436 into donut

* changes:
Density Compatibility mode for SurfaceView * use fixed size when requested. Otherwise, give the original size instead of scaled down size. * scale back the motion event to original size when surface view is using the orignal size.
001a6e52445b2744b4f2eb00099b98a17f4245c9 12-May-2009 Mitsuru Oshima <oshima@google.com> Density Compatibility mode for SurfaceView
* use fixed size when requested. Otherwise, give the original size instead of scaled down size.
* scale back the motion event to original size when surface view is using the orignal size.
urfaceView.java
807f23b2d8c7148cf6fc95bb88cfc2f78e4be66a 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1057 into donut

* changes:
* Add regoin scaling for transparent support
b10f138e125b5656e810901d14c5f956ff5d9b64 12-May-2009 Mitsuru Oshima <oshima@google.com> * Add regoin scaling for transparent support
iewRoot.java
9ec7b3d3e7130247be8c290540c4747fa3627e41 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> am c70b644: Merge change 1463 into donut

Merge commit 'c70b64441029b9748eea7f260f1b3521dc58eb91'

* commit 'c70b64441029b9748eea7f260f1b3521dc58eb91':
Fixes #1846038. DrawableContainer was wrongly returning its opacity by ignoring the visibility of the currently selected layer. This change simply reports a TRANSPARENT opacity if there is no currently selected layer of if the selected layer is not visible. Otherwise it reports the opacity computed by the state class.
83b2107c4d2f07f46b6ae663115421749486f8b1 12-May-2009 Romain Guy <romainguy@android.com> Fixes #1846038. DrawableContainer was wrongly returning its opacity by ignoring the visibility of the currently selected layer. This change simply reports a TRANSPARENT opacity if there is no currently selected layer of if the selected layer is not visible. Otherwise it reports the opacity computed by the state class.
iew.java
6ca73d6a09780c2beee36705c72bc671de71a32f 12-May-2009 Romain Guy <romainguy@android.com> am 7ed6acd: Remove useless logging on every draw.

Merge commit '7ed6acdc084f5cbd37bd9b9d5422d75fa31f43ce'

* commit '7ed6acdc084f5cbd37bd9b9d5422d75fa31f43ce':
Remove useless logging on every draw.
e62a04c9cbd5a2709574a3f6649d2d8f5baebfa8 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> am a2ea1d3: Merge change 1371 into donut

Merge commit 'a2ea1d376524346e3f601694751e423ce2711d6b'

* commit 'a2ea1d376524346e3f601694751e423ce2711d6b':
Fixes #1596240. Optimize invalidate/draw passes by marking opaque views and avoiding drawing them. Whenever a View requests an invalidate its parent check whether the view is opaque or not. When the view is not opaque, the framework behaves as it used to. However, when a view is opaque, the parent marks itself as being dirty because of an opaque view. Its parent then does the same, and so on. When the framework then starts drawing the views, it does not draw views marked as dirty opaque. If a view is dirty opaque and receives an invalidate request from a non-opaque view, it then clears the dirty opaque flag and behaves as before.
7ed6acdc084f5cbd37bd9b9d5422d75fa31f43ce 12-May-2009 Romain Guy <romainguy@android.com> Remove useless logging on every draw.
iew.java
24443ea3992e372e47daa50266b0f2ec38cac388 11-May-2009 Romain Guy <romainguy@android.com> Fixes #1596240. Optimize invalidate/draw passes by marking opaque views and avoiding drawing them. Whenever a View requests an invalidate its parent check whether the view is opaque or not. When the view is not opaque, the framework behaves as it used to. However, when a view is opaque, the parent marks itself as being dirty because of an opaque view. Its parent then does the same, and so on. When the framework then starts drawing the views, it does not draw views marked as dirty opaque. If a view is dirty opaque and receives an invalidate request from a non-opaque view, it then clears the dirty opaque flag and behaves as before.
iew.java
iewGroup.java
iewRoot.java
6ec72e3fa9cdf9e896f3042fb1b1b4f3f6cea541 08-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
1471c8f6a73c1284442cff4c36c754b9842d8427 08-May-2009 The Android Open Source Project <initial-contribution@android.com> am c664d18: Merge branch \'donut\' of ssh://android-git.corp.google.com:29

Merge commit 'c664d1837c34f3e7ab743f7fb96771b0c9d8df6e'

* commit 'c664d1837c34f3e7ab743f7fb96771b0c9d8df6e':
don't use modulo
6bebbcd57b7b3ffad3af046f4899d885b30c828e 08-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
d4cc32ca99390ca54762f86d4850ab553a05ccf7 08-May-2009 Mitsuru Oshima <oshima@google.com> don't use modulo
otionEvent.java
cfe5cdd3a13b166e93e5f74e5a23fa9303238bb5 07-May-2009 The Android Open Source Project <initial-contribution@android.com> manual merge d90a331 to avoid conflicts

Merge commit 'd90a331'
d90a33111b3f1d0b2fff7ba9bafabc63fdb67d3a 06-May-2009 Romain Guy <romainguy@android.com> Add new setTag(int, Object) API to allow applications to specify several tags.
iew.java
b6af533114cfa5a4547990e79e96bd0402c47e72 28-Apr-2009 Mihai Preda <preda@google.com> Allow ViewStub to be used in AdapterView.setEmptyView() (bug 1803058)
iewStub.java
a426c9609fbfcd8b3578c563f7e922e8d8db4848 01-May-2009 Romain Guy <romainguy@google.com> am 9a81736: Add the ability to specify the onClick handler with XML.

Merge commit '9a81736176f507489f262344b6e3d55bbe53be7c'

* commit '9a81736176f507489f262344b6e3d55bbe53be7c':
Add the ability to specify the onClick handler with XML. The new android:onClick attribute defines the name of the method in the Activity to invoke when the button is clicked. The method has to be public and get one View parameter.
9a81736176f507489f262344b6e3d55bbe53be7c 01-May-2009 Romain Guy <romainguy@google.com> Add the ability to specify the onClick handler with XML. The new android:onClick attribute defines the name of the method in the Activity to invoke when the button is clicked. The method has to be public and get one View parameter.
iew.java
4e0711625278d5a98279fff1d05ae1709030c686 01-May-2009 The Android Open Source Project <initial-contribution@android.com> am 3500f01: Merge branch \'donut\' of ssh://android-git.corp.google.com:29

Merge commit '3500f016bfc43a42b19cfc51f5472b1be87b8369'

* commit '3500f016bfc43a42b19cfc51f5472b1be87b8369':
Fixes #1712631. Whenever a View loses focus/selection, reset its pressed state.
a2431d0ba24ca7d79d21b2df63f9a58025702c7e 01-May-2009 Romain Guy <romainguy@google.com> Fixes #1712631. Whenever a View loses focus/selection, reset its pressed state.
iew.java
fa6eda01a9f3df0102ce6a65302c8674cc9c7e50 30-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
libs/surfaceflinger/Layer.cpp
libs/surfaceflinger/SurfaceFlinger.cpp
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/GLES_CM/gl.cpp
opengl/libs/GLES_CM/gl_api.in
opengl/libs/gl_entries.in
opengl/libs/tools/glapigen
453a34f62bc145ac106d032e64263bdbc904f29f 30-Apr-2009 Mitsuru Oshima <nobody@android.com> am d4ed049: Merge branch \'readonly-p4-donut\' into donut

Merge commit 'd4ed0496724d9083ce0762d3a5c0b36183c02f6c'

* commit 'd4ed0496724d9083ce0762d3a5c0b36183c02f6c':
AI 148024: fix NPE when there is no history
d4ed0496724d9083ce0762d3a5c0b36183c02f6c 30-Apr-2009 Mitsuru Oshima <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
dffbb4dbceb7e90e91b65d02dfdbd1abd6147b94 30-Apr-2009 Mitsuru Oshima <nobody@android.com> AI 148024: fix NPE when there is no history

Automated import of CL 148024
otionEvent.java
c2839e087041b16a1ee7292b85459a396c25c771 29-Apr-2009 Mitsuru Oshima <> am 13735a2: Merge branch \'readonly-p4-donut\' into donut

Merge commit '13735a255dedd2c2e3b0cff66f0be2e17671f553'

* commit '13735a255dedd2c2e3b0cff66f0be2e17671f553':
AI 147976: Compatibility mode support. Part 2.
4cc574be4ee4c20af7c3d1aa901315505efd4e4e 29-Apr-2009 Mitsuru Oshima <> am 257eef3: Merge branch \'readonly-p4-donut\' into donut

Merge commit '257eef353dfc9519b63e3fe2616505c5534b460a'

* commit '257eef353dfc9519b63e3fe2616505c5534b460a':
AI 147845: Compatibility mode support. Part 1
137b0c9d6430ccb519c82a1198048cf413e06c5e 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 0b8ffd1: Merge change 460 into donut

Merge commit '0b8ffd17bc6641fc522db3e842a868b6cdbf6d82'

* commit '0b8ffd17bc6641fc522db3e842a868b6cdbf6d82':
More optimization of dumpsys output.
13735a255dedd2c2e3b0cff66f0be2e17671f553 29-Apr-2009 Mitsuru Oshima <> Merge branch 'readonly-p4-donut' into donut
8169daed2f7a8731d478b884b1f455c747b88478 29-Apr-2009 Mitsuru Oshima <> AI 147976: Compatibility mode support. Part 2.
* Introduced ApplicationScale (may not be good name. CompatibilityScale? CanvasScale? Pls let me know if you have better idea)
* Changes to RootView / SurfaceView
- Makes the app believe it's running in the supported density/resolution.
- Makes the window manager believe it's running at the right density/resolution.
* Added methods to Rect/Event for scaling up/down.
Known issues:
* certain kind of images (such as nine patch for buttons) seesm to be loaded not by app, thus does not take the scale into account,
which, in turn, is causing layout issue.
* ZoomButton in MapView is rendered in wrong place
* Transparent region on Surface is not correct
* Specifying different densities in one process is not working.
BUG=1770627

Automated import of CL 147976
otionEvent.java
urfaceView.java
iewRoot.java
indowManager.java
257eef353dfc9519b63e3fe2616505c5534b460a 27-Apr-2009 Mitsuru Oshima <> Merge branch 'readonly-p4-donut' into donut
8d112675879a2b83197d3b4ae4fb623abd1a1ec3 27-Apr-2009 Mitsuru Oshima <> AI 147845: Compatibility mode support. Part 1
Adding supports-density tag to manifest file/ApplicationInfo.
BUG=1752478

Automated import of CL 147845
indowManager.java
1d442e0d990b581357f33f5463c7c5cb49b551e8 21-Apr-2009 Dianne Hackborn <hackbod@google.com> More optimization of dumpsys output.

There are three major classes of changes here:

- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
nimation/Transformation.java
17f638b39f2e8b610ecfa1290e5bc42ab7700c98 17-Apr-2009 Mathias Agopian <mathias@google.com> more splitting of Surface/SurfaceControl. Surface.java is now implemented in terms of Surface and SurfaceControl.

The WindowManager side of Surface.java holds a SurfaceControl, while the client-side holds a Surface. When the client is in the system process, Surface.java holds both (which is a problem we'll try to fix later).
urface.java
402c34649f514669517c2208e35caa58ff8bb2b9 15-Apr-2009 Mathias Agopian <mathias@google.com> fix some issues with Surface's lifetime management.

To deal with Java's lack of destructors and delayed garbage collection, we used to duplicate Surface.cpp objects in some case; this caused some issues because Surface is supposed to be reference-counted and unique.
urface.java
75534fbe246e5562779500bc7cf7f0ddfe9b8330 14-Apr-2009 Dianne Hackborn <> Merge branch 'readonly-p4-master'
935ae463d495d41155e27feb849768ad2b8b16db 14-Apr-2009 Dianne Hackborn <> AI 145994: Integrate #145778 from Donut.

Automated import of CL 145994
ravity.java
eyEvent.java
iew.java
iewConfiguration.java
iewDebug.java
iewTreeObserver.java
f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75 11-Apr-2009 Andy Stadler <> AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
ravity.java
eyEvent.java
iew.java
iewConfiguration.java
iewDebug.java
iewTreeObserver.java
48276ab989a4d775961ce30a43635a317052672a 09-Apr-2009 Dianne Hackborn <> AI 145383: API review: clean up a bunch of @hides that have been pending API review.
Either expose them, or official hide them with an explanation for why.
BUG=1779439

Automated import of CL 145383
ravity.java
iew.java
iewConfiguration.java
iewDebug.java
iewTreeObserver.java
5eabbd9f27b5684508b5f5f1f99030c67984ae81 09-Apr-2009 Dianne Hackborn <> AI 145382: API review: change new media keycode names to avoid ambiguity.
Updates the key maps. During this I noticed that the dream keymap didn't have all of the media buttons like the sapphire key map...! So this is now changed to match.
BUG=1779435

Automated import of CL 145382
eyEvent.java
5a2f463fe575643ef9938b4c9fb7cdf8f4e8af34 02-Apr-2009 Romain Guy <> Merge branch 'readonly-p4-master'
10b4043c99dd93ba4db4f461f0761547170134ca 02-Apr-2009 Romain Guy <> AI 144014: am: CL 144013 Rename PoolFactory to Pools, to follow the java.util convention (Collections, Arrays.)
Original author: romainguy
Merged from: //branches/donutburger/...

Automated import of CL 144014
elocityTracker.java
iew.java
2e9bbce84d9697a9dcccd02cec55dc485d985746 01-Apr-2009 Romain Guy <> AI 144013: Rename PoolFactory to Pools, to follow the java.util convention (Collections, Arrays.)

Automated import of CL 144013
elocityTracker.java
iew.java
caee1703fee75fbf37ba7774db64479a33cda82b 01-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'goog/readonly-p4-master'
7ac3f67c179ec77caeee59b86d87d4ec007c4586 01-Apr-2009 Dianne Hackborn <> AI 143901: am: CL 143899 am: CL 143896 Fix issue #1748954 and #1737952:
#1748954 (New status bar fades into all white background): FrameLayout wasn't updating its foreground drawable when its padding changed, which would happen as the status bar is shown and hidden. To fix this I also ended up fixing a problem in the view debug stuff where we couldn't get a bitmap for a view that is the full screen size because it is too big... actually I just went ahead and added another function to snapshot the view hierarchy which works a lot better for us anyway.
#1737952 (Home screen icons overlap with the notification bar after exiting any camera app): Originally I punted this because it only happened in rare situations, but now that home is always portrait it happens a lot more so it is more important to fix. This involved a few things to clean up hiding/showing the status bar:
- We now determine when to hide and show it during layout, which allows us to do this at the time it is actually needed rather than during animation after we can actually catch it for the initial display of a window. This required tweaking the layout API so the policy can request a second layout pass if needed.
- When doing layout, we are now much more aggressive about skipping the layout of windows. Basically anything that we know will be hidden in the near future is ignored for layout, so that it doesn't glitch as it is transfered out of the screen. The theory being that it is better to leave it as it was originally placed while we are transitioning it out, than to switch it to something slightly more correct.
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143901
iew.java
iewDebug.java
indowManagerPolicy.java
958b9adc086f126dcd757d29f0d7f443ae9064b2 01-Apr-2009 Dianne Hackborn <> AI 143899: am: CL 143896 Fix issue #1748954 and #1737952:
#1748954 (New status bar fades into all white background): FrameLayout wasn't updating its foreground drawable when its padding changed, which would happen as the status bar is shown and hidden. To fix this I also ended up fixing a problem in the view debug stuff where we couldn't get a bitmap for a view that is the full screen size because it is too big... actually I just went ahead and added another function to snapshot the view hierarchy which works a lot better for us anyway.
#1737952 (Home screen icons overlap with the notification bar after exiting any camera app): Originally I punted this because it only happened in rare situations, but now that home is always portrait it happens a lot more so it is more important to fix. This involved a few things to clean up hiding/showing the status bar:
- We now determine when to hide and show it during layout, which allows us to do this at the time it is actually needed rather than during animation after we can actually catch it for the initial display of a window. This required tweaking the layout API so the policy can request a second layout pass if needed.
- When doing layout, we are now much more aggressive about skipping the layout of windows. Basically anything that we know will be hidden in the near future is ignored for layout, so that it doesn't glitch as it is transfered out of the screen. The theory being that it is better to leave it as it was originally placed while we are transitioning it out, than to switch it to something slightly more correct.
Original author: hackbod
Merged from: //branches/cupcake/...

Automated import of CL 143899
iew.java
iewDebug.java
indowManagerPolicy.java
b3785307143556f3aba228f4c81fac96fda09ea1 01-Apr-2009 Dianne Hackborn <> AI 143896: Fix issue #1748954 and #1737952:
#1748954 (New status bar fades into all white background): FrameLayout wasn't updating its foreground drawable when its padding changed, which would happen as the status bar is shown and hidden. To fix this I also ended up fixing a problem in the view debug stuff where we couldn't get a bitmap for a view that is the full screen size because it is too big... actually I just went ahead and added another function to snapshot the view hierarchy which works a lot better for us anyway.
#1737952 (Home screen icons overlap with the notification bar after exiting any camera app): Originally I punted this because it only happened in rare situations, but now that home is always portrait it happens a lot more so it is more important to fix. This involved a few things to clean up hiding/showing the status bar:
- We now determine when to hide and show it during layout, which allows us to do this at the time it is actually needed rather than during animation after we can actually catch it for the initial display of a window. This required tweaking the layout API so the policy can request a second layout pass if needed.
- When doing layout, we are now much more aggressive about skipping the layout of windows. Basically anything that we know will be hidden in the near future is ignored for layout, so that it doesn't glitch as it is transfered out of the screen. The theory being that it is better to leave it as it was originally placed while we are transitioning it out, than to switch it to something slightly more correct.
BUG=1748954,1737952

Automated import of CL 143896
iew.java
iewDebug.java
indowManagerPolicy.java
d1b3dd058d2015cd1f2a3ef7fb3798f0d7923fe3 01-Apr-2009 Romain Guy <> AI 143894: am: CL 143890 Fixes #1749387. Improve the pooling of the VelocityTracker class. This introduces a new, hidden, API for pooling objects easily.
Original author: romainguy
Merged from: //branches/donutburger/...

Automated import of CL 143894
elocityTracker.java
iew.java
d928d6837dee4df30b06529164326722075da063 01-Apr-2009 Romain Guy <> AI 143890: Fixes #1749387. Improve the pooling of the VelocityTracker class. This introduces a new, hidden, API for pooling objects easily.
BUG=1749387

Automated import of CL 143890
elocityTracker.java
iew.java
fb43fea68a00b7b147992b52b86305f6fbc1548e 01-Apr-2009 Romain Guy <> AI 143815: am: CL 143758 Fixes #1749387. When a client of VelocityTracker obtains an instance from the pool, actually remove the object from the pool. Otherwise, several clients can share the same VelocityTracker which can lead to really weird side effects (including concurrency and UI issues.)
Original author: romainguy
Merged from: //branches/cupcake/...

Automated import of CL 143815
elocityTracker.java
7474a5acbe5b73342e4cf129d39cd3bc1195292c 31-Mar-2009 Romain Guy <> AI 143830: am: CL 143815 am: CL 143758 Fixes #1749387. When a client of VelocityTracker obtains an instance from the pool, actually remove the object from the pool. Otherwise, several clients can share the same VelocityTracker which can lead to really weird side effects (including concurrency and UI issues.)
Original author: romainguy
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143830
elocityTracker.java
d65addb4c9e8d552907bc2720e6127e0259b8f09 31-Mar-2009 Romain Guy <> AI 143758: Fixes #1749387. When a client of VelocityTracker obtains an instance from the pool, actually remove the object from the pool. Otherwise, several clients can share the same VelocityTracker which can lead to really weird side effects (including concurrency and UI issues.)
BUG=1749387

Automated import of CL 143758
elocityTracker.java
762d30a31365e5cae9ba7c2802de60a2f8c3513d 29-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'open_source' into google_internal

Conflicts:
core/java/android/widget/TwoLineListItem.java
core/res/res/values/public.xml
preloaded-classes
eb0c86e18b7d620b679ff2a45a0233867a53a334 28-Mar-2009 Mathias Agopian <> AI 143320: am: CL 143171 am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143320
urface.java
e4fbd6235c8d1c5b0ed4883ec275dd3fc9c919fb 28-Mar-2009 Dianne Hackborn <> AI 143318: am: CL 143169 am: CL 142870 Fix issue #1724917 (Applications (browser, maps, gmail) fail to retain their landscape state after coming out of sleep mode). We now rely on the listeners last known orientation, and make sure to clear it when enabling/disabling.
Also do most of the work for issue #1732012 (Only show screen rotation animation when triggered by sensor). This just needs to be hooked up to the surface flinger API when that appears.
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143318
WindowManager.aidl
indowOrientationListener.java
94befd1be9b3a19fb2dda8badebb373806cb311c 28-Mar-2009 Suchi Amalapurapu <> AI 143311: am: CL 143162 am: CL 142858 Fix framework orientation issues
Define orientation limits for various cases.
Values between 235 and 295 are considered landscape,
0 - 60 are considered portrait.
0-235 are ignored since we don't support Surfaces for 180 and 270 yet.
A linear threshold value is calculated for values between 265 and 355 to switch between landscape and portrait.(different for both cases)
Based on current mode we not only calculate the threshold but also compare accordingly based on increasing or decreasing orientation
BUG = 1734325
Original author: asuchitra
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143311
indowOrientationListener.java
66b8ec99c5fc505877b3711a52e284bbb451f836 28-Mar-2009 Mathias Agopian <> AI 143171: am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
Merged from: //branches/cupcake/...

Automated import of CL 143171
urface.java
1e880dba106b14619c3eaf94c5dc2d1a943645bc 28-Mar-2009 Dianne Hackborn <> AI 143169: am: CL 142870 Fix issue #1724917 (Applications (browser, maps, gmail) fail to retain their landscape state after coming out of sleep mode). We now rely on the listeners last known orientation, and make sure to clear it when enabling/disabling.
Also do most of the work for issue #1732012 (Only show screen rotation animation when triggered by sensor). This just needs to be hooked up to the surface flinger API when that appears.
Original author: hackbod
Merged from: //branches/cupcake/...

Automated import of CL 143169
WindowManager.aidl
indowOrientationListener.java
3b840af148766f6214c36f4a845dd5b26b18819d 27-Mar-2009 Suchi Amalapurapu <> AI 143162: am: CL 142858 Fix framework orientation issues
Define orientation limits for various cases.
Values between 235 and 295 are considered landscape,
0 - 60 are considered portrait.
0-235 are ignored since we don't support Surfaces for 180 and 270 yet.
A linear threshold value is calculated for values between 265 and 355 to switch between landscape and portrait.(different for both cases)
Based on current mode we not only calculate the threshold but also compare accordingly based on increasing or decreasing orientation
BUG = 1734325
Original author: asuchitra
Merged from: //branches/cupcake/...

Automated import of CL 143162
indowOrientationListener.java
d9b7d24667f578ec7aaf187690d5b12d6f363221 27-Mar-2009 Romain Guy <> AI 143249: am: CL 142820 am: CL 142818 Fixes #1735278. Deep hierarchies could generate stack overflow exception due to new local variables introduces in Cupcake. This change removes 4 ints from the dispatchDraw/drawChild code path to save a bit of stack on deep hierarchies. This is a stop-gap measure but that's all we can/should do for now.
Original author: romainguy
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143249
iewGroup.java
e1861133d51b9e6a6f658eb366630ad4f4d3ff8f 27-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'

Conflicts:
core/java/android/webkit/WebView.java
core/java/android/widget/TwoLineListItem.java
preloaded-classes
c4a5f87c7ad6d8bca3929e1a3c0d280951f7a12e 27-Mar-2009 Romain Guy <> AI 143240: am: CL 142790 am: CL 142788 Fixes #1730741. Marquee text was not always animated in context menus.
The reason for that bug was that the marquee could potentially be stopped/started as part of the layout workflow. Unfortunately TextView was relying on setFrame() being called after onMeasure() which is *not* always the case, especially when the widget is inside of a ListView. This change simply checks for the marquee restart flag in on the onDraw() method in case we skipped the setFrame() step.
Original author: romainguy
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143240
iewGroup.java
c75c4364eae030a9ea6db658c4d1e38cdb05ab4c 26-Mar-2009 Mathias Agopian <> Automated import from //branches/cupcake/...@142873,142873
urface.java
02771bcb5d2156a58b825a5f8132fdf575ea862d 26-Mar-2009 Dianne Hackborn <> Automated import from //branches/cupcake/...@142870,142870
WindowManager.aidl
indowOrientationListener.java
a110047298c5add920350944ce52bd4b0ea1558b 26-Mar-2009 Suchi Amalapurapu <> Automated import from //branches/cupcake/...@142858,142858
indowOrientationListener.java
8f2d94fd77836dac14319735e40f46b18b04216d 26-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@142820,142820
iewGroup.java
d6ab043da8f981d9307d4d0108870544c7d0eee6 26-Mar-2009 Romain Guy <> Automated import from //branches/cupcake/...@142818,142818
iewGroup.java
986003d46add147714ce7e16c9fefa8c18042fc8 26-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@142790,142790
iewGroup.java
3661101005c6527dfd384d0c88c4a3b68ee208af 26-Mar-2009 Romain Guy <> Automated import from //branches/cupcake/...@142788,142788
iewGroup.java
8b0662878eae69ab62e859b07165f086ea65cad5 25-Mar-2009 Jean-Baptiste Queru <> Automated import from //branches/master/...@142574,142574
nimation/AccelerateDecelerateInterpolator.java
nimation/AccelerateInterpolator.java
nimation/AnimationUtils.java
nimation/AnticipateInterpolator.java
nimation/AnticipateOvershootInterpolator.java
nimation/BounceInterpolator.java
nimation/OvershootInterpolator.java
97d00b3150df9eb434f51f486a6104bb16a16cec 25-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@142465,142465
nimation/AccelerateDecelerateInterpolator.java
nimation/AccelerateInterpolator.java
nimation/AnimationUtils.java
nimation/AnticipateInterpolator.java
nimation/AnticipateOvershootInterpolator.java
nimation/BounceInterpolator.java
nimation/OvershootInterpolator.java
3fd65be666d85ff485504cea6ba645103acb8ddc 25-Mar-2009 Suchi Amalapurapu <> Automated import from //branches/master/...@142306,142306
indowOrientationListener.java
543d69d0eabfea24502b74215abea880f443afcb 25-Mar-2009 Suchi Amalapurapu <> Automated import from //branches/donutburger/...@142291,142291
indowOrientationListener.java
4087f5425c3799ebd4f3883f4f222ad14f27b3e0 25-Mar-2009 Romain Guy <> Automated import from //branches/master/...@141886,141886
iewGroup.java
iewRoot.java
nimation/TranslateAnimation.java
bb93d5598daa3312318c29401815bddf1df8c4de 25-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@141885,141885
iewGroup.java
iewRoot.java
nimation/TranslateAnimation.java
cf843835b51d1a0e4a7f3a64fd5721ac01208d4a 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@141042,141042
nputmethod/InputMethodManager.java
4eba271a64b98a5fc38227f40190b879f807acf5 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/master/...@141043,141043
nputmethod/InputMethodManager.java
9cb3e09ec49351401cf19b5ae5092dd9ca90a538 25-Mar-2009 Suchi Amalapurapu <> Automated import from //branches/cupcake/...@142231,142231
indowOrientationListener.java
1bf5e22da72b477c8b7a45ed85a4dba94be39db5 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@141001,141001
nputmethod/BaseInputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethodManager.java
51bf077883df4f5cc816fbfec6d19eedffc26d70 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/master/...@141004,141004
nputmethod/BaseInputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethodManager.java
32f2ccd39334193ea4ed54cb418d8a3607e4b2ec 25-Mar-2009 Romain Guy <> Automated import from //branches/cupcake/...@141884,141884
iewGroup.java
iewRoot.java
nimation/TranslateAnimation.java
c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
nputmethod/BaseInputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethodManager.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
estureDetector.java
WindowManager.aidl
eyEvent.java
iew.java
iewDebug.java
iewRoot.java
iewTreeObserver.java
nputmethod/EditorInfo.java
2a73de7b21a89aa2ba4c254d28658b49793425b2 18-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake' into merge

Conflicts:
core/java/android/view/animation/TranslateAnimation.java
core/jni/Android.mk
core/res/res/values-en-rGB/strings.xml
libs/audioflinger/AudioFlinger.cpp
libs/surfaceflinger/LayerScreenshot.cpp
packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
iewDebug.java
iewRoot.java
indowOrientationListener.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
iew.java
iewDebug.java
indowManagerPolicy.java
nputmethod/InputMethodInfo.java
nputmethod/InputMethodManager.java
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
estureDetector.java
apticFeedbackConstants.java
iew.java
nputmethod/BaseInputConnection.java
nputmethod/EditorInfo.java
nputmethod/ExtractedText.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethodManager.java
9181dd4e08c8ecba8a921d88ea6a53e310cfc2f8 08-Mar-2009 Cyril Mottier <cyrilmottier@gmail.com> A simple fix on a Javadoc comment. The main purpose of this commit is
for me to get to know git and repo and how to contribute to the Android
project.
nimation/TranslateAnimation.java
f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2 06-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136745
estureDetector.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
iewGroup.java
nimation/Animation.java
nimation/AnimationSet.java
nputmethod/EditorInfo.java
nputmethod/InputMethod.java
nputmethod/InputMethodManager.java
nputmethod/InputMethodSession.java
41df3851287361a377203fb5ad4397475831eb27 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135859
nimation/TranslateAnimation.java
bdbdc4f92951200a88d4c754448b9f91626ffc04 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135856
nimation/AlphaAnimation.java
nimation/AnimationSet.java
nimation/RotateAnimation.java
nimation/ScaleAnimation.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
bsSavedState.java
ontextMenu.java
ontextThemeWrapper.java
isplay.java
ocusFinder.java
ocusFinderHelper.java
estureDetector.java
ravity.java
apticFeedbackConstants.java
ApplicationToken.aidl
OnKeyguardExitResult.aidl
RotationWatcher.aidl
Window.aidl
WindowManager.aidl
WindowSession.aidl
nflateException.java
eyCharacterMap.java
eyEvent.aidl
eyEvent.java
ayoutInflater.java
enu.java
enuInflater.java
enuItem.java
otionEvent.aidl
otionEvent.java
rientationEventListener.java
rientationListener.java
awInputEvent.java
emotableViewMethod.java
oundEffectConstants.java
ubMenu.java
urface.aidl
urface.java
urfaceHolder.java
urfaceSession.java
urfaceView.java
ouchDelegate.java
elocityTracker.java
iew.java
iewConfiguration.java
iewDebug.java
iewGroup.java
iewManager.java
iewParent.java
iewRoot.java
iewStub.java
iewTreeObserver.java
olumePanel.java
indow.java
indowManager.aidl
indowManager.java
indowManagerImpl.java
indowManagerPolicy.java
indowOrientationListener.java
nimation/AccelerateDecelerateInterpolator.java
nimation/AccelerateInterpolator.java
nimation/AlphaAnimation.java
nimation/Animation.java
nimation/AnimationSet.java
nimation/AnimationUtils.java
nimation/CycleInterpolator.java
nimation/DecelerateInterpolator.java
nimation/GridLayoutAnimationController.java
nimation/Interpolator.java
nimation/LayoutAnimationController.java
nimation/LinearInterpolator.java
nimation/RotateAnimation.java
nimation/ScaleAnimation.java
nimation/Transformation.java
nimation/TranslateAnimation.java
nimation/package.html
nputmethod/BaseInputConnection.java
nputmethod/CompletionInfo.aidl
nputmethod/CompletionInfo.java
nputmethod/EditorInfo.aidl
nputmethod/EditorInfo.java
nputmethod/ExtractedText.aidl
nputmethod/ExtractedText.java
nputmethod/ExtractedTextRequest.aidl
nputmethod/ExtractedTextRequest.java
nputmethod/InputBinding.aidl
nputmethod/InputBinding.java
nputmethod/InputConnection.java
nputmethod/InputMethod.java
nputmethod/InputMethodInfo.aidl
nputmethod/InputMethodInfo.java
nputmethod/InputMethodManager.java
nputmethod/InputMethodSession.java
nputmethod/package.html
ackage.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
bsSavedState.java
ontextMenu.java
ontextThemeWrapper.java
isplay.java
ocusFinder.java
ocusFinderHelper.java
estureDetector.java
ravity.java
apticFeedbackConstants.java
ApplicationToken.aidl
OnKeyguardExitResult.aidl
RotationWatcher.aidl
Window.aidl
WindowManager.aidl
WindowSession.aidl
nflateException.java
eyCharacterMap.java
eyEvent.aidl
eyEvent.java
ayoutInflater.java
enu.java
enuInflater.java
enuItem.java
otionEvent.aidl
otionEvent.java
rientationEventListener.java
rientationListener.java
awInputEvent.java
emotableViewMethod.java
oundEffectConstants.java
ubMenu.java
urface.aidl
urface.java
urfaceHolder.java
urfaceSession.java
urfaceView.java
ouchDelegate.java
elocityTracker.java
iew.java
iewConfiguration.java
iewDebug.java
iewGroup.java
iewManager.java
iewParent.java
iewRoot.java
iewStub.java
iewTreeObserver.java
olumePanel.java
indow.java
indowManager.aidl
indowManager.java
indowManagerImpl.java
indowManagerPolicy.java
indowOrientationListener.java
nimation/AccelerateDecelerateInterpolator.java
nimation/AccelerateInterpolator.java
nimation/AlphaAnimation.java
nimation/Animation.java
nimation/AnimationSet.java
nimation/AnimationUtils.java
nimation/CycleInterpolator.java
nimation/DecelerateInterpolator.java
nimation/GridLayoutAnimationController.java
nimation/Interpolator.java
nimation/LayoutAnimationController.java
nimation/LinearInterpolator.java
nimation/RotateAnimation.java
nimation/ScaleAnimation.java
nimation/Transformation.java
nimation/TranslateAnimation.java
nimation/package.html
nputmethod/BaseInputConnection.java
nputmethod/CompletionInfo.aidl
nputmethod/CompletionInfo.java
nputmethod/EditorInfo.aidl
nputmethod/EditorInfo.java
nputmethod/ExtractedText.aidl
nputmethod/ExtractedText.java
nputmethod/ExtractedTextRequest.aidl
nputmethod/ExtractedTextRequest.java
nputmethod/InputBinding.aidl
nputmethod/InputBinding.java
nputmethod/InputConnection.java
nputmethod/InputMethod.java
nputmethod/InputMethodInfo.aidl
nputmethod/InputMethodInfo.java
nputmethod/InputMethodManager.java
nputmethod/InputMethodSession.java
nputmethod/package.html
ackage.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
estureDetector.java
eyEvent.java
iew.java
iewConfiguration.java
iewRoot.java
nputmethod/BaseInputConnection.java
nputmethod/EditorInfo.java
nputmethod/InputConnection.java
nputmethod/InputMethodManager.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
estureDetector.java
eyEvent.java
iew.java
iewConfiguration.java
iewRoot.java
nputmethod/BaseInputConnection.java
nputmethod/EditorInfo.java
nputmethod/InputConnection.java
nputmethod/InputMethodManager.java
15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b 20-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132569
eyEvent.java
rientationEventListener.java
urfaceHolder.java
iewRoot.java
indowManagerPolicy.java
indowOrientationListener.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
estureDetector.java
rientationEventListener.java
rientationListener.java
emotableViewMethod.java
iew.java
iewConfiguration.java
iewGroup.java
iewRoot.java
iewTreeObserver.java
indowManager.java
indowOrientationListener.java
nimation/Animation.java
nputmethod/BaseInputConnection.java
nputmethod/InputConnection.java
nputmethod/InputMethodManager.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
apticFeedbackConstants.java
WindowSession.aidl
iew.java
iewRoot.java
indowManager.java
indowManagerPolicy.java
nputmethod/BaseInputConnection.java
nputmethod/InputConnection.java
nputmethod/InputMethodManager.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
ocusFinder.java
estureDetector.java
WindowManager.aidl
eyCharacterMap.java
eyEvent.java
ouchDelegate.java
iew.java
iewConfiguration.java
iewGroup.java
iewRoot.java
olumePanel.java
indow.java
indowManager.java
indowManagerPolicy.java
nimation/Animation.java
nimation/AnimationSet.java
nimation/LayoutAnimationController.java
nputmethod/BaseInputConnection.java
nputmethod/DefaultInputMethod.java
nputmethod/EditorInfo.java
nputmethod/ExtractedText.java
nputmethod/ExtractedTextRequest.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethod.java
nputmethod/InputMethodManager.java
nputmethod/MutableInputConnectionWrapper.java
94cbba0933e50d593c1c462cff698dd3387ba95b 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
indowManagerPolicy.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethodManager.java
7547115694ef213f6c4ead3841296370cc07b4af 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
iewRoot.java
nputmethod/InputMethodManager.java
0fda766e53fba7e829fe6e145738f6a94ce48bda 16-Jan-2009 android-build SharedAccount <android-build@undroid16.corp.google.com> Merge branch 'cupcake'
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
WindowManager.aidl
awInputEvent.java
iew.java
iewRoot.java
indowManager.java
nimation/Animation.java
nputmethod/DefaultInputMethod.java
nputmethod/InputMethod.java
nputmethod/InputMethodManager.java
e570a0fa86c2eea2680f07e2c0c546f104bea948 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
enu.java
urfaceView.java
iew.java
iewRoot.java
nimation/Animation.java
nimation/package.html
nputmethod/BaseInputConnection.java
nputmethod/DefaultInputMethod.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethod.java
nputmethod/InputMethodManager.java
nputmethod/InputMethodSession.java
nputmethod/package.html
9bdf576615231e4b9693f08bfe3dc886c2edf49e 03-Jan-2009 Jon Larimer <jlarimer@gmail.com> proposed fix for issue #1703: http://code.google.com/p/android/issues/detail?id=1703
urfaceView.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ontextMenu.java
ravity.java
Window.aidl
WindowManager.aidl
WindowSession.aidl
eyEvent.java
enu.java
enuItem.java
otionEvent.java
rientationListener.java
urfaceView.java
iew.java
iewConfiguration.java
iewDebug.java
iewGroup.java
iewParent.java
iewRoot.java
iewTreeObserver.java
olumePanel.java
indow.java
indowManager.java
indowManagerImpl.java
indowManagerPolicy.java
nimation/Animation.java
nimation/AnimationSet.java
nimation/Transformation.java
nputmethod/BaseInputConnection.java
nputmethod/CompletionInfo.aidl
nputmethod/CompletionInfo.java
nputmethod/DefaultInputMethod.java
nputmethod/EditorInfo.aidl
nputmethod/EditorInfo.java
nputmethod/ExtractedText.aidl
nputmethod/ExtractedText.java
nputmethod/ExtractedTextRequest.aidl
nputmethod/ExtractedTextRequest.java
nputmethod/InputBinding.aidl
nputmethod/InputBinding.java
nputmethod/InputConnection.java
nputmethod/InputConnectionWrapper.java
nputmethod/InputMethod.java
nputmethod/InputMethodInfo.aidl
nputmethod/InputMethodInfo.java
nputmethod/InputMethodManager.java
nputmethod/InputMethodSession.java
nputmethod/MutableInputConnectionWrapper.java
nputmethod/package.html
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
bsSavedState.java
ontextMenu.java
ontextThemeWrapper.java
isplay.java
ocusFinder.java
ocusFinderHelper.java
estureDetector.java
ravity.java
ApplicationToken.aidl
OnKeyguardExitResult.aidl
RotationWatcher.aidl
Window.aidl
WindowManager.aidl
WindowSession.aidl
nflateException.java
eyCharacterMap.java
eyEvent.aidl
eyEvent.java
ayoutInflater.java
enu.java
enuInflater.java
enuItem.java
otionEvent.aidl
otionEvent.java
rientationListener.java
awInputEvent.java
oundEffectConstants.java
ubMenu.java
urface.aidl
urface.java
urfaceHolder.java
urfaceSession.java
urfaceView.java
ouchDelegate.java
elocityTracker.java
iew.java
iewConfiguration.java
iewDebug.java
iewGroup.java
iewManager.java
iewParent.java
iewRoot.java
iewStub.java
iewTreeObserver.java
olumePanel.java
indow.java
indowManager.aidl
indowManager.java
indowManagerImpl.java
indowManagerPolicy.java
nimation/AccelerateDecelerateInterpolator.java
nimation/AccelerateInterpolator.java
nimation/AlphaAnimation.java
nimation/Animation.java
nimation/AnimationSet.java
nimation/AnimationUtils.java
nimation/CycleInterpolator.java
nimation/DecelerateInterpolator.java
nimation/GridLayoutAnimationController.java
nimation/Interpolator.java
nimation/LayoutAnimationController.java
nimation/LinearInterpolator.java
nimation/RotateAnimation.java
nimation/ScaleAnimation.java
nimation/Transformation.java
nimation/TranslateAnimation.java
nimation/package.html
ackage.html