Commit Graph

4184 Commits

Author SHA1 Message Date
Chris Craik
8a47d8eaec Merge "Clean up clipping and deferral logic" 2013-02-20 18:40:03 +00:00
Chris Craik
5d11676414 Clean up clipping and deferral logic
bug:8037003

-Merges replay methods
-Bounds checking for DrawBitmapMesh, DrawRects and DrawDisplayList
-Use clip as bounds for otherwise unbounded draw operations

Clip-as-bounds is correct for drawColor and functor, but other draw
operations (pos text, text on path, and layers) still need true bounds
calculation

Change-Id: I5d5149d2c624f01e3fe46628bf156e835e69b9d5
2013-02-19 18:56:10 -08:00
Romain Guy
9943155b4d Merge "Show Dalvik stack trace if an exception happens at draw time External bug: http://code.google.com/p/android/issues/detail?id=49379" 2013-02-19 23:34:30 +00:00
Romain Guy
d17043dcb4 Show Dalvik stack trace if an exception happens at draw time
External bug: http://code.google.com/p/android/issues/detail?id=49379

Drawing was previously wrapped in a try/finally block which was silently
swallowing user code exceptions. For instance, if a View throws a
NullPointerException in its onDraw() method, the previous implementation
would silently crash in native code.

This change extracts the section that builds display lists into a new
method that does not contain any try/finally block.

In addition, this change logs any exception thrown while drawing
display lists.

Change-Id: I0abffa4c9183d41aac8b0f8442813e56b957f08f
2013-02-19 14:12:55 -08:00
Romain Guy
88b556f8d4 Merge "Fix the build" 2013-02-19 21:11:25 +00:00
Romain Guy
4bac6c1a54 Fix the build
Change-Id: I2a0e0d5a25e0c26872dfffeecfb42bace25c0f3c
2013-02-19 13:10:25 -08:00
Dianne Hackborn
79ad13f172 Merge "Implement display overscan support." 2013-02-19 21:00:11 +00:00
Romain Guy
52036b19a5 Expose display list APIs
The exposed APIs are slightly simpler than the full APIs used internally.
Only APIs useful to applications are exposed.

Change-Id: Ie03014628d40ad5ef63dedbc52ce3def84429d54
2013-02-19 12:30:02 -08:00
Dianne Hackborn
c652de8141 Implement display overscan support.
The window manager now keeps track of the overscan of
each display, with an API to set it.  The overscan impacts
how it positions windows in the display.  There is a new set
of APIs for windows to say they would like to go into the
overscan region.  There is a call into the window manager to
set the overscan region for a display, and it now has a
concept of display settings that it stores presistently.

Also added a new "wm" command, moving the window manager
specific commands from the "am" command to there and adding
a new now to set the overscan region.

Change-Id: Id2c8092db64fd0a982274fedac7658d82f30f9ff
2013-02-19 12:08:58 -08:00
Mathias Agopian
ceec31b7da Merge changes I5a218ca1,I853a76d9
* changes:
  Refactoring: Rename SurfaceTextureClient to Surface
  clean-up following Surface split
2013-02-15 22:08:40 +00:00
Mathias Agopian
5280061794 Refactoring: Rename SurfaceTextureClient to Surface
Change-Id: I5a218ca11abeeec05e3a4c3cfc581bcc788814ea
2013-02-15 12:47:40 -08:00
Mathias Agopian
29479ebe10 clean-up following Surface split
Change-Id: I853a76d92d957ee38a36fcdd280d6407ec316987
2013-02-15 12:47:40 -08:00
Adam Powell
eca3e6065e Fix missing onSingleTapConfirmed calls in GestureDetector
Eliminate the short period of time between the tap timeout and long
press causing onSingleTapConfirmed not to be dispatched when apps
expect.

Bug 8124095

Change-Id: I9841ab2a8eb3fee7d57e744e1c8e0e42e108d5f6
2013-02-15 11:27:02 -08:00
Mathias Agopian
30d7ab9a10 fix docs build
Change-Id: I9819693cfa9ad5b8b15b62eab60ddd35a53c5531
2013-02-14 15:39:04 -08:00
Mathias Agopian
58a1ca6642 Merge "split Surface in two classes: SurfaceControl and Surface" 2013-02-14 20:25:08 +00:00
Mathias Agopian
a41b23d55d Merge "get rid of Surface.getIdentity()" 2013-02-14 20:22:33 +00:00
Mathias Agopian
3866f0d581 split Surface in two classes: SurfaceControl and Surface
SurfaceControl is the window manager side; it can
control the attributes of a surface but cannot push buffers
to it. Surface on the other hand is the application (producer)
side and is used to push buffers to the surface.

Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd
2013-02-14 12:19:11 -08:00
Romain Guy
10c0aa246d Merge "Implement support for drawBitmapMesh's colors array" 2013-02-14 18:51:28 +00:00
Romain Guy
ff316ec7a7 Implement support for drawBitmapMesh's colors array
Change-Id: I3d901f6267c2918771ac30ff55c8d80c3ab5b725
2013-02-13 18:39:43 -08:00
Mathias Agopian
f9136fd969 get rid of Surface.getIdentity()
Change-Id: I8b70d77cc1b38009ad71d92025c3beb481a18866
2013-02-13 17:01:42 -08:00
Craig Mautner
b0c0b1fd70 Remove unused App methods.
Now that the Task methods have replaced the App methods remove
the App methods.

