Update: Merge Repository's entity and database.entity classes

+ Update related DAOs
+ Add needed converters
+ Fix calls
This commit is contained in:
machiav3lli
2022-01-28 00:31:27 +01:00
parent 050ecfd4a0
commit 7bbac86dd4
32 changed files with 418 additions and 419 deletions

View File

@ -9,21 +9,32 @@ import android.view.ContextThemeWrapper
import androidx.core.app.NotificationCompat
import com.looker.droidify.*
import com.looker.droidify.content.Cache
import com.looker.droidify.database.entity.Repository
import com.looker.droidify.entity.Release
import com.looker.droidify.entity.Repository
import com.looker.droidify.installer.AppInstaller
import com.looker.droidify.network.Downloader
import com.looker.droidify.utility.Utils
import com.looker.droidify.utility.extension.android.*
import com.looker.droidify.utility.extension.resources.*
import com.looker.droidify.utility.extension.text.*
import com.looker.droidify.utility.extension.android.Android
import com.looker.droidify.utility.extension.android.notificationManager
import com.looker.droidify.utility.extension.android.singleSignature
import com.looker.droidify.utility.extension.android.versionCodeCompat
import com.looker.droidify.utility.extension.resources.getColorFromAttr
import com.looker.droidify.utility.extension.text.formatSize
import com.looker.droidify.utility.extension.text.hex
import com.looker.droidify.utility.extension.text.nullIfEmpty
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.disposables.Disposable
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.asSharedFlow
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import java.io.File
import java.security.MessageDigest
import kotlin.math.*
import kotlin.math.roundToInt
class DownloadService : ConnectionService<DownloadService.Binder>() {
companion object {

View File

@ -15,8 +15,8 @@ import androidx.fragment.app.Fragment
import com.looker.droidify.*
import com.looker.droidify.content.Preferences
import com.looker.droidify.database.DatabaseX
import com.looker.droidify.database.entity.Repository
import com.looker.droidify.entity.ProductItem
import com.looker.droidify.entity.Repository
import com.looker.droidify.index.RepositoryUpdater
import com.looker.droidify.utility.RxUtils
import com.looker.droidify.utility.Utils
@ -100,7 +100,7 @@ class SyncService : ConnectionService<SyncService.Binder>() {
fun sync(request: SyncRequest) {
GlobalScope.launch {
val ids = db.repositoryDao.all.mapNotNull { it.trueData }
val ids = db.repositoryDao.all
.asSequence().filter { it.enabled }.map { it.id }.toList()
sync(ids, request)
}
@ -146,10 +146,10 @@ class SyncService : ConnectionService<SyncService.Binder>() {
}
fun deleteRepository(repositoryId: Long): Boolean {
val repository = db.repositoryDao.get(repositoryId)?.trueData
val repository = db.repositoryDao.get(repositoryId)
return repository != null && run {
setEnabled(repository, false)
db.repositoryDao.markAsDeleted(repository.id)
db.repositoryDao.deleteById(repository.id)
true
}
}
@ -337,7 +337,7 @@ class SyncService : ConnectionService<SyncService.Binder>() {
GlobalScope.launch {
if (tasks.isNotEmpty()) {
val task = tasks.removeAt(0)
val repository = db.repositoryDao.get(task.repositoryId)?.trueData
val repository = db.repositoryDao.get(task.repositoryId)
if (repository != null && repository.enabled) {
val lastStarted = started
val newStarted =
@ -454,7 +454,7 @@ class SyncService : ConnectionService<SyncService.Binder>() {
installedItem.package_name
)
.filter { product -> product?.repository_id == repository.id }
.map { product -> Pair(product?.data!!, repository.data!!) }
.map { product -> Pair(product?.data!!, repository) }
scope.launch {
Utils.startUpdate(