Commit Graph

48 Commits

Author SHA1 Message Date
Dianne Hackborn
1cf2077c37 Fix issues in Settings: 16660423, 13172381, 16868094
Issue #16660423: Stability: ArrayIndexOutOfBoundsException in settings:
at com.android.settings.fuelgauge.BatteryHistoryChart$ChartData.draw(
BatteryHistoryChart.java:109)

Issue #13172381: No content description in Battery charging section

Issue #16868094: Settings crash on switching to landscape mode with
"Google Text-to-speech" settings icon selected

Change-Id: I94d0e83f72d571eb90aad6742acabce56c0298ec
2014-08-10 16:32:08 -07:00
Przemyslaw Szczepaniak
c0bffe7148 Fix showing list of languages for picoTTS
PicoTTS have a tendency to return a
CHECK_VOICE_DATA_MISSING_DATA for its CHECK_TTS_DATA
activity. This blanks the language selection preference.
The fix is to show languages selection for all
results of CHECK_TTS_DATA that are not a total failure
(TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL).

Change-Id: I984d7cc9b0dc830ad2b8195a820f9b6fc4ddf1e0
(cherry picked from commit e0d519f3cf)
2014-07-21 15:38:16 +00:00
Przemyslaw Szczepaniak
91b620082c Make TTS setting transition animation consistent.
Bug: 16345246
Change-Id: I729b2f35735ab03424acca07c4a9eb27541a356b
2014-07-17 15:56:50 +01:00
Craig Mautner
5a98d43681 Take TextToSpeechSettings out of endless loop
Launching an Activity using startActivityForResult() every time
you are in onResume() is a recipe for endless looping. I.e. every
time the launched Activity finishes it will be relaunched because
the launching Activity reenters onResume().

This change keeps the GetSampleText activity from being launched
from onResume if we already have the sample text and the Locale
hasn't changed since the last onResume.

Fixes bug 15951054.

Change-Id: I65d9070df93396d8d3a45a6673ae56826f418122
2014-06-28 14:32:08 -07:00
Przemyslaw Szczepaniak
6ac8ddb898 Normalize TTS default locale before #toDisplayString
TTS is... special in regard of Locale instances it uses.
Recently ISO-3166 alpha 3 country codes went out of spec, so
"English (GBR)".

Bug: 15741357
Change-Id: I022105acad9d319d5e09231be340405d797c84c4
2014-06-19 15:50:50 +00:00
Przemyslaw Szczepaniak
72a00c459c Merge "Expose "default tts locale" to the TTS V2 API." 2014-06-10 21:31:35 +00:00
Przemyslaw Szczepaniak
5882320b63 Expose "default tts locale" to the TTS V2 API.
Accommodate for the changes in frameworks/base. TtsEngines now
uses Locale objects for setting/getting the default locale
for TTS engines.

Change-Id: I518ace8d16d17b2c36a62e4e9d14a3568a38f68e
2014-06-12 11:44:43 +01:00
Alan Viverette
2c461006b8 am 6bfec2d6: Remove all dialog icons in Settings
* commit '6bfec2d6b197068dd355bd1742179fe3da07136f':
  Remove all dialog icons in Settings
2014-06-11 13:07:58 +00:00
Alan Viverette
6bfec2d6b1 Remove all dialog icons in Settings
BUG: 15474733
Change-Id: I43ab10a3bbcabdac6109abf80266f1c4b52bf6fb
2014-06-10 13:41:07 -07:00
Przemyslaw Szczepaniak
3b60858e9c Make TTS "Listen to an example" survive rotation.
Bug: 15019145

Change-Id: Id94e32947c58911ded3e4025653b415453cabbbb
2014-05-28 17:04:08 +01:00
Przemyslaw Szczepaniak
abf3886ed9 Merge "Add explicit "use system language" TTS language." 2014-05-13 09:53:17 +00:00
Przemyslaw Szczepaniak
098b4a7eb7 Add explicit "use system language" TTS language.
Previously, if user set the TTS engine default language to the system
language, Settings app would save its value as empty string - which
is interpreted as "use system language", and makes it follow the change
of the device locale. This change introduces explicit "Use system language"
as an entry in the TTS default engine picker. This makes it consistent
with other pickers, like ones for keyboard and spellchecker.

Change-Id: Ibb4189be30bb9691ef2bd10e7fff883318eceae7
2014-05-12 16:13:14 +01:00
Przemyslaw Szczepaniak
1cb159a739 Preserve list of available TTS locales on rotation.
Bug: 13637881
Change-Id: I966005ec34b3f9f1a1354104cae119678c9b3fc4
2014-05-12 13:48:33 +01:00
Przemyslaw Szczepaniak
cc91f6ff66 am 7a5911a9: am 375545e2: am 6829c48c: Merge "Fix F/C in TTS settings"
* commit '7a5911a96d158567bac1e892aee813af1b563a46':
  Fix F/C in TTS settings