Change-Id: I0e7432f2c6f99708759ed8c871d20eb5bd38c3c2
2013-02-13 15:24:14 -08:00
Chris Craik
c932760f66 Merge "Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE" 2013-02-13 23:14:58 +00:00
Romain Guy
93799ba01b Merge "Add a render buffer cache to reuse stencil buffers Bug #7146141" 2013-02-13 19:27:59 +00:00
Romain Guy
8d4aeb7111 Add a render buffer cache to reuse stencil buffers
Bug #7146141

This new cache is used in a similar way to LayerCache. It helps
reuse already allocated stencil buffers and thus avoid churning
memory on every frame.

Change-Id: I19551d72da52c40039e65904563600e492c8b193
2013-02-13 11:27:05 -08:00
Fabrice Di Meglio
0c33ecd209 Merge "Clean Paint.mBidiFlags as it is no longer used" 2013-02-13 19:11:50 +00:00
Chris Craik
7c1a49f5f5 Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE
This reverts commit 6c0307dd0a, reversing
changes made to a2cd828b74.

Conflicts:
	packages/SystemUI/res/values-sv/strings.xml

Change-Id: Ia178efe8b14751583d47b2826bfe3d3d5463dd2e
2013-02-13 10:50:20 -08:00
Fabrice Di Meglio
6d9fe5bd22 Clean Paint.mBidiFlags as it is no longer used
See bug #7623824

Change-Id: Ie2f9422821f6dcc73c99e8695f448e966b587b1d
2013-02-12 13:12:13 -08:00
Chet Haase
71c2405977 Fix getHitRect() to return correct rect for transformed child
Previous code incorrectly included pivot point in calculation, which
resulted in offset rectangle

Issue #8178031 getHitRect() incorrect when view is transformed

Change-Id: Ie6c4c51614577d208016584cf1bf4eed570f730d
2013-02-12 07:39:58 -08:00
Svetoslav
35ae8748fe Merge "Optimize loading of resource name when reported to accessibility." 2013-02-12 01:48:48 +00:00
Svetoslav
a33243eb64 Optimize loading of resource name when reported to accessibility.
Loading of the resource id name was unnecessarily complex and
was generating spam in the log as a result.

bug:8153518

Change-Id: Ib2c1118fd36b86ba8ce803ba3190fa01ab06e8c3
2013-02-11 17:35:18 -08:00
Fabrice Di Meglio
9dd4c5c686 Fix bug #7381967 Add RTL APIs to ViewParent
- add RTL apis to ViewParent
- remove awful and performance bottleneck casts in View during LayoutDirection,
TextDirection and TextAlignment resolutions.

Change-Id: I92a56b16382e13c28c1dad35f6f205620eb01bfe
2013-02-11 14:41:04 -08:00
Craig Mautner
005f6f6077 Merge "Reset SensorEventListener when listener reenabled." 2013-02-11 17:47:14 +00:00
Craig Mautner
eee29c445c Reset SensorEventListener when listener reenabled.
- Following disable and reenable of the WindowOrientationListener
the state was the same as before. State should be reset to default.

- Provide a Handler to the sensor task to deliver events on the
same Thread that WindowManagerPolicy operates on.

- Expand lock protection to all of WindowOrientationListener.

- Move WindowOrientationListener to policy package.

- Make SensorEventListenerImpl non-static.

Fixes bug 7964531.

Change-Id: I17cecf3d0b6d125cb3e4d7350c3adb3f62b684bd
2013-02-11 09:46:08 -08:00
Jeff Brown
39938752b3 Fix build break due to merge.
Change-Id: I08c39690ee9de825ff51afc7d102ee622af6ba13
2013-02-08 17:16:31 -08:00
Jeff Brown
e624e0c704 am 110fe9b3: am fe1f3a1b: Merge "Fix ViewRootImpl to find missing focus using D-pad."
# By Ki-Hwan Lee
# Via Android Git Automerger (1) and others
* commit '110fe9b303be527c30a8af95b6fb7afac12968b5':
  Fix ViewRootImpl to find missing focus using D-pad.
