From 6a79d348d8bc07363ad8bb15cbc5d6b9aff9d5e2 Mon Sep 17 00:00:00 2001 From: Hyoungho Choi Date: Thu, 11 Nov 2021 20:45:25 +0900 Subject: [PATCH] Add 'audio/mp3' to android.mime.types MimeTypeMap.getSingleton().getExtensionFromMimeType() returns null since MimeTypeMap doesn't have 'audio/mp3'. It makes FileUtils#buildUniqueFile() returns a wrong file. For example, when mimetype is 'audio/mp3' and filename is test.mp3 which already exists, it returns test.mp3 (1). Bug: 205774136 Test: atest FrameworksCoreTests:android.os.FileUtilsTest Test: atest CtsMimeMapTestCases Change-Id: I201a7955c735fe99813b5a99692525ace7b0f5fe --- .../coretests/src/android/os/FileUtilsTest.java | 12 ++++++++++-- mime/java-res/android.mime.types | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core/tests/coretests/src/android/os/FileUtilsTest.java b/core/tests/coretests/src/android/os/FileUtilsTest.java index c1e72fe756667..32c3a268153ce 100644 --- a/core/tests/coretests/src/android/os/FileUtilsTest.java +++ b/core/tests/coretests/src/android/os/FileUtilsTest.java @@ -58,10 +58,10 @@ import android.provider.DocumentsContract.Document; import androidx.test.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; -import libcore.io.Streams; - import com.google.android.collect.Sets; +import libcore.io.Streams; + import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -477,6 +477,14 @@ public class FileUtilsTest { new File(mTarget, "test (1).jpg").createNewFile(); assertNameEquals("test (2).jpg", FileUtils.buildUniqueFile(mTarget, "image/jpeg", "test.jpg")); + + assertNameEquals("test.mp3", FileUtils.buildUniqueFile(mTarget, "audio/mp3", "test.mp3")); + new File(mTarget, "test.mp3").createNewFile(); + assertNameEquals("test (1).mp3", + FileUtils.buildUniqueFile(mTarget, "audio/mp3", "test.mp3")); + new File(mTarget, "test (1).mp3").createNewFile(); + assertNameEquals("test (2).mp3", + FileUtils.buildUniqueFile(mTarget, "audio/mp3", "test.mp3")); } @Test diff --git a/mime/java-res/android.mime.types b/mime/java-res/android.mime.types index 60f0e9ef49cf3..cb74cfc89cbe3 100644 --- a/mime/java-res/android.mime.types +++ b/mime/java-res/android.mime.types @@ -86,6 +86,7 @@ ?audio/x-matroska mka ?audio/x-pn-realaudio ra ?audio/x-mpeg mp3 +?audio/mp3 mp3 ?image/bmp bmp ?image/gif gif