diff options
Diffstat (limited to 'hostsidetests/scopedstorage/libs/ScopedStorageTestLib/src/android/scopedstorage/cts/lib/TestUtils.java')
-rw-r--r-- | hostsidetests/scopedstorage/libs/ScopedStorageTestLib/src/android/scopedstorage/cts/lib/TestUtils.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/hostsidetests/scopedstorage/libs/ScopedStorageTestLib/src/android/scopedstorage/cts/lib/TestUtils.java b/hostsidetests/scopedstorage/libs/ScopedStorageTestLib/src/android/scopedstorage/cts/lib/TestUtils.java index a824a1558aa..3db6007cf43 100644 --- a/hostsidetests/scopedstorage/libs/ScopedStorageTestLib/src/android/scopedstorage/cts/lib/TestUtils.java +++ b/hostsidetests/scopedstorage/libs/ScopedStorageTestLib/src/android/scopedstorage/cts/lib/TestUtils.java @@ -756,12 +756,7 @@ public class TestUtils { Install.single(testApp).commit(); assertThat(InstallUtils.getInstalledVersion(packageName)).isEqualTo(1); if (grantStoragePermission) { - grantPermission(packageName, Manifest.permission.READ_EXTERNAL_STORAGE); - if (SdkLevel.isAtLeastT()) { - grantPermission(packageName, Manifest.permission.READ_MEDIA_IMAGES); - grantPermission(packageName, Manifest.permission.READ_MEDIA_AUDIO); - grantPermission(packageName, Manifest.permission.READ_MEDIA_VIDEO); - } + addressStoragePermissions(packageName, true); } Log.d(TAG, String.format("Successfully installed %s app", testApp.getPackageName())); } finally { @@ -769,6 +764,27 @@ public class TestUtils { } } + /** + * Grants or revokes storage read permissions. + */ + public static void addressStoragePermissions(String packageName, boolean grantPermission) { + if (grantPermission) { + grantPermission(packageName, Manifest.permission.READ_EXTERNAL_STORAGE); + if (SdkLevel.isAtLeastT()) { + grantPermission(packageName, Manifest.permission.READ_MEDIA_IMAGES); + grantPermission(packageName, Manifest.permission.READ_MEDIA_AUDIO); + grantPermission(packageName, Manifest.permission.READ_MEDIA_VIDEO); + } + } else { + revokePermission(packageName, Manifest.permission.READ_EXTERNAL_STORAGE); + if (SdkLevel.isAtLeastT()) { + revokePermission(packageName, Manifest.permission.READ_MEDIA_IMAGES); + revokePermission(packageName, Manifest.permission.READ_MEDIA_AUDIO); + revokePermission(packageName, Manifest.permission.READ_MEDIA_VIDEO); + } + } + } + public static boolean isAppInstalled(TestApp testApp) { boolean isAppInstalled = InstallUtils.getInstalledVersion(testApp.getPackageName()) != -1; |