Commit Graph

74 Commits

Author SHA1 Message Date
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
Rajeev Kumar
265dd55235 Merge "Ensure hibernation exemption toggle uses pre-S flag" into sc-dev 2021-05-26 16:46:58 +00:00
Kevin Han
4b34271f7d Ensure hibernation exemption toggle uses pre-S flag
For dogfood, we want hibernation to target apps that target pre-S. This
was done on the PermissionController side but the toggle in Settings
did not visually reflect this policy, confusing dogfood/teamfood
participants.

This updates the default toggle position to consider whether the pre-S
flag is on and then default to the "on" position for apps targeting
pre-S if the flag was on for the device.

Bug: 189260947
Test: atest HibernationSwitchPreferenceControllerTest
Test: manual
Change-Id: I9cd16e82e1eee4589cb17a356b6bf2e3297a8dd2
2021-05-25 18:52:19 -07:00
Julia Reynolds
78c4e70cf6 Use | not ,
To match similar APIs

Test: Settings unit
Bug: 181175697
Change-Id: I2ef56528da7a3d5b2c96be8ecfad1a3d6590bbe4
2021-05-13 19:24:17 +00:00
Kevin Han
25ed73fa51 Add tests for HibernatedAppsPreferenceControllerTest
Add tests for getNumHibernated in HibernatedAppsPreferenceController
based off the major use cases.

Bug: 187745929
Test: atest HibernatedAppsPreferenceControllerTest
Change-Id: I7bee75075f12fc1661f1b12da82e6ccb16eaa06d
2021-05-12 13:09:09 -07:00
Julia Reynolds
2fe3273f3a Handle NLS metadata when provided as strings
Test: atest
Bug: 181175697
Change-Id: I40d935ffb7c1fb9f978160d28297da84412501fb
2021-05-07 18:37:10 +00:00
Arc Wang
e64f01ccfc Cleanup Storage Settings
There is AOSP built in file browser for image/video/audio
file category, this change cleanup APP based category
for image/video/audio.

Bug: 183078080
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I925fc9296b8c2df5bd793668f66a12beb7744469
2021-05-04 22:21:53 +08:00
Suprabh Shukla
39086c24fd Merge "Changes to "Alarms and Reminders" permission" into sc-dev 2021-04-09 22:27:50 +00:00
Suprabh Shukla
202bd8581a Changes to "Alarms and Reminders" permission
Calling AlarmManager to know the state of the permission, which is now
the source of truth, as the logic deciding the state of the permission
may change.
Also killing the app when the permission changes to denied, this avoids
the app maintaining stale state about this permission.

Test: make -j RunSettingsRoboTests
atest SettingsUnitTests:AppStateAlarmsAndRemindersBridgeTest

Manually: Toggle the state of an app to "Not allowed" and check the logs
for activity manager kill messages.

Bug: 181152252
Bug: 183136253
Change-Id: I438782eaef4caae50fd76685c675a3e45ee28d9f
2021-04-07 16:06:09 -07:00
Julia Reynolds
cc907eadaf Only show enhanced options for migrated apps
Apps that are using the API or target > S.

Test: settings unit tests
Bug: 184027330
Change-Id: Ifae94e6392a19a215ea9beb1e816c221381bf057
2021-04-02 10:39:29 -04:00
Kevin Han
bad7c091d6 Merge "Fix HibernationSwitchPreferenceControllerTest" into sc-dev 2021-03-24 20:37:03 +00:00
Ahaan Ugale
a8df0386ae Merge "Autofill Settings: Display the number of saved passwords." into sc-dev 2021-03-24 18:42:50 +00:00
Zhen Zhang
c86abd9b99 Fix HibernationSwitchPreferenceControllerTest
Fix the HibernationSwitchPreferenceControllerTest

Test: this is the test
Bug: 183585589
Change-Id: If97f664596e2724b3435b88ed7f3ea8c3fa4df94
2021-03-24 10:56:30 -07:00
Ahaan Ugale
63fb2f10d5 Autofill Settings: Display the number of saved passwords.
We bind to each available AutofillService, fetch the number of saved
passwords, then unbind and update the UI.

Each ServiceConnection is wired up to the controller's lifecycle so they
can be unbound when the lifecycle owner is destroyed.

Bug: 169455298
Test: manual - check value in the UI
Test: manual - no ServiceConnection leak, even when there's no response
Test: atest \
 SettingsUnitTests:com.android.settings.applications.autofill.PasswordsPreferenceControllerTest
Change-Id: I7008e979e9292b99c8611010e49b3e738c82bfed
2021-03-23 19:33:48 -07:00
Zhen Zhang
1f99d6a4b5 Update summary based on hibernated apps number
Update the summary of "unused apps" based on how many apps are
hibernated or auto revoked.

Test: HibernatedAppsPreferenceControllerTest
Bug: 181172051

