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)
This takes care of the conditions where the bluez audio drivers
are not up and we try to make the call to connect the sink.
This would get rid of the hack in Settings app.
Adds support for formerly-unimplemented methods:
glCurrentPaletteMatrixOES
glLoadPaletteFromModelViewMatrixOES
glMatrixIndexPointerOES
glWeightPointerOES
The bulk of the changes are related to implementing the two PointerOES
methods, which are implemented pretty much the same way as the existing
Pointer methods were implemented.
This change also changes the way glPointSizePointerOES is implemented,
making it act like all the other Pointer methods. (Previously it was
not handling non-direct-buffer arguments correctly.)
Fixes bug 2308625 "Support matrix palette skinning
in JSR239 and related APIs"
Also updated GLLogWraper to fix two bugs in GLLogWrapper that were
discovered while testing matrix palette skinning support:
a) Handle trying to print the contents of null-but-enabled buffers.
(It's not legal to draw with null-but-enabled buffers, and
in fact some OpenGL drivers will crash if you try to render in this
state, but there's no reason the GLLogWrapper should crash while trying
to debug this situation.
b) Don't read off the end of a vertex buffer with non-zero position when
printing the entire contents of the vertex buffer. Now we only print from
the current position to the end of the buffer.
Adds support for formerly-unimplemented methods:
glCurrentPaletteMatrixOES
glLoadPaletteFromModelViewMatrixOES
glMatrixIndexPointerOES
glWeightPointerOES
The bulk of the changes are related to implementing the two PointerOES
methods, which are implemented pretty much the same way as the existing
Pointer methods were implemented.
This change also changes the way glPointSizePointerOES is implemented,
making it act like all the other Pointer methods. (Previously it was
not handling non-direct-buffer arguments correctly.)
Fixes bug 2308625 "Support matrix palette skinning
in JSR239 and related APIs"
Also updated GLLogWraper to fix two bugs in GLLogWrapper that were
discovered while testing matrix palette skinning support:
a) Handle trying to print the contents of null-but-enabled buffers.
(It's not legal to draw with null-but-enabled buffers, and
in fact some OpenGL drivers will crash if you try to render in this
state, but there's no reason the GLLogWrapper should crash while trying
to debug this situation.
b) Don't read off the end of a vertex buffer with non-zero position when
printing the entire contents of the vertex buffer. Now we only print from
the current position to the end of the buffer.
This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group. Plus an API to turn this off for the process, which is
used by the system process.
This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
Merge commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7' into eclair-mr2
* commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7':
Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.
Fixed AudioFlinger::openInput() broken in change ddb78e7753be03937ad57ce7c3c842c52bdad65e
so that an invalid IO handle (0) is returned in case of failure.
Applied the same correction to openOutput().
Modified RecordThread start procedure so that a failure occuring during the first read from audio input stream is detected and causes
the record start to fail.
Modified RecordThread stop procedure to make sure that audio input stream fd is closed before we exit the stop function.
Fixed AudioRecord JAVA and JNI implementation to take status of native AudioRecord::start() into account
and not change mRecordingState to RECORDSTATE_RECORDING if start fails.
Merge commit 'd3bc1994b0c2c5e9c60fa748de47eebbe1984fda' into eclair-mr2
* commit 'd3bc1994b0c2c5e9c60fa748de47eebbe1984fda':
Don't accidentally signal multiple exceptions in setThreadPriority()
After signalling an exception due to set_sched_policy() failing (probably
because the thread in question had exited before this function was called), we
proceeded to call setpriority() anyway, and raised *another* exception when it
also failed. We don't do this any more; we just bail after signalling the first
exception.
Change-Id: I397b6a93c73d3f0870176e26759f2bec33e56205
Merge commit 'ca84ac88c7f6940677f9b796b21779e53965bf06'
* commit 'ca84ac88c7f6940677f9b796b21779e53965bf06':
base: process: Abort setting the process group if one of the threads fails to switch
Merge commit '0a42b811aea490a9a605b75f0320101f6eafd283' into eclair-mr2
* commit '0a42b811aea490a9a605b75f0320101f6eafd283':
base: process: Abort setting the process group if one of the threads fails to switch