Commit Graph
143 Commits
Author SHA1 Message Date
Reece H. Dunn 48ba1899e4 tests: support the new Marathi language. 2015-07-25 12:26:25 +01:00
Reece H. Dunn 135f852598 getTtsLanguage: workaround NPE in >= Lollipop.
When there is no TTS engine selected, mTts.getVoice() will throw
a NullPointerException. This is a workaround to cope with this bug
in Android.
2015-05-31 19:56:35 +01:00
Reece H. Dunn c14cfbf912 SpeechSynthesis: test for and prevent duplicate voice entries 2014-10-30 16:07:49 +00:00
Reece H. Dunn 6fa2e34c7f Revert "DownloadVoiceData: check the mkdir return value"
This reverts commit 6ac54860a1.

This change was preventing the voice data from being installed.
2014-10-30 15:42:19 +00:00
Reece H. Dunn 58047cef67 [Android 5.0] TTS settings crashes on hye-arevmda 2014-10-30 14:23:58 +00:00
Reece H. Dunn f4adda18b4 Voice: use the ISO3 language and country codes
The Android 5.0 Text-to-speech output settings dialog checks that
the languages from CheckVoiceData use the ISO3 language and
country codes. This change matches that expectation.
2014-10-30 14:16:43 +00:00
Reece H. Dunn 736986d609 TextToSpeechService: support SynthesisRequest.getVoiceName 2014-10-30 13:14:48 +00:00
Reece H. Dunn 1c0e4cfaa9 TextToSpeechService: use a HashMap for the voices.
This improves the performance of looking up a voice by name.
2014-10-30 12:56:06 +00:00
Reece H. Dunn cfb2f9d3cb Fix TextToSpeech,setLanguage on Android 5.0.
As of Android 5.0, TextToSpeech.setLanguage calls the new
TextToSpeechService.onGetDefaultVoiceNameFor(lang,country,variant)
and uses the specified voice name.

The default Android 5.0 implementation of onGetDefaultVoiceNameFor
does not work with eSpeak. This provides a working implementation.

This fixes the TextToSpeechTest.testLanguages tests on Android 5.0.
2014-10-30 12:28:32 +00:00
Reece H. Dunn c9003c50ba TextToSpeech: test and fix onIsValidVoiceName 2014-10-29 19:50:43 +00:00
Reece H. Dunn f9912e0c41 TtsService: fix and test onGetVoice.
The default Android 5.0 implementation enumerates the available
locales. This enumerates the voices returned by eSpeak.
2014-10-29 18:21:31 +00:00
Reece H. Dunn 7846e91089 TtsService: add wrappers for the new voice APIs.
This adds method declarations for the new voice APIs, forwarding
them to the default implementations.
2014-10-29 15:59:48 +00:00
Reece H. Dunn d90e58f9cd Fix deprecated SynthesisRequest.getText usage. 2014-10-29 15:34:20 +00:00
Reece H. Dunn 3d2308e285 Use API 21. 2014-10-28 18:30:16 +00:00
Reece H. Dunn 6ac54860a1 DownloadVoiceData: check the mkdir return value 2014-10-28 17:32:16 +00:00
Reece H. Dunn 8fe359d0e4 Remove unused imports. 2014-10-28 16:47:32 +00:00
Reece H. Dunn 328f4cfdc9 Test and fix Java to IANA country code mapping. 2014-10-28 15:33:11 +00:00
Reece H. Dunn 6576742917 Test and fix Java to IANA language code mapping. 2014-10-28 15:23:53 +00:00
Reece H. Dunn 543223441d Update to support the voice changes (ia, bn) 2014-08-09 16:15:34 +01:00
Reece H. Dunn 0008e7d7d1 ImportVoicePreference.java: fix a crash when no dictionaries are found 2014-05-26 16:41:52 +01:00
Reece H. Dunn 000ee52846 tests: support the new languages and translations 2014-02-27 14:06:42 +00:00
Reece H. Dunn 66818b4e4a eSpeakActivity: Register the receiver in onStart to avoid an IllegalArgumentEcception. 2013-10-14 19:22:23 +01:00
Reece H. Dunn 8f82baa646 Fix updating the number of installed voices after installing them within the activity. 2013-10-14 15:12:23 +01:00
Reece H. Dunn a8f09fd4a9 Don't crash or trigger a voice update if there is no selected dictionary to import. 2013-09-17 13:58:33 +01:00
Reece H. Dunn 9c00360347 Add the ability to import an eSpeak dictionary file from the SD card. 2013-09-17 13:41:01 +01:00
Reece H. Dunn dea3ee743f FileUtils: Set the initial size of the ByteArrayOutputStream buffer. 2013-09-17 13:28:59 +01:00
Reece H. Dunn bbad97c194 Move the file-related helper methods to a FileUtils class. 2013-09-17 12:37:54 +01:00
Reece H. Dunn 8731c237af Update the copyright statements of several java files. 2013-09-16 15:54:51 +01:00
Reece H. Dunn b3d5e46b83 Remove unused import statements. 2013-09-16 15:52:04 +01:00
Reece H. Dunn ed305acc29 Move the Preference implementations to com.reecedunn.espeak.preference. 2013-09-16 15:40:05 +01:00
Reece H. Dunn cf9dc5b430 DownloadVoiceData.java: Move clearContents to the AsyncExtract inner class. 2013-09-15 15:59:58 +01:00
Reece H. Dunn e516356123 DownloadVoiceData.java: Inline onLanguagesInstalled to the onPostExecute callback. 2013-09-15 15:56:46 +01:00
Reece H. Dunn bd2d3803cc CheckVoiceData.java: dataPath is no longer used, so remove it. 2013-09-15 09:43:48 +01:00
Reece H. Dunn 9d30f6e7a0 CheckVoiceData.java: The filter method is no longer used, so remove it. 2013-09-15 09:40:33 +01:00
Reece H. Dunn f8f025da85 TtsSettingsActivity.java: Use the VoiceSettings.PREF_* constants for the preference names. 2013-09-15 09:26:58 +01:00
Reece H. Dunn 58ae6ea33f VoiceSettings.java: Add support for converting to a JSON object. 2013-09-11 13:15:40 +01:00
Reece H. Dunn 1891740f80 Add an explicit 'None' option to the 'Speak punctuation' setting. 2013-09-09 15:49:09 +01:00
Reece H. Dunn aebd02fa68 Remove the Android 2.x/3.x support code.
The Android 4.x+ code has changed a lot since the initial import
of the eyes-free codebase. A lot of bug fixes and improvements
have been made to it.

