Commit Graph

28 Commits

Author SHA1 Message Date
Olivier Nshimiye
b816437d39 Merge changes from topic "add-ps-features-flag" into main
* changes:
  Add Private Space features flag check to Settings tests
  Add an additional flag guard for Private Space implementation
2024-03-07 10:48:58 +00:00
Manish Singh
8ca4f47292 Return the correct position for the profile tab
The existing code returns the fixed tab values, which doesn't work
now that the ordering is determined by the user manager's ordering.

Bug: 302278487
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: I87b393b8e12e21dc1b38ee75bb43ca9133785c81
2024-03-05 19:50:29 +00:00
Olivier Nshimiye
0f3799cbad Add an additional flag guard for Private Space implementation
This a layer of flag guarding only for the implementation of Private Space features excluding the APIs. The MVP flag allow_private_profile still guards all the features including the APIs.

Bug: 326060689
Test: Manual - a few verifications that some feeatures are unavailable when this flag is disabled
Test: Run presubmits and verify that nothing breaks
Change-Id: I05f7e2f20c6132b33484bb133ce03a933ece485f
2024-03-04 15:43:24 +00:00
Manish Singh
aff8a7d231 Fix postsubmit test failures
Test: atest ProfileSelectFragmentTest
Bug: 314371622
Change-Id: Id31518fb92491e5a434cc4a3a95b6353d58a382f
2023-12-14 08:31:14 +00:00
Manish Singh
585bffb7ec Select the correct tab
What the clients send over is the tab based on user, but the correct tab
(position) wise needs to figured out.

Bug: 314371622
Test: manual
Change-Id: Ib6ebefb898b1c5678c14157333dc2b2ebc198ed8
2023-12-10 09:32:21 +00:00
Manish Singh
9ee5f6edc9 Make the order of tabs same as profile creation
Currently the order is hardcoded to be Primary, Work, Private.
But SettingsLib in frameworks uses the order returned by UserManager's
getProfiles API. This causes inconsistency across various Settings
pages.

Changing the order to be the one returned by UserManager.

Bug: 304366476
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: I9953f211bfbeab129aa6b7c7ec0fe294e91dda26
2023-12-01 22:37:37 +00:00
Manish Singh
d503f25692 Check purely for the presence of a managed profile
including the parent user, as here we care only about the existence of
the managed profile.

This maintains the behaviour prior to private space changes.

Bug: 313128792
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: I1d253f95ca534b48acfdb4c1c8b84368d731dded
2023-11-28 16:09:11 +00:00
Manish Singh
6ce9c37701 Deep copy the existing Arguments
Otherwise we end up using the same bundle for all the fragments.

Bug: 304697867
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: Ia31f2440516783c22849593922467756c8c54cb9
2023-11-08 20:53:58 +00:00
Manish Singh
6efc455f2c Show a separate tab for the Private Space
This covers all the known Settings pages using the tabbed view model.

https://docs.google.com/document/d/1CdjUjAE84-5ZEPRIfw5KYFjLVHtEZxc_sF0w95su8DA/edit?resourcekey=0-dAACT9HRexY1IyoxMmkVlw#heading=h.58jd58rmznte

Screenshots:
all apps
https://screenshot.googleplex.com/3E5Jm7Pi2JfN64r
with work tab:
https://screenshot.googleplex.com/8egk4yHK5jSENjR

PS Apps Special media management apps
https://screenshot.googleplex.com/BHHafqW7bgUwSGg
with work tab:
https://screenshot.googleplex.com/3cocdhruEmCCh5k

PS Location Services tab view
https://screenshot.googleplex.com/3DqJcT2BFTEpvYT
with work tab:
https://screenshot.googleplex.com/6Avpx6hxSrdGJw5

PS on screen keyboard tab view
https://screenshot.googleplex.com/4FzVNnBWwbUeJNw
with work tab:
https://screenshot.googleplex.com/8E8UhpWq8PL5nxU

PS password account tab view
https://screenshot.googleplex.com/6bDR4AKtth2S3EW
with work tab:
https://screenshot.googleplex.com/9msXV2TdHdJapch

PS storage tab view
https://screenshot.googleplex.com/5Nk2FTxwdmpEv3B
with work tab:
https://screenshot.googleplex.com/79tw2EaWZKfMsnC

PS appl_languages_work
https://screenshot.googleplex.com/3qrREeg3RQdHhhH

Bug: 302278487
Test: manual
Change-Id: I8cd39170827fbe251bc4075ef306206020b3a022
2023-10-11 12:32:17 +01:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Edgar Wang
f3270e5c1c Recalculate view's height when tab is selected
Viewpager2 created view based on the first tab height, when tab is
selected, viewpager2 should recalculate height.

But this solution may not suitable for App list, so we only enable
for Location Settings which have different items in personal & work
profile.

Bug: 224521665
Test: manual
Change-Id: Ib19b30cb82b8b4f13f651795906289da53ded4ed
2022-05-16 15:59:21 +08:00
kholoud mohamed
de78149c16 RESTRICT AUTOMERGE Refactor device policy resource APIs to a separate class
Bug: 217388602
Bug: 218875965
Test: atest EnterpriseResourcesTests
Test: manual
Change-Id: I4775d7741c7819fd811c3fc4eda1636b1e04b398
2022-03-17 17:37:45 +00:00
Edgar Wang
f97f5f7005 Update workprofile TabLayout for Material Next style
1. Upgrade ViewPager to ViewPager2 which provided better support.
2. Apply new TabLayout style