2014-03-13 23:12:10 +00:00
Shuhrat Dehkanov
f365216391 Fix F/C in TTS settings
This is an attempt to fix uncaught MissingResourceException
that would be thrown if default language of selected engine is
set to a locale that has no 3-letter country/language code.

Please see https://code.google.com/p/android/issues/detail?id=63122

Change-Id: Iccb2a55f5f7a97819310fd888559650fe7febe4a
Signed-off-by: Shuhrat Dehkanov <k@efir.uz>
2014-03-13 12:06:17 +09:00
Przemyslaw Szczepaniak
574fb952a1 Fix crash caused by failed TTS CheckVoiceData.
Bug: 13112824
Change-Id: Idb46e499fc7982eb92b6ed1a88d7a0725896b4ef
2014-02-21 10:17:57 +00:00
Fabrice Di Meglio
263bcc8b73 Use Drawer in Settings app
- get rid of PreferenceActivity as much as we can and use fragments instead
- add Drawer widget
- add Dashboard high level entry into the Drawer (but this is work in progress and would be done in another CL)
- add bypass of fragment's Header  validation when launched from the Drawer but *force* validation if external
call thru an Intent

Be aware that WifiPickerActivity should remain for now a PreferenceActivity. It is used by SetupWizard and should
not trigger running the SettingsActivity's header building code. SetupWizard is a Home during the provisionnig process
and then deactivate itself as a Home but would make the Home header to appear in the Drawer (because momentarily we
would have two Home).

Also, verified that:

- the WiFi settings still work when called from SetupWizard
- when you have multiple Launchers, the Home header will appear in the list of Headers in the Drawer

Change-Id: I407a5e0fdd843ad7615d3d511c416a44e3d97c90
2014-02-03 16:36:46 -08:00
Przemyslaw Szczepaniak
eb306b4c15 Fix for empty "Listen to an example" string.
Because of bug in previous TTS related change (bugfix for hiding
"Play TTS sample" if default language is not supported), settings
stopped to call getSampleText() when it was established that current
default language is supported.

This change makes sure that getSampleText() is always called if language
is supported.

Bug: 10672535
Change-Id: I83bf7056e12ddbe2322b6a3f04552802037626aa
2013-09-10 10:35:57 +01:00
Przemyslaw Szczepaniak
80c2b9b0c4 Hide "Play TTS sample" when locale is not settable as default
Due to a bug, it's possible for settings to show status telling
that locale is available, despite locale not being in list of
locales settable as TTS default locale. This change fixes it.

Bug: 10630713
Change-Id: I21f8487fc6c1ea7812aeffbc26dfa5fc0a8afa3b
2013-09-05 13:05:04 +01:00
Przemyslaw Szczepaniak
0e01f128ab Fix for TTS settings crash.
Play an example is wrongly enabled before TTS engine is initialized.

Bug: 10288565
Change-Id: I9204d8dda7f8de5c67aba2bb73b25589eeac5cef
2013-08-13 13:05:48 +01:00
Przemyslaw Szczepaniak
6ada2d5547 State that TTS language is not supported if not in available list.
Bad TTS implementation of isLanguageAvailable may cause settings to
think that given language is available. This change adds additional
check, by searching locale in list of available locales returned
form TTS CheckVoiceData activity.

Bug: 9982002
Change-Id: Ic91cd1218349b8241e3f40f2343df52f3d900544
2013-08-06 13:55:52 +01:00
Przemyslaw Szczepaniak
4c85c1d6f4 Disable TTS "Listen to the example" if not supported
If current TTS locale (most of the cases same as device locale) is
not supported by the TTS engine, field for setting synthesis speed
and "Listen to the example" will be disabled.

Added new field, "Default language status" to indicate level of support
for currently selected language. It can take one of three messages:
%s is fully supported
%s requires network connection
%s is not supported
Where %s is locale display name.

Added example string that will provide a fallback for example text
if not provided by Settings or TTS engine.

Change-Id: Ia2a920a71197a85d3812fc8df9dfed4ebe6b515f
Bug: 9982002
2013-08-05 10:55:07 +01:00
Przemyslaw Szczepaniak
6dcdfab906 Make TTS language setting track system language.
TTS engine default locale is set independently from the system locale.
If TTS engine default locale is not set, it defaults to the system locale.
If user decides to set TTS locale, ability to default to the current system
locale is lost (until device is wiped).

This change makes settings wipe the TTS engine default locale value if user
selects language that is system language. This allows TTS to track system
language if user changes it.

If system language is not available in TTS, language field is set to
"language not selected" value.

