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 } }