145 Commits

Author SHA1 Message Date
Jean-Michel Trivi
4fb7d882b2 Fix bug 2046705 where the output of the speech synthesizer is too low.
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.
2009-08-14 10:05:19 -07:00
Android (Google) Code Review
eccd6fdd0d Merge change 20673 into donut
* 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.
2009-08-11 15:18:29 -07:00
Jean-Michel Trivi
69e67a3e2e 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.
2009-08-11 15:09:45 -07:00
Hung-ying Tyan
0daf9d0612 Fix a bug in getSocketError() in VpnService. 2009-08-12 00:53:36 +08:00
Hung-ying Tyan
a2a29b0c8e Fix order of setting/saving state in VpnService.
and also refactor code making sure a thread won't grab two locks (which
may cause deadlocks in some corner cases).
2009-08-11 23:28:59 +08:00
Jean-Michel Trivi
fbe89ec640 Revert "Fix bug 2025765."
This reverts commit 9ebb59b8aa75cab1e5bb53983893b579abb63edd.
2009-08-04 09:23:18 -07:00
Eric Fischer
b282b0084e Import revised translations. DO NOT MERGE 2009-08-03 16:17:31 -07:00
Android (Google) Code Review
377b21e9f5 Merge change 9502 into donut
* 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.
2009-08-03 11:52:25 -07:00
Jean-Michel Trivi
9ebb59b8aa 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.
2009-08-03 11:07:46 -07:00
Hung-ying Tyan
935406709e 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.
2009-08-03 16:22:24 +08:00
Chung-yih Wang
dc1d5704a7 Fix the auto notification cleanup when vpn is disconnected.
+ add the log print if the browser give the incorrect data in addCertificate().
2009-08-03 15:11:36 +08:00
Hung-ying Tyan
fe8e48cdd5 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
2009-07-30 19:14:50 +08:00
Jean-Michel Trivi
ed06578edd Fix bug 2017664
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.
2009-07-29 11:26:10 -07:00
Android (Google) Code Review
cdb9e971d9 Merge change 8806 into donut
* changes:
  Mark the the airplane mode internal strings as not translatable.
2009-07-28 10:27:56 -07:00
Eric Fischer
2bfe11af6f Mark the the airplane mode internal strings as not translatable.
Bug 2017552
2009-07-28 10:17:25 -07:00
Charles Chen
0dbc6a44bb 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.
2009-07-27 14:09:58 -07:00
Hung-ying Tyan
21bd4af88a Simplify the VPN service implementation.
+ 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.
2009-07-27 06:13:11 +08:00
Jean-Michel Trivi
d702c357fc Increase the volume of the AudioTrack instance used for the speech synthesis. 2009-07-21 18:10:04 -07:00
Android (Google) Code Review
841ed8596a Merge change 8073 into donut
* 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.
2009-07-21 14:44:18 -07:00
Jean-Michel Trivi
cee3bd4d68 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.
2009-07-21 14:22:25 -07:00
Android (Google) Code Review
8ece3445e8 Merge change 8061 into donut
* changes:
  Throw a connecting exception when timed out.
2009-07-21 14:16:55 -07:00
Hung-ying Tyan
bb22192421 Throw a connecting exception when timed out. 2009-07-22 04:37:39 +08:00
Jean-Michel Trivi
a73d5cd055 Make sure the speech synthesizer proxy is a singleton in the TTS service. 2009-07-21 10:13:41 -07:00
Jean-Michel Trivi
5e11a6ad00 Prevent the setLanguage() method in TextToSpeech to change the language
for all current TextToSpeech instances by only caching the language
value so it is used with each subsequent utterance for this instance.
Synchronize calls to the engine around a global mutex since the engine
isn't thread-safe, except for the stop() call which is meant to interrupt
the synthesis loop.
2009-07-20 16:07:57 -07:00
Android (Google) Code Review
5f6133a100 Merge change 7833 into donut
* changes:
  Fixing the random audio mangling problem (TTS becomes incomprehensibly fast)
2009-07-20 09:51:21 -07:00
Hung-ying Tyan
2c53de6904 Stop a daemon before starting it
in case the daemon is not cleaned up in last session.
2009-07-19 09:33:56 +08:00
Charles Chen
342c329203 Fixing the random audio mangling problem (TTS becomes incomprehensibly fast) 2009-07-18 00:25:21 -07:00
Android (Google) Code Review
4b897aa99b Merge change 7829 into donut
* changes:
  Making sure that there are no calls made to the native TTS layer if the utterance is in the process of being canceled.