This change require a small change in framework/base to make previously
private method public (TtsEngines.getDefaultLocale).

+ Selected language is displayed in language preference summary (matches
all other language preferences)
+ Removing and then adding "language" and 'install languages' preferences
looks glitchy, not they are disabled (grayed out) if unavailable.

Bug: 8613986
Change-Id: Ic4bde97ef7406adb64cc03efbe660275360ba3af
2013-05-21 12:30:21 +00:00
Jeff Sharkey
e6c5003278 Remove guava dependency to speed up build.
Change-Id: I4cee4b6324e72e94c1241e10f3cdc507d65512cd
2013-03-06 11:47:26 -08:00
Przemyslaw Szczepaniak
a7d2c93c2b Fix for setting app not playing tts sample.
Bug: 7666482
Change-Id: I36a775312d62d3d7a5ee600b540a328b377b46c9
2012-12-14 07:26:39 -08:00
Amith Yamasani
9a03c8cfb2 am 004970da: am 0df6a277: Merge "Grey out settings icon when it is in disabled state"
* commit '004970da50ddbce80321b50536625e149ff1f825':
  Grey out settings icon when it is in disabled state
2012-12-12 09:57:37 -08:00
Przemyslaw Szczepaniak
820dc4c910 Fix radio buttons when user cancel TTS engine change
When user decides to change tts engine, and if it's not system one,
then he sees dialog warning about possibility of sending all kinds of
data to the engine.

If user chooses to not changes engine, radio button still sticks to the
new position.

This change delays all operations regarding changing current engine
after user closes dialog. It also unsets the radio button if user chooses
to cancel it.

Bug: 7628362
Change-Id: I977abe71b3547f2545a971fc0d69179be6fafb44
2012-11-30 04:48:58 -08:00
Shuhrat Dehkanov
96577681a2 Grey out settings icon when it is in disabled state
If engine is not active, its settings icon is disabled in
Settings > Language & input > Text-to-speech output screen.
Currently, settings icons for all TTS engines are shown at
the same opacity. This fix dims settings icons of not-selected
engines.
Make sure that more than one TTS engine are installed on the
target, for e.g., Google Text-to-speech Engine and Classic
Text To Speech Engine (SVOX Classic TTS).

Additionally, since setAlpha() is used in multiple places within
Settings package, moved DISABLED_ALPHA declaration to Utils.java
in order to have single point of reference.

Change-Id: Ifa7de79814a2f4a4aa021cd8621cbfab41655680
Signed-off-by: Shuhrat Dehkanov <uzbmaster@gmail.com>
2012-11-28 23:45:35 +09:00
Przemyslaw Szczepaniak
03b9f86722 Alert for using network-only-tts with no network.
If TTS requires network for selected language, we will
show dialog informing why we can't synthesize an example
if user have no internet connectivity.

Bug: 7398316
Change-Id: I01b033a9a8b8538b322ed3639b671f90f849ae29
2012-10-29 04:48:38 -07:00
Przemyslaw Szczepaniak
22dc1fe2ba Make TTS languages list sorted.
Also makes sure that languages list always have underlying array after onCreate.

Bug: 5640782
Change-Id: Id85d0099efccc9a64458d24853b5c98a35307b38
2012-09-03 15:51:34 +01:00
Przemyslaw Szczepaniak
ccd80ec95f Fix for setting TTS language to recently downloaded one
If user added new voice pack, then set it as a default language,
went level back and went to TTS settings again, it ended in crash.

This is because first updateVoiceDetails uses old voice data details
that settings retreived long time ago.

locales preference is hidden until TTs engine returns list of locales.

Change-Id: I33a81ff259c69adb4c051ee693b6c41b93f302d0
2012-08-14 08:29:05 -07:00
Jean-Baptiste Queru
9e8e9a1783 am 6fb425e2: am eefa61ed: Merge "Settings: Use ICS alert drawable"
* commit '6fb425e2805a1c27c048fc954d402f4612cbf74d':
  Settings: Use ICS alert drawable
2012-08-13 16:03:15 -07:00
Jean-Baptiste Queru
eefa61ed2e Merge "Settings: Use ICS alert drawable" 2012-08-13 11:53:46 -07:00
Przemyslaw Szczepaniak
923187a159 Keep speech rate dialog after rotate
It also adds some missing @Override

Bug: 5997716
Change-Id: I33a7b8ad16cd067af960a4808ae6003dde1d7693
2012-08-10 07:13:52 -07:00
Przemyslaw Szczepaniak
e1d2b7fb78 Fixes list of TTS voices after changing voice data
Added one BroadcastListener that listens for TextToSpeech.Engine.ACTION_TTS_DATA_INSTALLED intents.
If it gets one, it will call TextToSpeech.Engine.ACTION_CHECK_TTS_DATA to update list of TTS voices.
It expects TTS engine to broadcast TTS_DATA_INSTALLED also when removing voice data.

