Commit Graph

58 Commits

Author SHA1 Message Date
Calvin Pan
4d7776de7b Add log for user language selection
Bug: N/A
Change-Id: I74ff19816705ca5a822e84bda0917d0eced25b7b
2022-05-13 02:29:50 +00:00
tom hsu
420404f9e3 [Panlingual][Settings] Fix when tap search bar, will leave a big blank.
- Close blank layout after title disappear when search bar is expanded.

Bug: b/227287277
Test: local, see b/227287277#6
Change-Id: I1a61bab9a046aa52e22c4ef2292c7ae703deab1e
2022-05-10 08:30:18 +00:00
Calvin Pan
049aa73cb1 Add unit test for AppLocalePickerActivity
Bug: 223503670
Test: atest
Change-Id: I0e92be43d661dd3bff19c3274d1572ef1f4e9c46
2022-04-28 08:15:34 +00:00
tom hsu
25dc3817a9 [Panlingual] Fix settings's crash.
- fix crash due to no listview.

Bug: 229044820
Test: local
Change-Id: Ic3a15f9cfd89ff24ce1d764417de4686e10d3008
2022-04-13 14:56:23 +08:00
tom hsu
db1b6accac [Panlingual] Fix settings crash due to no content view.
- Sometimes, listview may not created instantly, so move the action of
   addHeaderView after fragment finished the onResume;

Bug: 228563549
Test: local
Change-Id: Ie5d53c962bed35783decd374c743a168a98cbf6a
2022-04-11 19:10:18 +08:00
Josh Hou
98490cc740 [Panlingual] Screen title is displayed incorrectly
Fix the issue that the screen title name of the app language page is displayed incorrectly

Bug: 227285277
Test: Verify the issue by testing between the system language and app
language page

Change-Id: I5dbb10763bd5cc346bff9c270b14b945eb499273
2022-04-07 14:02:22 +08:00
Tom Hsu
a9d7aae694 Merge "[Panlingual] Fix the back button press" into tm-dev 2022-04-07 02:52:23 +00:00
tom hsu
c0214ff9f3 [Panlingual] Fix the back button press
Bug: 226894999
Test: local
Change-Id: I81e6408ebf2587bd023a13dbbdfa97e38efd8c31
2022-04-06 23:28:17 +08:00
tom hsu
19bd21d96c [Panlingual] Fix settings crash from rotation.
- View may not create in time when add view of fragment.

Bug: 228126890
Test: local test.
Change-Id: Idce63dc9d39de09ff1ee684881ea6cb90637ee22
2022-04-06 19:32:36 +08:00
tom hsu
6436a5aa6f [Pnalingual] Resolve code conflict.
Bug: 228292561
Test: local
Change-Id: Idc79694fdecf3ad64e93e2f353837fd7bbdde1ed
(cherry picked from commit aac21a59aa)
2022-04-06 11:07:22 +00:00
Chaohui Wang
f03f79b145 Fix cannot add language
Fix: 227972634
Test: manual
Change-Id: I3382879e51238be55687072eeb07bb553dafc952
2022-04-04 11:26:55 +08:00
Tom Hsu
84f78bc493 Merge "Fix System language option missing and locale region missing issue" into tm-dev 2022-04-01 07:52:52 +00:00
Josh Hou
e32d422d3d [Panlingual] Fix the app language is shown incorrectly in the work profile
The root cause is that the context corresponding to the specified
profile Id is not correctly used when using LocaleManager to query the
app language.

Bug: 222769707
Test: Verify the issue by using the steps provided in the bug
Change-Id: Ic1f9e4cc9e90f5aecfa5e1094184aa63f3d94ffb
2022-04-01 13:00:47 +08:00
Calvin Pan
cfb04f4c35 Fix System language option missing and locale region missing issue
- Taking app package name into LocalePickerWithRegion
- Using toLanguageTag() instead of getLanguage() to prevent locale
 region missing

Bug: 226278910
Bug: 226280740
Change-Id: Ieac42616192065abc0cf82db023e4e50f1ca562d
Test: To be verified
(cherry picked from commit c117a89a53)
2022-04-01 04:31:44 +00:00
tom hsu
213b3ce4af [Panlingual] Improve and refactor revamped UI
- Remove useless file
 - Make Icon be able to scroll up and down

