Commit Graph

1080 Commits

Author SHA1 Message Date
Jonathan Scott
e0d439472f Allow Device Management Role Holder to update Settings strings.
Test: manual
Bug: 188414370
Change-Id: I6e1a06619799a9e99382d791e72e2e4518f93cac
2022-01-25 19:03:24 +00:00
kholoud mohamed
73ba56ff55 Change the managed profile icon for profile selector
Switched to using PackageManager#getUserBadgeForDensityNoBackground which returns a
drawable that could be updated by the device management role holder.

Bug: 203548565
Bug: 188414370
Test: manual
Change-Id: I6b6bd9eceb90e16afa6d1fa52f3a7cd342a1f1ba
2022-01-13 10:15:58 +00:00
Yuri Ufimtsev
4eea126959 Group some Security settings to a separate "Advanced settings" screen
Test: adb shell am start -a android.settings.SECURITY_SETTINGS opens Advanced
Security Settings screen
Test: atest SettingsUnitTests:SecurityAdvancedSettingsTest
Test: atest SettingsUnitTests:SecurityAdvancedSettingsControllerTest

Bug: 204416998

Change-Id: If9c6da812ffb7c046b3b00a084007950801e1d4f
2021-12-23 10:26:46 +00:00
Jason Chiu
d2e506fd20 Merge "Revise homepage highlight mechanism" into sc-v2-dev am: 7bfe3e869a am: 3b9ad4de7f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16366004

Change-Id: Ib86f125d24836fb955d5dd31ec26f250460d3161
2021-12-03 09:46:31 +00:00
Jason Chiu
7bfe3e869a Merge "Revise homepage highlight mechanism" into sc-v2-dev 2021-12-03 08:23:24 +00:00
Wilson Wu
fd9287b7da Merge "Make on-screen keyboard settings support tab layout" 2021-12-03 04:05:18 +00:00
Jason Chiu
a305c23f5e Revise homepage highlight mechanism
- Create TopLevelHighlightMixin to handle highlight actions and simplify
  TopLevelSettings
- Fix the error highlight and the flicker after screen rotation
- Postpone creating the fragment until it's needed to accelerate the
  initialization and to fix the search highlight function breakage after
  toggling light/dark mode
- Register activity embedding rules only once for injection and
  wallpaper
- Do not highlight Tips & support since it's full screen
- Refactor ActivityEmbeddingRulesController

Bug: 207316936
Test: manual, robotest build pass
Change-Id: If322ec180b03ee123987c70779a25c6a570d9faf
2021-12-03 12:04:48 +08:00
TreeHugger Robot
d355d7f123 Merge "Fix the background color of CollapsingToolbarLayout" into sc-v2-dev 2021-12-02 07:19:45 +00:00
Mill Chen
3825bff021 Fix the background color of CollapsingToolbarLayout
The wrong background color of CollapsingToolbarLayout appears in some
pages like "All apps" page or "Password and accounts" page. This symptom
can be observed in these pages when the work profile is enabled and the
line count of title is 1.

This issue is caused by updating the title of the page many times. In
these pages that have the tab view, the structure of the page differs
from a general setting page. The title of the page is coming from
BaseActivity, ProfileSelectFragment, PersonalFragment and WorkFragment,
in which the page that has the issue has an empty string from
ProfileSelectFragment. That is causing the CollapsingTollbarLayout has
the different line count during the process of setting the title.

Since the pages that have the tab view are different from the general
pages in Settings, the title should be set separately for those pages.
Adding a method to get the title resource ID so the page extending from
ProfileSelectFragment can set its title.

Bug: 192914660
Test: visual test and manual test
1) Enable work profile
2) Navigate to All apps page
3) The page should have the correct background color in the
CollapsingToolbarLayout

