Currently, the changes to disable private space settings app component
are located in SettiingsInitialize.java. These get triggered when
ACTION_USER_INITIALIZE is received by the settings app inside the
private profile user. However, we are stopping the private profile user
at the end of the setup flow. This can lead to a scenario wherein
ACTION_USER_INITIALIZE is relayed by the system server but not received
by the private space settings app, since it was stopped. To over come
this issue, we move the changes to disable the private space settings
app component inside the private space setup flow (right after the user
is created and started).
Bug: 342165140
Test: atest PrivateSpaceMaintainerTest#createPrivateSpace_psDoesNotExist_setsPrivateSpaceSettingsComponentDisabled
Flag: ACONFIG android.multiuser.enable_private_space_features NEXTFOOD
Change-Id: Ib9baac1e9d835ea5a27c15d499e10615b84cf97b
With this change it is checked if face unlock is supported as a class2
or class3 biometrics on the device.
If face is convenience biometrics then face unlock for
private space controller is not added.
Bug: 329044103
Test: atest UtilsTest and verified Face unlock is not added if face is convenience
Change-Id: I6e1a6557774be1173ad3ee7ff7b14d51f9fe1716
- Fix the navigation bar overlapped problem in sub-pages.
- Use a workaround solution to handle Homepage statusbar problem.
Bug: 328622648
Fixes: 330217912
Test: manual test
Change-Id: I67a65e2af10def84bf743d4d3cd0047098423ffe
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
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
Extract getSystemUpdateIntent, and add unit test.
Bug: 311110616
Test: manual - on "Software updates" page
Test: unit test
Change-Id: Ic7c06490d1d324705f547b2394794605e85485a4
Earlier we were making decision based on the first user that has the
SHOW_IN_SETTINGS_SEPARATE property. A later user could require a new tab
as well.
Bug: 309605138
Test: manual
Change-Id: Ib4fd88d31153974dfad07c0b815ef011b11d1567
StorageStatsManager fixed in StorageStatsService#getTotalBytes
So that we should change back to call the API.
Bug: 295358118
Bug: 288103116
Test: verified manually
Change-Id: I3dcc9698403612f961cf0de41925dcbcb43e260b
useDefaultSubtitle has to be set explicitly from promptInfo rather than being assumed true
remove subtext for managed profile challenge screen to create space for emergency call button
Test: manually tested
Bug: 286391641
Bug: 286422726
Change-Id: I848e00dcd0013124e59ef711c3615e6773c3d210
Move the screen lock message selection logic to Utils and update the
related strings as suzannechen@ suggested.
Test: manual (see bug)
Test: atest UtilsTest
Fixes: 291307701
Change-Id: I346c25426395eea1320edc07ce2d962efeb8daa6
Since StorageManager rounded the totalBytes of device storage but
they don't do that rounding for freeBytes.
So in some cases the freeBytes can be greater than totalBytes.
We propose to get totalBytes of device storage directly to calculate
correct privateUsedBytes.
Test: robotest
Bug: 281955532
Change-Id: I4f137c20e7c2f54f4e037d50e81b3176edc1a83a
Handles the ACTION_CONFIRM_REPAIR_MODE_DEVICE_CREDENTIAL
intent to launch the confirm device credential activity for
users to exiting repair mode. The activity passes a special
user id USER_REPAIR_MODE to the framework and verify credentials
that the user enrolled in normal mode.
Bug: 277561275
Test: am start -a android.app.action.PREPARE_REPAIR_MODE_DEVICE_CREDENTIAL
settings put global repair_mode_active 1
am start -a android.app.action.CONFIRM_REPAIR_MODE_DEVICE_CREDENTIAL
The credential is verified successfully.
Change-Id: I9ffe32f9925ee2b990c49d5674d27196a4c9edf7
This CL migrated both Settings and SystemUI packageName into Utils.java
to align references.
Bug: 277651621
Test: m Settings -j128
Change-Id: I3d6808de76120a2ddbbed4980b8a65cec81502c9
Only for admin user.
Also clean up unused getInstallationStatus().
Fix: 277299765
Test: Manually with All Apps when multiple users is on
Test: Unit test
Change-Id: I4de681c101a605e3517dcd8765bf7a95d1b76417
If a user can't enable screen saver, they shouldn't be able to
accidentally find screen saver related settings in Settings.
Bug: 260276394
Test: atest ScreenSaverPreferenceControllerTest
Test: manually by settings up a second user on a device that supports
screen saver, switching to that user, and making sure that searches for
"screen saver" don't accidentally reveal settings that can't be
accessed.
Merged-In: If2f465b2acb548455f0868507cf47217ea1a626f
Change-Id: I96fb8f9c6c4960f203b51bb43994f7bafdcefdf5
If a user can't enable screen saver, they shouldn't be able to
accidentally find screen saver related settings in Settings.
Bug: 260276394
Test: atest ScreenSaverPreferenceControllerTest
Test: manually by settings up a second user on a device that supports
screen saver, switching to that user, and making sure that searches for
"screen saver" don't accidentally reveal settings that can't be
accessed.
Change-Id: If2f465b2acb548455f0868507cf47217ea1a626f
In Android U+ tablet device, Android introduces headless mode which
running on a main user instead of system user. Therefore, device throw
a security error in HSUM build now.
For now, we check whether current user owns a frp
credential instead. This way also works on non HSUM build.
Test: robo test + run FRP mode in Suw flow.
Fix: 262438904
Change-Id: Ie4c7c470b13b9de8d532e61e9984521cebe7adff
This option is seen by clicking the '3-dot' menu on Settings->Cloned Apps page and requires:
1. Flag 'remove_all_cloned_apps' to be turned on.
2. Cloned UserId to be present in system.
Test: Manually setting the flag, creating clones.
Change-Id: I83ff40923f7932ed6b23cb831bdcd2cb9252d295
This will ensure that a new tab is not created for clone profile. The
existing behavior of creating work tab when managed profile is present
on device remains as-is.
Bug: 248204976
Test: manual (verfied with primary, clone and managed profile present on
device at the same time)
Test: make RunSettingsRoboTests -j
Change-Id: I116a0de69c51e90aa59fdb47e904c567e5d62102
To try:
1. adb shell am start -n com.android.settings/.spa.SpaActivity
2. Go to Apps -> All apps -> [One Instant App] -> Supported links
Bug: 236346018
Test: Unit test
Test: Manually with Settings App
Change-Id: I344ddb9c2f3dbc47d38554bf45f04ca7c26c0e5f
This is used in new App Info page.
To try:
1. adb shell am start -n com.android.settings/.spa.SpaActivity
2. Go to Apps -> All apps -> [One App] -> App details
Bug: 236346018
Test: Unit test
Change-Id: Ibd1ae27c60a096b7f12ca6640a58b099dcfb0b6b
In two places, Settings uses getProfileIdsWithDisabled intending to
restrict itself to *managed* profiles, but actually allows for any type
of profile.
Since the declared intent is to only deal with managed profiles, we
update the code to only consider managed profiles.
On devices that only have managed profiles (currently almost all
devices), this cl is a no-op.
Bug: 230495929
Bug: 230534572
Bug: 170249807
Test: com.android.settings.UtilsTest
Test: make RunSettingsRoboTests -j
Change-Id: Id04d45839ef61080b00ca2f91525718cb3a85120