refactor: Move Manga class to domain module

This commit is contained in:
Ahmad Ansori Palembani 2024-07-29 20:50:21 +07:00
parent 9f7fa90f04
commit 114776bc53
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
122 changed files with 479 additions and 452 deletions

View file

@ -1,3 +1,5 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
alias(androidx.plugins.library)
alias(kotlinx.plugins.android)
@ -23,8 +25,17 @@ dependencies {
implementation(projects.domain)
implementation(projects.i18n)
implementation(projects.presentation.core)
implementation(projects.source.api) // Access to SManga
implementation(androidx.glance.appwidget)
implementation(libs.coil3)
}
tasks {
withType<KotlinCompile> {
compilerOptions.freeCompilerArgs.addAll(
"-opt-in=coil3.annotation.ExperimentalCoilApi",
)
}
}

View file

@ -16,6 +16,7 @@ import androidx.glance.appwidget.provideContent
import androidx.glance.appwidget.updateAll
import androidx.glance.background
import androidx.glance.layout.fillMaxSize
import coil3.asDrawable
import coil3.executeBlocking
import coil3.imageLoader
import coil3.request.CachePolicy
@ -25,8 +26,7 @@ import coil3.size.Precision
import coil3.size.Scale
import coil3.transform.RoundedCornersTransformation
import eu.kanade.tachiyomi.core.security.SecurityPreferences
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.ui.recents.RecentsPresenter
import eu.kanade.tachiyomi.domain.manga.models.Manga
import eu.kanade.tachiyomi.util.system.dpToPx
import eu.kanade.tachiyomi.util.system.launchIO
import kotlinx.coroutines.MainScope
@ -41,7 +41,6 @@ import yokai.presentation.widget.util.calculateRowAndColumnCount
import java.util.*
import kotlin.math.min
// FIXME: Move Manga to 'data' module
class UpdatesGridGlanceWidget(
private val app: Application = Injekt.get(),
private val preferences: SecurityPreferences = Injekt.get(),
@ -78,6 +77,7 @@ class UpdatesGridGlanceWidget(
.flatMap { manager.getAppWidgetSizes(it) }
.maxBy { it.height.value * it.width.value }
.calculateRowAndColumnCount()
// FIXME: Extract getRecentManga logic out of RecentsPresenter
val processList = list ?: RecentsPresenter.getRecentManga(customAmount = min(50, rowCount * columnCount))
data = prepareList(processList, rowCount * columnCount)
@ -110,6 +110,7 @@ class UpdatesGridGlanceWidget(
}
}
.build()
// FIXME: Make Manga independent from SManga
Pair(updatesView.id!!, app.imageLoader.executeBlocking(request).image?.asDrawable(app.resources)?.toBitmap())
}
}