Commit Graph

1175 Commits

Author SHA1 Message Date
Romain Guy
09b7c91de7 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
2011-02-02 20:28:09 -08:00
Romain Guy
62687ec12c Don't clobber the local dirty rect after rendering a layer.
Bug #3417254
Bug #3413433

Change-Id: I8045e9ec414ebe4ce4d38124142a00726d2c634d
2011-02-02 15:44:19 -08:00
Romain Guy
beff8d83ef Fix incorrect dirty rectangle transformation in hardware layers.
Bug #3413433

Change-Id: Iba201c7c4b4f11937797f3afcbf20c5a7395be25
2011-02-01 23:53:34 -08:00
Romain Guy
3a3133d876 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
2011-02-01 23:01:43 -08:00
Romain Guy
849d0a37cf 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
2011-02-01 17:56:09 -08:00
Romain Guy
f222956c95 Merge "Correctly set the alpha of a hardware layer before drawing it. Bug #3410819" into honeycomb 2011-02-01 14:00:35 -08:00
Romain Guy
54229ee5eb Correctly set the alpha of a hardware layer before drawing it.
Bug #3410819

Change-Id: I3ebaca2233f4edf5b59d84ec7706555056a1a4b1
2011-02-01 13:05:16 -08:00
Chet Haase
2cd52c809e Merge "Fix invalidation issue with actionbar items" into honeycomb 2011-01-31 19:08:28 -08:00
Chet Haase
f28595e47d 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
2011-01-31 18:52:12 -08:00
Joe Onorato
6ab77bd5b3 Mask out the non public bits, not the public ones.
Bug: 3406103
Change-Id: I44b16700567cb2bf76efe9e8c1f9c82d0eaa8f10
2011-01-31 11:21:10 -08:00
Joe Onorato
ac0ee89bd9 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
2011-01-30 15:38:30 -08:00
Joe Malin
51990f9b0c Merge "sdk doc change: Copy/Paste/Drag/Drop" into honeycomb 2011-01-30 09:45:59 -08:00
Joe Onorato
957a189bf2 Don't force all views to be asking for lights out just because somebody did.
Bug: 3396308
Bug: 3395422
Change-Id: Ic97a689bda12d3b53a6ecace504d411f2beb87d5
2011-01-28 16:36:16 -08:00
Romain Guy
b0c939adfa Merge "Prevent crash when detaching a SurfaceView. Bug #3400461" into honeycomb 2011-01-28 14:17:45 -08:00
Joe Onorato
cfd0bafdeb 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.
2011-01-28 13:40:45 -08:00
Joe Onorato
94eb3d0f7e Merge "Plumb whether an input view is actually visible or not through from the IME to the status bar." into honeycomb 2011-01-28 13:40:28 -08:00
Dianne Hackborn
420829ef78 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
2011-01-28 12:21:54 -08:00
Romain Guy
01d5edc49a Prevent crash when detaching a SurfaceView.
Bug #3400461

Change-Id: I837d9d47b12bc5a8798b6dbb720de43b7539c3bc
2011-01-28 11:28:53 -08:00
Dianne Hackborn
d23316bc8b Merge "Maybe fix issue #3358322: Status and nav bar died while watching youtube" into honeycomb 2011-01-27 22:47:50 -08:00
Joe Onorato
6478adc6b4 Allow independent control of the back and the other navigation buttons.
Bug: 3363046
Change-Id: Icc312fc9ffbf2f584dc541489c9769b07ed50315
2011-01-27 21:41:30 -08:00
Joe Onorato
7bb8eeb90c Allow the status bar disable flags to be used as View's system ui visibility fields.
Bug: 3363046
Change-Id: I50ba06ed9a4d2f5d0e0c807437aea9900f44fee9
2011-01-27 21:41:24 -08:00
Joe Onorato
857fd9b856 Plumb whether an input view is actually visible or not through from the IME
to the status bar.

Bug: 3391067
Change-Id: I049531155bf7ee0b29874916c0b5b0a45b73c09e
2011-01-27 21:19:46 -08:00
Adam Powell
f95e8c5bb2 Merge "Fix bug 3400213 - MenuItem ignores String spannable colors" into honeycomb 2011-01-27 17:18:11 -08:00
Dianne Hackborn
83a6f450bd 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
2011-01-27 17:17:19 -08:00
Adam Powell
6650185cae Fix bug 3400213 - MenuItem ignores String spannable colors
Make MenuInflater preserve spannable strings.

