summaryrefslogtreecommitdiffstats
path: root/core/jni
Commit message (Collapse)AuthorAgeFilesLines
* Disable GLES20Canvas on emu w/o native GLJesse Hall2011-12-021-1/+10
| | | | | | | | | | 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
* Eliminate hw.keyboards system properties.Jeff Brown2011-11-151-7/+14
| | | | | | | | | | | | 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
* Merge "Revert "Discard framebuffer rendering queues when discarding layers"" ↵Dave Burke2011-11-141-5/+0
|\ | | | | | | into ics-mr1
| * Revert "Discard framebuffer rendering queues when discarding layers"Dave Burke2011-11-141-5/+0
| | | | | | | | This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
* | Merge "Define, document, and test the behavior of very large ↵Mathias Agopian2011-11-141-3/+3
|\ \ | |/ |/| | | SurfaceTextures" into ics-mr1
| * Define, document, and test the behavior of very large SurfaceTexturesMathias Agopian2011-11-111-3/+3
| | | | | | | | | | | | | | | | | | updateTexImage() now throws a runtime exception when its native counterpart fails Bug: 5506633 Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f
* | Merge "Discard framebuffer rendering queues when discarding layers Bug ↵Mathias Agopian2011-11-141-0/+5
|\ \ | | | | | | | | | #5581817" into ics-mr1
| * | Discard framebuffer rendering queues when discarding layersRomain Guy2011-11-101-0/+5
| | | | | | | | | | | | | | | | | | Bug #5581817 Change-Id: If612846ec5f7793710fc4df152791fb32c506551
* | | am f1f0c873: Fix bug in TextLayoutCacheKey handling embedded nulls.Jeff Brown2011-11-111-1/+1
|\ \ \ | |_|/ |/| | | | | | | | * commit 'f1f0c873b1d119a19342cb67ca77b59607951659': Fix bug in TextLayoutCacheKey handling embedded nulls.
| * | Fix bug in TextLayoutCacheKey handling embedded nulls.Jeff Brown2011-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Fix NdefRecord byte-stream constructor." into ics-mr1Martijn Coenen2011-11-101-1/+1
|\ \ \ | |_|/ |/| |
| * | Fix NdefRecord byte-stream constructor.Martijn Coenen2011-11-101-1/+1
| | | | | | | | | | | | | | | Bug: 5601404 Change-Id: I30fada97487829a8b2ccc1a1e7a32837c29ddd70
* | | Merge "Terminate EGL when an app goes in the background" into ics-mr1Romain Guy2011-11-102-0/+28
|\ \ \
| * | | Terminate EGL when an app goes in the backgroundRomain Guy2011-11-103-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Initialize egl_cache with an app writeable file" into ics-mr1Romain Guy2011-11-103-0/+58
|\ \ \ \ | |_|/ / |/| | |
| * | | Initialize egl_cache with an app writeable fileRomain Guy2011-11-103-0/+58
| |/ / | | | | | | | | | Change-Id: I5dda234feab0fedd6e4179a80715ae20dee1c833
* | | Throw TransactionTooLargeException when Binder transaction fails.Jeff Brown2011-11-081-8/+26
|/ / | | | | | | | | | | | | | | | | | | | | 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
* | am bcf05a69: Fix bug #5553401 TextLayoutCache is too verbose: ↵Fabrice Di Meglio2011-11-021-1/+5
|\ \ | |/ | | | | | | | | | | "computeValuesWithHarfbuzz -- need to force to single run" * commit 'bcf05a69090f342d328f1537d1d83406b883290b': Fix bug #5553401 TextLayoutCache is too verbose: "computeValuesWithHarfbuzz -- need to force to single run"
| * Fix bug #5553401 TextLayoutCache is too verbose: "computeValuesWithHarfbuzz ↵Fabrice Di Meglio2011-11-011-1/+5
| | | | | | | | | | | | | | | | -- need to force to single run" - make single run case non verbose Change-Id: I5c3b87aeb613697233290ddecac3ca00f58f8313
* | Merge "Fix bug #5504346 Hung in native_getTextRunAdvances - DO NOT MERGE" ↵Fabrice Di Meglio2011-11-011-32/+44
|\ \ | | | | | | | | | into ics-mr1
| * | Fix bug #5504346 Hung in native_getTextRunAdvances - DO NOT MERGEFabrice Di Meglio2011-11-011-32/+44
| | | | | | | | | | | | | | | | | | | | | - better check of ICU returned values - default to single run if ICU is returning errors Change-Id: I836818bda4fc72a27b2201f01023cd23c5d99ecb
* | | am bd9b1528: Merge "Add cdma_rmnet4 to list of monitored interfaces" into ↵Robert Greenwalt2011-11-011-0/+1
|\ \ \ | |/ / |/| / | |/ | | | | | | ics-mr0 * commit 'bd9b1528051a1b257768fdbc5077a2d4473b02dd': Add cdma_rmnet4 to list of monitored interfaces
| * Merge "Add cdma_rmnet4 to list of monitored interfaces" into ics-mr0Robert Greenwalt2011-11-011-0/+1
| |\
| | * Add cdma_rmnet4 to list of monitored interfacesRobert Greenwalt2011-11-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Fix bug #5504346 Hung in native_getTextRunAdvances - DO NOT MERGEFabrice Di Meglio2011-11-011-32/+44
| |/ | | | | | | | | | | | | - better check of ICU returned values - default to single run if ICU is returning errors Change-Id: I836818bda4fc72a27b2201f01023cd23c5d99ecb
* | resolved conflicts for merge of 2d280f75 to ics-mr1Jeff Brown2011-10-301-0/+7
|\ \ | |/ | | | | Change-Id: I459e1cb0b60fb94dfb12862fedb9f8d949c226a7
| * Improve the slow query instrumentation.Jeff Brown2011-10-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Fix compilation issue when DEBUG_GLYPHS define is activated"Fabrice Di Meglio2011-10-201-1/+1
|\ \
| * | Fix compilation issue when DEBUG_GLYPHS define is activatedFabrice Di Meglio2011-10-191-1/+1
| | | | | | | | | | | | Change-Id: I61693952ffdc02f77058311fc982fbbf8df24c6c
* | | Notify a Bitmap is has changed when calling copyPixelFromBufferRomain Guy2011-10-181-0/+1
|/ / | | | | | | Change-Id: Ibff1a162edfe11473c5c167e764405bf83ec5822
* | Deprecate local-only CursorWindows.Jeff Brown2011-10-121-4/+3
|/ | | | | | | | | | | | | | | | 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
* Use ashmem for CursorWindows.Jeff Brown2011-10-112-230/+160
| | | | | | | | | | | | | | | | | | | | | 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
* Merge changes Idbfeb3cc,I03e8e2e7,Iff9eed78Jeff Brown2011-10-072-232/+108
|\ | | | | | | | | | | | | * changes: Fix regression in CursorWindow.getString() Bug: 5332296 Clean up CursorWindow lifetime. Bug: 5332296 Fix regression in CursorWindow.copyStingToBuffer. Bug: 5332296
| * Fix regression in CursorWindow.getString()Jeff Brown2011-10-071-2/+8
| | | | | | | | | | | | | | | | | | | | 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
| * Clean up CursorWindow lifetime.Jeff Brown2011-10-071-229/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Fix regression in CursorWindow.copyStingToBuffer.Jeff Brown2011-10-071-1/+1
| | | | | | | | | | | | Bug: 5332296 Change-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99
* | Merge "Restore broken CursorWindow.getType behavior. Bug: 5430009"Jeff Brown2011-10-071-2/+4
|\ \ | |/
| * Restore broken CursorWindow.getType behavior.Jeff Brown2011-10-071-2/+4
| | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Fix bug #5371117 Regression : The Hebrew / Arabic text behavior in ↵Fabrice Di Meglio2011-10-076-247/+187
|\ \ | |/ |/| | | ICS latest build is wrong"
| * Fix bug #5371117 Regression : The Hebrew / Arabic text behavior in ICS ↵Fabrice Di Meglio2011-10-076-247/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Clean up CursorWindow code.Jeff Brown2011-10-062-436/+353
|/ | | | | | | | | Bug: 5332296 The code is functionally equivalent, but a little more efficient and much easier to maintain. Change-Id: I90670a13799df05831843a5137ab234929281b7c
* Fix handling of "allow fds" state.Dianne Hackborn2011-10-031-3/+12
| | | | | | Didn't take into account nesting of bundles. Boo. Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
* Transfer large bitmaps using ashmem.Jeff Brown2011-10-031-6/+23
| | | | | | Bug: 5224703 Change-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808
* Add mechanism for Parcel to not allow FDs to be written to it.Dianne Hackborn2011-10-031-12/+31
| | | | | | This is to help implement issue #5224703. Change-Id: I026a5890495537d15b57fe61227a640aac806d46
* Merge "Fix potential issue with the TextLayoutCache with glyphs"Fabrice Di Meglio2011-10-031-1/+3
|\
| * Fix potential issue with the TextLayoutCache with glyphsFabrice Di Meglio2011-09-301-1/+3
| | | | | | | | | | | | - there may be a mapping of one char to many glyphs Change-Id: I48846d176d61dc8d8e513ca144fdf8ad805e63b7
* | Improve TextLayoutCache performances a bitFabrice Di Meglio2011-09-302-25/+38
|/ | | | | | | - the gain is about 5% and the timing is more stable - use compare_type() and strictly_order_type() Change-Id: Iab81869a8ba461ce786a468b6c59b8f34e8db838
* Merge "Fix bug # 5376028 Arabic text is kinda broken - disappearing glyphs"Fabrice Di Meglio2011-09-271-15/+4
|\
| * Fix bug # 5376028 Arabic text is kinda broken - disappearing glyphsFabrice Di Meglio2011-09-261-15/+4
| | | | | | | | | | | | - make the log clusters happy Change-Id: I73ca9512f0ca02549dad5270d6ec198ae9b00a4e
* | Merge "Switch to cfg based signal_poll command"Irfan Sheriff2011-09-261-28/+0
|\ \