Commit Graph

2936 Commits

Author SHA1 Message Date
Romain Guy
94328c308b Merge "Clear bitmap references from display lists as early as possible Bug #6555840" into jb-dev 2012-05-24 14:25:44 -07:00
Romain Guy
38c2ece5ce 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
2012-05-24 14:20:56 -07:00
satok
f927e17ae5 Use correct spell check locale
Bug: 6542210
Change-Id: I414aa2321f30e396996d90fb8e90c1dbb3bb7b9e
2012-05-24 16:52:54 +09:00
Romain Guy
df3633b389 Merge "Make it harder for apps to mess up ViewGroup's internal state Bug #6421288" into jb-dev 2012-05-23 15:49:50 -07:00
Romain Guy
393a52c9f6 Make it harder for apps to mess up ViewGroup's internal state
Bug #6421288

Change-Id: I8c2c597f45391d3c1ae40c8341a68bb25d8ad4d9
2012-05-23 14:32:16 -07:00
Svetoslav Ganov
321a56c848 Merge "Clearing accessibility focus of a view did not update the global state." into jb-dev 2012-05-22 20:26:29 -07:00
Svetoslav Ganov
c00d00865d 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
2012-05-22 18:43:11 -07:00
Dianne Hackborn
ac92087a9a 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
2012-05-22 12:15:15 -07:00
Jeff Brown
1957fd271f Merge "Add public API to Choreographer." into jb-dev 2012-05-21 18:32:26 -07:00
Jeff Brown
cae804901e 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
2012-05-21 18:15:29 -07:00
Svetoslav Ganov
9faa9374c1 Merge "Changing the interaction model of the touch explorer." into jb-dev 2012-05-21 17:52:28 -07:00
Svetoslav Ganov
f40628645d Merge "Accessibility focus and input focus do not sync - part 2" into jb-dev 2012-05-21 17:49:09 -07:00
Svetoslav Ganov
525ae2075c 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
2012-05-21 17:35:15 -07:00
Romain Guy
493743e013 Merge "Flip TextureView's layer after calling setSurfaceTexture() Bug #6531172" into jb-dev 2012-05-21 16:37:57 -07:00
Romain Guy
51f7c6b362 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
2012-05-21 16:36:05 -07:00
Svetoslav Ganov
4ce106f5cf Merge "Fixing some minor issues in accessibility focus." into jb-dev 2012-05-21 15:55:28 -07:00
Svetoslav Ganov
f76a83cfcf 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
2012-05-21 15:32:28 -07:00
Dianne Hackborn
af5c01185b Merge "Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)" into jb-dev 2012-05-21 15:25:48 -07:00
Dianne Hackborn
7a83b93e12 Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)
Change-Id: I20b6d58fa47851cf401bbeb16960d118bbd1d965
2012-05-21 15:24:11 -07:00
Svetoslav Ganov
e15ccb93ad 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
2012-05-21 14:08:57 -07:00
Romain Guy
e2d7f182ff Remove DEBUG_LATENCY flag
This flag was replaced with the more versatile and powerful systrace.

Change-Id: I2267698f86fe9ba9e1102856795ca641001fecd5
2012-05-21 13:55:15 -07:00
Romain Guy
13b907353f 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
2012-05-21 13:29:06 -07:00
Jeff Brown
cf39bdf3df 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
2012-05-20 14:56:22 -07:00
Dianne Hackborn
13a0271cb8 Merge "Add aapt support for generating proguard rules for onClick methods." into jb-dev 2012-05-18 19:39:09 -07:00
Dianne Hackborn
9275197d35 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
2012-05-18 19:23:19 -07:00
Romain Guy
43a760ba84 Merge "Don't crash on Surface.unlockAndPost() but log & try again Bug #6482593" into jb-dev 2012-05-18 16:25:41 -07:00
Romain Guy
dddcd22b7e Don't crash on Surface.unlockAndPost() but log & try again
Bug #6482593

Change-Id: Ib477b58e2b7a6cb19a87d05f2aa0448e04d82f7c
2012-05-18 15:33:57 -07:00
Dianne Hackborn
e312c61f93 Merge "Improve fitSystemWindows() documentation." into jb-dev 2012-05-18 12:55:05 -07:00
Dianne Hackborn
d5333f9289 Improve fitSystemWindows() documentation.
Change-Id: I6528f2530e6514344e454510f2fa037b55daebb7
2012-05-18 11:23:32 -07:00
Romain Guy
c8c4ced838 Merge "Call invalidate() immediately when a frame is available" into jb-dev 2012-05-17 19:04:51 -07:00
Romain Guy
52c145ff5c 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
2012-05-17 18:06:23 -07:00
alanv
9768832da8 Fix paragraph iterator.
Bug: 6509239
Change-Id: I628d7fd07cda24c66a0fa3f456e0141786e768a5
2012-05-17 13:54:30 -07:00
Craig Mautner
d51a68b3d2 Merge "Eliminate deferred surface destruction." into jb-dev 2012-05-17 13:11:50 -07:00
Craig Mautner
bf08af3323 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
2012-05-16 20:07:22 -07:00
Dianne Hackborn
20c0cdbbf7 Merge "Have the stable layout take into account the window's fullscreen flag." into jb-dev 2012-05-16 19:41:09 -07:00
Svetoslav Ganov
e54c5f1365 Merge "Exposing some accessiblity actions only for enabled views." into jb-dev 2012-05-16 18:43:31 -07:00
Svetoslav Ganov
fb1e80a247 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
2012-05-16 17:51:52 -07:00
Adam Powell
648337b3a8 Merge "Fix a bug where late-invalidating views with animations would be held for too long by ViewRootImpl" into jb-dev 2012-05-16 17:46:10 -07:00
Adam Powell
3e3c4ee047 Fix a bug where late-invalidating views with animations would be held
for too long by ViewRootImpl

Change-Id: I1e32bf2683b50f8834f215a753f881b5d4b8dbc9
2012-05-16 17:34:21 -07:00
Jeff Brown
c8d2668bc4 Add systrace method tags for measure and layout.
Change-Id: I739f6384b390d1b34b09b622ca0f752de1dd7304
2012-05-16 17:27:24 -07:00
Dianne Hackborn
5b5cc4d536 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
2012-05-16 17:24:11 -07:00
Jeff Brown
0d28cdf1c8 Merge "Fix a possible starvation issue related to vsync." into jb-dev 2012-05-16 16:25:05 -07:00
Svetoslav Ganov
c5fb5805c9 Merge "Accessiblity focus not following input focus and text nav broken." into jb-dev 2012-05-16 13:26:54 -07:00
Jeff Brown
b080660dfd 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
2012-05-16 12:50:41 -07:00
Svetoslav Ganov
64899e5c8f 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
2012-05-15 21:14:10 -07:00
Romain Guy
d44a16864d Merge "Don't draw onto a hw surface using the software renderer Bug #6485955" into jb-dev 2012-05-15 19:19:41 -07:00
Romain Guy
413baf8a03 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
2012-05-15 19:15:47 -07:00
Svetoslav Ganov
4528b4e882 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
2012-05-15 18:32:23 -07:00
Chris Wren
78cb7cf7d1 Allow animations to run past cancelled draws, if the view is visible.
Bug: 6475482
Change-Id: Iecb3a04744282135efa0049f1b70a46dc4a6bb23
2012-05-15 10:57:59 -07:00
Svetoslav Ganov
0e29ac9e4e Merge "Accessibility focus traversal in virtual nodes." into jb-dev 2012-05-15 10:48:44 -07:00