Change-Id: I52ef9729f3cad56161ea3d87ba25429dfcdb26ef
Merged-In: I52ef9729f3cad56161ea3d87ba25429dfcdb26ef
2021-12-02 13:40:45 +08:00
TreeHugger Robot
9e978441af Merge "Fix the background color of CollapsingToolbarLayout" 2021-12-02 05:26:01 +00:00
Mill Chen
28bc1c04b9 Fix the background color of CollapsingToolbarLayout
The wrong background color of CollapsingToolbarLayout appears in some
pages like "All apps" page or "Password and accounts" page. This symptom
can be observed in these pages when the work profile is enabled and the
line count of title is 1.

This issue is caused by updating the title of the page many times. In
these pages that have the tab view, the structure of the page differs
from a general setting page. The title of the page is coming from
BaseActivity, ProfileSelectFragment, PersonalFragment and WorkFragment,
in which the page that has the issue has an empty string from
ProfileSelectFragment. That is causing the CollapsingTollbarLayout has
the different line count during the process of setting the title.

Since the pages that have the tab view are different from the general
pages in Settings, the title should be set separately for those pages.
Adding a method to get the title resource ID so the page extending from
ProfileSelectFragment can set its title.

Bug: 192914660
Test: visual test and manual test
1) Enable work profile
2) Navigate to All apps page
3) The page should have the correct background color in the
CollapsingToolbarLayout

Change-Id: I52ef9729f3cad56161ea3d87ba25429dfcdb26ef
2021-12-01 18:44:42 +08:00
TreeHugger Robot
9eaf11e0c9 Merge "UI refinement of highlighted menu entry for large screen" into sc-v2-dev am: aee951dcb0 am: 517c9ead5e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16304401

Change-Id: I21d8dab4ebc3292bf49a50e518531f3c07098a5b
2021-11-24 18:44:52 +00:00
Wilson Wu
97635f53e6 Make on-screen keyboard settings support tab layout
Introduces following fragments for work flow.

- Add ProfileSelectKeyboardFragment which used to display
  personal/work fragment when user has work profile.
- Introduce UserAwareContext in AvailableVirtualKeyboardFragment
  to support personal/work user installed input methods handling.

Bug: 174360557
Bug: 197707782
Test: Manual test as bug video
Change-Id: I1019e375c5d42de7bc7c048d5d66e8e2f58acce8
2021-11-23 17:10:34 +08:00
Jason Chiu
90eef24080 UI refinement of highlighted menu entry for large screen
- Add a new highlight background drawable
- Add two homepage specific preferences for the new layout design

Fix: 207079684
Test: visual
Change-Id: I20c80da090a03129bffa845d443ee5d1ad13b97b
2021-11-22 12:36:05 +08:00
Lifu Tang
df1b7c6979 Remove tabs from recent location access page
Bug: 185382276
Test: manual - screenshot/Az2obQLjdy7vVv9
Change-Id: Ic2f3004d57108e136c622290e8d78bf284a09258
2021-11-12 12:43:43 -08:00
TreeHugger Robot
71ab9aefcb Merge "Register rule for wallpaper entry" into sc-v2-dev am: 6c24e5bc33 am: d34752cce6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16180475

Change-Id: I90e42051ccdf056da7899bf5a04125d3d945fe20
2021-11-05 01:25:37 +00:00
Tsung-Mao Fang
b3db40a02b Register rule for wallpaper entry
We should keep consistent split rule for wallpaper and other home menu
item. So, we create this cl to register the split rule for wallpaper.

Also, I do some minor refactoring in this cl for reusing existing
method and better code quality.

Test: Go to wallpaper, and click back key. App can close.
Fix: 204406425
Fix: 204364572

Change-Id: Ia7de9483b351d1121cc26c4af1cb8a89ad0a16bc
2021-11-04 18:48:59 +08:00
Arc Wang
d9d4866004 Merge "[Large screen] Fix searched Subsettings back navigation bug" into sc-v2-dev am: c1b5f7883c am: 31ec8a9128
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16145690

Change-Id: I53557ce86744f44a2e43af451c286c054bb1646d
2021-11-01 01:57:31 +00:00
Tsung-Mao Fang
e3f34ef7db Merge "Register the rule for injected apps" into sc-v2-dev am: 29063a7981 am: 04c7515603
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16138631

