Dantotsu/app/src/main/java/ani/dantotsu/media/anime/VideoCache.kt
2023-10-17 18:42:43 -05:00

28 lines
No EOL
947 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
}
}