Change-Id: I274eb3c0ada3d063937368232f31e52c20287552
2021-03-23 11:10:43 -07:00
Ivan Chiang
d01c81e483 Add Media Management Apps activity in Special App Access
Add a settings page to control the permission MANAGE_MEDIA in Special
App Access. Apps can launch it by ACTION_REQUEST_MANAGE_MEDIA.

Test: m -j RunSettingsRoboTests ROBOTEST_FILTER=MediaManagementAppsDetailsTest
Test: m -j RunSettingsRoboTests
Test: manual
Bug: 181112025
Change-Id: Id7587cf179b8c5adbfd6477ca9c2d4a20a9852bb
2021-03-17 14:36:20 +08:00
Zhen Zhang
48bd52e091 Update settings for app hibernation
Created an preference in Apps & Notifcations page as the entry point for
apps that are hibernated. Also added a switch preference in AppInfo page
for users to exempt an app from hibernation.

Bug: 181172051
Test: HibernatedAppsPreferenceControllerTest;
HibernationSwitchPreferenceControllerTest;
AppInfoDashboardFragmentTest

Change-Id: I72a90ab391cd521150fc155a6d9c67c846b7360d
2021-03-15 21:34:46 -07:00
Ahaan Ugale
e9355553ee Merge "AF: Unit tests for PasswordsPreferenceController." into sc-dev 2021-03-10 20:08:08 +00:00
Ahaan Ugale
1515b2bb78 AF: Unit tests for PasswordsPreferenceController.
Bug: 169455298
Test: atest SettingsUnitTests:com.android.settings.applications.autofill.PasswordsPreferenceControllerTest
Change-Id: I5cbbb17f192b963a634690a95a591d3f51f47436
2021-03-09 20:08:06 -08:00
Ahaan Ugale
fbddfeba11 Merge "OWNERS for autofill and assist settings." am: 7af352dc73 am: 6d5dc7b451 am: 3879729cd1
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1621607

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5f3f2d73b50b2eb91a94853e62350df72264686e
2021-03-08 07:49:18 +00:00
Ahaan Ugale
1014194897 OWNERS for autofill and assist settings.
tests/unit/../autofill is empty here; new files are being added in the
internal repo.

Change-Id: Ia4aaa395b01147ee0597cca6075aae0121de7dd9
Test: n/a
2021-03-07 00:40:15 +00:00
Julia Reynolds
dc79f1ba99 Updates to NLS notif type filtering
- Allow an app to tell us they will never bridge a notification
type. We will then not let a user select that type
- Checkboxes everywhere.

Test: Settings unit
Bug: 181125165
Bug: 181124973
Change-Id: I73939d3d0e99016456e009b2f104cdded98411c6
2021-02-26 19:27:25 +00:00
Suprabh Shukla
c8b9240535 Adding alarms and reminders activity
Adding a settings screen to control the permission SCHEDULE_EXACT_ALARM.
Apps can start this by starting a newly introduced API intent
REQUEST_SCHEDULE_EXACT_ALARM.

Test: make -j RunSettingsRoboTests
Manually by UI inspection:
Settings -> Apps -> Special App access -> Alarms and Reminders
or by running:
adb shell am start -a android.settings.REQUEST_SCHEDULE_EXACT_ALARM

Bug: 171306433
Bug: 171305516
Change-Id: I1293d38fc50a22b2af46f80ab24f676ed632f964
2021-02-23 22:32:24 -08:00
Treehugger Robot
e5313e42cc Merge "Adding notification team members to notification directory" am: f290b00125 am: 1d7e8ae790 am: dbf857e2c7
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1600634

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If6306474d5ac4eb50686da75fc85aa15418be03f
2021-02-24 05:54:51 +00:00
Julia Reynolds
f2a444328c Adding notification team members to notification directory
Change-Id: Ie51b4b4ac69843b3a68957e03462d1b226abbdc0
2021-02-23 18:54:59 +00:00
Julia Reynolds
20814ed5c7 Add package filtering to NLSes
Now users can prevent a given notification listener from seeing
notifications from particular apps.

Test: settings unit tests
Bug: 173052211
Change-Id: Ia868d6dc2da1ae7f75c0dca47034e28910584acd
2021-02-11 19:00:57 +00:00
Julia Reynolds
eb2b36a5e2 Allow notification filtering per listener.
Test: atest
Bug: 173052211
Change-Id: I54c740e9755f18339c59aad4f1f5aecd8c734892
2021-01-07 10:01:08 -05:00
Julia Reynolds
d41f2db9ec Migrate NLS access to preferencecontrollers
In preparation for some new settings

Test: RoboTests
Bug: 173052211
Change-Id: I57c692d7ff0a1a8e36fb9e3f6c159263997fdc71
2021-01-06 14:23:59 +00:00
Arc Wang
62c78ff3fa Migrate robolectric tests to junit tests
This change do the 2 things:

1. Add new junit tests files which replace robolectric
   RobolectricTestRunner & RuntimeEnvironment with
   AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.

This change migrate 103 files, there are still 1209
files to go.

Bug: 174728471
Test: atest
      make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
2020-12-16 11:17:57 +08:00