1641 Commits

Author SHA1 Message Date
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
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
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
2858749704 Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1 2011-11-14 00:52:09 -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
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
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
Romain Guy
8ff6b9ebee 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
2011-11-10 16:44:49 -08:00
Martijn Coenen
ef565c4393 Fix NdefRecord byte-stream constructor.
Bug: 5601404
Change-Id: I30fada97487829a8b2ccc1a1e7a32837c29ddd70
2011-11-10 15:20:14 -08:00
Romain Guy
a3cc20fff0 Merge "Initialize egl_cache with an app writeable file" into ics-mr1 2011-11-10 15:02:07 -08:00
Romain Guy
a958265827 Initialize egl_cache with an app writeable file
Change-Id: I5dda234feab0fedd6e4179a80715ae20dee1c833
2011-11-10 14:20:10 -08:00
Jeff Brown
0bde66a837 Throw TransactionTooLargeException when Binder transaction fails.
Bug: 5578022

Previously, Binder transactions failed silently, which caused
problems because apps would carry on assuming that the operation
had succeeded.  Often, the apps would crash soon due to a violated
invariant, but sometimes they managed to do some damage first...

Change-Id: Ia9cc98b3b761a8160e7c4e87507860b5912c0451
2011-11-08 20:42:11 -08:00
Fabrice Di Meglio
07b4b31453 am bcf05a69: Fix bug #5553401 TextLayoutCache is too verbose: "computeValuesWithHarfbuzz -- need to force to single run"
* commit 'bcf05a69090f342d328f1537d1d83406b883290b':
  Fix bug #5553401 TextLayoutCache is too verbose: "computeValuesWithHarfbuzz -- need to force to single run"
2011-11-02 02:17:48 +00:00
Fabrice Di Meglio
bcf05a6909 Fix bug #5553401 TextLayoutCache is too verbose: "computeValuesWithHarfbuzz -- need to force to single run"
- make single run case non verbose

Change-Id: I5c3b87aeb613697233290ddecac3ca00f58f8313
2011-11-01 17:58:00 -07:00
Fabrice Di Meglio
3b8d33b131 Merge "Fix bug #5504346 Hung in native_getTextRunAdvances - DO NOT MERGE" into ics-mr1 2011-11-01 13:30:24 -07:00
Robert Greenwalt
852d72b28e am bd9b1528: Merge "Add cdma_rmnet4 to list of monitored interfaces" into ics-mr0
* commit 'bd9b1528051a1b257768fdbc5077a2d4473b02dd':
  Add cdma_rmnet4 to list of monitored interfaces
2011-11-01 20:29:42 +00:00
Robert Greenwalt
bd9b152805 Merge "Add cdma_rmnet4 to list of monitored interfaces" into ics-mr0 2011-11-01 13:27:56 -07:00
Fabrice Di Meglio
904221a342 Fix bug #5504346 Hung in native_getTextRunAdvances - DO NOT MERGE
- better check of ICU returned values
- default to single run if ICU is returning errors

Change-Id: I836818bda4fc72a27b2201f01023cd23c5d99ecb
2011-11-01 12:47:51 -07:00
Robert Greenwalt
57c8ac6e13 Add cdma_rmnet4 to list of monitored interfaces
Lets the data traffic arrows work on LTE device on 1x,
but also lets telephony monitor for hung radios on 1X.

bug:5531630
Change-Id: I9fa25a5223afaa2e37373668c899ac28a95783fa
2011-11-01 11:51:27 -07:00
Fabrice Di Meglio
26e9ee28de Fix bug #5504346 Hung in native_getTextRunAdvances - DO NOT MERGE
- better check of ICU returned values
- default to single run if ICU is returning errors

Change-Id: I836818bda4fc72a27b2201f01023cd23c5d99ecb
2011-11-01 10:49:44 -07:00
Jeff Brown
bce4561708 resolved conflicts for merge of 2d280f75 to ics-mr1
Change-Id: I459e1cb0b60fb94dfb12862fedb9f8d949c226a7
2011-10-30 14:24:02 -07:00
Jeff Brown
89101cd9d9 Improve the slow query instrumentation.
On user-debug and eng builds, you can set the
"db.log.slow_query_threshold" system property to queries that
take longer than the specified number of milliseconds.
Set it to 0 to log all queries.