Bug: 193249384
Bug: 195655281
Bug: 193249173
Bug: 179738624

Test: manual

Change-Id: I905ee82f315316c2bf4b73bf5581423878e2c3e7
2022-03-01 18:07:43 +00:00
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
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
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
Edgar Wang
c2e4513fb6 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: I36829e0055437dab79d9e5339ac002a87a4b874f
2020-08-04 18:12:48 +08:00
Raff Tsai
751f63a635 Fix tabLayout swipe direction
- Fix swipe direction by add layoutDirection=ltr in xml
- Reverse viewPager tab index when layoutDirection is rtl

Fixes: 147415514
Test: 1. change to rtl language
      2. Settings -> Account
      3. Swipe from left to right, should move tab to left.
      4. Swipe from right to left, should move tab to right

Change-Id: Ib5a080f4706161fd9c0f4d7f2da4d7b98946d960
2020-01-15 17:22:43 +08:00
Raff Tsai
91d9942494 Fix focus on wrong tab
Fixes: 146594840
Test: Robolectric
Change-Id: I14c6d5a4055bee5d0aa413479fb9893e9dfc41df
2019-12-20 12:18:27 +08:00
Raff Tsai
5ec8efe7e0 Fix UI issue in LocationSettings
- Add WorkPreferenceController to support directly use work profile
related feature in xml
- Get only work/personal infos in RecentLocationRequestPreferenceController
and RecentLocationRequestSeeAllPreferenceController
- Remove ProfileSelectStorageFragment

Bug: 141601408
Fixes: 146080649
Test: manual, robolectric
Change-Id: Ide39c7a3796e16421f3a5690309c3d746a956de8
2019-12-17 04:25:49 +00:00
Raff Tsai
1e5d8146b5 Change ProfileType definition
Bug: 141601408
Test: rebuild
Change-Id: Ia4d4fabe8a4daad4ce54c243748fa3c29bf944ba
2019-12-12 13:44:35 +08:00
Raff Tsai
83f7142df9 Navigate to work tab if start intent from work profile user
Fixes: 144909960
Test: adb shell am start --user 11 -a android.settings.SYNC_SETTINGS
should launch Settings account page and focus on WORK tab

Change-Id: If30f176b6d59cd32730b1bcbc6e9d8687d7bafd2
2019-12-04 17:58:57 +08:00
Raff Tsai
910ea66615 Navigate to personal/work tab based on intent extra
Bug: 141601408
Test: Settings->Storage, click work tab, click Other apps. It should
navigate to Apps storage page and focus on WORK tab.
Change-Id: Ida91b279e771a2c7c960ce83b8e13310c87112e8
2019-12-04 11:42:23 +08:00
Raff Tsai
290aa7345b Remove shadow below the actionbar
Bug: 141601408
Test: manual
Change-Id: Iaa196ff3b67dbc274116b5215ef48e126099edb9
2019-11-26 11:20:52 +08:00
Raff Tsai
84327f6aa3 Add storage_summary_donut above ProfileSelectStorageFragment
- Modify ProfileSelectFragment to support add preference xml in the
top, and tabLayout below the preferences. Base preference layout is
dummy_preference_screen.xml which contains no preference.
ProfileSelectStorageFragment contains StorageSummaryDonutPreference
above the tabLayout.
- Make StorageSummaryDonutPreferenceController self workable without
StorageDashboardFragment dependence.
- Rename inactive_apps.xml to dummy_preference_screen.xml
- Move ShadowPrivateStorageInfo from LowStorageSliceTest

Bug: 141601408
Test: manual
Change-Id: Ide12840dc81bb104f328e230ecda5d35bba01d7a
2019-11-18 18:18:29 +08:00
Raff Tsai
988a912237 Modify preference_list_fragment to support tabLayout
- Remove buttonBar because it is only used in PublicVolumeSettings
- Add tabLayout in preference_list_fragment.xml

Bug: 141601408
Test: manual
Change-Id: Ieb84ccf2e685a03abec7b07cb8f9f4b64ee475e0
2019-11-13 17:37:59 +08:00
Raff Tsai
539ab8ace4 Add work/personal profile tab for storage page
- Add ProfileSelectStorageFragment
- Check featureFlag in SecondaryUserController to decide show/hide
workprofile item StorageDashboardFragment

Bug: 141601408
Test: manual
Change-Id: I97762d3b1a4985e2b186b34fc37c7976c2f69224
2019-10-25 16:57:24 +08:00
Raff Tsai
65866290ce Add tablayout for work/personal profile
- Add Tablayout in ProfileSelectFragment
- Add AccountWorkProfileDashboardFragment inherited from
ProfileSelectFragment
- Add ProfileFragmentBridge to convert AccountDashboardFragment
to AccountProfileSelectFragment
- Use flag settings_work_profile to guard the new fragment

Bug: 141601408
Test: Settings->developer options->feature flags->
turn settings_work_profile on/off, then go to settings->account
to see if UI is changed.

Change-Id: Ifb32c22cdeab69c51517664081cacf4a401c46a1
2019-10-15 18:01:08 +08:00