Commit Graph

63 Commits

Author SHA1 Message Date
Arc Wang
9d5b4688e2 Merge "Fix com.android.settings.deviceinfo.storage.StorageEntryTest" into sc-dev am: aed1bba60a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14029456

Change-Id: I3a382089a60bc5c036d7e5d2fee85ddff03de68f
2021-03-31 12:53:38 +00:00
Arc Wang
a1fb47beb8 Fix com.android.settings.deviceinfo.storage.StorageEntryTest
StorageEntry#isStub() is unused and not built in apk.
Remove the method to fix test fail.

Bug: 184045592
Test: atest com.android.settings.deviceinfo.storage
Change-Id: I89d73c45111918c2ff01174d6fbb47f8c59f6968
2021-03-31 10:05:09 +08:00
Arc Wang
71ec654fcc Merge "Show "Files" category for public storage in Storage Settings" into sc-dev am: dd2f2f51e0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13975110

Change-Id: Iea8ea56dfa32eca83adeb75b5fc98668af017b80
2021-03-30 11:18:15 +00:00
Arc Wang
c626380689 Show "Files" category for public storage in Storage Settings
Users can click this preference to see public storage files
in external file browsers.

Bug: 170918505
Test: make RunSettingsRoboTests ROBOTEST_FILTER=StorageItemPreferenceControllerTest
      manual
      Select private storage and public storage and observe UI
Change-Id: If3f0d59b2ebf941d70e81e60c4c2015b80e7cf33
2021-03-30 15:51:49 +08:00
Arc Wang
86940142ad Merge "Only show storage category stats preferences for private volumes" into sc-dev am: e98a5a9932
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13922070

Change-Id: I260581ae4f06bb976f8a9b2b90a25a3c34687998
2021-03-22 11:41:32 +00:00
Arc Wang
40396d532f Only show storage category stats preferences for private volumes
Hide it because there is no framework API to get storage
category stats of public volumes.

Bug: 174964885
Test: manual
      Observe storage settings UI of a USB flash drive.
Change-Id: I7272cd18c186793f86548a87b5cb88bb957ff8d5
2021-03-22 16:28:59 +08:00
TreeHugger Robot
d7fff5790a Merge changes from topic "revamp storage settings header" into sc-dev
* changes:
  Add option menu in StorageDashboardFragment
  Revamp Storage Settings header part
2021-03-20 16:06:50 +00:00
Arc Wang
5fa38bbba2 Merge changes from topic "revamp storage settings header - master"
* changes:
  Add option menu in StorageDashboardFragment
  Revamp Storage Settings header part
2021-03-20 15:31:21 +00:00
Arc Wang
c22749530b Add option menu in StorageDashboardFragment
Add option menu for each kind of storage

1. Unsupported disk: Format.
2. Missing volume record: Forget.
3. Unmounted storage: Mount.
4. Default internal storage: Migrate.
5. Private volume: Rename / Unmount / Format as portable / Migrate.
6. Publuc volume: Rename / Unmount / Format / Format as internal.

Bug: 174964885
Test: atest VolumeOptionMenuControllerTest
Change-Id: I85fa117ff0a49ec7a53ba36580591c7ce7f5a8dc
Merged-In: I85fa117ff0a49ec7a53ba36580591c7ce7f5a8dc
2021-03-19 18:08:48 +08:00
Arc Wang
d496a737ce Revamp Storage Settings header part
1. Add new object StorageEntry to encapsulate VolumeInfo and
   unsupported DiskInfo and missing VolumeRecord.
2. Replaces StorageSummaryDonutPreference with UsageProgressBarPreference.
3. Add storage select spinner.
4. Add a "Free up storage" preference to replace "Manage storage" button.

Bug: 174964885
Test: atest com.android.settings.deviceinfo.storage
      atest com.android.settings.deviceinfo
      manual
      Insert an USB drive, select the drive in StorageDashboardFragment
      and observe UI.
Change-Id: I83877f76869414de4fb2788b6b18fe507aa5cfcf
Merged-In: I83877f76869414de4fb2788b6b18fe507aa5cfcf
2021-03-19 18:08:38 +08:00
Arc Wang
ba79fe6676 Add option menu in StorageDashboardFragment
Add option menu for each kind of storage