Change-Id: I51b34f59603d0fc78679402ca951e90743f67c6b
2021-10-29 10:02:37 +00:00
Arc Wang
54998b7bfe [Large screen] Fix searched Subsettings back navigation bug
Settings app registers SubSettings SplitPairRule with clearTop
true, it will finish Settings app if users click back button on
a SubSettings page.

This change registers SubSettings SplitPairRule with clearTop
true when users click a SubSettings item in Settings home menu.

And this change registers SubSettings SplitPairRule with clearTop
false when users click a SubSettings item in search result.

Bug: 204501750
Test: manual
      1. Settings -> Search settings -> search a SubSettings item
         (e.g., Battery)
      2. Click the searched item.
      3. Click back button.
Change-Id: I6e1862de528e971137ae7087de608bbdd79096b2
2021-10-29 17:45:40 +08:00
Tsung-Mao Fang
bb24a2f63b Register the rule for injected apps
We should align behavior between injected apps and in-app entries.

Test: Open the Google/DW page and click back key. Then, app is closed
directly.
Fix: 204406425

Change-Id: I57831c4df78b502b3998b3f7384df2900dbfe56f
2021-10-28 18:27:12 +08:00
Jason Chiu
e65d3ab1cc Revert "Revert "Support highlightable Settings homepage menu for 2-pane"" am: 29a09e55ba am: 235353a131
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16038013

Change-Id: I4c526a0854fbe64efb834bf993c1e461b7993cad
2021-10-12 11:12:26 +00:00
Jason Chiu
29a09e55ba Revert "Revert "Support highlightable Settings homepage menu for 2-pane""
This reverts commit 096c090b80.

Reason for revert: crash is fixed in this change

Bug: 202510128
Test: manual, build
Change-Id: Ifff8d58cfdcf43e123b11dee308665b2617cb4b3
2021-10-12 09:32:07 +00:00
Greg Kaiser
d659a5271b Merge "Revert "Support highlightable Settings homepage menu for 2-pane"" into sc-v2-dev am: 1ab7ad3e40 am: 3f638ebad8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16017469

Change-Id: I8a3deba2be06113f781f399221a8463f5454ceee
2021-10-08 15:12:13 +00:00
Greg Kaiser
1ab7ad3e40 Merge "Revert "Support highlightable Settings homepage menu for 2-pane"" into sc-v2-dev 2021-10-08 14:48:14 +00:00
Greg Kaiser
096c090b80 Revert "Support highlightable Settings homepage menu for 2-pane"
This reverts commit 9037ceabd3.

Reason for revert: Presumed cause of b/202510128

Change-Id: I0daaab95d9bc57229c0c8c916cbe3ada7aafb6fa
2021-10-08 14:29:06 +00:00
Jason Chiu
630cbdc519 Merge "Support highlightable Settings homepage menu for 2-pane" into sc-v2-dev am: 9b1f593773 am: de33f1224b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15785736

Change-Id: Ic375f9e19b1f6dbc6f70cedaa770c133fb96f652
2021-10-08 08:12:37 +00:00
Jason Chiu
9b1f593773 Merge "Support highlightable Settings homepage menu for 2-pane" into sc-v2-dev 2021-10-08 07:52:45 +00:00
Jason Chiu
9037ceabd3 Support highlightable Settings homepage menu for 2-pane
1. Add a preference group adapter to perform highlighting
2. Add a class for mapping highlighable menu keys and preference keys
3. Add an API to determine if the screen is in split mode

Bug: 199017944
Test: manual, build
Change-Id: I8e3fe5fb96480a31ee0f3b3afb6ad78999d3d2bc
2021-10-08 12:52:52 +08:00
TreeHugger Robot
c7dacf6bf4 Merge "Launch activities in another task if the metadata is set." into sc-v2-dev am: 14a90d0639 am: 3d86e97433
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15959659

Change-Id: I7f4ce2f62faa7e2f9f27c6664b78239b29d31934
2021-10-05 12:07:28 +00:00
Yi-Ling Chuang
3855d6e587 Launch activities in another task if the metadata is set.
Add FLAG_ACTIVITY_NEW_TASK to the intent if META_DATA_LAUNCH_NEW_TASK is
set to true to make it launch a separate task.