Bug: 226350483
Test: local test
Change-Id: I4564f432143e7e31ba5beff1dd32d7bc7764f9bf
(cherry picked from commit ded10f8e24)
Merged-In: I4564f432143e7e31ba5beff1dd32d7bc7764f9bf
2022-04-01 10:33:22 +08:00
danielwbhuang
963abde2dc [Panlingual] Handle onLocaleSelected.
1. When a new locale is selected, onLocaleSelected(...) will get the LocaleInfo.
2. Set LocaleList to LocaleManager for apps.
3. Check isSystemLocale().

Bug: 223090738
Test: local test pass
Change-Id: I20bc2e2349d0bad123661e0964a4e271dd319147
Merged-In: I20bc2e2349d0bad123661e0964a4e271dd319147
2022-03-31 18:05:04 +08:00
Tom Hsu
7eb32dec44 Merge "[Panlingual] Revamp the panlingual UI in Settings." into tm-dev 2022-03-31 08:32:52 +00:00
tom hsu
9be043e750 [Panlingual] Revamp the panlingual UI in Settings.
- Create a Activity to contain AppLocaleDetail and
    LocalePickerWithRegion
  - Update the Entry from apps language page

Bug: 223089715
Test: local test pass
Change-Id: Id01e93f3df32412c7323ca577a149009eb1862ad
Merged-In: Id01e93f3df32412c7323ca577a149009eb1862ad
2022-03-31 03:35:21 +00:00
Calvin Pan
1fd5f8ff5c Add i18n team to localepicker OWNER
Change-Id: I5769d5040958b62d9f29f3a802bf06e10a40ea1d
2022-03-21 05:46:10 +00:00
Mill Chen
0080784d10 Revert "Fix overlapping issue for Add a language page"
This reverts commit 28195f52a6.

Reason for revert: The solution has been moved to framework (see ag/16636785)

Change-Id: I834bf7b31d71a3bf76902404fca6891bf0e9c429
2022-01-19 14:53:33 +00:00
Mill Chen
28195f52a6 Fix overlapping issue for Add a language page
As the Add a language page changed its parent class, the collapsing
toolbar did not work smoothly. Also the nested scrolling feature of the
locale list is disabled, that caused the overlapping problem.

This change is to make the locale list enable the nested scrolling
feature.

Fixes: 207318265
Test: manual test
Change-Id: I95929cd569c94d392c325e4e5b2a35e78185d0b8
2021-12-30 16:23:18 +08:00
tom hsu
0c0daf7034 Let activity of "add language" fit settingsactivity style.
Bug: 202104027
Test: Maunal test. see b/202104027#5
Change-Id: I1f087885912179bb501ae72d0eb50bb8280dcbc0
2021-11-09 21:22:09 +08:00
Tsung-Mao Fang
2b78aa0988 Fix unable to change language
In some cases, recycler view receives the cancel touch event,
it causes recycler view doesn't update the new locale list.

Currently, we also treat cancel event as a signal to update the locale.
According to the document, we can treat cancel event as a up
event, but not perform any action that you normally would.

It's ok in our case since we check if updated list is same as
last one in adapater.

Test: Drag and drop locale item, and make sure the language system
is updated.
Fix: 184051013
Fix: 184903189
Fix: 185000363

Change-Id: I06610080f34c5ed3562c74e1cdd955571cae55c0
2021-04-23 22:35:55 +08:00
Edgar Wang
329b20a445 Add metrics log for special cases in Lanugages & About page
Bug: 137559984
Test: robotest

Change-Id: I007282d8c4d5f9c6168dd84f6feee7e237ec7c42
2020-04-30 17:19:52 +08:00
Edgar Wang
3b47408016 Refine remove locale warning dialog string
- If the first language is not selected, just remove the body copy
  else warning user the locale will change to another language.

Fixes: 140723349
Test: manual & robotest
Change-Id: I9fec17ae85889f2864c3f3cae744f7181e6f9b2c
2020-03-13 12:49:21 +08:00
Stanley Wang
25c5e3ce6c Add the item in Language page to dynamic index.
Add "Add a language" item to dynamic index.

Fixes: 145492913
Test: maunal & robotest
Change-Id: Ife3ee7c90eb6c81e4ce042db4cd585a0993fb5fe
2019-12-05 15:09:29 +08:00
Colin Cross
807e861105 Use if instead of switch for resources
Converting to Soong will move some code from directly compiled
into the app to compiled into an Android library and then
shared between the app and the tests.  This will cause resource
IDs in the library to become non-final, which means they can
no longer be used in case statements.  Convert affect case
statements to if blocks.

Test: m RunSettingsRoboTests
Change-Id: I25742a374f06d3fa4decbfc0d223a350acc50881
2019-05-13 13:42:01 -07:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
tmfang
41ab6b4bf8 Migrate all AlertDialogs to AndroidX version
This CL only changed AlertDialog imports.
So, reviewer can review it easily.

