Commit Graph

14 Commits

Author SHA1 Message Date
Yohei Yukawa
1ef9c4afd5 Follow class package change: LocaleList
In order to avoid layering violation, LocaleList needs to be moved from
android.util package to android.os package [1].  This CL follows up that
package change.

No behavior change is intended.

 [1]: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18

Bug: 28819696
Change-Id: Ibd7934b30062046830d63f33d1c6febef32da976
2016-05-17 16:25:39 -07:00
Mihai Nita
2c2e435ff2 Fix: accessibility actions move languages but don't update
Also added a comment in onItemMove explaining why that method
does not call doTheUpdate().

Bug: 28173358
Change-Id: Ifdc00e70346149aeb09bd95ec21c7df2ccbaa996
2016-04-26 09:02:11 -07:00
Mihai Nita
8e7c75986e Add accessibility actions to the drag-and-drop locale list
Dragging is not supported neither by TalkBack or the accessibility
framework at the moment. So we need custom actions to be able
to change the order of the locales.

Also, the remove functionality is difficult to discover and use
with TalkBack only, so we are also adding a "remove" action.

It only removes one locale at the time, but most users don't
really add many locales "by mistake", so there is no real need
to delete a lot of locales at once.

Bug: 28173358
Change-Id: I3566304e3d2de87cf9243d7e87631b12d72fc929
2016-04-21 17:09:51 -07:00
Mihai Nita
d86cba770d Settings: change the TTS text to use the current locale
Google TTS currently does not support language auto-switching.
Also, not all languages are available in TTS at all times.
This means that TTS cannot properly handle text in other languages / scripts
than the current language.
Languages with different scripts would not be read at all, and the others
would be read with "bad pronunciation", to the point of being unrecognizable.

This change is not a full fix, but makes things slightly better by using
the default locale for the contentDescription in the language / region lists.

This might be a bit unsettling, as the label will not match the sound.
The label will show "Deutsch" or "Русский" and text-to-speech will say "German"
or "Russian" (for English UI), or "Allemand" or "Russe" (if the UI is French).
Might also say nothing, if the current UI language has no text-to-speech engine.

But this is the best we can do, and better that what we get if we do nothing.

Bug: 28087937
Change-Id: I54d49ec96a10bab3e31198e162230fb277426e66
2016-04-19 09:25:58 -07:00
Mihai Nita
930176b131 Fix checkboxes and warning dialog lost when device rotates
The frame is destroyed then the device rotates, so we need
to save and restore the complete status (remove mode or not,
list of checked locales, if the warning dialog it showing).

Bug: 26720315
Bug: 26758726
Change-Id: Ie1340d3242cb61dc736a0b456224b8570826e937
2016-04-14 20:33:56 -07:00
Mihai Nita
5a7ce50e19 Fix locale reorder jank
Using RecyclerView.ItemAnimator.ItemAnimatorFinishedListener
to only update the locales when all the animations finished.
This also reduces the number of repeated updates if the
locale list did not actually changed.

This was tested by setting the duration of animations to 3 seconds,
which made it possible to "shuffle" the list a lot and see several
items slowly moving around in the same time.

Bug: 26710681
Change-Id: I7d025e60cc252f4b90006b7b18c86d93ab94826f
2016-03-23 12:21:31 -07:00
Jason Monk
222be28d13 Merge "Move temporary metrics constants to proto" into nyc-dev 2016-03-09 14:03:34 +00:00
Mihai Nita
7751358ab6 Hide "Remove" menu & the drag handle when there's just one locale
When there's just one locale, showing the "Remove" menu and the
drag handle is confusing to the user since nothing can happen if
they try to use them: the drag simply won't happen, and if they
go through the delete process, we give them an error.

Bug: 26730336
Change-Id: Ie219dd9b3d653272b325d7af01aba205a58cd472
2016-03-08 14:47:46 -08:00
Jason Monk
3e19fc5600 Move temporary metrics constants to proto
Change-Id: I8fb3ac22df7bdc52039dd640f7696ebd32281f0b
2016-03-08 14:18:30 -05:00
Mihai Nita
a475fb1e06 Fix various UX bugs.
* In the drag & drop list align numbers with the + in
  the "+ Add a language" button
* Keep the "+ Add a language" button under the list
* Shadow cell while drag & drop
* Updated various strings for dialog titles and messages

Bug: 26557242
Bug: 26710677
Bug: 26712004
Bug: 27070104
Change-Id: I10d26eac9581c955328e667d7309b5f0ac649110
2016-02-23 13:21:21 -08:00
Mihai Nita
7f78a4b723 UX fixes for the language draggable cell
This should bring things closer to the recommended UX guidelines.

It changes the way the checkbox / label play together,
and changes the "localization missing" warning icon to a string.
Also some cleanup of hard-coded styles and sizes.

Bug: 26758865
Bug: 26707846
Change-Id: I07a78a1e4a41122b91e895e363a217d3e9cacd40
2016-02-10 21:46:13 +00:00
Mihai Nita
e7f40be0ef Locale list: format the numbers using the UI locale
The digits used for numbering the drag-and-drop locale list should
use a locale-aware formatter.
We will not see decimal or thousand separators, but the visible
difference is in the use of native digits. Example: Arabic.

Change-Id: I3f8cd5a3adea1cb88ae63f09711c728f4588020c
2016-02-04 13:16:05 -08:00
Mihai Nita
45c6174216 Fixed trash icon for language removal
Bug: 26758729
Change-Id: I31f5b8d018c62a4d03619ee39c86bd96456f90ab
2016-01-28 11:16:20 -08:00
Mihai Nita
d7d48fda53 Implement multiple locales and sublocales in Settings
Does drag-and-drop reordering, supports adding / removing locales,
suggestions, search, removes locales already selected in the
user preferences.

Bug: 25800339
Change-Id: Iffe7b9810c77ec93a84d848ab20b2ba405249676
2016-01-20 12:31:11 -08:00