1692 Commits

Author SHA1 Message Date
Fabrice Di Meglio
b02d0ca555 Clean TextLayout code and remove RTL_USE_HARFBUZZ
- remove dependencies on ICU
- use TextLayouCache
- remove RTL_USE_HARFBUZZ define (we *are* using Harfbuzz now)
- also fix compilation warning

Change-Id: I022e11703438d07032e49e42724184f6bf16653e
2011-12-08 15:16:17 -08:00
Mathias Agopian
6779df2c28 Improve the VSYNC api a bit.
- add the ability to set the vsync delivery rate, when the rate is
set to N>1 (ie: receive every N vsync), SF process' is woken up for
all of vsync, but clients only see the every N events.

- add the concept of one-shot vsync events, with a call-back
to request the next one. currently the call-back is a binder IPC.

Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
2011-12-06 22:43:10 -08:00
Romain Guy
9c4b79af22 Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab
2011-12-06 16:37:10 -08:00
Jeff Brown
731b939de8 Merge "Add a new class to receive vsync events." 2011-12-05 21:19:41 -08:00
Jeff Brown
a03bdedbdf Harfbuzz assumes the length of the item is at least 1.
If the length is zero, then it will clobber memory at index -1
into the log_clusters array.

Explicitly handle the cases where the entire string or a single
run might have a length of 0.

Bug: 5705479
Change-Id: Ibbd3a4edcb7e1cad09c34091b42bb315776ea558
2011-12-05 20:33:50 -08:00
Jeff Brown
738ef87eac Ensure log_clusters array is big enough.
Bug: 5714171
Change-Id: I886f1af8af177827f052e6406a192f2fad5c2cec
2011-12-05 20:24:21 -08:00
Jeff Brown
0a0a1248cf Add a new class to receive vsync events.
Change-Id: I4e384336d2813752a6d65fda6a77e86113a4510c
2011-12-05 11:16:07 -08:00
Dianne Hackborn
315e468763 am 803caff1: am 003c15d7: Merge "Fix issue #5614559: Registering surface error in..." into ics-mr1
* commit '803caff1dc307a8895e9f3560112f969fa3f6f39':
  Fix issue #5614559: Registering surface error in...
2011-12-05 10:45:16 -08:00
Dianne Hackborn
61566cc193 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
2011-12-03 11:16:49 -08:00
Jesse Hall
a6062265bd am 54cf27d7: am 6d90c1c6: Merge "Disable GLES20Canvas on emu w/o native GL" into ics-mr1
* commit '54cf27d7bbe27b1096f5e060c540f07dac07f1d0':
  Disable GLES20Canvas on emu w/o native GL
2011-12-02 17:57:09 -08:00
Fabrice Di Meglio
868d1bdf3c Merge "TextLayoutCache Fix compilation issue" 2011-12-02 16:21:14 -08:00
Fabrice Di Meglio
5448f0378e TextLayoutCache Fix compilation issue
- fix compilation after refactoring and when setting DEBUG_ADVANCES to 1

Change-Id: I8eef7e3c4550c505325459948d3c8eebbdd5215a
2011-12-02 15:56:19 -08:00
Jesse Hall
4406345cd6 Disable GLES20Canvas on emu w/o native GL
When the emulator is run without '-gpu on', GLES20 isn't supported,
so claiming GLES20Canvas is available will lead to catastrophic
failure. This change makes GLES20Canvas available when compiled in
and either not running on the emulator, or running on the emulator
with native GL acceleration enabled.

Change-Id: I89c944f9e3c9585224f5aa0877335ea48ea4a468
2011-12-02 09:35:42 -08:00
Jeff Brown
32cbc3855c 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
2011-12-01 21:04:47 -08:00
Jeff Brown
4952dfd16a 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
2011-12-01 14:13:48 -08:00
Fabrice Di Meglio
2e5e96e9f0 TextLayoutCache Code cleaning
- remove commented code
- fix log