1. Unsupported disk: Format.
2. Missing volume record: Forget.
3. Unmounted storage: Mount.
4. Default internal storage: Migrate.
5. Private volume: Rename / Unmount / Format as portable / Migrate.
6. Publuc volume: Rename / Unmount / Format / Format as internal.

Bug: 174964885
Test: atest VolumeOptionMenuControllerTest
Change-Id: I85fa117ff0a49ec7a53ba36580591c7ce7f5a8dc
2021-03-17 20:44:36 +08:00
Arc Wang
89e6d99daf Revamp Storage Settings header part
1. Add new object StorageEntry to encapsulate VolumeInfo and
   unsupported DiskInfo and missing VolumeRecord.
2. Replaces StorageSummaryDonutPreference with UsageProgressBarPreference.
3. Add storage select spinner.
4. Add a "Free up storage" preference to replace "Manage storage" button.

Bug: 174964885
Test: atest com.android.settings.deviceinfo.storage
      atest com.android.settings.deviceinfo
      manual
      Insert an USB drive, select the drive in StorageDashboardFragment
      and observe UI.
Change-Id: I83877f76869414de4fb2788b6b18fe507aa5cfcf
2021-03-17 20:33:37 +08:00
TreeHugger Robot
2bad0d6b35 Merge "[Settings] Use TelephonyManasger.registerTelephonyCallback instead of TelephonyManager.listen" into sc-dev am: c7d3c5f1be
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13815935

Change-Id: I9685a196017eef12618efd72d31421a5cc27f4e9
2021-03-17 10:44:22 +00:00
Zoey Chen
b8a639f8fd [Settings] Use TelephonyManasger.registerTelephonyCallback instead of TelephonyManager.listen
Bug: 175270951
Test: make and atest
Change-Id: I15e1a199e6a34914db97055bfea9392c5bbdc9c6
2021-03-12 19:27:05 +08:00
Jeremy Goldman
71a33717b8 Merge "SerialNumberPreferenceControllerTest converted to JUnit" 2021-03-09 05:00:08 +00:00
Jeremy Goldman
6e1b791342 Merge "PhoneNumberPreferenceControllerTest converted to JUnit" 2021-03-08 08:08:34 +00:00
Jeremy Goldman
576009adeb Merge "StorageProfileFragmentTest converted to JUnit" 2021-03-05 03:24:17 +00:00
Jeremy Goldman
859fc2bc15 Merge "HardwareRevisionPreferenceControllerTest converted to JUnit." 2021-03-04 01:22:49 +00:00
Jeremy Goldman
7f98211d08 Merge "DeviceModelPreferenceControllerTest converted to JUnit." 2021-03-04 01:22:33 +00:00
Jeremy Goldman
5a36305aae StorageProfileFragmentTest converted to JUnit
Looper and UIThreadTest added.

Test: atest -c StorageProfileFragmentTest
Change-Id: Ib561a0e87a0b5034f7692f2567c8617e7f5f763e
2021-02-25 15:20:12 +08:00
Jeremy Goldman
47e1c78343 Merge "PrivateVolumeOptionMenuControllerTest converted to JUnit" 2021-02-25 05:43:56 +00:00
Jeremy Goldman
3098ea1274 Merge "BrandedAccountPreferenceControllerTest converted to JUnit" 2021-02-25 05:43:29 +00:00
Jeremy Goldman
9ec80bb8b0 Merge "TopLevelStoragePreferenceControllerTest converted to JUnit" 2021-02-25 01:31:20 +00:00
Jeremy Goldman
899eb7282d TopLevelStoragePreferenceControllerTest converted to JUnit
Helper function composed to return thread future, to guarantee
concurrent function finishes before test condition is checked.
Additionally a @VisibleForTesting helper function is used rather than
robolectric reflection helpers to set a class variable.

Test: atest -c TopLevelStoragePreferenceControllerTest
Change-Id: Ia22ebac4baec60f72b8516e9e79998cd788266ab
2021-02-24 16:24:19 +08:00
Jeremy Goldman
d2a5331711 PrivateVolumeOptionMenuControllerTest converted to JUnit
ArgumentCaptor used to verify which activity is started by the context.
Additionally, spy of application runtime context used instead of a
robolectric shadowActivity