Bug: 197702494
Bug: 197700978
Bug: 197702789
Test: Set this metadata to true and make sure this page is launched in another task.
Change-Id: I3b4e5745e940a3db5db6be51e17a9c505915e3c0
2021-10-04 16:36:19 +08:00
TreeHugger Robot
d604c56542 Merge "Correct how the injection mechanism starts activities" into sc-v2-dev am: 40e9a8aaaf am: 5be7a95a99
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15809057

Change-Id: Ib6b6c20b95653e23e79183e8ec30ac6a7c462d0d
2021-09-14 04:23:42 +00:00
Yi-Ling Chuang
5fc96844e5 Correct how the injection mechanism starts activities
Settings Injection used to start activities with
startActivityForResult() and its extension, where there was not result
really being handled. Hence, this CL corrects the way it starts
activities by removing the "ForResult" part.

Fixes: 197704126
Test: robotest and launch Android Auto to see it being launched in
another task.

Change-Id: I259b2555cf62f8966afdf664b337af5f216b3843
2021-09-11 16:48:37 +08:00
Wilson Wu
9edf79741d Update settings PrimarySwitchPreference reference
To make InputMethodPreference support 2 target
reference, CL[1] move the PrimarySwitchPreference
into SettingsLib.

Change all PrimarySwitchPreference reference to
Settingslib one and remove the original one.

[1]: Idea3935d95b8d22b00ca89313e9eb3e979e4aa74

Bug: 197705032
Test: Presubmit
Change-Id: I95d111522344bb7cbdd380382e48fe60a5ebc9a2
2021-09-02 13:10:19 +08:00
Arc Wang
566d06af22 Fix profile tab text contrast problem
Spec specify textColorSecondary of default state,
however, TabLayout uses a not expected state of the color.

This change sets default state color of textColorSecondary
instead of textColorSecondary.

Bug: 189793243
Test: manual visual
Change-Id: I025ffac68505016f4c4ffb7e1c0b2ff86308d3be
2021-07-01 07:54:29 +00:00
Jason Chiu
c713c3e8ea Support category changed mechanism in homepage
- Homepage cannot referesh UI whenever an injected component is changed
- Extract categories related codes to a mixin

Test: manual, robotest
Fixes: 179792445
Change-Id: I1c13c541ce07b9c36fe984a035623985b5603560
2021-06-18 16:00:29 +08:00
Sunny Shao
9fa4bb8ffa Fix the toggle button flicker problem when display
- Root cause: the side effect of the parallel controller loading.
- Solution: disable the parallel approach and remove the entry point
  of parallel approach in DashboardFragment.

Fixes: 187838753
Test: Robo test for AppInfoDashboardFragment, ConfigureNotificationSettings,
      ConnectedDeviceDashboardFragment, DevelopmentSettingsDashboardFragment,
      NetworkDashboardFragment, DashboardFragment
Change-Id: If3b09c4fd6f33042e0ed38704f08e855ab8f5377
2021-06-16 11:41:10 +08:00
Yanting Yang
da06cec173 Improve flicker when enter Security page
The flicker preferences are injected from external apps and the text
shifting is due to it needing time to load the icon from the content
uri. To avoid flicker, put a transparent icon as default to wait for
icon update.

Fixes: 189165518
Test: robotests & visual
Change-Id: I727eeefd5455711a53d3fd9ccd5356a15b9daae4
2021-06-11 16:59:53 +08:00
Yanting Yang
ba8e5802d4 Remove silky flag from Apps for official release
Remove the silky condition and clean up redundant files.

Bug: 183670633
Test: robotests & visual with turning on/off silky home
Change-Id: If6df8a4191d5750edca22dd94b99c43ccebf2e04
2021-05-25 02:35:58 +08:00
Arc Wang
c0b5ba5225 Storage Settings shift profile selection tab position
In this change, Storage Settings main UI is composed by 3 fragments.

StorageDashboardFragment only shows when there is only personal profile for
current user.