Change-Id: I8495b923c9426e33e645fe85ea04005520716f4e
2011-11-30 20:08:16 -08:00
Fabrice Di Meglio
a90d65265f Merge "Improve TextLayoutCache logging" 2011-11-30 15:58:49 -08:00
Fabrice Di Meglio
56e6e54927 Improve TextLayoutCache logging
- make logs more consistent and readable
- add more logs information

Change-Id: Idfe5bb53e9163c4c07a9b4267b66b0d0e164a498
2011-11-30 15:48:18 -08:00
Wu-cheng Li
020975236c Fix compile error in android_hardware_Camera.cpp.
Change-Id: I06b187deaacb98e01813dbfb8d92a332bfc08fc4
2011-11-30 11:07:08 +08:00
Wu-cheng Li
b4123ef0f9 Merge "Add camera focus move callback." 2011-11-29 18:45:06 -08:00
Irfan Sheriff
a5d24d42ff Merge "Redesign p2p around provision discovery" 2011-11-29 14:52:18 -08:00
Mathias Agopian
bb9ba8bae5 BitTube::read now handles EAGAIN
Change-Id: Iacda2386342ba0727bbf278f6c597488d5467bb8
2011-11-29 11:42:59 -08:00
Wu-cheng Li
9d062cfe94 Add camera focus move callback.
bug:5534973
Change-Id: Iaadcb2738ad040f94849be30ee531326f6199431
2011-11-29 14:28:05 +08:00
Irfan Sheriff
618455f7e7 Redesign p2p around provision discovery
= Provision Discovery:Is an optional discovery technique for figuring out
if a peer supports the specific WPS option. For compatibility reasons,
we will now always use it during connection but at the same time support
devices that request to support connection without it

= State machine and UI redesign around the new interaction

= Specify config methods explicitly for compatibility

Bug: 5599949
Change-Id: Ib79435dda472c43cc0746f56bf79ea896b2e33a4
2011-11-28 11:50:11 -08:00
Fabrice Di Meglio
55abad3904 Merge "Improve TextLayoutCache performances" 2011-11-22 11:23:49 -08:00
Fabrice Di Meglio
0af10b54bf Improve TextLayoutCache performances
- introduce TextLayoutEngine
- reduce calls to HB_NewFace as they are opening the font files under the cover
- refactor code for removing FontData structure
- fix logging

Change-Id: Id9658fcd454b74c34ecf4e9dfd1bd2201e04b988
2011-11-22 11:16:20 -08:00
Fabrice Di Meglio
3d0b23a58a Merge "Fix TextLayoutCache Skia Typeface caching" 2011-11-18 16:32:43 -08:00
Fabrice Di Meglio
a4f5aa87c7 Fix TextLayoutCache Skia Typeface caching
- fix reference passing for globals

Change-Id: I806dd4406d455b98c6be733847419b06b6774ccc
2011-11-18 15:23:53 -08:00
Jeff Brown
221096fdd6 am 4c0e0dd2: am 3e7497b4: Merge "Eliminate hw.keyboards system properties." into ics-mr1
* commit '4c0e0dd29dcce33e7521b11d01d21d9431f3b264':
  Eliminate hw.keyboards system properties.
2011-11-15 19:43:35 -08:00
Jeff Brown
1e08fe90df 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
2011-11-15 18:00:10 -08:00
Jeff Brown
bf677de46a Merge "Clean up GenerationCache." 2011-11-14 18:28:59 -08:00
Dave Burke
28a5ec9613 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"
2011-11-14 12:30:04 -08:00
Dave Burke
9d66da8ae6 Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1 2011-11-14 12:25:53 -08:00
Mathias Agopian
d8fa1ad452 am 738d8cae: am c93a151f: Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1
* commit '738d8cae2239d194429676f2889cfae3c8f7ba08':
  Define, document, and test the behavior of very large SurfaceTextures
