Commit Graph

102 Commits

Author SHA1 Message Date
Becca Hughes
fbc05225bf Add service link when no providers are present
Test: ondevice & atest
Bug: 273752971
Change-Id: Ia7080f5c44c2f59a386e00146b898228e5829988
2023-03-27 23:01:13 +00:00
Reema Bajwa
4e1eda372c Fix bug in CTS test
Test: CTS
Bug: 274804384

Change-Id: I4e848dbe5bc9926f08fb20a452f0ce6ec8d3ffd5
2023-03-22 20:23:54 +00:00
Becca Hughes
9d74509888 Add settings intent dialog
Add a dialog that can be launched via
an intent to prompt the user to enable
the provider for credman.

Test: make & atest & manual
Bug: 267816998
Change-Id: Id88cc7b3bf2829d075fbba87ea5dc0a245b9ae32
2023-03-21 00:00:40 +00:00
Becca Hughes
043ba28892 Merge credential manager providers by package name
**This is a merge to master from udc-dev**

As part of the spec'd design we should merge providers
by package name this means that if there are multiple
providers they will be all turned on/off together.

Bug: 266772233
Test: make & atest
Change-Id: Id48f27e96cabdd8ab0e8cbafc8eb760b7bbbf928
2023-03-13 22:35:58 +00:00
Becca Hughes
6474e01372 Add subtitle to settings (settings)
Allows a credential provider to show a
subtitle/summary underneath the title in
the list of providers.

Test: ondevice & atest
Bug: 253157366
Change-Id: I481da16985027a49ee464623b6db166d941cab55
2023-03-07 17:09:42 +00:00
Becca Hughes
573e844275 Move CredentialProviderInfo for test/settings (settings)
This is a precusor CL to adding a subtitle for settings
to use so we need to move CPI where it can be used
by settings, atest and CTS.

Test: ondevice & atest & cts
Bug: 253157366
Change-Id: Ief25f562eb5c2ca4438701de8a8e26941a8370a3
2023-03-06 19:07:09 +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
TreeHugger Robot
afb30cdd08 Merge "Make pre-upgrade footer appear more consistently" 2023-02-01 18:30:13 +00:00
Julia Reynolds
3bab3c429c Make pre-upgrade footer appear more consistently
It's useful info regardless of whether the NLS is enabled

Test: PreUpgradePreferenceControllerTest
Fixes: 233963916

Change-Id: Idc6b2cebe18b119052233775bd4dcd561fd8b4fa
2023-01-27 16:49:42 -05:00
Julia Reynolds
a50c0b9636 Update icon sizing
Fixes: 233087471
Test: BridgedAppsPreferenceControllerTest, view 'see all apps' screen
Change-Id: I1090f2461f22bf87f20de969d1a0c5b8c2c6b7b7
2023-01-27 21:18:33 +00:00
Becca Hughes
e1608b369f Fix settings crash
Fix settings crash when dialog is shown
becuase the wrong fragment manager is
used.

Bug: 264939770
Test: unit test and test on device
Change-Id: I5f4c04740058baaa1c96a7108dc4b08b3e467fb8
2023-01-12 18:10:24 +00:00
TreeHugger Robot
25e8018d78 Merge "Fix settings bug (pt 2)" 2023-01-09 22:25:22 +00:00
Becca Hughes
c84d77cdf5 Merge "Add credential manager team to OWNERS" am: ce5d029670 am: 5b7dc67d64 am: da53b2912c
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2361251

Change-Id: I645c29b608373dcb31f8dc183da7b220d6bb46c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-06 20:58:24 +00:00
Becca Hughes
6bd41f20c5 Fix settings bug (pt 2)
Follow on from ag/20862879 to keep track of prefs
so if the list of enabled providers is updated
we update the UI.

Bug: 253157366
Test: make & manual test
Change-Id: Ibf3c83fd445ced51a8cbea0113f12fc04002c23a
2023-01-06 17:23:56 +00:00
Becca Hughes
71c948ce7b Add credential manager team to OWNERS
Adds Credential Manager team to owners
for where our settings UI lives (see
internal CL).

Change-Id: I0674b170c9b96e7e7dedbb5be63fa3929f292274
Test: presubmit
Bug: 253157366
2023-01-04 17:24:35 +00:00
Reema Bajwa
5ba7d67b42 Revert "Revert "Add Credential Manager settings""
This reverts commit 7a231eaba0.