Change-Id: I097bc44394195b14287f4f920c570ac8653f356a
Fixes: 111413092
Test: This CL can't pass Robo test.
2018-07-20 11:32:13 +08:00
tmfang
c0ed614252 Remove LocalePickerWithRegion class in Settings.
This class is too complex, we can't afford maintaining this long term.
We need a new Activity that wraps the framework version of LocalePickerWithRegion.

Bug: 111373939
Test: manual test & make RunSettingsRoboTests -j56

Change-Id: I93c719246b84350d2eee4e8ce1ffd97cd168925b
2018-07-17 17:34:00 +08:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
This patch focused on fixing compile errors and some runtime errors.

Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Fan Zhang
2f4355aa66 Misc cleanup on AndroidManifest.xml
- Add a few activities to widget list. These are more commonly
  used settings, so adding them to widget list for easier access.
  - Storage
  - System
  - About phone

- Remove useless intent-filters from AndroidManifest.
  - If the intent-filter is just action MAIN and category DEFAULT, it
   doesn't do anything.

Bug: 74806595
Test: visual
Change-Id: I5d80bc6c88f7bf60adabac872e92b72b341b97e6
2018-06-21 16:57:41 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Jacky Wang
e462c0ab72 Not all selected languages are deleted in language preferences
Bug: 67883179
Change-Id: I650084cc3fceb82c874e8e8e36bf5182da183f2b
Fixes: 67883179
Test: manual test by following the reproduce steps
Test: verify the issue is fixed
2018-03-12 05:25:46 +00:00
Fan Zhang
409eab14de Fix shortcut icon in launcher
When building icon for shortcut, check if the icon is LayerDrawable.
- If yes, only take the second layer (foreground).

Also move the class to shortcut package

Change-Id: I3513dbeb6509f11aa70ab3230d441e268ca9356d
Fixes: 72553870
Test: atest
2018-01-29 11:39:48 -08:00
Christine Franks
91dad044cb Support DISALLOW_CONFIG_LOCALE user restriction
Bug: 67586452
Test: make ROBOTEST_FILTER="(LocaleListEditorTest)" RunSettingsRoboTests\
&& make cts && cts-tradefed run cts-dev -m DevicePolicyManager \
-t com.android.cts.devicepolicy.UserRestrictionsTest

Change-Id: I2260b106a111078a62ae7628d6f60e976b70069c
2017-11-09 23:57:03 +00:00
Doris Ling
ed4685fafb Update activity titles for fragments without preference screen.
1. Move getPreferenceScreenResId() from individual subclass to
InstrumentedPreferenceFragment.

2. Removed InstrumentedPreferenceFragment.getTitle() and let the
preference fragments that do not have preference screen set the activity
title directly instead.

3. Removed OptionsMenuFragment as all it does is call
setHasOptionMenu().
- changed subclasses of OptionsMenuFragment to extend from
InstrumentedPreferenceFragment directly.
- none of the exisitng subclasses actually implements the option menu
related methods to provide any option menu. So, the setHasOptionMenu()
call is not added to the subclasses.

4. Update Languages preference title.
- launch the fragment from the preference controller instead of from the
default handling, as we need the title res id at launch time to get it
work properly when retrieving the title from back stack.

Bug: 64564191
Test: blaze-bin/screenshots/android/i18nscreenshots/i18nscreenshots
Change-Id: Ibecdcab32cbaed8bf604ec5ebe0a926b4e489a7d
2017-10-26 12:01:06 -07:00
Sunny Goyal
9a6b675096 Updating CreateShortcut activity to use the new ShortcutManager APIs
for creating shortcuts

Test:  adb shell am instrument -e class com.android.settings.CreateShortcutTest \
 -w com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I09fb73ae2a0687a3269f3714bdb2c5d92c99ea87
2017-01-19 13:39:13 -08:00
Tamas Berghammer
265d3c2a0c Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
2016-11-08 14:06:17 +00:00
Fan Zhang
e0c253fccb Add summary provider for system tile.
Refactored getLocaleNames() into a FeatureProvider interface so it's
reusable and testable.

Bug: 31801428
Test: RunSettingsRoboTests
Change-Id: I2d31a66a4b32cfa7a364a4cfef1f6eea87084577
2016-10-14 11:08:51 -07:00
Fan Zhang
6507613ebc Log visibility change for all fragments.
Bug: 30681771
Test: SettingsUnitTests

Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.

Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622
2016-08-18 14:04:13 -07:00
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