ProfileSelectStorageFragment (controls preferences above profile tab) and
StorageDashboardNoHeaderFragment (controls preferences below profile tab)
only show when current user has installed work profile.

Bug: 174964885
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I50dea2fbcae39a1488e648f3ca615f54840e19d5
2021-05-17 14:07:24 +08:00
Yanting Yang
be4c5f078f Remove silky flag from homepage for official release
Remove the silky condition and clean up redundant files.

Bug: 183670633
Test: robotests & visual with turning on/off silky home
Change-Id: I9259108534935ed8551748b922098dd52043afc1
2021-05-14 17:52:53 +08:00
Yanting Yang
90d323cefa Move DWB to the fifth position from the bottom on the homepage
Remove relevant configs, logics and tests.

Bug: 187885890
Test: robotests & visual
Change-Id: I309d5290f19bf0b01692dd6f14c4cdcc52066453
2021-05-13 20:51:47 +08:00
Jason Chiu
7d9dceadb7 Redesign homepage IA icon
- remove the outer circle of the icons
- tint the icons including injected ones

Test: robotest, visual
Bug: 182870640
Change-Id: If72c37152f4f0d68e25149b11d497eef1c7ece91
2021-05-12 08:37:37 +00:00
Arc Wang
543068210f Implements profile selection tab in Storage Settings
- StorageDashboardFragment and StorageItemPreferenceController works only
  for one profile per instance.
- StorageAsyncLoader loads for all users(profiles) and regards each user independent.
- SecondaryUserController will not load personal profile user in work profile tab.
- Cleanup some unused profile related files.

Bug: 174964885
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I8361c29bc240c519c7261b19522c41439479c1c2
Merged-In: I8361c29bc240c519c7261b19522c41439479c1c2
2021-05-11 20:00:08 +08:00
Yanting Yang
d1312e8e6e Add summary back to the homepage
Also update some summaries with new strings.

Bug: 183586663
Test: robotests & atest & visual

Change-Id: I692be9b34e8867501aaa8c8e40428870b99644f8
2021-05-06 00:27:37 +08:00
Jason Chiu
8531d8795f Fix the unaligned title of injected items
Remove the summary space holder for the injected items that are not
assigned a summary or a summary uri.

Test: visual, robotest
Fixes: 187006845
Bug: 182357397

Change-Id: I7b3d165f0ffd771dd0110962c9e3159c4977d6e3
2021-05-03 12:22:36 +08:00
Yu-Han Yang
a286bad826 Untab Location Settings and tab Location Services
Bug: 180533061
Test: on device
Change-Id: I1f096ffe1028dbf46816bbac5d514e3cb48d9e2c
2021-03-24 19:17:35 -07:00
Tsung-Mao Fang
da9d5a1f92 Revert "Use androidx LifecycleObserver for wiring up controller ..."
Revert submission 13804074-controller-lifecycle

Reason for revert: ag/182373167, see a crash related to this new cl.
Reverted Changes:
I39ac69f24:Use androidx LifecycleObserver for wiring up contr...
I086620e31:Add javadoc about lifecycles for xml defined Contr...
Fix: 182373167

Change-Id: I7e6d2e9e6fd363a3afdd3dbab24e7c3b36e9ed29
2021-03-16 10:21:23 +00:00
Ahaan Ugale
c21337d44f Merge "Use androidx LifecycleObserver for wiring up controller lifecycles." into sc-dev 2021-03-09 17:11:53 +00:00
Ahaan Ugale
042c5b40b7 Use androidx LifecycleObserver for wiring up controller lifecycles.
DashboardFragment automatically wires up Controllers that implement the
deprecated settingslib LifecycleObserver. Now it can also work for those
that implement the androidx version. The settingslib LifecycleObserver
extends the androidx one, so existing behaviour is preserved.

Bug: 169455298
Test: manual - lifecycles work automatically for such Controllers
Test: manual - no duplicate lifecycle events for existing Controllers
Change-Id: I39ac69f24bf8577867ba3b7e56f96c5f38722a2f
2021-03-09 17:11:08 +00:00