diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2021-02-09 19:26:34 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2021-02-09 19:26:34 +0000 |
commit | 5924faf5e172563947cf94183fe984cac77105ad (patch) | |
tree | 8d1bd2a918c635cdcc373add482afb5b7c2c98ba | |
parent | d47c607e168054656e50555641301ed8ee4b421a (diff) | |
parent | 7c4221457a8c31fa2da55b2b6865476c437bb707 (diff) | |
download | cts-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.java | 33 | ||||
-rw-r--r-- | hostsidetests/scopedstorage/res/raw/test_audio.mp3 | bin | 0 -> 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 Binary files differnew file mode 100644 index 00000000000..4fe9228331d --- /dev/null +++ b/hostsidetests/scopedstorage/res/raw/test_audio.mp3 |