Talkback produced a null pointer exception when being enabled and disabled
repeatedly due to a race condition between the onDestroy() of the service,
and the use of the service itself. The error occurs when one Talkback
thread initiates the destruction of the service (call to onDestroy()) when
it invokes shutdown() on its TextToSpeech instance (the client of the
service). At the same time, Talkback tries to say that "Accessibility" is
unchecked from another thread. During onDestroy(), the reference to the
TTS engine (sNativeSynth) is reset to null, which is used in the service
in speakInternalOnly(), and setLanguage().
The fix consists in the addition of a static variable that signals that
the service has entered onDestroy(). Once this flag is set, all method
invocations on sNativeSynth will be dismissed. Note that access to the
native resources used by sNativeSynth are synchronized at the native
layer, therefore preventing sNativeSynth.shutdown() to interfere with
a sNativeSynth.speak() call already underway.
* changes:
Fix#2025900. If a https request is canceled while openConnection is called and a ssl error happened, the http thread can be blocked for up to 10 min. Added code to detect this case and unlock the thread.
Merge commit '935406709edb9aaf6538e23e88ecfdf77cccd8ba'
* commit '935406709edb9aaf6538e23e88ecfdf77cccd8ba':
Issue an error when VPN connection is lost.
+ Add new error code CONNECTION_LOST to VpnManager.
+ Make VpnService call onError() instead of onDisconnect() when
connection is lost.
+ Make VpnService broadcast CONNECTION_LOST when that happens.
Merge commit 'dc1d5704a725d207b98de1b117847297958d9148'
* commit 'dc1d5704a725d207b98de1b117847297958d9148':
Fix the auto notification cleanup when vpn is disconnected.
In previous releases, we had combined well-known protocols
and custom protocols into a single field. This was because
of previous database constraints, which no longer exist
because of our new Data table approach.
The ContactHeaderWidget is a new widget that is used as a header banner
in various system applications, including contacts, mms, and gtalk.
Convenience methods are supplied for bind the widget to a specific
contact, which can be specified by contact id, email, or phone number.
* changes:
log opengl-call-with-no-context only once per thread, instead of for each function call
don't crash in Parcel when given a null (and therfore invalid) native_handle_t
Make setContentScrollBy return a boolean.
Necessary so that a caller of setContentScrollBy in WebView.cpp
can find out whether the page scrolled. Requires a change in
external/webkit/