Test: atest -c PrivateVolumeOptionMenuControllerTest
Change-Id: I5afd83cc09d57150661b22156a2fb06e1f09ea0b
2021-02-24 13:59:13 +08:00
Jeremy Goldman
b277923e56 BrandedAccountPreferenceControllerTest converted to JUnit
Resource determining controller availability is mocked, rather than
using robolectric device config.

Diff: https://diff.googleplex.com/#key=JywCGq1rz3Pb
Test: atest -c BrandedAccountPreferenceControllerTest
Change-Id: I14e6db63af29479cb663895f9d9259bff0df43b7
2021-02-24 05:41:03 +00:00
Jeremy Goldman
804b9a4d46 PhoneNumberPreferenceControllerTest converted to JUnit
Actual preferenceScreen used rather than mock, since it is a final class
ArgumentCaptor used to get clip data text.

Test: atest -c PhoneNumberPreferenceControllerTest
Change-Id: Ib33be3bc7d9b506523be408a44f31417f0faa4c1
2021-02-24 13:21:39 +08:00
Jeremy Goldman
eb86ccbf6b Merge "BuildNumberPreferenceControllerTest converted to JUnit" 2021-02-24 01:44:55 +00:00
Jeremy Goldman
22241eb25f BuildNumberPreferenceControllerTest converted to JUnit
UserManager spy used instead of ShadowUserManager.
ArgumentCaptor used for ClipData rather than getting the primary clip.
Test: atest -c BuildNumberPreferenceControllerTest

Change-Id: Idd9e93371f1abda7bf9169ee86116fb7efb9ca09
2021-02-23 17:15:24 +08:00
Jeremy Goldman
b8f05956ed HardwareRevisionPreferenceControllerTest converted to JUnit.
Diff: https://diff.googleplex.com/#key=Snb7bwFLO81L
Test: atest -c HardwareRevisionPreferenceControllerTest
Change-Id: I85e8fb02f5ac213f04912026e74dfaae92a2decd
2021-02-23 08:42:43 +00:00
Jeremy Goldman
d552011b7c SerialNumberPreferenceControllerTest converted to JUnit
The biggest difference is that an argumentcaptor is used for the
ClipboardManager, rather than inspecting the primary clip.

Diff: https://diff.googleplex.com/#key=X1WHfEzPhfuY
Test: atest -c SerialNumberPreferenceControllerTest
Change-Id: I84c2abd0d53dde22c90b0967f6884bc590181f7c
2021-02-23 07:42:31 +00:00
Jeremy Goldman
a8bf939d41 DeviceModelPreferenceControllerTest converted to JUnit.
Test: atest -c DeviceModelPreferenceControllerTest
Change-Id: Ibdf3a86fb7f77a40844b62980e4e3f1f7e9a5bd8
2021-02-23 15:00:08 +08:00
Jeremy Goldman
6bccd36399 HardwareInfoPreferenceControllerTest migrated to JUnit.
ResourcesUtils used to get boolean resource id.

Test: atest -c HardwareInfoPreferenceControllerTest
Change-Id: I55aad63d8fbab5a70dafd49f2f79965dce5049b6
2021-02-23 14:00:23 +08:00
tom hsu
ba845f7fe4 Avoid wrong telephonymanager with wrong sub id.
When initialized SimStatusDialogController, also create TelephonyManager
with sub id.

Bug: 174171839
Test: Manual test passed, see b/174171839#25
Change-Id: I6bd6975e39c75884252b9d0bcd9d5548dbdfe6d5
2021-01-28 06:26:21 +00:00
Jeremy Goldman
6625f03eca DeviceNamePreferenceControllerTest converted to JUnit
Rather than mocking the PreferenceScreen's getPreference function,
a PreferenceManager has been created, which instantiates the Screen.
The desired Preference is added to the Screen with the testing key.
Rather than using a shadow XML, contexts' resources are mocked.
A mock WifiManager is used instead of a shadow
Duplicate test case removed, and test which succeeds locally but
not on cuttlefish marked as ignored for now.