The eyes-free codebase had two different code paths:
  *  one for ICS (4.0) or later, using the Java-based TTS APIs
     provided by the Android platform;
  *  one for pre-ICS using an internal C++-based TTS API.

Thus, any bug fixes or improvements would have to be done to both
code bases if Android 2.x/3.x support is required. This is not
maintainable.

If pre-ICS support is to be re-added in the future, the plan will
be to:
  *  forward the C++-based APIs to the Java-based APIs via a
     compatibility layer;
  *  use a compatibility layer (Android Support Library?) for using
     the ICS settings API on pre-ICS.
2013-09-08 12:01:20 +01:00
Reece H. Dunn 602a14d76f TtsService.java: Use the locale from the SynthesisRequest, not the last onLoadLanguage call. 2013-09-07 14:45:27 +01:00
Reece H. Dunn edbeb09f21 Add support for the NVDA voice variants. 2013-09-06 17:01:19 +01:00
Reece H. Dunn c7a1556101 Rework the Voice variant preference to show a dialog with Category and Variant lists.
The original variant list UI resulted in a long, complex list that
was difficult to navigate. This change splits up that list into
more manageable groups.
2013-09-06 13:10:35 +01:00
Reece H. Dunn 596aa025cd InformationListAdapter: Use ArrayAdapter.getItem. 2013-09-06 11:32:32 +01:00
Reece H. Dunn fb64d30c3d TtsSettingsActivity: Rename createPreference to createSeekBarPreference. 2013-09-05 16:28:01 +01:00
Reece H. Dunn 7a359fdb69 Use the information_view layout for the custom preferences. 2013-09-05 15:02:10 +01:00
Reece H. Dunn 960770e80f Use the android title/summary IDs in the information_view.xml layout. 2013-09-05 15:01:29 +01:00
Reece H. Dunn 1de60cdc15 Rework the 'Punctuation level' (now 'Speak punctuation') preference to include a custom punctuation list. 2013-09-05 14:06:57 +01:00
Reece H. Dunn bc346db22e VoiceSettings.java: Support setting an espeak_punctuation_characters preference. 2013-09-04 21:41:35 +01:00
Reece H. Dunn 622e6043ef Expose the Punctuation Level setting. 2013-09-04 20:23:25 +01:00
Reece H. Dunn 3cde1f7e6a TtsService.java: Make onSynthesizeText use VoiceSettings to get the voice parameters. 2013-09-04 17:59:56 +01:00
Reece H. Dunn 0086ec61c3 VoiceSettings.java: Support reading the espeak_volume preference. 2013-09-04 17:48:49 +01:00