Commit Graph

55 Commits

Author SHA1 Message Date
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
Jeremy Goldman
f9befbb347 Move JUnit tests not from telephony settings into legacy directory.
In order to enable the junit tests as a blocking presubmit, we want
to ensure that all tests within this directory are being actively
maintained. A number of these tests were migrated to robolectric
sometime in 2017-2018, and because they are no longer maintained this CL
moves them into a separate folder, so that they will not be included in
the presubmit.

Please verify that this is the appropriate action to take for these
tests. In the future, the settings team may decide to delete this legacy
directory entirely.

Note that AutoSelectPreferenceControllerTest.setChecked_isChecked_showProgressDialog
is currently failing, but we can fix it in a separate CL.

Test: make SettingsUnitTests && adb install -r out/target/product/shamu/testcases/SettingsUnitTests/arm64/SettingsUnitTests.apk
Change-Id: Iafc15b9ac69b5ca2fec76d3c0c7e247ea0017d49
2020-10-20 10:21:41 +00:00
Arc Wang
63e015962c [Settings] Remove failure JUnit test cases
This change removes all the files which have any failure JUnit test case.

Bug: 168429329
Test: atest --test-mapping tests/unit:postsubmit
Change-Id: I1665565760f9dfc185bf9b8dd871ee106eba5dd5
2020-10-07 21:26:09 +08:00
Fan Zhang
0047944c2e Clean up instrumentation tests
- Fixed some important tests
- Deleted some useless tests
- Some tests are still broken, filed bugs for these

Fixes: 124572765
Test: atest
Change-Id: Iac4e6a1fb1dbf9383d91945525df69a651ae77fd
2019-02-25 16:24:35 -08:00
Brett Chabot
031dcf5019 Migrate packages/apps/Settings to androidx.test
See go/jetpack-test-android-migration

Test: make checkbuild
Change-Id: If67b124188fd4e303154eb11263d03abfb3718c6
2018-12-17 09:20:05 -08:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Doris Ling
ce55d7c6a1 Remove app info page v1 related codes.
- change to use AppInfoDashboardFragment completely
- remove InstalledAppDetails and the corresponding tests

Change-Id: I8cbdf71cadc8b5743929abbafe91185e5e39b6b2
Fixes: 69384089
Test: make RunSettingsRoboTests
2018-01-29 17:14:32 -08:00
Peter Visontay
cec65e9423 Fix the app ops settings tests by adding FLAG_ACTIVITY_NEW_TASK to Intents.
Test: make -j32 SettingsUnitTests && adb install -r out/target/product/marlin/data/app/SettingsUnitTests/SettingsUnitTests.apk && adb shell am instrument -w -e class com.android.settings.applications.ExternalSourcesSettingsTest com.android.settings.tests.unit/android.support.test.runner.AndroidJUnitRunner
Change-Id: I187d68e6b214d975df0fe2a3d5dc88cadec35fa3
2018-01-23 13:32:34 +00:00
Peter Visontay
7ca6649566 Merge "Add a unit test for the AppOps permission for displaying UI overlays." 2017-12-14 13:49:18 +00:00
TreeHugger Robot
aceacf5d43 Merge "Move AppInfoDashboardFragment into appinfo package." 2017-12-13 21:22:36 +00:00
Peter Visontay
11bfef660c Add a unit test for the AppOps permission for displaying UI overlays.
The test logic is the same as ExetrnalSourcesSettingsTest but I moved/renamed some methods so both AppOps tests can use them.

Test: make -j32 SettingsUnitTests && adb install -r out/target/product/marlin/data/app/SettingsUnitTests/SettingsUnitTests.apk && adb shell am instrument -w -e class com.android.settings.applications.ExternalSourcesSettingsTest com.android.settings.tests.unit/android.support.test.runner.AndroidJUnitRunner
Test: same as above, but for DrawOverlaySettingsTest
Change-Id: Ifc0f0985a4cb4a82a00839aeb4cd4216c777250e
2017-12-13 18:54:53 +00:00
Doris Ling
a0006d93bd Move AppInfoDashboardFragment into appinfo package.
- update all references to AppInfoDashboardFragment
- removed PackageUtil inner class and change the corresponding function
to be a simple method.

Bug: 69384089
Test: make RunSettingsRoboTests
Change-Id: Ief067e25a303ef16db20b2ca1d8840cb06eff5f9
2017-12-12 16:58:17 -08:00
Doris Ling
e29587e334 Fix crashes related to ExternalSourcesDetails.
- ExternalSourcesSettingsTest crashes due to the package moved of
ExternalSourcesDetails. Corresponding xml has been updated in previous
CLs. So, reverting the suppress tag for the test class.
- ExternalSourcesDetails can be launched directly with
MANAGE_UNKNOWN_APP_SOURCES intent, and client can pass in invalid
package while launching ExternalSourcesDetails. Need to check whether
the app info is invalid before we try to launch the fragment.
- also fix test failure for not founding the app list as list object
type and id had been changed.

Change-Id: Id7787ca889f770e10d7a8e9fbf8dc79c9d6e884d
Fixes: 70383636
Test: make RunSettingsRoboTests, make SettingsUnitTests
2017-12-12 22:21:20 +00:00
Doris Ling
a8472007a7 Update package name for PictureAndPictureSettings
- also need to update the reference in the special app access xml page.

Change-Id: I1199f70adf18d3f0e21a946848239526d9c8b3c8
Fixes: 70491786
Test: make SettingsUnitTests
2017-12-11 14:54:37 -08:00
Aurimas Liutikas
6df7a52011 Disable crashing ExternalSourcesSettingsTest#testManageExternalSourcesForApp
Bug: 70383636
Change-Id: If542ef48d54959b3cc6c9fb07ddf07977fe40a8b
2017-12-09 19:03:43 +00:00
Fan Zhang
a8cac7a409 Move ManageApplications to sub package and remove dead code
Bug: 64804294
Test: rerun test
Change-Id: I23cbd8da9b65f52470030ba3b9b676ece2bada11
2017-10-12 13:48:54 -07:00
Doris Ling
d47606ab6d Move tests from tests/app/ to tests/unit/
- second round, move all remaining items
- removed SoundSettingsIntegrationTest and DashboardAdapterTest as they
are obsolete.

Fixes: 62103184
Test: make SettingsUnitTests
Change-Id: Idc2eeb285acd209ef2d00c5451fff697002e1734
2017-08-29 15:32:53 -07:00
Doris Ling
109bb5e59a Move tests from tests/app/ to tests/unit/
- first round: move tests that currently pass

Bug: 62103184
Test: make SettingsUnitTests
Change-Id: Ief3adf88e5090621e5ec3957a71d1b56b4be186a
2017-08-09 17:12:46 -07:00
Daniel Nishi
6f3900f6b5 Fix filter bug for non-internal app filtering.
By default, the filter would show all non-categorized apps. This,
however, regressed the external storage apps view which does not have
categorization (yet). By adding back in a legacy option to use the old
purely UUID filtering, we can fix the regression.

Change-Id: I72d8d3bc08fbdff53374eb1e973bce9f8d7e2e79
Fixes: 63542896
Test: Settings unit test
2017-07-11 17:11:28 -07:00