Reason for revert: Adding in fix for issue that caused initial revert

Change-Id: I395c13fb46fc570a6b8a663d4b4e5537866325ce
2022-12-20 22:14:05 +00:00
Dan Shi
7a231eaba0 Revert "Add Credential Manager settings"
This reverts commit 8c6f627a93.

Reason for revert: possible cause of b/263060941

Change-Id: I8ce36da052ceb1f29372c307ae1c7a85cc932fe4
2022-12-19 06:48:52 +00:00
Becca Hughes
8c6f627a93 Add Credential Manager settings
Autofill is evolving into CredMan which means we need
to update the settings to have CredMan providers.

This CL adds CredMan equivalent classes to list the
Credential Manager providers and allow the user
to select a number of providers.

Test: Manual & atest SettingsUnitTests & make RunSettingsRoboTests -j
Bug: 253157366

Change-Id: Ice76187cfee91d844d211205b44b661acf2f6a44
2022-12-16 22:16:12 +00: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
tom hsu
8bd5e2a52f [Panlingual] Improve performance of displaying app list in Settings.
- Use existed ApplicationInfo to get needed info.
 - Add unittest to AppLocaleUtil.java

Bug: b/238054165
Bug: b/231904717
Test: Maunal test passed
Test: atest passed
Change-Id: I23f354c366b45d4b684184b3366aeab913bcd3c8
2022-11-11 14:25:19 +08:00
Julia Reynolds
1d54859168 Update category to intent action
Test: settings unit tests
Bug: 254339351
Change-Id: I6c4bfb474408cd9ab95ae3fbd80a89760a4b7844
2022-10-21 10:09:02 +00:00
Julia Reynolds
9ef3cf2572 Add link to more app settings
Test: MoreSettingsPreferenceControllerTest
Test: test app that can handle the settings intent
Bug: 236932102
Change-Id: Iae778c93057e47aa0f664d3faab21640b2cd5193
2022-10-17 13:59:31 -04:00
Tiffany Nguyen
99d3b54a70 Update App battery usage page and add tests.
- Add tests
- Remove duplicated "Set battery usage for apps" text
- Clean up some code

Screenshot: https://screenshot.googleplex.com/8LHhyxFA6X4ZFkT.png

Test: make RunSettingsRoboTests -j40
Bug: 244995036
Change-Id: Iaac9b0af10f541100e91b10affacf3307bd5edca
2022-09-15 13:40:12 +00:00
Tiffany Nguyen
6147e0fa5c Add Apps > Battery optimization page implementation.
Moving the old restricted page to the new optimization page will happen
in a follow-up CL.

Test: Unit, manual
Bug: 238026672
Change-Id: I5fee9ebe03284a013da6bfca9ada8b166c6af91c
(cherry picked from commit 5ecb1a1d69)
Merged-In: I5fee9ebe03284a013da6bfca9ada8b166c6af91c
2022-09-04 15:44:18 +00:00
Tom Hsu
34cb6d3237 Merge "[Panlingual] Remove featureflag of app language." into tm-qpr-dev 2022-08-25 06:24:12 +00:00
tom hsu
e6b46dc853 [Panlingual] Remove featureflag of app language.
Panlingual successfully landed. Hence, we can remove the feature flag
 right now.

Bug: b/209775925
Test: atest pass
Test: Manual test pass
Change-Id: I464a206027fd63ee1763acaf17d1b6251e839bc0
2022-08-24 11:29:31 +08:00
Julia Reynolds
2a61b3656b Update Bridged app link when NLS access changes
Test: BridgedAppsLinkPreferenceControllerTest
Test: manual; turn an NLS on/off, verify correct disabled state for fields
Fixes: 240461761
Change-Id: Ib5a5365f7477c2a8d620ced2af96ace364b292e2
2022-08-15 17:50:49 +00:00
tom hsu
8976293162 [Panlingual] Use feature flag to switch opt-in on/off
- Currently per app language use opt-out by default. This change is to
   add a new idea to have a way to change opt-out to opt-in, and let
   user be able to use LocaleConfig.xml to control the feature more
   precise.
 - If app does not support locale picker or there is no locale provided, remove entries' UI.

