Revert "Add test for permission checks for setattr."
Revert "Add permission checks for setattr"
Revert submission 11543644-setattr-perm-check
Reason for revert: This breaks some functionality that makes unexpected calls to setattr - b/159714862
Reverted Changes:
Idc32ca1de:Add test for permission checks for setattr.
I0db5346bf:Add permission checks for setattr
Bug: 159714862
Test: atest DocumentsUIGoogleTests:com.android.documentsui.FileCopyUiTest#testCopyDocuments_FromSdCard
Test: repro steps from b/159714862
Change-Id: I3cff7c2c24bac950aade436ec5a23a467941525b
diff --git a/hostsidetests/scopedstorage/ScopedStorageTestHelper/src/android/scopedstorage/cts/ScopedStorageTestHelper.java b/hostsidetests/scopedstorage/ScopedStorageTestHelper/src/android/scopedstorage/cts/ScopedStorageTestHelper.java
index 8dfe7b7..0c8fd61 100644
--- a/hostsidetests/scopedstorage/ScopedStorageTestHelper/src/android/scopedstorage/cts/ScopedStorageTestHelper.java
+++ b/hostsidetests/scopedstorage/ScopedStorageTestHelper/src/android/scopedstorage/cts/ScopedStorageTestHelper.java
@@ -27,7 +27,6 @@
import static android.scopedstorage.cts.lib.TestUtils.OPEN_FILE_FOR_WRITE_QUERY;
import static android.scopedstorage.cts.lib.TestUtils.QUERY_TYPE;
import static android.scopedstorage.cts.lib.TestUtils.READDIR_QUERY;
-import static android.scopedstorage.cts.lib.TestUtils.SETATTR_QUERY;
import static android.scopedstorage.cts.lib.TestUtils.canOpen;
import static android.scopedstorage.cts.lib.TestUtils.getImageContentUri;
@@ -78,7 +77,6 @@
case DELETE_FILE_QUERY:
case OPEN_FILE_FOR_READ_QUERY:
case OPEN_FILE_FOR_WRITE_QUERY:
- case SETATTR_QUERY:
returnIntent = accessFile(queryType);
break;
case EXIF_METADATA_QUERY:
@@ -172,9 +170,6 @@
returnStatus = canOpen(file, false /* forWrite */);
} else if (queryType.equals(OPEN_FILE_FOR_WRITE_QUERY)) {
returnStatus = canOpen(file, true /* forWrite */);
- } else if (queryType.equals(SETATTR_QUERY)) {
- int newTimeMillis = 12345000;
- returnStatus = file.setLastModified(newTimeMillis);
}
final Intent intent = new Intent(queryType);
intent.putExtra(queryType, returnStatus);
diff --git a/hostsidetests/scopedstorage/host/src/android/scopedstorage/cts/host/ScopedStorageHostTest.java b/hostsidetests/scopedstorage/host/src/android/scopedstorage/cts/host/ScopedStorageHostTest.java
index 08349a1..d0b2fdc 100644
--- a/hostsidetests/scopedstorage/host/src/android/scopedstorage/cts/host/ScopedStorageHostTest.java
+++ b/hostsidetests/scopedstorage/host/src/android/scopedstorage/cts/host/ScopedStorageHostTest.java
@@ -385,11 +385,6 @@
}
@Test
- public void testCantSetAttrOtherAppsFile() throws Exception {
- runDeviceTest("testCantSetAttrOtherAppsFile");
- }
-
- @Test
public void testAccess_file() throws Exception {
grantPermissions("android.permission.READ_EXTERNAL_STORAGE");
try {
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 34fbe79..fa7aacc 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
@@ -95,7 +95,6 @@
public static final String CAN_READ_WRITE_QUERY =
"android.scopedstorage.cts.can_read_and_write";
public static final String READDIR_QUERY = "android.scopedstorage.cts.readdir";
- public static final String SETATTR_QUERY = "android.scopedstorage.cts.setattr";
public static final String STR_DATA1 = "Just some random text";
public static final String STR_DATA2 = "More arbitrary stuff";
@@ -284,16 +283,6 @@
}
/**
- * Makes the given {@code testApp} setattr for given file path.
- *
- * <p>This method drops shell permission identity.
- */
- public static boolean setAttrAs(TestApp testApp, String path)
- throws Exception {
- return getResultFromTestApp(testApp, path, SETATTR_QUERY);
- }
-
- /**
* Installs a {@link TestApp} without storage permissions.
*/
public static void installApp(TestApp testApp) throws Exception {
diff --git a/hostsidetests/scopedstorage/src/android/scopedstorage/cts/ScopedStorageTest.java b/hostsidetests/scopedstorage/src/android/scopedstorage/cts/ScopedStorageTest.java
index eb60460..0b329cf 100644
--- a/hostsidetests/scopedstorage/src/android/scopedstorage/cts/ScopedStorageTest.java
+++ b/hostsidetests/scopedstorage/src/android/scopedstorage/cts/ScopedStorageTest.java
@@ -85,7 +85,6 @@
import static android.scopedstorage.cts.lib.TestUtils.queryVideoFile;
import static android.scopedstorage.cts.lib.TestUtils.readExifMetadataFromTestApp;
import static android.scopedstorage.cts.lib.TestUtils.revokePermission;
-import static android.scopedstorage.cts.lib.TestUtils.setAttrAs;
import static android.scopedstorage.cts.lib.TestUtils.setupDefaultDirectories;
import static android.scopedstorage.cts.lib.TestUtils.uninstallApp;
import static android.scopedstorage.cts.lib.TestUtils.uninstallAppNoThrow;
@@ -103,7 +102,6 @@
import static androidx.test.InstrumentationRegistry.getContext;
import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
@@ -2619,34 +2617,6 @@
}
}
- /**
- * Test that apps can't set attributes on another app's files.
- */
- @Test
- public void testCantSetAttrOtherAppsFile() throws Exception {
- // This path's permission is checked in MediaProvider (directory/external media dir)
- final File externalMediaPath = new File(getExternalMediaDir(), VIDEO_FILE_NAME);
-
- try {
- // Create the files
- if (!externalMediaPath.exists()) {
- assertThat(externalMediaPath.createNewFile()).isTrue();
- }
-
- // Install TEST_APP_A with READ_EXTERNAL_STORAGE permission.
- installAppWithStoragePermissions(TEST_APP_A);
-
- // TEST_APP_A should not be able to setattr to other app's files.
- assertWithMessage(
- "setattr on directory/external media path [%s]", externalMediaPath.getPath())
- .that(setAttrAs(TEST_APP_A, externalMediaPath.getPath()))
- .isFalse();
- } finally {
- externalMediaPath.delete();
- uninstallAppNoThrow(TEST_APP_A);
- }
- }
-
@Test
public void testNoIsolatedStorageCanCreateFilesAnywhere() throws Exception {
final File topLevelPdf = new File(getExternalStorageDir(), NONMEDIA_FILE_NAME);