Commit Graph

212 Commits

Author SHA1 Message Date
Chaohui Wang
82a9a9e47d Remove Settings preference_widget_primary_switch
File content same as SettingsLib's preference_widget_primary_switch

Bug: 285231003
Test: m Settings
Change-Id: I4b9f92435ffb5c253241e294c4680025fe0447fc
2023-10-20 12:55:22 +08:00
Peter Kalauskas
80e914a263 Enable use_resource_processor for all sysui deps
This will make the build faster

Test: m checkbuild
Bug: 295208392
Change-Id: If75acb6b1c3f204e3686c20cef609f7cfabe15cf
2023-09-21 23:09:39 +00:00
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +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
Chris Antol
993e1cec1f Storage Apps Lists SPA migration
Pending task to support Sorting by Name which is currently not possible given existing SPA infra

Bug: 284032857
Bug: 284032898
Test: Unit Test. Uncomment lines and tested Settings>Storage>Apps and Settings>Storage>Games
Change-Id: I93853ed7184808a083b66ba5b03f9fe3acf48d41
2023-07-21 23:52:27 +00:00
Graciela Wissen Putri
b4c4f6cbe6 [2/n] Add aspect ratio app list page under apps
Apps > General > Screen Size

To enable feature:
adb shell device_config put window_manager enable_app_compat_user_aspect_ratio_settings true
adb shell am force-stop com.android.settings

Fix: 287448088
Test: Manual
      atest AspectRatioAppsPageProviderTest
      atest AspectRatioUtilsTest
      All CUJs passed in go/settings-cujs
Change-Id: I4de6c3cbdbdfbc79ed839ec149fb633344dcd3a7
2023-07-21 08:02:09 +00:00
Himanshu Gupta
40dd0958d6 Merge "Clearing obsolete cloneUserId from CloneBackend." into udc-dev am: 4740720948 am: af793d86f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23262239

Change-Id: I6a6b1f0824fefb1ec12cc61dda3c2b550d8fb072
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-19 21:56:28 +00:00
Himanshu Gupta
d9f60d9a1a Clearing obsolete cloneUserId from CloneBackend.
When cloned user is removed from device, the previous clonedUserId
present with the CloneBackend instance becomes obsolete, and does
not update to reflect the new clonedUserId, when the cloned user is
re-created.
To fix this we set cloneUserId to -1 when cloned user is removed,
causing CloneBackend#installCloneApp to update clonedUserId when
the cloned profile is re-created.

Bug: 280431074, 275062025
Test: Manual by flashing the local build.
Change-Id: If0d7960998865b4081502e84d0d4125b3b05c69c
2023-05-17 12:22:01 +00:00
Chris Antol
8c4f831cda Merge "Remove SPA gating from App Cloning click ingress" into udc-dev am: 9567bd4a50 am: 701babd574
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23197464

Change-Id: I51f78328b5c0527018c07588f90641d4556493c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 19:25:44 +00:00
Chris Antol
8e93ac6670 Remove SPA gating from App Cloning click ingress
Bug: 277002988
Test: existing tests. flag on by default, no-op unless disabled, which now has access to this otherwise accessible feature
Change-Id: Ic37e4c76d379133f1dbda3c65930ae44afc24f70
2023-05-12 03:03:12 +00:00
Himanshu Gupta
0b19e92158 Merge "Enabling App Cloning Device Config flags by default. The features will be guarded *only* by config overlays, which are off by default." into udc-dev am: 53bf6b1dc8 am: 81180f985e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22381242

Change-Id: If6633fb997d54a37ad07b26c097d98ce19de3602
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-09 22:43:28 +00:00
Himanshu Gupta
53bf6b1dc8 Merge "Enabling App Cloning Device Config flags by default. The features will be guarded *only* by config overlays, which are off by default." into udc-dev 2023-05-09 22:00:36 +00:00
George
750cd809fe Fork the NfcTagAppsSettings page to SPA
The page is located at "Apps > Special app access > Nfc launch"