Change-Id: I1e01827def3a87ea7814078df53debcc35f245d2
2011-01-27 17:10:40 -08:00
Adam Powell
d1f94e36da Merge "Fix bug 3399725 - externally reported issue 14317: android:scrollbarSize attribute does not work in ScrollView tag" into honeycomb 2011-01-27 15:58:18 -08:00
Romain Guy
fea12b87f2 Catch exception when ViewRoot's surface is not valid.
Bug #3399426

Change-Id: Id4e0b8714c9520c4e84e81c2978752d46c912b6b
2011-01-27 15:36:40 -08:00
Adam Powell
3ba6774263 Fix bug 3399725 - externally reported issue 14317:
android:scrollbarSize attribute does not work in ScrollView tag

Change-Id: Ic2cc908936991f473ccfc60d9c2711edfd45c132
2011-01-27 14:25:44 -08:00
Joe Malin
32736f085b sdk doc change: Copy/Paste/Drag/Drop
Change-Id: Ifb9ed554ae1a72ce6badff1c79d95c02f30525e9
2011-01-27 13:40:04 -08:00
Chet Haase
f4ac547f86 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
2011-01-27 10:30:25 -08:00
Chet Haase
e38ba4acbe 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
2011-01-27 01:25:18 -08:00
Chet Haase
a45c056e62 Merge "Fix display List bugs" into honeycomb 2011-01-26 23:49:23 -08:00
Chet Haase
678e0adbdb 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
2011-01-26 22:44:52 -08:00
Romain Guy
4f09f5417b Don't draw the same triangles several times.
Bug #3388197

Change-Id: Ief1dfd9447f144e9992340a173d2893e5e049129
2011-01-26 22:45:16 -08:00
Dianne Hackborn
2dc9c784b2 Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb 2011-01-26 19:04:15 -08:00
Dianne Hackborn
63042d6a03 Fix issue #3382992: IME close animation stutters from URL bar
Gross hack is grosser.

Change-Id: I0a34bf1d7c16c547402318f24776a5f7e8b7552b
2011-01-26 18:56:29 -08:00
Romain Guy
0c75622cf8 Fix crash in movie studio.
Change-Id: I06acb0b39cc3839cf7abb58b32dec9b9bec424d6
2011-01-26 18:48:38 -08:00
Romain Guy
f2499fa434 Make sure that we update SurfaceView's window with display lists.
Bug #3395487

Change-Id: Idaef3953a596ee3b4049a2d8aef6dda676b1545b
2011-01-26 18:31:23 -08:00
Romain Guy
9e7c2c6ded Merge "Optimize invalidate() calls." into honeycomb 2011-01-26 15:40:16 -08:00
Romain Guy
0fd89bf722 Optimize invalidate() calls.
Change-Id: I09d99290ca74f96046702bc2604f125a1276ce05
2011-01-26 15:41:30 -08:00
Romain Guy
2b1847ea60 Remove unused API
Change-Id: I1714fd82a64b752f0350ef4ef9179ce19e089c6a
2011-01-26 13:43:01 -08:00
Romain Guy
940df6dd83 Merge "Remove unused API" into honeycomb 2011-01-26 13:41:10 -08:00
Joe Onorato
1aadb2108d 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.
2011-01-26 11:46:58 -08:00
Romain Guy
d30b36d3cd Fix NPE in YouTube.
Bug #3385339

Change-Id: Id7b307994e343cdb808161a7fae590536f04252e
2011-01-26 10:54:43 -08:00
Romain Guy
f5b27e35c1 Merge "Fix NPE in YouTube. Bug #3385339" into honeycomb 2011-01-26 10:54:23 -08:00
Joe Onorato
14782f705e 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
2011-01-26 10:47:39 -08:00
Chet Haase
ace9233b11 Merge "Fix invalidation problem with display lists" into honeycomb 2011-01-26 06:30:48 -08:00
Chet Haase
77785f9d25 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
2011-01-25 23:22:09 -08:00
Romain Guy
f90f8171e6 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
2011-01-25 22:53:24 -08:00
Jeff Brown
3168a13723 Merge "Fix surface frame size reporting." into honeycomb 2011-01-25 14:21:00 -08:00