This property has been around for a while but it was implemented
poorly.  In particular, it *changed* the behavior of the query
by calling getCount() while holding the Db connection.
In normal operation, the query will not actually run until later.

By putting the timing logic into fillWindow() instead, we ensure
that we only measure queries that actually ran.  We also capture
cases where the cursor window gets filled multiple times.

Bug: 5520301
Change-Id: I174f5e1ea15831a1d22a36e9a804d7755f230b38
2011-10-28 14:58:39 -07:00
Fabrice Di Meglio
44cd3f8f3d Merge "Fix compilation issue when DEBUG_GLYPHS define is activated" 2011-10-20 18:58:03 -07:00
Fabrice Di Meglio
a99ed6284e Fix compilation issue when DEBUG_GLYPHS define is activated
Change-Id: I61693952ffdc02f77058311fc982fbbf8df24c6c
2011-10-19 16:40:02 -07:00
Romain Guy
2c183fa5bf Notify a Bitmap is has changed when calling copyPixelFromBuffer
Change-Id: Ibff1a162edfe11473c5c167e764405bf83ec5822
2011-10-18 17:56:06 -07:00
Jeff Brown
5e5d6d8ba0 Deprecate local-only CursorWindows.
There is no difference and has never really been a difference
between local-only and remotable CursorWindows.  By removing the
distinction officially in the API, we will make it easier to
implement CrossProcessCursor correctly.  CrossProcessCursor
is problematic currently because it's not clear whether a call
to getWindow() will return a local-only window or a remotable window.
As a result, the bulk cursor adaptor has special case handling
for AbstractWindowedCursors vs. ordinary CrossProcessCursors
so that it can set a remotable window before the cursor fills it.
All these problems go away if we just forget about local-only
windows being special in any way.

Change-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376
2011-10-12 22:19:41 -07:00
Jeff Brown
0cde89f5f0 Use ashmem for CursorWindows.
Bug: 5332296

The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized.  Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.

The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.

Improved the encapsulation of CursorWindow.  Callers shouldn't
need to care about details like how string fields are allocated.

Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.

Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
2011-10-11 11:03:19 -07:00
Jeff Brown
270928bd4a Merge changes Idbfeb3cc,I03e8e2e7,Iff9eed78
* changes:
  Fix regression in CursorWindow.getString() Bug: 5332296
  Clean up CursorWindow lifetime. Bug: 5332296
  Fix regression in CursorWindow.copyStingToBuffer. Bug: 5332296
2011-10-07 15:08:24 -07:00
Jeff Brown
4cc8bafb4b Merge "Restore broken CursorWindow.getType behavior. Bug: 5430009" 2011-10-07 15:07:56 -07:00
Jeff Brown
715311fa5a Fix regression in CursorWindow.getString()
Bug: 5332296

NewStringUTF expects modified UTF-8, so it barfs on UTF-8 strings
that contain high codepoints.  Even though it results in an extra
copy being performed, first convert to UTF-16, then call NewString.

Change-Id: Idbfeb3cc2c4b731834e4482848dcac2fa33ec2d0
2011-10-07 14:17:09 -07:00
Jeff Brown
7ce745248d Clean up CursorWindow lifetime.
Bug: 5332296

Removed dead code in SQLiteCursor related to the use of a background
query thread.  This code could result in CursorWindows being modified
concurrently or used after free.  This code is broken, unused and
is just in the way.

Added comments to explain how CursorWindow ownership is
supposed to work for AbstractWindowedCursors.  (There are still cases
where cursor windows get dropped on the floor without being closed.
Those will be taken care of in a subsequent patch.)

Cleaned up SQLiteQuery.fillWindow to eliminate duplicate code and
remove bits that were only needed for background loading, like
returning -1.