2011-11-14 11:54:38 -08:00
Mathias Agopian
c93a151fde Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1 2011-11-14 11:49:42 -08:00
Dave Burke
7077506f99 Revert "Discard framebuffer rendering queues when discarding layers"
This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
2011-11-14 11:39:30 -08:00
Mathias Agopian
3f511aaf1c 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
2011-11-14 07:49:07 -08:00
Mathias Agopian
2858749704 Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1 2011-11-14 00:52:09 -08:00
Jeff Brown
d9e688cab3 Clean up GenerationCache.
Use const references to keys and values where appropriate to avoid
copying them unnecessarily.

Deleted some dead code.

Simplified a few pieces that were doing unnecessary redundant work.

Change-Id: Ib2145b7094a40db2d679e05dafe050fe1e87b846
2011-11-11 22:14:07 -08:00
Jeff Brown
ad169f49af am 0e4669c8: am f1f0c873: Fix bug in TextLayoutCacheKey handling embedded nulls.
* commit '0e4669c81009cea51d9d7b42b7ff665f44e78aa6':
  Fix bug in TextLayoutCacheKey handling embedded nulls.
2011-11-11 20:37:12 -08:00
Jeff Brown
0e4669c810 am f1f0c873: Fix bug in TextLayoutCacheKey handling embedded nulls.
* commit 'f1f0c873b1d119a19342cb67ca77b59607951659':
  Fix bug in TextLayoutCacheKey handling embedded nulls.
2011-11-11 20:34:48 -08:00
Jeff Brown
6f0464e79d am f1f0c873: Fix bug in TextLayoutCacheKey handling embedded nulls.
* commit 'f1f0c873b1d119a19342cb67ca77b59607951659':
  Fix bug in TextLayoutCacheKey handling embedded nulls.
2011-11-11 19:22:04 -08:00
Mathias Agopian
b89d88f531 Define, document, and test the behavior of very large SurfaceTextures
updateTexImage() now throws a runtime exception when its native
counterpart fails

Bug: 5506633

Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f
2011-11-11 18:44:35 -08:00
Fabrice Di Meglio
8661489545 Merge "Improve the logging in TextLayoutCache." 2011-11-11 16:58:10 -08:00
Jeff Brown
06daa7b6b2 Improve the logging in TextLayoutCache.
Also deleted some dead code.

Change-Id: I1feb5744177ae751ff1417f49f3c45139a35246b
2011-11-11 15:46:05 -08:00
Jeff Brown
f1f0c873b1 Fix bug in TextLayoutCacheKey handling embedded nulls.
We were not passing the length of the UTF-16 string to
String16::setTo.  As a result, it was copying the contents of
the text up to the first null it found.

First problem, these strings are not typically null terminated!

Second problem, if the string contained a null character, then
we might truncate it.  However, we only truncated the string
when the copy constructor was invoked (say, when we called
get() on the cache) but not in internalTextCopy() (before
adding the key to the cache).

As a result of the second problem, we would first search
the cache for a key that matched a partially copied truncated
string (potentially reading uninitialized memory that followed it).
Finding none, we would add the entry to the cache using
the correct key.

If the cache already had a value associated with the correct key,
then the put would fail, returning false.  Charging ever onwards,
we would add the size of the entry to the cache size.

Proceeding in this manner, it was possible for the cache to
believe it had less remaining space than it really did.  At that
point, it was possible for the cache to evict all entries and
yet still not think it had room to add a new one, so it would
continue trying to make space indefinitely.

Bug: 5576812
Change-Id: I05251594f6b2da0a5dc09f7200f04fe9100ec766
2011-11-11 15:41:40 -08:00
Akwasi Boateng
1333742bed 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.
2011-11-11 15:34:19 +00:00
Romain Guy
da96f8ac2c Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: If612846ec5f7793710fc4df152791fb32c506551
2011-11-10 19:23:58 -08:00
Martijn Coenen
99898de902 Merge "Fix NdefRecord byte-stream constructor." into ics-mr1 2011-11-10 17:40:20 -08:00
Romain Guy
50a66f0e9c Merge "Terminate EGL when an app goes in the background" into ics-mr1 2011-11-10 17:10:41 -08:00