Files
Dantotsu/app/src/main/java/ani/dantotsu/media/anime/VideoCache.kt
Finnley Somdahl afa960c808 reformat
2023-12-01 01:22:15 -06:00

31 lines
1005 B
Kotlin

package ani.dantotsu.media.anime
import android.content.Context
import androidx.media3.common.util.UnstableApi
import androidx.media3.database.StandaloneDatabaseProvider
import androidx.media3.datasource.cache.LeastRecentlyUsedCacheEvictor
import androidx.media3.datasource.cache.SimpleCache
import java.io.File
@UnstableApi
object VideoCache {
private var simpleCache: SimpleCache? = null
fun getInstance(context: Context): SimpleCache {
val databaseProvider = StandaloneDatabaseProvider(context)
if (simpleCache == null)
simpleCache = SimpleCache(
File(
context.cacheDir,
"exoplayer"
).also { it.deleteOnExit() }, // Ensures always fresh file
LeastRecentlyUsedCacheEvictor(300L * 1024L * 1024L),
databaseProvider
)
return simpleCache as SimpleCache
}
fun release() {
simpleCache?.release()
simpleCache = null
}
}