Bug: 175389659
Test: atest -c DeviceNamePreferenceControllerTest
Change-Id: I643b22993a1d102614fed1883af7f4925947be20
2020-12-22 00:38:33 +00:00
Jeremy Goldman
04eeb1e5e3 Merge "ModuleLicenseProviderTest converted to JUnit" 2020-12-21 07:38:51 +00:00
Jeremy Goldman
e068542f53 SimStatusDialogControllerTest converted to JUnit
Bug: 175389659
Test: atest -c SimStatusDialogControllerTest
Change-Id: Id2cfb01714f1756f9251b2319d83a1609488b0f6
2020-12-21 04:45:13 +00:00
Jeremy Goldman
471659f30d ModuleLicenseProviderTest converted to JUnit
The superclass ContentProvider's "getContext" method is final and
cannot be mocked, so a helper method visible for testing was added
to allow for context injection.

Bug: 175389659
Test: atest -c ModuleLicenseProviderTest
Change-Id: I9e20171340ae0a48d74fae44c7b356ea67dba43b
2020-12-18 12:06:16 +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
Bonian Chen
1c97e70641 [Settings] Grant permissions to submit junit test
Grant permissions for adding new Junit test case.

Change-Id: Iabde2307669815fd50cdba241492c82b9e2cf64d
2020-08-13 18:49:31 +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
HJ ChangLiao
5693be2863 Replace PackageManagerWrapper with PackageManager
Replace all SettingsLib/PackageManagerWrapper in Settings,
by PackageManager,
Remove ShadowPackageManagerWrapper.

Bug: 62067063
Test: make RunSettingsRoboTests
Change-Id: I6d1af55c13d80c1907b98b21e0207cc903cd9b1f
2018-04-24 15:12:31 +08:00
Fan Zhang
947a673f74 Remove more wrappers
- WallpaperManagerWrapper
- UserManagerWrapper

Bug: 76167422
Test: robotests
Change-Id: I3ca866089082e01f1e9d7a4554387962f45a5437
2018-04-02 16:51:40 -07:00
Doris Ling
dee1a22c45 Consolidate all wrappers used for testing.
- Add the wrapper package and move all wrappers to the wrapper package.
- Get rid of some wrapper interface/impl implementation and have a
wrapper class directly.

Bug: 65634579
Test: make RunSettingsRoboTests
Change-Id: Ic757d8f7bacfa7a034c7e692205bc1dc4b0e1de1
2017-09-14 18:24:49 -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
Daniel Nishi
b22b85b593 Count cache in storage categories.
This makes the System size more consistent because cache is not
attributed to the system (when the cache is under quota).

Change-Id: I680e70daf5e98b9a205023a218dfd1dcc8ee8334
Fixes: 62623731
Test: Settings Unit Test
2017-06-22 19:08:48 -07:00
Daniel Nishi
b088010d12 Add more sane multi-profile app attribution.
Due to issues w.r.t. attribution across multiple users, we originally
duplicated the previous implementation which zeroed out the sizes. This,
however, caused system bloat due to the change in how we calculate the
system size.

By attributing apps which do not exist in the primary profile to the
first user that shows up with it installed, we can avoid accidentally
attributing it to the system size.

Bug: 62623731
Test: Settings unittest & Settings robotest
Change-Id: I9514c9ecef62ea6270723f62e6bf27c69b75f180
2017-06-15 17:25:10 -07:00
Jeff Sharkey
77fe8c1e9e Consistent "low storage" behavior.
Fix several bugs related to storage accounting.  Since getDataBytes()
already includes cached data, we need to subtract it to avoid blaming
apps for it.

We also need to blame app code on someone, so we blame it on the
current user.  StorageStatsManager was fixed awhile back to only
return the app code size on the requested storage volume, so we can
remove the system app checks.

Subtract "appBytes" from external storage accounting, since it's
already been blamed elsewhere against specific apps.

Pass along storage results from all users on the device, and subtract
them all when estimating size of "system" data.  To avoid embarrassing
estimation bugs, make sure that "system" data is at least 1GB.

Bug: 38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Ide1e6d0690e5ad4e751c87891f63ba1036434619
2017-05-30 23:51:06 -06:00