mirror of
https://github.com/revanced/revanced-manager-compose
synced 2024-06-02 19:36:16 +02:00
fe95afca6c
* feat: store patched apps * fix: missing string * feat: save patch selection * feat: things * fix: fix broken query * fix: remove redundant `withContext` * fix: fix
36 lines
932 B
Kotlin
36 lines
932 B
Kotlin
package app.revanced.manager.domain.repository
|
|
|
|
import app.revanced.manager.data.room.AppDatabase
|
|
import app.revanced.manager.data.room.apps.downloaded.DownloadedApp
|
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
|
import java.io.File
|
|
|
|
class DownloadedAppRepository(
|
|
db: AppDatabase
|
|
) {
|
|
private val dao = db.downloadedAppDao()
|
|
|
|
fun getAll() = dao.getAllApps().distinctUntilChanged()
|
|
|
|
suspend fun get(packageName: String, version: String) = dao.get(packageName, version)
|
|
|
|
suspend fun add(
|
|
packageName: String,
|
|
version: String,
|
|
file: File
|
|
) = dao.insert(
|
|
DownloadedApp(
|
|
packageName = packageName,
|
|
version = version,
|
|
file = file
|
|
)
|
|
)
|
|
|
|
suspend fun delete(downloadedApps: Collection<DownloadedApp>) {
|
|
downloadedApps.forEach {
|
|
it.file.deleteRecursively()
|
|
}
|
|
|
|
dao.delete(downloadedApps)
|
|
}
|
|
} |