In order to catch changes done when user sits in Text-to-speech output main activity,
TextToSpeech.Engine.ACTION_CHECK_TTS_DATA is called on start of tts engine config fragment.

Change-Id: Ic1e299ea3ffc45d938083f1ab5b2bf101fe25f26
2012-08-03 17:07:33 +01:00
Narayan Kamath
1926bd4f2e Fix some long forgottten TTS settings bugs
- Handle radio button clicks correctly
- Handle injecting voice data correctly

bug:5998256
bug:5938852
bug:5998418
Change-Id: Ib30afa6558e51ac9a88e28c51500ebaad93ad7fe
2012-07-20 14:32:50 +01:00
Björn Lundén
e7c53b1c9e Settings: Use ICS alert drawable
Point to the correct holo alert drawable.

Change-Id: Ia15aaa028c8371cb2478baeecd2da31520c43a5d
2012-05-31 23:35:24 +02:00
Justin Ho
8a3703d909 am 1fea4322: am 43c9dcc1: Merge "Fix a pseudo race condition in TtsEngineSettingsFragment." into ics-mr1
* commit '1fea43224ce3b84e248d9e49b8597fe58351db65':
  Fix a pseudo race condition in TtsEngineSettingsFragment.
2012-01-23 09:18:28 -08:00
Narayan Kamath
2580eb60a3 am cf3f7abb: am 999f23e2: Locale string comparisons must ignore case.
* commit 'cf3f7abbeb9a31e73ef41b3f6512ebb095ac9e90':
  Locale string comparisons must ignore case.
2012-01-23 09:18:25 -08:00
Justin Ho
43c9dcc18e Merge "Fix a pseudo race condition in TtsEngineSettingsFragment." into ics-mr1 2012-01-20 14:40:04 -08:00
Narayan Kamath
2d8101bc8b Fix a pseudo race condition in TtsEngineSettingsFragment.
The issue is that Fragment.setVoiceDataDetails can
be called before Fragment.getView. We guard against this
issue. No thread visibility issues here because both functions
are called on the UI thread.

bug:5884355
Change-Id: Iad91b91c58b04dcb9f34f6b5ff8752f2e8295423
2012-01-20 17:52:02 +00:00
Narayan Kamath
999f23e2c3 Locale string comparisons must ignore case.
The spec does not specify case sensitivity and support
for 3 letter locales is currently poor.

bug:5885830
Change-Id: I1b8f582bd19b1b0aed220036c5f17904478dba46
2012-01-20 17:42:59 +00:00
Narayan Kamath
5a38df2648 Call setLanguage() when the TTS locale is changed in settings.
This is required to fix the case where an app has instantiated
and is using a TextToSpeech instance, and the user switches to
settings and changes the language for that instance. If no
app was using TTS, then onCreate() would have be called when
TTS is used next, and the correct locale will be loaded.

bug:5823836
Change-Id: I62adf3f7f0f14b67450ba08b8743e0d31e615a7e
2012-01-05 15:14:04 +00:00
Narayan Kamath
fdd94d87de Fix two bug in the TTS settings.
(a) The TTS API doesn't mandate that unavailable voices should
be set and null, so deal with it correctly.

(b) The android manifest contained a reference to the old
TTS class.

bug:5525023
Change-Id: I1c16dbc75893288e5fa221c73a7284fca7ab25c5
2011-11-04 16:48:20 +00:00
Narayan Kamath
687e22bcf9 Hide the "install voice data" preference by default. DO NOT MERGE
Re-added if there are voices to install.
DO NOT MERGE : Was already submitted to master.

bug:5511343
Change-Id: Iac95f37c3dda3b213f6ba34c32b7dc725673d64d
2011-10-27 17:15:51 +01:00
Narayan Kamath
52b2745e85 Remove some unnecessary setLanguage() calls.
This prevents QUEUE_FLUSH from working as intented since
there is a (blocking) setLanguage() call that waits for
the previous synthesis to complete before flushing the queue.

bug:5288327
Change-Id: I00467f0ac1584863ae27bfc076b8413e29e5379b
2011-09-13 14:38:20 +01:00
Narayan Kamath
8c3663bbd7 Call setLanguage( ) on the TTS engine before the sample.
This makes the sample play faster, and results in a reliable
return value from getLanguage().

bug:5207139
Change-Id: Ic6ca4a2f4aed299d35c320ecc3f327579c66471b
2011-08-24 20:33:01 +01:00
Narayan Kamath
0cfbb0f10a Implement the new TTS settings UI.
bug:5149036

Change-Id: I81a9786d20be3e9bf87550d6a0cc04191409600c
2011-08-23 18:10:01 +01:00