Merge commit '0950c5de864d1ad83ed96efc5c2d1569b4d36188' into eclair
* commit '0950c5de864d1ad83ed96efc5c2d1569b4d36188':
Fix bug 2046705 where the output of the speech synthesizer is too low.
Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.
BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).
IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java
TODO:
Javadoc
The language files for the SVOX Pico engine result in the output of
the synthesizer to be too soft, and barely audible on a phone speaker.
The change implements a low shelf filter on the output of the synthesis
and a drastic amplification. This works as intended because the
synthesized data contains too much energy in the lower frequencies that
is wasted on a phone speaker. Once filtered out, they leave room for
amplication to address the volume issue.
Packages that do not use android.permission.BACKUP_DATA will neither be backed
up nor restored. That permission is currently signature-only. In the future if
access to the backup/restore infrastructure is made available to arbitrary 3rd
party applications, the permission checks (and indeed, the permission itself)
can simply be removed.
Merge commit '7b98b666ec465259c676c90cb12f3d1b4e1c7cf7'
* commit '7b98b666ec465259c676c90cb12f3d1b4e1c7cf7':
Fix a bug in getSocketError() in VpnService.
Merge commit 'c22e0c8012828474e8aa2e29b441ef02728b0842'
* commit 'c22e0c8012828474e8aa2e29b441ef02728b0842':
Fix order of setting/saving state in VpnService.
* changes:
Fix bug 2043140. A race condition is encountered when an application invokes shutdown() on its TextToSpeech object while is has speak() requests still running. Since the TTS service destructor releases the synthesizer resources and sets the corresponding synth reference to null, an NPE was observed. The fix consists in catching NPEs whenever the sNativeSynth object is accessed, and return the matching error for the call. This change is a "low risk" version of the fix for bug 2025765i (same issue) which was reverted because it was higher risk than this CL: it affected the logic of each call to sNativeSynth. This CL only sets an error code when an NPE is fired because sNativeSynth is null.
A race condition is encountered when an application invokes shutdown()
on its TextToSpeech object while is has speak() requests still running.
Since the TTS service destructor releases the synthesizer resources and
sets the corresponding synth reference to null, an NPE was observed.
The fix consists in catching NPEs whenever the sNativeSynth object is
accessed, and return the matching error for the call.
This change is a "low risk" version of the fix for bug 2025765i (same
issue) which was reverted because it was higher risk than this CL:
it affected the logic of each call to sNativeSynth. This CL only sets
an error code when an NPE is fired because sNativeSynth is null.
* changes:
Fix bug 2025765. 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.
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.
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.
Merge commit 'b203a57d1f00fe509e0d065cd928099bb7d19d87'
* commit 'b203a57d1f00fe509e0d065cd928099bb7d19d87':
Add state saving mechanism to support proc restart
Also...
+ stop daemons before getting server IP;
+ remove setForeground();
+ add the DBG flag for Log.d calls.
PatchSet 3:
+ add CHALLENGE_ERROR and REMOTE_HUNG_UP to VpnManager
+ broadcast new error codes in VpnService
+ check local IP change instead of dns change
+ move removeStates() to VpnService.onFinalCleanUp()
PatchSet 7:
+ add encryption flag to PptpProfile
+ PptpService and MtpdHelper are revised accordingly
If the new system settings value for AIRPLANE_MODE_TOGGLEABLE_RADIOS
contains RADIO_WIFI, then the user will be allowed to enable Wifi
while in airplane mode.
Turning on airplane mode will still disable Wifi, but the user will
be free to reenable it in the Settings app.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Removed the TTS_ prefix in the TextToSpeech class to follow the standard naming convention.
Moved the TTS-related intents from the Intent class to TextToSpeech and TextToSpeech.Engine.
Renamed the TextToSpeech.Engine constants that are used as extras for the
ACTION_TTS_CHECK_TTS_DATA intent to prefix them with EXTRA_.
Cleaned up the other TextToSpeech.Engine constant to remove superfluous mentions of
"TTS" in the name.
* changes:
Support for selection of silent ringtone from the ringtone picker. This doesn't actually enable that, but adds the necessary code to make it work when enabled, and cleans up some ringtone related code.
Merge commit '79858fe2f5b088ad93e461ea94e544bfce3c2e09'
* commit '79858fe2f5b088ad93e461ea94e544bfce3c2e09':
Fixing bug #2008185 - problem with the TTS dropping
utterances under heavy load was caused by the speech
queue being locked. Switched to using a timeout with
tryLock so that the TTS service does not give up
immediately.
+ Remove NormalProcessProxy and ProcessProxy as they are not used
anymore.
+ Rename AndroidServiceProxy to DaemonProxy and simplify its
implementation as it does not extend to ProcessProxy anymore.
+ Execute connect() in VpnService in one thread, which simplifies socket
and error handling.
+ Modify service subclasses accordingly.
+ Execute connect() and disconnect() in VpnServiceBinder so that the
operations do not block the UI thread. Mark service as foreground only upon
connecting.
Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
Merge commit '7c94ceaeac65f4604fa49df6dce9a8d584f52da2'
* commit '7c94ceaeac65f4604fa49df6dce9a8d584f52da2':
Increase the volume of the AudioTrack instance used for the speech synthesis.
Merge commit '841ed8596a745d90822467bc2c0e13880bb59cc9'
* commit '841ed8596a745d90822467bc2c0e13880bb59cc9':
Reset the speech synth singleton to null when the service is destroyed
* changes:
Reset the speech synth singleton to null when the service is destroyed so it can be recreated when the service is initialized. In the interface with the native synthesizer library, close the lib in the finalizer, delete the global ref to the SynthProxy java object.
so it can be recreated when the service is initialized.
In the interface with the native synthesizer library, close the lib
in the finalizer, delete the global ref to the SynthProxy java object.
Merge commit '69a841a1649390d68b32b3bcf0c429a60c400cfa'
* commit '69a841a1649390d68b32b3bcf0c429a60c400cfa':
Make sure the speech synthesizer proxy is a singleton in the TTS service.