StringBlock instances containing UTF-8 strings use a cache to convert
into UTF-16, but using that cache and then using a JNI call to NewString
causes the UTF-8 string as well as two copies of the UTF-16 string to
be held in memory. Getting the UTF-8 string directly from the StringPool
eliminates one copy of the UTF-16 string being held in memory.
This is part 1. Part 2 will include ResXMLParser optimizations.
Change-Id: Ibd4509a485db746d59cd4b9501f544877139276c
Some error messages would have clobbered some memory adjacent to them,
so increase the buffer sizes to fit them.
Change-Id: I9c4a3f3444bf57b5d2bd1b7a2546e16137747ad0
Fix potential invalid array access if start index is before the
beginning of the array or start + count is past the end of the array.
Update Javadoc for mirror to reflect the usage of "start" and "count".
Change-Id: I7e596de8eae5c518a2b4ff0d28604bd9c59f9d9d
Currently there is no way for an application built against the API to
access East Asian Width data from ICU. This adds an API for applications
to use to access it for correct drawing of international characters.
Change-Id: Iab50698ee555ae2ca8ab4b242cc14aa6e0dc3b48
parse3339 could read past the end of a string if the timezone was
truncated by one character causing intermittent failures in unit
tests.
Change-Id: I7e1724c6a7b464fdcb5e2b37469eb128303a51f1
Unicode.cpp used a packed data table for character data that essentially
duplicated ICU's functionality.
Change-Id: Ia68fe4ac94e89dc68d9a3f45f33f6e648a5500b7
The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.
The ui mode can be set, like it is done for the locale, as follows:
IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);
To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.
The automatic night mode switching will be added in a separate change.
instead of rolling our own trace/profile code in java, lets use
sqlite 3.6.22 features. turns out sqlite does a good job of
printing the sql statements - including the ones from the triggers.
At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.
Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.
Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)
Removed a lot of unneeded code.
Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.
Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
We were registering a match for 'AudioSink', but unregistering 'audio.sink'.
This does not immediately cause an error, but stress testing of BT off/on found
that the leak causes a DBus Limits Error after ~300 iterations. It then becomes
impossible to turn BT on again until a reboot.
Merge commit 'c93c70c4b849d31ff1b5e5cf2fb9462fd60e5da0' into eclair-plus-aosp
* commit 'c93c70c4b849d31ff1b5e5cf2fb9462fd60e5da0':
framework: storage: Ensure that filesystems are unmounted before shutdown/reboot
sequences (which nobody used) and streamline the API, adding
documentation in preparation for inclusion in the SDK.
Gut and deprecate EventLogTags, which unfortunately was put
into the public SDK (an oversight). Include the functionality
in EventLog proper, in a simpler and easier to use manner.
This change doesn't actually un-@hide anything, but it does
change it to @pending.
Merge commit 'c4978805dc8837570701629a9b8098e80804ad34'
* commit 'c4978805dc8837570701629a9b8098e80804ad34':
ImageButton example doesn't work. Default state should be at the last.
Time.parse3339 range checking and proper 'sec-frac' skip
Merge commit '0249c83ed014cc6a36caac30e55db62c29c204e2'
* commit '0249c83ed014cc6a36caac30e55db62c29c204e2':
throw if we have a null typeface native instance (so we don't crash in native code)