Bug: b/231396734
Bug: b/230688538
Test: local
Change-Id: I2661fffab804a2816744711130b26aa2ec47f820
2022-05-09 13:36:06 +08:00
tom hsu
9be043e750 [Panlingual] Revamp the panlingual UI in Settings.
- Create a Activity to contain AppLocaleDetail and
    LocalePickerWithRegion
  - Update the Entry from apps language page

Bug: 223089715
Test: local test pass
Change-Id: Id01e93f3df32412c7323ca577a149009eb1862ad
Merged-In: Id01e93f3df32412c7323ca577a149009eb1862ad
2022-03-31 03:35:21 +00:00
Ricky Wai
d09d62a55e Apply restricted settings to notification access.
Bug: 202130031
Test: Able to boot without error
Test: When app is installed by PackageInstaller app, notification
access is being restricted. The restriction is being removed after
turing it restricted settings off for that app.

Change-Id: I9c1fbc80dd2ca4cc483a60dfa9d043aaa99cde87
2022-03-09 16:51:09 +00:00
tom hsu
ea9e627c1c [Panlingual] Improve UI can not show on at first.
- Settings take much time to get the info of app launcher entry. User
    may not see the panlingual UI at first after boot to home.
  - Does small refactor to somewhere.

Bug: 218416193
Test: local
Test: atest pass
Change-Id: Ibfb91f0bb8d8ff54cadd041250b3cff252dbe591
(cherry picked from commit cae20ce2f7)
Merged-In: Ibfb91f0bb8d8ff54cadd041250b3cff252dbe591
2022-03-03 08:39:20 +00:00
tom hsu
62a8514d1b [Panlingual] Fix duplicated locale show on suggested group
- When User select 2 same locale but different region, current logic
   will also check 2 times and add these same results into cache.
 - Use hashSet to resolve this problem

Bug: 220804297
Test: local
Test: atest pass
Change-Id: I60c63a1eb570373fd714cf9b29ed926d15b2daa7
2022-02-25 09:35:51 +00:00
Julia Reynolds
de08d984ef Ensure icons on app filtering page
Test: BridgedAppsPreferenceControllerTest.java, manually look at screen
Fixes: 218724983
Change-Id: I6ee4bb6c39efacecff5c4219dbe9fdb066c49368
2022-02-23 12:25:49 -05:00
tom hsu
cfc5554068 [Panlingual] Add device default language to suggested group
- Add default language preference
 - Polish unit test
 - Fix unsupported locale show on suggested group

Bug: 209728327
Test: local test
Test: atest pass

Change-Id: I69778cb8d69b21314c75689f0d61c25294c7f9d2
2022-02-14 11:30:30 +08:00
Tom Hsu
64e203ad43 Merge "[Panlingual] Add PackageManager api to Per app language." 2022-02-08 07:05:29 +00:00
tom hsu
b48802c152 [Panlingual] Add PackageManager api to Per app language.
Bug: 216099500
Test: atest pass
Test: local test with Settings app
Change-Id: Icbdb1475d45e0652de369711ea21b5043f36dc19
2022-02-08 03:25:03 +00:00
Kevin Han
24d67e9a09 Merge "Hook up hibernation eligibility to exemption toggle" 2022-02-03 23:56:04 +00:00
Kevin Han
143cc954f3 Hook up hibernation eligibility to exemption toggle
Use hibernation eligibility API to determine whether toggle should be
enabled or disabled for an app. For apps that are already exempt from
hibernation by the system, the toggle is disabled and unchecked.

Bug: 200087723
Test: manual
Test: atest AppHibernationIntegrationTest
Change-Id: I36a1eafc2bb90a92bcbdc4bf32041426d6377fd4
2022-01-28 14:23:22 -08:00
Kevin Han
350a1785de Pull unused app count from PermissionController
Use the new PermissionControllerManager API to get the number of unused
apps directly from PermissionController instead of replicating the
logic

Bug: 200087723
Test: atest HibernatedAppsPreferenceControllerTest
Change-Id: I989219cfb2a44b5acb054ff5fb744e68d8e118b3
2022-01-26 01:07:38 +00:00
Daniel Huang
56a62d74ec Merge "[Panlingual] Suggested locales update" 2022-01-21 09:12:06 +00:00
Tom Hsu
456eaedbcd Merge "[Panlingual] Adds a filter of application for per apps locale change." 2022-01-21 09:02:40 +00:00
danielwbhuang
714bcfff2c [Panlingual] Suggested locales update
1. Extract the Country from the Top system langauge, TelephonyManager.getSimCountryIso().toUpperCase(Locale.US), and TelephonyManager.getNetworkCountryIso().toUpperCase(Locale.US).
2. For each app-supported locale, if the region is identical then add this as a suggested language.