2013-02-08 15:56:04 -08:00
Jeff Brown
110fe9b303 am fe1f3a1b: Merge "Fix ViewRootImpl to find missing focus using D-pad."
# By Ki-Hwan Lee
# Via Gerrit Code Review (1) and Ki-Hwan Lee (1)
* commit 'fe1f3a1beff9f73f6a04bcc35239038a21bc38ff':
  Fix ViewRootImpl to find missing focus using D-pad.
2013-02-08 15:49:46 -08:00
Jeff Brown
fe1f3a1bef Merge "Fix ViewRootImpl to find missing focus using D-pad." 2013-02-08 23:29:11 +00:00
Romain Guy
b4c1dc1c15 Merge "Don't clip when drawing a layer" 2013-02-07 23:32:42 +00:00
Romain Guy
63696bfc05 Don't clip when drawing a layer
A layer will, by definition, clip its content already. The extra
clip added by the UI toolkit/renderer is wasteful and in some
situations very expensive. If a layered view is rotated, the clip
will be transformed into a non-rectangular region, thus forcing
the renderer to rely on the stencil buffer. The whole point of
using layers is to draw efficiently so let's avoid this case.

Change-Id: I813465f6468cc386b84a4d058c11a258fef8507a
2013-02-07 15:20:55 -08:00
Chris Craik
ccac8c9557 Merge "Correctly resume profileRendering" 2013-02-07 22:53:44 +00:00
Chris Craik
ae4f3204ec Correctly resume profileRendering
Ensure profileRendering reschedules a previously created profiler callback if
disabled and reenabled

Change-Id: I181ac5043966b99bb8d21e69ce4fdd7494102acb
2013-02-07 12:57:10 -08:00
Dianne Hackborn
34e0b05e28 Merge "App ops: track system windows, monitoring changes." 2013-02-07 08:03:14 +00:00
Dianne Hackborn
c2293025a2 App ops: track system windows, monitoring changes.
Change-Id: I273e82bdad66ada3bf0f7ec9176bc304b9ee1ee8
2013-02-06 23:59:56 -08:00
Jeffrey Brown
8ca4642b74 am edc93331: am a0d547b4: am dac4a90d: Merge "fix hover events consume issue"
# By Masanori Ogino
# Via Android Git Automerger (2) and others
* commit 'edc933318c9690761866a4da63b551ae09054104':
  fix hover events consume issue
2013-02-06 20:56:03 -08:00
Jeffrey Brown
edc933318c am a0d547b4: am dac4a90d: Merge "fix hover events consume issue"
# By Masanori Ogino
# Via Android Git Automerger (1) and others
* commit 'a0d547b43b3508c7253da234f529acf60d00fd13':
  fix hover events consume issue
2013-02-06 20:53:21 -08:00
Jeffrey Brown
a0d547b43b am dac4a90d: Merge "fix hover events consume issue"
# By Masanori Ogino
# Via Gerrit Code Review (1) and Masanori Ogino (1)
* commit 'dac4a90d656dca86bd14cd91d685c07d8a6b29a4':
  fix hover events consume issue
2013-02-06 20:50:13 -08:00
Jeffrey Brown
dac4a90d65 Merge "fix hover events consume issue" 2013-02-07 04:40:30 +00:00
Ki-Hwan Lee
4ef158baa3 Fix ViewRootImpl to find missing focus using D-pad.
By using D-pad, no-focus in non touch mode is rare but legal in a case like below.

1. The first request to get focus for a new activity is handled in the first
   performTraversals() call when activity is not ready for a complete view hierarchy.
   So there might be no focusable yet.
2. If the activity has some menus, ActionMenuView can be attached to the view hierarchy
   in the PhoneWindow.preparePanel() soon.
   So there can be focusables but still not focused.

Fixed ViewRootImpl.deliverKeyEventPostIme() to handle this case to resurrect a focus
if there are focusables.

How to reproduce:
(1) Open "API Demos" application -> Views -> Search View
(2) Select "Action Bar" item using the D-pad
(3) Try to focus the Search View, using the D-pad.

Change-Id: Ic379774f0307f168f0ed775d0f6a9078ac5c9713
2013-02-07 13:26:14 +09:00
Dake Gu
d3a72135c8 am bfb64e85: am 96111ddf: Merge "SimulatdDpad: fix NPE for event without device" into jb-mr1-aah-dev
# Via Android (Google) Code Review (1) and others
* commit 'bfb64e85e608889f18f4273b0f07a3d91d4082bd':
  SimulatdDpad: fix NPE for event without device
2013-02-06 15:11:29 -08:00
Dake Gu
bfb64e85e6 am 96111ddf: Merge "SimulatdDpad: fix NPE for event without device" into jb-mr1-aah-dev
# Via Android (Google) Code Review (1) and Dake Gu (1)
* commit '96111ddff7af61ce37fa8d9020d8e1eeba9095e8':
  SimulatdDpad: fix NPE for event without device
2013-02-06 15:01:17 -08:00