2009-07-17 21:39:26 -07:00
Charles Chen
b79370aad7 Making sure that there are no calls made to the native TTS
layer if the utterance is in the process of being canceled.
2009-07-17 20:57:21 -07:00
Android (Google) Code Review
39846e6919 Merge change 7819 into donut
* changes:
  Fix NullPointer in VpnServiceBinder.checkStatus().
2009-07-17 20:09:43 -07:00
Hung-ying Tyan
000c3ff943 Fix NullPointer in VpnServiceBinder.checkStatus(). 2009-07-18 10:20:10 +08:00
Jean-Michel Trivi
8b86da899a Remove obsolete playBuffer() method from the text-to-speech SynthProxy class. 2009-07-17 18:22:15 -07:00
Jean-Michel Trivi
19e53f7ae5 Delete global ref to the weak reference to the SynthProxy in the
native_finalize function, that was created in native_setup to prevent
leaking refs.
2009-07-16 20:13:12 -07:00
Jim Miller
82887f079f Update youtube bookmark 2009-07-16 15:33:10 -07:00
Charles Chen
c231fd0fe7 Fixing a race condition that causes synthesis to not be aborted
even if stop is called.
2009-07-16 11:29:34 -07:00
Android (Google) Code Review
83fa356589 Merge change 7356 into donut
* changes:
  Fixing a bug in how stop works - keep stop from always stopping the currently speaking item if that item does not belong to the app that is trying to do the stop.
2009-07-15 09:28:45 -07:00
Charles Chen
6f624239dc Fixing a bug in how stop works - keep stop from always stopping
the currently speaking item if that item does not belong to the
app that is trying to do the stop.

Also adds back the functionality of globally stopping speech that
was lost when utterance IDs were added (needed by screen reader).
2009-07-14 19:30:29 -07:00
Charles Chen
4a3368ffe8 Making sure that the audio buffers for speech are cleared
so that there are no leftovers which could cause mangled output.
2009-07-14 18:21:27 -07:00
Charles Chen
edb4fc3076 Cleaning up TtsService 2009-07-14 10:54:36 -07:00
Android (Google) Code Review
df01d6b50b Merge change 7064 into donut
* changes:
  Implementing utterance ID callbacks for silence and pre-recorded files (both generating and playing).
2009-07-14 09:18:46 -07:00
Android (Google) Code Review
3a27b29e41 Merge change 7069 into donut
* changes:
  Make VPN connect even when DNS is not present and other fixes.
2009-07-14 01:53:56 -07:00
Hung-ying Tyan
85646c1df3 Make VPN connect even when DNS is not present and other fixes.
* Changes:
  + As title.
  + Add two new states to VpnState: UNKNOWN and UNUSABLE.
  + Add more debug messages when stopping a service and when DNS being
    overridden.
2009-07-14 16:29:22 +08:00
Charles Chen
3ab2076d65 Implementing utterance ID callbacks for silence and pre-recorded files
(both generating and playing).
2009-07-13 21:21:01 -07:00
Android (Google) Code Review
8af55ca4dd Merge change 7008 into donut
* changes:
  Adding Utterance ID to the TtsService.
2009-07-13 18:25:01 -07:00
Charles Chen
78c9d0d2c5 Adding Utterance ID to the TtsService. 2009-07-13 17:46:19 -07:00
Android (Google) Code Review
c353268c20 Merge change 6968 into donut
* changes:
  Import new translations
2009-07-13 16:30:16 -07:00
Eric Fischer
0560209bcd Import new translations 2009-07-13 15:42:14 -07:00
Jean-Michel Trivi
9440bce855 Propagate optional audio stream type to the creation of the audio resources
to enable the playback of TTS content on various stream types.
2009-07-13 11:34:30 -07:00
Android (Google) Code Review
6cdc4f9c00 Merge change 6880 into donut
* changes:
  Fixing TTS breakage.
2009-07-13 09:25:20 -07:00
Hung-ying Tyan
c22ce6a738 Remove host IP from related VPN classes.
...since the daemon (racoon) gets the information by itself.
2009-07-13 19:31:08 +08:00