Bug: 209729740
Test: atest AppLocaleDetailsTest
Change-Id: I4f95a638916e88197fc37546c7786c63b59f581d
2022-01-20 22:48:28 +08:00
allenwtsu
03711a8ed4 Change locale comparison API
Bug: 209729853
Test: atest AppLocaleDetailsTest
Change-Id: I1568fe9474e473ac6d3fb81dcf9edf9ba7434e85
2022-01-20 14:09:54 +08:00
tom hsu
33f2096fea [Panlingual] Adds a filter of application for per apps locale change.
- Settings -> System -> app language -> app languages
   Use this filter to only show apps allowed to change the locale.
 - Settings -> Apps -> all apps -> any one of app -> language
   Use this filter to only show the language preference of app allowed to change the locale.
Bug: 210935436
Test: atest pass.
Test: local test.
Change-Id: I2f8a0815dae68392e11882ad9e1e4945492efdba
2022-01-19 09:06:50 +00:00
tom hsu
4da192d732 [Panlingual] Remove getCallingPackage and use Uri instead.
- Use uri to pass the package name.
 - Allow adb command to start this function

Bug: 211856852
Test: see b/211856852#2

Change-Id: I3d73d32d7546bf0e3db25d952b2caee934f523dc
2021-12-23 13:00:28 +00:00
tom hsu
26b0bd7f19 [Panlingual] Add outside entry.
- video: https://screencast.googleplex.com/cast/NjIxODkzNzYyMjU5MzUzNnwwMWMxYjI1Ny1hMw

Bug: 207743479
Test: local
Change-Id: Iab3ba4d14f581aed7b737521ccba4f62e1c04998
2021-12-20 19:37:59 +08:00
tom hsu
58244b1b74 [Panlingual] Implement entries of Panlingual in settings UI part.
- Path 1 : System -> Language & Input -> App Languages -> per app
 language
 - path 2 : System -> Apps -> App Info -> per app language
 Video: https://screencast.googleplex.com/cast/NjUyNTUzMDY0MTc5MzAyNHxjNTg2MzMwYS0yOA

Bug: 206854105
Test: local test pass
Test: atest pass

Change-Id: Ic06fa4f0c6ec68680eb828032b6e3f479b412dc4
2021-12-13 22:54:40 +08:00
Kevin Han
424319371c Unhibernate an app when a user exempts it
When an app is exempted from hibernation, we unhibernate as well. This
prevents confusing situations where a user may return to the "Unused
Apps" page and sees that the app is still there even after exemption.

Bug: 205641871
Test: atest HibernationSwitchPreferenceControllerTest
Change-Id: I4f98a2212eefdb6c456a0de36d428021b262cca3
2021-11-09 16:47:35 -08:00
Ahaan Ugale
d4ce558f33 Password settings: Fix work profile
Currently, the work profile password settings just point to the personal
profile app. This change fixes this using the forWork metadata tag, that
sets the work profile user in BasePreferenceController.

Also fixes and re-enables the
displayPreference_withPasswords_addsPreference test.

Fix: 192417100
Test: manual - work profile link works, password count is accurate
Test: atest PasswordsPreferenceControllerTest
Change-Id: I6345b69b9c03ff13b8e2784e69dc0188abc436e3
2021-06-30 17:22:07 -07:00
Kevin Han
8df22e7cd9 Move unused apps count calculation to bg thread
Move the somewhat expensive calculation of the "Unused apps" count to
the background thread

Initially, the "Unused apps" preference is unavailable. When the bg work
finishes and we see we have a non-zero number of unused apps, we display
the preference and update the summary text.

Bug: 187996287
Test: atest HibernatedAppsPreferenceControllerTest
Test: measure latency of displaying preferences w/ custom trace points

Change-Id: Idb0d836fd8f4bcdd2605a7d59703a7ed53bcd6d4
2021-06-03 19:14:25 -07:00