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
Also added a comment in onItemMove explaining why that method
does not call doTheUpdate().
Bug: 28173358
Change-Id: Ifdc00e70346149aeb09bd95ec21c7df2ccbaa996
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
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
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
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
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
* 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
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
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