Commit Graph

309 Commits

Author SHA1 Message Date
Tetiana Meronyk
1da65db12f Update search index in UserSettings based on allowed user types
If USER_TYPE_FULL_RESTRICTED is disallowed, addUserPreference is renamed to only mention user. But search results still state default name "Add user or profile". This change updates this entry in the search index.

Bug: 365899560
Test: atest UserSettingsTest#testGetRawDataToIndex_returnAllIndexablePreferences && atest UserSettingsTest#testGetRawDataToIndex_addRestrictedProfileAllowed_addUserTitleIsCorrect && atest UserSettingsTest#testGetRawDataToIndex_addRestrictedProfileDisallowed_addUserTitleIsCorrect
Flag: EXEMPT bugfix_only
Change-Id: I3c26180225491e4916141a3fca9d2e7ab36e8cfc
2024-10-03 12:02:44 +00:00
Tetiana Meronyk
9ba90e5b3b Update main toggle state in User Settings onResume()
The toggle state used to be set on creation and only changed onSwitchToggled(). But the state can also change when restrictions are applied from outside of settings, or when user is added with toggle being off by default.

This change updates the state during execution of onResume() in Users Settings, which also aligns with the update strategy of other Toggles on this Settings page.

Bug: 362706097
Test: atest MultiUserSwitchBarControllerTest
Flag: EXEMPT bugfix
Change-Id: I8a994b2e0ddb672362e69653374b87f85ae1548c
2024-09-02 10:28:51 +00:00
Nikhil Kumar
c05f058083 SettingsApp Implement DISALLOW_GRANT_ADMIN in user creation flow
In the process of creating a user through the Settings app, if the current user has the DISALLOW_GRANT_ADMIN restriction, the dialogue for granting ADMIN privileges will be hidden after this implementation. This action ensures that even if child users can create SECONDARY users, they cannot create ADMIN users.

Design doc: go/unicorn-hsum

Bug: 357819541
Test: manually verified the user is not allowed to create ADMIN user when DISALLOW_GRANT_ADMIN restriction is applied.
Flag: android.multiuser.unicorn_mode_refactoring_for_hsum_read_only
Change-Id: I4b40f83b50d4de0af103d4f5ca400e42345144e0
2024-08-06 13:53:46 +00:00
Tetiana Meronyk
25e1b4d88b Show disabled add actions in COPE mode
Before this change these actions were hidden.

After this change, they are displayed but disabled which makes it more intuitive.

Bug: 336762423
Test: atest UserSettingsTest && atest UserDetailsSettingsTest
Flag: android.multiuser.new_multiuser_settings_ux
Change-Id: Ie07816b7d3817d12e78e1ec2692fcddea9328933
2024-06-24 21:28:57 +00:00
Tetiana Meronyk
0f311e1195 Add handling of admin enforced restrictions in Users Settings
Before, when the restrictions were applied, the preferences that were restricted were hidden.

After this change, if admin applies a restriction, the preference is displayed as disabled and Policy Transparency Dialog is displayed

Bug: 338226475
Test: atest UserSettingsTest && atest UserDetailsSettingsTest
Flag: android.multiuser.new_multiuser_settings_ux
Change-Id: I1b5aeeeec7accde278ff3e46ea3d64c91d8400db
2024-06-24 20:22:16 +00:00
Tetiana Meronyk
caef61b5eb Refactor multiuser toggle to control user switch feature
The  name  "Allow multiple users" is too ambiguous. It sounds like by toggling it off, the feature is completely disabled. In fact, it only hides user switcher. In conjunction with hiding other users from the list, it makes it appear as all the users get deleted when the toggle is off. On the contrary, users might be running in background when the toggle is off.

After this change, the new name better represents the intention behind this toggle, as well as makes the UI more intuitive. The users are not being hidden anymore. But switching preference gets disabled.

Since the toggle can only be enabled or disabled by owner (after this refactoring), it means that Owner has full control over multiuser settings and is able to perform actions on users without having to enable the toggle.

Bug: 336762423
Test: atest UserSettingsTest && atest UserDetailsSettingsTest
Flag: android.multiuser.new_multiuser_settings_ux
Change-Id: Id9d507039b58d3df66fe78710409716fd4816890
2024-06-24 18:58:01 +00:00
Tetiana Meronyk
dc0c58b427 Make Multiuser toggle disabled for all non-main users
Only let main user (Owner) change state of the toggle
Bug: 336764498
Test: atest MultiUserSwitchBarControllerTest

Change-Id: Ib694d1cb4685764c64633efc090765b470a0a015
2024-05-01 17:21:14 +00:00
Tetiana Meronyk
177e852ea9 Rename Multiple users page to Users
Ensure it is still searchable by "multiple users" prompt.