Bug: 267404181
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NfcTagAppsPreferenceControllerTest
Change-Id: I9fb4a68634f0b6f20d5f87601c1175ced33daad5
2023-05-02 10:15:53 +00:00
himanshuz
dd26189e2c Enabling App Cloning Device Config flags by default. The features will be guarded *only* by config overlays, which are off by default.
Bug: 253449368
Test: Manual by building and flashing
Change-Id: I9099019f2bd982588f12ac1741fce27d24e5849e
2023-04-28 11:10:14 +00:00
Philip Junker
ded7f45e6a List apps which requested the TURN_SCREEN_ON appOp permission
This reverts commit 94f08e4ba1.
Reason for revert: Re-land with fix (b/278739832#comment8)

Bug: 272053372
Change-Id: I945e543b6e17b682bc88e9e9b0a79775a71dd6f7
Test: manually installed an app which requests the permission and verified it shows up correctly in Settings > Apps > special app access > Turn screen on
Test: atest AppFilterRegistryTest
Test: atest TurnScreenOnDetailsTest
Test: m -j RunSettingsRoboTests
Test: adb shell am start -a android.settings.TURN_SCREEN_ON_SETTINGS
2023-04-19 11:59:19 +00:00
Liana Kazanova
94f08e4ba1 Revert "List apps which requested the TURN_SCREEN_ON appOp permi..."
Revert submission 22338257-turnScreenOnPermission_pregrant

Reason for revert: b/278739832

Reverted changes: /q/submissionid:22338257-turnScreenOnPermission_pregrant

Change-Id: Iada276497c37c0e89a2cde8706394949d468e8e5
2023-04-18 17:47:14 +00:00
Philip Junker
58e7b70df3 List apps which requested the TURN_SCREEN_ON appOp permission
Bug: 272053372
Test: manually installed an app which requests the permission and verified it shows up correctly in Settings > Apps > special app access > Turn screen on
Test: atest AppFilterRegistryTest
Test: atest TurnScreenOnDetailsTest
Test: m -j RunSettingsRoboTests
Test: adb shell am start -a android.settings.TURN_SCREEN_ON_SETTINGS
Change-Id: I7c47d4b1c0b33c7ba6209bb64acf93cb07d9a717
2023-04-18 09:12:44 +00:00
Jigar Thakkar
ee0c837117 Fix user starts by using startProfile
We used ActivityManager.startUserInBackground earlier to start the clone
user. As per the changes done recently (b/267800984),
UserVisibilityMediator now marks all the profiles/users started usign
startUserInBackground as startedInvisible. This results in the apps not
being able to launch on clone profile without a device restart. To fix
this, in this change we move to using ActivityManager.startProfile to
start the clone-user.

Test: Tested on device by creating clone profile through settings app
Bug: 268011720
Change-Id: I4a594cd4d10cfbd7459b04baa45719885decf87e
2023-03-29 10:58:23 +00:00
Josh Hou
38df174bba [Panlingual] Can't set per-app languages for apps on work profile page
Use startActivityAsUser instead of startActivity API to start the AppLocalePickerActivity of different users

Bug: 274378136
Test: 1. Perform AppLocalePickerActivityTest robolectric test
      2. Perform the manual test by switching different users
      3. Perform the manual test by switching different profiles
Change-Id: I4405b3b7e832b71b9ef66fa71d9e42ce12da167c
2023-03-21 10:57:42 +00:00
Alex Johnston
2747dc6e8c Implement OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS exemption
OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS details:
* An app with this appop will be made exempt from all
  power restrictions, including app standby and doze.
* In addition, the app will be able to start fgs from
  the bg, and the user will not be able to stop fgs
  run by the app.

Changes:
* Implement the OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS

Bug: 246330879
Test: atest PowerAllowlistBackendTest

Manual testing:
- Give OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS appop to TestDPC app
- Verify the app can start fg services from the bg
- Verify fgs started by the app cannot be stopped
- Verify the app cannot be put into background restricted via Settings

Change-Id: If9e76076c59195f1e6e5f3eee3c8e7a0c754d8de
2023-02-10 13:37:38 +00:00
George
2c5d1f8d29 Adding Nfc Tag App Preference setting to special_access settings
In the settings app, allow users to change the preference of the Nfc Tag apps.

Bug: 244272155
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NfcTagAppsPreferenceControllerTest
Change-Id: I28903fae8935613a0e8618da21ca44e98b8801d5
2023-02-01 14:10:04 +08:00
Ankita Vyas
5fc8308173 Merge "AppClone: Few fixes in Cloned Apps page." 2023-01-20 04:39:19 +00:00
Ankita Vyas
48279a0d72 AppClone: Few fixes in Cloned Apps page.
- Trigger uninstall as clone user
- Back navigation

Test: manual
Bug: 259022623
Change-Id: Ic9e0b20d371f6f0a5c70c84b3950e82ba43bc82e
2023-01-19 08:53:39 +00:00
Ankita Vyas
7bad1241a4 AppClone: Add animation and description text in Cloned Apps page.
Bug: 265251138
Test: manual and robo
Change-Id: I623c01fc74c1ac162917fce8b2fda9754b0a2b4b
2023-01-13 08:12:18 +00:00
Ankita Vyas
149cbf04aa Merge "AppClone: Changes in AppInfo page for cloned app." 2023-01-12 05:04:43 +00:00
Ankita Vyas
3672fb4b85 AppClone: Changes in AppInfo page for cloned app.
- Hides preferences for cloneable apps under Cloned Apps page
- Displays Create option for cloneable apps under Cloned Apps page.
- Invokes CloneBackend on click of create and refreshes to display newly
  cloned app's AppInfo page.
- Appends suffix 'clone' for cloneable/cloned app.
- Displays text 'Delete' instead of 'uninstall'.

Screencast: https://screencast.googleplex.com/cast/NjI3MDEyMjk1MzAxNTI5NnxhOTIxZDhiZC03Zg

Bug: 262375058
Test: make RunSettingsRoboTests -j64

Change-Id: I34018f6cc7420d2667c25fbca59c832b398d723e
2023-01-06 08:31:20 +00:00
Yilin Cai
772f3b370b Add mapping to the WiFi-control SPA page in Settings app.
Test: local device + logcat
Bug: 262206181
Change-Id: Iafa2851a5a7c8770fc1b15cdfefaf37a17d55750
2023-01-05 14:18:25 +08:00
Himanshu Gupta
1648d68d49 Adding "Delete all App Clones" option on Cloned Apps page.
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
2022-12-23 10:58:54 +00:00
Ankita Vyas
5784198b56 AppClone: Implement clone backend flow
- Add onClick listeners of add/trash icons on Cloned Apps page
- New layout with ImageView(Add icon) and ProgressBar
- Creation of clone user and install package in clone user
- Uninstallation of cloned app
- Summary when app is being cloned and after clone completion
- Action metrics

Bug: 259022623
Test: make RunSettingsRoboTests -j64
Change-Id: Idc76fb8d88ba8987084beef2a0ce4c57d6c45b9e
2022-12-19 06:15:10 +00:00
Chaohui Wang
fb8200aef8 Merge "Add ResetAppPreferences to AllAppListPage" 2022-11-30 06:55:46 +00:00
Arc Wang
c3ccc6a20d Merge "Fix flickering before transition animation of app search" 2022-11-29 06:01:39 +00:00
Arc Wang
3b80540e37 Fix flickering before transition animation of app search
ApplicationState.Session must be aware of ManageApplications
lifecycle to correctly activate/deactivate.

Bug: 245877468
Test: manual visual
      Settings -> Apps -> All apps -> search -> click search item
Change-Id: Ia4e6da0c4e43dcd53f6b4ea3e2fa6ffec059b880
2022-11-29 04:03:30 +00:00
Ankita Vyas
3bdedc2add Merge "AppClone: Changes to display app list on Cloned Apps page." 2022-11-28 15:41:37 +00:00
“Ankita
d3019d3ee0 AppClone: Changes to display app list on Cloned Apps page.
- Filers app list
- Displays preference summary
- Display two-target view
- Display header text
- Metric for cloned app page
- Adds bridge class
- Disable "Show system" option

Bug: 259021576
Bug: 249916469
Test: make RunSettingsRoboTests -j64
Change-Id: Idcf213325ead9e298eb3e958b286adcd4c06c8d5
2022-11-28 11:58:19 +00:00
Chaohui Wang
2cc51c1685 Add ResetAppPreferences to AllAppListPage
Fix: 259520506
Test: Unit test
Test: Manually with Settings
Change-Id: I3cbd1171df7e6bfcac6b9ebf4901e36fc2d7b14f
2022-11-28 13:39:09 +08:00
TreeHugger Robot
30a5eaaf3b Merge "Update page id for modify system settings page" 2022-11-22 16:21:01 +00:00
Mill Chen
8ed5b17724 Update page id for modify system settings page
Modify system settings page is using the page id of display over other
apps. Each page should have its own page id, so creating another one for
modify system settings page.

Bug: 260056090
Test: manual test
Change-Id: I4e25734c551f166a0c080eb534d22aea881242d9
2022-11-22 18:31:02 +08:00
Chaohui Wang
5177d070e5 Calculate list type first in ManageApplications
Currently, list type is calculated in onCreate(), and will default to
LIST_TYPE_MAIN if the class name is not set to any special activity.

When adding new app list to onCreate(), but not changing
getSpaDestination() could led to issue when spa is on.

Calculate list type first in onAttach() as single source of truth could
solve this issue.

Bug: 235727273
Test: Manually with Settings with / without spa
Change-Id: If8a3d61cfd08d7d67e32253c3ac7266e5e9e7b4c
2022-11-21 13:02:12 +08:00
Varun Shah
b33256a0fc Add a new special app access screen for long background tasks.
This new screen shows apps that hold the new RUN_LONG_JOBS permission.

Also add a reference to this screen in an app's info page under the
"Advanced" section for apps that have requested this permission.

Bug: 255821578
Test: atest AppFilterRegistryTest
Test: make -j RunSettingsRoboTests \
ROBOTTEST_FILTER="LongBackgroundTasksDetailsTest|
LongBackgroundTasksDetailsPreferenceControllerTest"
Test: visually via the Settings page

Change-Id: Idc498e52d29abc6df757c35e8bc91f00de92ba4a
2022-11-18 07:14:12 +00:00
TreeHugger Robot
e1be0e41ba Merge "Monitor the page scrolling jank for app list pages" 2022-11-11 22:00:11 +00:00
Yanting Yang
9f6c5bdadc Monitor the page scrolling jank for app list pages
Bug: 254237663
Test: take the trace and check the cuj section name
Change-Id: Id9b7affcad354c43c1e8934d81abd1bb51fb2956
2022-11-11 10:59:33 +00:00
Ankita Vyas
64191fe9b1 Merge "AppClone: Add new tab only if any user handle has the property set." 2022-11-11 07:17:49 +00:00
“Ankita
d3ea0f098e AppClone: Add new tab only if any user handle has the property set.
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
2022-11-10 10:05:44 +00:00
Chaohui Wang
a2c045a717 Navigate more App List to SPA
Guarded by feature flag SETTINGS_ENABLE_SPA, default false.
When flag enabled, will navigate to the new App List pages
which are implemented by SPA.

Bug: 235727273
Test: Manual test with Settings app
Change-Id: I1905a92dd19f04c46476ce3157897ea609e590df
2022-11-08 10:56:54 +08:00
Wesley Wang
eda172ce2c Fix app battery usage list launch incorrect works app
- App usage page only use package name to launch the page, it can not
   identify the different userId between normal app and work profile
   app, add extra userId info into launch args
 - Remove no battery usage state/string if usage time is empty

Bug: 251471047
Test: make SettingsRoboTests
Change-Id: Id06ebb0f0fcd863e423acd7839f89bc0ae2444c1
2022-11-03 11:32:30 +00:00
Arc Wang
12d4b78473 Merge "Extend SearchView width" into tm-qpr-dev am: 049deec9b5 am: 4cfe8b8204
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20337665

Change-Id: I7a3bdcfa520fe402da940e426a89b3ffd2c2b1e5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-02 08:41:11 +00:00
Arc Wang
0243771025 Extend SearchView width
To align SearchView x button with right border.

Bug: 254403811
Test: manual,
      Settings > Apps > See all apps > tap the search icon >
      input something and observe.
Change-Id: I5146c9ffb3c5177926e75f673497408092f6c065
2022-11-01 10:26:17 +00:00
Chaohui Wang
3eddcc6703 Add AppLocalePreference for Spa
Also let SettingsSpaUnitTests depends on the
mockito-target-extended-minus-junit4 to support mock static methods.

Bug: 236346018
Test: Unit test & Manual with Settings App
Change-Id: Ib7a3022b20e30c8292713f52d29785eb78899c70
2022-10-26 11:01:47 +08:00
Josh Hou
2c4f8fd26f Merge "[Panlingual] Separate the app locale information by profiles" into tm-qpr-dev am: 9c2e35244d am: b589be652d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20064275

Change-Id: Id41300275c5fa7fde6d688419dc7f4d526ea8da5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-12 06:07:17 +00:00
Josh Hou
c01034ebd1 [Panlingual] Separate the app locale information by profiles
Fix not seeing apps with the LocaleConfig in the app language selector of Settings.

Bug: 239054437
Test: Manual
Change-Id: I4db78300b63e6fda2890383c097bb46102084d95
2022-10-07 17:24:48 +08:00