Skip to content

Commit fc7559b

Browse files
committed
Twelve: Extract MIME type display name outside now playing view model
Change-Id: Ibdd10681d2eed508238a3ccf6f14ae839af74384
1 parent 3a74fc2 commit fc7559b

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2024 The LineageOS Project
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package org.lineageos.twelve.utils
7+
8+
import androidx.media3.common.MimeTypes
9+
import androidx.media3.common.util.UnstableApi
10+
11+
object MimeUtils {
12+
@androidx.annotation.OptIn(UnstableApi::class)
13+
fun mimeTypeToDisplayName(mimeType: String) = MimeTypes.normalizeMimeType(mimeType).let {
14+
it.takeIf { it.contains('/') }
15+
?.substringAfterLast('/')
16+
?.uppercase()
17+
}
18+
}

app/src/main/java/org/lineageos/twelve/viewmodels/NowPlayingViewModel.kt

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import android.graphics.BitmapFactory
1010
import androidx.lifecycle.viewModelScope
1111
import androidx.media3.common.C
1212
import androidx.media3.common.MediaMetadata
13-
import androidx.media3.common.MimeTypes
1413
import androidx.media3.common.util.UnstableApi
1514
import kotlinx.coroutines.Dispatchers
1615
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -47,6 +46,7 @@ import org.lineageos.twelve.models.PlaybackState
4746
import org.lineageos.twelve.models.RepeatMode
4847
import org.lineageos.twelve.models.RequestStatus
4948
import org.lineageos.twelve.models.Thumbnail
49+
import org.lineageos.twelve.utils.MimeUtils
5050

5151
open class NowPlayingViewModel(application: Application) : TwelveViewModel(application) {
5252
enum class PlaybackSpeed(val value: Float) {
@@ -221,11 +221,7 @@ open class NowPlayingViewModel(application: Application) : TwelveViewModel(appli
221221
val displayFileType = mimeType
222222
.mapLatest { mimeType ->
223223
mimeType?.let {
224-
MimeTypes.normalizeMimeType(it)
225-
}?.let {
226-
it.takeIf { it.contains('/') }
227-
?.substringAfterLast('/')
228-
?.uppercase()
224+
MimeUtils.mimeTypeToDisplayName(it)
229225
}
230226
}
231227
.flowOn(Dispatchers.IO)

0 commit comments

Comments
 (0)