summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2021-02-09 19:26:34 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2021-02-09 19:26:34 +0000
commit5924faf5e172563947cf94183fe984cac77105ad (patch)
tree8d1bd2a918c635cdcc373add482afb5b7c2c98ba
parentd47c607e168054656e50555641301ed8ee4b421a (diff)
parent7c4221457a8c31fa2da55b2b6865476c437bb707 (diff)
downloadcts-android11-mainline-os-statsd-release.tar.gz
Snap for 7134866 from 7c4221457a8c31fa2da55b2b6865476c437bb707 to mainline-os-statsd-releaseandroid-mainline-11.0.0_r44android11-mainline-os-statsd-release
Change-Id: Iaf013d2bb76d9510b3dcad12f1992ffba99ad138
-rw-r--r--hostsidetests/scopedstorage/device/src/android/scopedstorage/cts/device/ScopedStorageDeviceTest.java33
-rw-r--r--hostsidetests/scopedstorage/res/raw/test_audio.mp3bin0 -> 18429 bytes
2 files changed, 33 insertions, 0 deletions
diff --git a/hostsidetests/scopedstorage/device/src/android/scopedstorage/cts/device/ScopedStorageDeviceTest.java b/hostsidetests/scopedstorage/device/src/android/scopedstorage/cts/device/ScopedStorageDeviceTest.java
index 966f96d82c3..59a2d3c5f74 100644
--- a/hostsidetests/scopedstorage/device/src/android/scopedstorage/cts/device/ScopedStorageDeviceTest.java
+++ b/hostsidetests/scopedstorage/device/src/android/scopedstorage/cts/device/ScopedStorageDeviceTest.java
@@ -1536,6 +1536,39 @@ public class ScopedStorageDeviceTest extends ScopedStorageBaseDeviceTest {
}
/**
+ * Test that ScanFile() after renaming file extension updates the right
+ * MIME type from the file metadata.
+ */
+ @Test
+ public void testScanUpdatesMimeTypeForRenameFileExtension() throws Exception {
+ final String audioFileName = "ScopedStorageDeviceTest_" + NONCE;
+ final File mpegFile = new File(getMusicDir(), audioFileName + ".mp3");
+ final File nonMpegFile = new File(getMusicDir(), audioFileName + ".snd");
+ try {
+ // Copy audio content to mpegFile
+ try (InputStream in =
+ getContext().getResources().openRawResource(R.raw.test_audio);
+ FileOutputStream out = new FileOutputStream(mpegFile)) {
+ FileUtils.copy(in, out);
+ out.getFD().sync();
+ }
+ assertThat(MediaStore.scanFile(getContentResolver(), mpegFile)).isNotNull();
+ assertThat(getFileMimeTypeFromDatabase(mpegFile)).isEqualTo("audio/mpeg");
+
+ // This rename changes MIME type from audio/mpeg to audio/basic
+ assertCanRenameFile(mpegFile, nonMpegFile);
+ assertThat(getFileMimeTypeFromDatabase(nonMpegFile)).isNotEqualTo("audio/mpeg");
+
+ assertThat(MediaStore.scanFile(getContentResolver(), nonMpegFile)).isNotNull();
+ // Above scan should read file metadata and update the MIME type to audio/mpeg
+ assertThat(getFileMimeTypeFromDatabase(nonMpegFile)).isEqualTo("audio/mpeg");
+ } finally {
+ mpegFile.delete();
+ nonMpegFile.delete();
+ }
+ }
+
+ /**
* Test that app without write permission for file can't update the file.
*/
@Test
diff --git a/hostsidetests/scopedstorage/res/raw/test_audio.mp3 b/hostsidetests/scopedstorage/res/raw/test_audio.mp3
new file mode 100644
index 00000000000..4fe9228331d
--- /dev/null
+++ b/hostsidetests/scopedstorage/res/raw/test_audio.mp3
Binary files differ