Skip to content

Commit cd908a1

Browse files
generatedunixname89002005287564meta-codesync[bot]
authored andcommitted
//fbandroid/libraries/fbcore/src/main/java/com/facebook/common/media:media
Reviewed By: hick209 Differential Revision: D90495078 fbshipit-source-id: 9fef544ca387db099096a96bb6bddd88116f7153
1 parent a8e82db commit cd908a1

File tree

2 files changed

+49
-55
lines changed

2 files changed

+49
-55
lines changed

fbcore/src/main/java/com/facebook/common/media/MimeTypeMapWrapper.java

Lines changed: 0 additions & 55 deletions
This file was deleted.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
package com.facebook.common.media
9+
10+
import android.webkit.MimeTypeMap
11+
import com.facebook.common.internal.ImmutableMap
12+
13+
/** Wrapper around the system's [MimeTypeMap] that also handles types it doesn't support. */
14+
object MimeTypeMapWrapper {
15+
16+
private val mimeTypeMap: MimeTypeMap = MimeTypeMap.getSingleton()
17+
18+
private val mimeTypeToExtensionMap: Map<String, String> =
19+
ImmutableMap.of("image/heif", "heif", "image/heic", "heic")
20+
21+
private val extensionToMimeTypeMap: Map<String, String> =
22+
ImmutableMap.of("heif", "image/heif", "heic", "image/heic")
23+
24+
@JvmStatic
25+
fun getExtensionFromMimeType(mimeType: String): String? {
26+
val result = mimeTypeToExtensionMap[mimeType]
27+
if (result != null) {
28+
return result
29+
}
30+
return mimeTypeMap.getExtensionFromMimeType(mimeType)
31+
}
32+
33+
@JvmStatic
34+
fun getMimeTypeFromExtension(extension: String): String? {
35+
val result = extensionToMimeTypeMap[extension]
36+
if (result != null) {
37+
return result
38+
}
39+
return mimeTypeMap.getMimeTypeFromExtension(extension)
40+
}
41+
42+
@JvmStatic
43+
fun hasExtension(extension: String): Boolean =
44+
extensionToMimeTypeMap.containsKey(extension) || mimeTypeMap.hasExtension(extension)
45+
46+
@JvmStatic
47+
fun hasMimeType(mimeType: String): Boolean =
48+
mimeTypeToExtensionMap.containsKey(mimeType) || mimeTypeMap.hasMimeType(mimeType)
49+
}

0 commit comments

Comments
 (0)