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
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)
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
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
Accommodate for the changes in frameworks/base. TtsEngines now
uses Locale objects for setting/getting the default locale
for TTS engines.
Change-Id: I518ace8d16d17b2c36a62e4e9d14a3568a38f68e
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
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>
- 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
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
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
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
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
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
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
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>
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
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
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
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
The spec does not specify case sensitivity and support
for 3 letter locales is currently poor.
bug:5885830
Change-Id: I1b8f582bd19b1b0aed220036c5f17904478dba46
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
(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
Re-added if there are voices to install.
DO NOT MERGE : Was already submitted to master.
bug:5511343
Change-Id: Iac95f37c3dda3b213f6ba34c32b7dc725673d64d
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
This makes the sample play faster, and results in a reliable
return value from getLanguage().
bug:5207139
Change-Id: Ic6ca4a2f4aed299d35c320ecc3f327579c66471b