TP-12345 | Move Media3 Cache Init to Application (#571)

This commit is contained in:
Shivam Goyal
2024-09-24 13:30:35 +05:30
committed by GitHub
parent b6fa960d7e
commit 8e345a36c9
2 changed files with 14 additions and 13 deletions

View File

@@ -8,6 +8,9 @@
package com.navi.uitron.demo
import android.app.Application
import androidx.media3.database.StandaloneDatabaseProvider
import androidx.media3.datasource.cache.LeastRecentlyUsedCacheEvictor
import androidx.media3.datasource.cache.SimpleCache
import coil.ImageLoader
import coil.ImageLoaderFactory
import coil.decode.SvgDecoder
@@ -15,10 +18,20 @@ import coil.request.CachePolicy
import com.navi.uitron.UiTronSdkManager
import com.navi.uitron.demo.dazzledesignsystem.db.SharedPreferences
import dagger.hilt.android.HiltAndroidApp
import java.io.File
@HiltAndroidApp
class MainApplication : Application(), ImageLoaderFactory {
internal val media3SimpleCache by lazy {
val downloadContentDirectory = File(this.getExternalFilesDir(null), "downloads")
SimpleCache(
downloadContentDirectory,
LeastRecentlyUsedCacheEvictor(100_000_000),
StandaloneDatabaseProvider(this)
)
}
override fun onCreate() {
super.onCreate()
UiTronSdkManager.init(UiTronDependencyProvider())

View File

@@ -13,8 +13,6 @@ import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.media3.database.StandaloneDatabaseProvider
import androidx.media3.datasource.cache.LeastRecentlyUsedCacheEvictor
import androidx.media3.datasource.cache.SimpleCache
import com.navi.alfred.AlfredManager
import com.navi.uitron.IUiTronDependencyProvider
@@ -23,19 +21,9 @@ import com.navi.uitron.model.ui.OutlinedTextFieldValueTransformation
import com.navi.uitron.model.ui.UiTronShape
import com.navi.uitron.utils.EMPTY
import com.navi.uitron.utils.SPACE
import java.io.File
class UiTronDependencyProvider : IUiTronDependencyProvider {
private val media3SimpleCache by lazy {
val downloadContentDirectory = File(getContext().getExternalFilesDir(null), "downloads")
SimpleCache(
downloadContentDirectory,
LeastRecentlyUsedCacheEvictor(100_000_000),
StandaloneDatabaseProvider(getContext())
)
}
private val ttFontFamily =
FontFamily(
Font(
@@ -233,7 +221,7 @@ class UiTronDependencyProvider : IUiTronDependencyProvider {
}
override fun getMedia3SimpleCache(): SimpleCache {
return media3SimpleCache
return MainApplication.instance.media3SimpleCache
}
override fun maskSensitiveUiTronComposable(