Change-Id: I03e8e2e73ff0c11df76d63f57df4c5ada06ae1cb
2011-10-07 13:31:00 -07:00
Jeff Brown
d0ff68da6a Fix regression in CursorWindow.copyStingToBuffer.
Bug: 5332296

Change-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99
2011-10-07 13:28:18 -07:00
Jeff Brown
aa32c30b81 Restore broken CursorWindow.getType behavior.
Bug: 5430009

Some CTS tests try to call getType on fields in empty
cursor windows or with out of bound column indices (-1).
Restoring the previous behavior of returning FIELD_TYPE_NULL
instead of throwing.  Fix this later.

Change-Id: I782bd02012474e7dabc5bb7ea2dc45e8b0c7ef25
2011-10-07 13:17:18 -07:00
Fabrice Di Meglio
75b071e744 Merge "Fix bug #5371117 Regression : The Hebrew / Arabic text behavior in ICS latest build is wrong" 2011-10-07 12:30:58 -07:00
Fabrice Di Meglio
5c863f741e Fix bug #5371117 Regression : The Hebrew / Arabic text behavior in ICS latest build is wrong
- welcome back start / count
- goodbye log clusters
- clean Paint code
- make private some functions as they should be
- improve memory allocation (create only one Shaper and reuse it for for shaping the runs in
the same input text)

Change-Id: I89a320c7f041319851308c8c9a919fbeafa82cdd
2011-10-07 11:22:39 -07:00
Jeff Brown
3bc6bbc92c Clean up CursorWindow code.
Bug: 5332296

The code is functionally equivalent, but a little more efficient
and much easier to maintain.

Change-Id: I90670a13799df05831843a5137ab234929281b7c
2011-10-06 14:40:13 -07:00
Dianne Hackborn
c04db7e067 Fix handling of "allow fds" state.
Didn't take into account nesting of bundles.  Boo.

Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
2011-10-03 21:09:35 -07:00
Jeff Brown
6579a9d6fe Transfer large bitmaps using ashmem.
Bug: 5224703

Change-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808
2011-10-03 17:28:13 -07:00
Dianne Hackborn
9ecebbfbf7 Add mechanism for Parcel to not allow FDs to be written to it.
This is to help implement issue #5224703.

Change-Id: I026a5890495537d15b57fe61227a640aac806d46
2011-10-03 16:58:41 -07:00
Fabrice Di Meglio
8ebf1efd66 Merge "Fix potential issue with the TextLayoutCache with glyphs" 2011-10-03 09:56:39 -07:00
Fabrice Di Meglio
155fa38a71 Fix potential issue with the TextLayoutCache with glyphs
- there may be a mapping of one char to many glyphs

Change-Id: I48846d176d61dc8d8e513ca144fdf8ad805e63b7
2011-09-30 17:24:35 -07:00
Fabrice Di Meglio
717060b076 Improve TextLayoutCache performances a bit
- the gain is about 5% and the timing is more stable
- use compare_type() and strictly_order_type()

Change-Id: Iab81869a8ba461ce786a468b6c59b8f34e8db838
2011-09-30 14:08:25 -07:00
Fabrice Di Meglio
8f0bb4bc17 Merge "Fix bug # 5376028 Arabic text is kinda broken - disappearing glyphs" 2011-09-27 18:45:57 -07:00
Irfan Sheriff
cbb62bb818 Merge "Switch to cfg based signal_poll command" 2011-09-26 22:11:03 -07:00
Fabrice Di Meglio
5293cea4e0 Fix bug # 5376028 Arabic text is kinda broken - disappearing glyphs
- make the log clusters happy

Change-Id: I73ca9512f0ca02549dad5270d6ec198ae9b00a4e
2011-09-26 18:29:54 -07:00
Irfan Sheriff
921df5cbc4 Switch to cfg based signal_poll command
Bug: 5352916
Change-Id: Id2ba7091a5e4cc4c1e14aa2c49e5b943519019bf
2011-09-26 16:30:15 -07:00