Bug: 336764972
Test: manual
Change-Id: I1126bfe601b75532882d6158d82be1a3b566aefc
2024-04-30 18:48:40 +00:00
Tetiana Meronyk
9e32702ded Add separate summary "Owner" for main user on the device
Bug: 298008926
Test: visual
Change-Id: I78ece410ab939a4727e44e371ae43779e96950e0
2024-04-23 17:38:49 +00:00
Jason Chiu
0bd014c497 [Safer intents] Settings misc
To avoid implicit intents, make intents launch explicitly.

Test: build
Bug: 323061508
Change-Id: Ie19cbceb89842a75a180898abcce81b63c18d46c
2024-03-29 04:22:45 +00:00
David Magno
6fdeb081ae Multiple users yields a search result despite being disabled
'Multiple users' still yields a search result, even if the multiple
users functionality is unavailable on the device.

Bug: 298548379
Test: Manual
(cherry picked from https://partner-android-review.googlesource.com/q/commit:e7afc620ef3d9d7b05835c9bf31394cecf3b77b5)
Merged-In: I224668afacc115326ca9279d7b99bfe7d95ee79c
Change-Id: I224668afacc115326ca9279d7b99bfe7d95ee79c
2024-01-30 19:26:36 +00:00
Anna Bauza
ac717e4dc2 Avatar sync functionality
Send information to avatar sync service that user selected confirm or cancel on edit user info dialog

Bug: 320656026
Test: manual
Change-Id: I84356b844d47ea7c07f662691f1e48eaca56b7d8
2024-01-18 08:01:44 +00:00
Treehugger Robot
af25484200 Merge "Settings: remove multiple users search when multi-user not supported" into main am: 5a9826b844 am: 202b3b147b am: 12d5f62933
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2827270

Change-Id: Ica69ec04685462749e97c2afde61d307dd4564b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 11:17:32 +00:00
Treehugger Robot
202b3b147b Merge "Settings: remove multiple users search when multi-user not supported" into main am: 5a9826b844
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2827270

Change-Id: I5a9b318d5ce194fc7b4623a1d68085dd43b4a4da
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 09:57:05 +00:00
hoffc
f336657508 Settings: remove multiple users search when multi-user not supported
When multi-user feature not supported in framework, SettingsIntelligence should not build the index of multiple users for searching.

Return empty list when multi-user feature not supported during building search index.

Change-Id: Id2fb8f2066784d63bbfd5c396da88b04306a3563
Bug: 310108420
2023-11-13 14:36:32 +08:00
Tetiana Meronyk
8489ae99dc Revert "Disable multiuser toggle when more than 1 user is created"
Revert submission 24420426-multi_toggle

Reason for revert: This change needs to be done along with some other UI changes to avoid confusion

Reverted changes: /q/submissionid:24420426-multi_toggle

Change-Id: Ife2e03d0090fefcb4c1fa53dd007336759eb1bc7
2023-09-07 15:50:09 +00:00
Tetiana Meronyk
7968047fc5 Disable multiuser toggle when more than 1 user is created
It makes more sense to have the toggle as on permanently as long as there are other users on the device. Otherwise if we toggle off "Allow multiple users", other users get hidden. Also with current behaviour the any admin can switch the toggle and this can block any other user, including main, from being able to use the device.

Bug: 295183792
Test: atest MultiUserSwitchBarControllerTest && UserSettingsTest
Change-Id: I8cb0671d780f45c17a9bb7c9a9d3b108128ead9d
2023-08-15 15:59:14 +00: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
Tetiana Meronyk
6b27c08150 Fix keyboard showing after dialog dismissed
When dialog for creating user was dismissed with keyboard being displayed, the keyboard stayed on the screen and could not be released due to incorrect list of methods called on dialog dismissal. This CL topic fixes onDismiss() behaviour of this dialog. Videos of current behaviour and behaviour after fixed are attached to the bug.

Bug: 291865725
Test: atest UserSettingsTest
Change-Id: Ib3ade3de9228c8ba24e7ac2e235aaeec45efbe4e
2023-07-24 10:30:32 +00:00
Yasin Kilicdere
2d3fed86d1 After deleting guest user, switch back to previous instead of user0.
In Setting, after deleting or exiting the guest user, or failure to
reset the guest user involves switching back to user0, which is not
possible with HSUM (headless system user mode). With this CL we're
now switching back to previous foreground user instead of system user.

Bug: 283106632
Test: manual
Change-Id: Id60063cca75d9fded7dfe0b7d7a4b871d67c4b0c
2023-06-27 12:59:16 +01:00
Tetiana Meronyk
a0040c1402 Remove unused parameter from createDialog method in User Info edit dialog
Bug: 280568195
Test: atest EditUserInfoController
Change-Id: Ib31f7d61d1d3e624c1ae28fc38602fcf566af302
2023-05-30 16:41:47 +00:00
Tetiana Meronyk
d3335c2785 Make user creation flow in a single dialog
Bug: 266548780
Test: atest UserDetailsSettingsTest
Change-Id: I3df846aa480b80321269ac7b9b8723912597aba4
2023-05-04 15:18:35 +00:00
Tetiana Meronyk
ff36d54d2c Add UI metrics for granting admin rights from User Switcher
Bug: 260697326
Test: manual
Change-Id: Ia4f3053bb84c5daaedb9a471b8a8f5dbaad66dba
2023-01-18 17:46:09 +00:00
Tetiana Meronyk
b389e9d551 Allow creating admin users when 'config_enableMultipleAdmins' property is enabled
Bug: 262371063
Test: manual
Change-Id: I465901a8d689239d9dda252c5d6f37ec0853b317
2022-12-28 16:46:33 +00:00
Tetiana Meronyk
e5acef9034 Add UI for multiple admins on Headless
In a series of CLs under topic add_ui_for_hsum_admins UI and functionality for allowing multiple admins on HSUM build is added. In User settings and User switcher when creating a new user there is a new dialog prompting to choose admin status of the user to be created. In User details view there is a toggle that is visible to admin users that allows to modify admin status of existing users. This toggle is only applicable to full users that are not supervised, guests or a main device user.

Bug: 252790451
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserDetailsSettingsTest"
Change-Id: I447dc168be30aa614aeb3f8b71ad14a7223fd7c1
2022-12-21 11:02:39 +00:00
Anna Bauza
225c81df42 add settings log to remove and switch user
Bug: 260730616
Bug: 260733849

Test: croot && make RunSettingsRoboTests -j40
Change-Id: I870d6f53f377f293adb54c86d16cccf1bacac6a9
2022-12-20 18:36:18 +00:00
João Victor Mendes Freire
16a10ba0a1 Merge "Fix user avatar not being set on rotation" 2022-12-07 13:49:32 +00:00
João Victor Mendes Freire
d97f27b816 Merge "Fix user not being redirect to user details page" 2022-12-07 13:49:21 +00:00
João Victor Mendes Freire
6754d52673 Merge "Fix settings crash on users page on config change" 2022-12-07 13:49:08 +00:00
Anna Bauza
ec91ab2bec Merge "add settings log to user creation actions" 2022-12-06 15:25:51 +00:00
João Victor Mendes Freire
8b14ffb876 Fix user avatar not being set on rotation
This commit fixes the issue where the user avatar was not being colored
(using only the gray one) when the device was rotated. Additionally, it
fixes a race condition issue of the avatar color sometimes being
different than the selected one.

Bug: 261035066
Test: manually tested && atest UserSettingsComponentTest
Change-Id: I739fa8fd5d8717b602d7ba561d9c728ce622ff10
2022-12-05 20:05:05 +00:00
João Victor Mendes Freire
b59b276b3a Fix user not being redirect to user details page
When adding a new user and rotating the device, the settings app was not
redirecting to the user settings page, was occured with the device in
portrait.

Bug: 256013217
Test: manually tested
Change-Id: I724883ff3bc3653708d02b31d66b102ab6f7b3be
2022-12-02 14:45:43 +00:00
João Victor Mendes Freire
98c58a00fd Fix settings crash on users page on config change
The background task loses the reference to the Activity once it is
destroyed and recreated after a config change (such as screen rotation).
This resulted in getContext() returning null and openUserDetails()
crashing.
To fix this, we simply store the context before dispatching the
background worker.

Bug: 256021119
Test: manually tested
Change-Id: I3399fa5586de0cb5fc159204166f92902dd42de0
2022-12-02 12:46:33 +00:00
Anna Bauza
b6c3a34476 add settings log to user creation actions
Bug: 260573368
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest"
Change-Id: If54799d074103df3a46945acab337bfa9d88dd0c
2022-12-01 19:11:57 +00:00
Jackson Michael Moreira Miranda
2122313bb5 Merge "Changing the process to create a new user" 2022-11-30 12:05:30 +00:00
Jackson Michael
e55a53b067 Changing the process to create a new user
Creating a method to run in background the process to create a new user, and making the user check and change the UI in the main thread.

Also deleted the message of created user from the handler.

Bug:246906179
Test: Manual test and unit test fixed
Change-Id: Ifb3687937987f04165fd2e099d4334c7571bb034
2022-11-25 20:19:30 +00:00
TreeHugger Robot
2c45688a13 Merge "Introduce concept of DockUser" 2022-11-14 15:00:56 +00:00
Adam Bookatz
81e5f3730c Introduce concept of DockUser
Dreams and docking often refers to "user zero" or "system user".
But more generally, the special user for dreams or switching-to-on-docking
need not be user 0, and in fact won't be in certain modes. So this needs updating.

Test: the files mentioned in the topic
Bug: 257333623
Change-Id: If068aa79a770bed4abf3f7ca1859a95cd1eb4ecd
2022-11-10 16:14:22 -08:00
Tetiana Meronyk
19fcb87e39 Hide "Add user" button for secondary user
Bug: 258447375
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest" && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.MultiUserSwitchBarControllerTest"

Change-Id: I5f0fd25fb9f710f7311275b2a840663f2bf3eeab
2022-11-09 19:35:32 +00:00
Tetiana Meronyk
61d661feb9 Merge "Disable toggle on managed device with "Disallow add user" or "Disallow switch user"" 2022-11-07 09:27:30 +00:00
TreeHugger Robot
1f41a637a2 Merge "Crop avatar to circle when syncing from Contacts." into tm-qpr-dev am: 057d24bb97 am: 56f9461b45
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20347031

Change-Id: I9fd63455801f7dcd3da74f036aceb0e1f99765af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-04 18:17:14 +00:00
Oli Lan
e402603084 Crop avatar to circle when syncing from Contacts.
This ensures that photos synced to the Android user icon from the
Me Contact, by the ProfileUpdateReceiver, are cropped to a circle.

This matches the behaviour when images are selected using the
avatar picker.

Bug: 256827004
Test: Manual, build & flash, sync photo, observe in lockscreen.
Change-Id: If1abf110b74a3892a5cfb76ee344be79c867feed
2022-11-02 16:26:58 +00:00
Tetiana Meronyk
3ade4a3ad7 Disable toggle on managed device with "Disallow add user" or "Disallow switch user"
Bug: 244279615
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.MultiUserSwitchBarControllerTest"
Change-Id: I3e89c8fac1828b4c9bb1c7df08687684981bda11
2022-10-24 22:06:57 +00:00
Jackson Michael
898421bd0c Adding the sections "Allow multiple users" and "Delete guest activity" on the search result
Also added new keywords strings for the both items.

Bug: 245261104
Test: Manual test and unit test
Change-Id: I3ddc1204c6dbdcd6a82ffaa55f4ca7f4bcb3783d
2022-10-13 12:31:03 +00:00
Nikhil Kumar
0661a7640f Enable Name and Avatar change without turning on multi-user
Primary user will be displayed in user list even when the
multi-user settings is disabled.
This will allow users to change the name and avatar of
primary user without enabling the multi-user feature.

Test: croot && make RunSettingsRoboTests -j40
ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest"

Bug: 246732754
Change-Id: I4eb5aaf97630135960410bea7cdddc52b5848a1e
2022-09-21 14:07:42 +01:00
Tetiana Meronyk
bfb90d17dc Merge "Update icons in multiuser settings" into tm-qpr-dev am: a666d80973 am: 8b7a6d5349
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19745315

Change-Id: Ic435088eeef5d07507868925b869550760364386
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-01 20:44:50 +00:00
Tetiana Meronyk
86aee84483 Update icons in multiuser settings
Bug: 243631790
Test: manual visual
Change-Id: I2885d12ef3762e233a852978a0435a60e034f2c2
2022-08-30 16:14:32 +00:00
Tetiana Meronyk
4b3a489ad3 Merge "Remove overflow from guest user settings" 2022-08-26 12:17:18 +00:00
Tetiana Meronyk
53a45bea3d Remove overflow from guest user settings
- Removed overflow for guest users
- Code cleanup

Bug: 191509236
Test: atest UserSettingsTest
Change-Id: I1ccf9924a471f148bf6413a040ccc769f9293c97
2022-08-23 14:25:59 +00:00
Kedar Chitnis
f4c320ae2f Remove feature flag SETTINGS_GUEST_MODE_UX_CHANGES
Bug b/214031645 has all IC reviews approved and the feature has been
merged and tested for more than 3 months. Hence removing the feature
flag.

Bug: 214031645
Test: SettingsTest, SystemUITests
Change-Id: Iccec0a6b2325f9309c25522ad3f093c6bc1f45e6
Merged-In: Iccec0a6b2325f9309c25522ad3f093c6bc1f45e6
2022-08-22 02:39:05 +00:00