revanced-manager-compose/app/src/main/java/app/revanced/manager/domain/repository/DownloadedAppRepository.kt
Robert fe95afca6c
feat: store patched apps (#79)
* feat: store patched apps

* fix: missing string

* feat: save patch selection

* feat: things

* fix: fix broken query

* fix: remove redundant `withContext`

* fix: fix
2023-08-17 17:42:10 +02:00

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