refactor(mass-migration): move migration list feature to mihon.feature.migration.list (#1402)
- Relocates migration process screens, models, and components from `eu.kanade` and `exh` packages to a unified `mihon.feature.migration.list` package. - Renames `MigrationListScreen` (presentation) to `MigrationListScreenContent` to avoid naming conflicts with the UI screen. - Moves `SmartSourceSearchEngine` and `BaseSmartSearchEngine` to `mihon.feature.migration.list.search`. - Updates all affected imports across the project.
This commit is contained in:
parent
d8bef417f1
commit
e2a92b9220
18 changed files with 30 additions and 28 deletions
|
|
@ -17,7 +17,7 @@ import androidx.compose.runtime.setValue
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.DpOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga
|
||||
import mihon.feature.migration.list.models.MigratingManga
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.i18n.sy.SYMR
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import eu.kanade.presentation.manga.components.MangaCover
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga
|
||||
import mihon.feature.migration.list.models.MigratingManga
|
||||
import tachiyomi.core.common.util.lang.withIOContext
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.i18n.MR
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import androidx.compose.ui.unit.dp
|
|||
import eu.kanade.presentation.manga.components.MangaCover
|
||||
import eu.kanade.presentation.util.rememberResourceBitmapPainter
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga
|
||||
import mihon.feature.migration.list.models.MigratingManga
|
||||
import tachiyomi.core.common.util.lang.withIOContext
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.i18n.sy.SYMR
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ import eu.kanade.presentation.browse.MigrateSearchScreen
|
|||
import eu.kanade.presentation.browse.components.BulkFavoriteDialogs
|
||||
import eu.kanade.presentation.util.Screen
|
||||
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaScreen
|
||||
import mihon.feature.migration.list.MigrationListScreen
|
||||
|
||||
class MigrateSearchScreen(private val mangaId: Long) : Screen() {
|
||||
|
||||
|
|
|
|||
|
|
@ -24,13 +24,13 @@ import eu.kanade.presentation.components.SearchToolbar
|
|||
import eu.kanade.presentation.util.Screen
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen
|
||||
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel
|
||||
import eu.kanade.tachiyomi.ui.browse.source.browse.SourceFilterDialog
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaScreen
|
||||
import eu.kanade.tachiyomi.ui.webview.WebViewScreen
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import mihon.feature.migration.list.MigrationListScreen
|
||||
import mihon.presentation.core.util.collectAsLazyPagingItems
|
||||
import tachiyomi.core.common.Constants
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package exh.smartsearch
|
||||
|
||||
import mihon.feature.migration.list.search.BaseSmartSearchEngine
|
||||
import tachiyomi.domain.library.model.LibraryManga
|
||||
|
||||
class SmartLibrarySearchEngine(
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import cafe.adriel.voyager.core.model.StateScreenModel
|
|||
import cafe.adriel.voyager.core.model.screenModelScope
|
||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen
|
||||
import exh.smartsearch.SmartSourceSearchEngine
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import mihon.feature.migration.list.search.SmartSourceSearchEngine
|
||||
import tachiyomi.core.common.util.lang.launchIO
|
||||
import tachiyomi.domain.manga.interactor.NetworkToLocalManga
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
|
|
|
|||
|
|
@ -58,12 +58,12 @@ import eu.kanade.presentation.components.AppBarActions
|
|||
import eu.kanade.presentation.components.SOURCE_SEARCH_BOX_HEIGHT
|
||||
import eu.kanade.presentation.util.Screen
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationProcedureConfig
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationType
|
||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.coroutines.flow.update
|
||||
import mihon.feature.migration.list.MigrationListScreen
|
||||
import mihon.feature.migration.list.MigrationProcedureConfig
|
||||
import mihon.feature.migration.list.MigrationType
|
||||
import sh.calvin.reorderable.ReorderableCollectionItemScope
|
||||
import sh.calvin.reorderable.ReorderableItem
|
||||
import sh.calvin.reorderable.ReorderableLazyListState
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.tachiyomi.ui.browse.migration.advanced.process
|
||||
package mihon.feature.migration.list
|
||||
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -9,10 +9,6 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import cafe.adriel.voyager.core.model.rememberScreenModel
|
||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||
import eu.kanade.presentation.browse.MigrationListScreen
|
||||
import eu.kanade.presentation.browse.components.MigrationExitDialog
|
||||
import eu.kanade.presentation.browse.components.MigrationMangaDialog
|
||||
import eu.kanade.presentation.browse.components.MigrationProgressDialog
|
||||
import eu.kanade.presentation.util.Screen
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.search.MigrateSearchScreen
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaScreen
|
||||
|
|
@ -22,6 +18,10 @@ import exh.util.underEq
|
|||
import kotlinx.collections.immutable.persistentListOf
|
||||
import mihon.feature.migration.config.MigrationConfigScreen
|
||||
import mihon.feature.migration.config.MigrationConfigScreenSheet
|
||||
import mihon.feature.migration.list.components.MigrationExitDialog
|
||||
import mihon.feature.migration.list.components.MigrationMangaDialog
|
||||
import mihon.feature.migration.list.components.MigrationProgressDialog
|
||||
import mihon.feature.migration.list.models.MigratingManga
|
||||
import tachiyomi.core.common.i18n.pluralStringResource
|
||||
import tachiyomi.core.common.util.lang.withUIContext
|
||||
import tachiyomi.i18n.sy.SYMR
|
||||
|
|
@ -95,7 +95,7 @@ class MigrationListScreen(private val config: MigrationProcedureConfig) : Screen
|
|||
}
|
||||
}
|
||||
}
|
||||
MigrationListScreen(
|
||||
MigrationListScreenContent(
|
||||
items = items ?: persistentListOf(),
|
||||
migrationDone = migrationDone,
|
||||
finishedCount = finishedCount,
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.presentation.browse
|
||||
package mihon.feature.migration.list
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.IntrinsicSize
|
||||
|
|
@ -28,9 +28,9 @@ import eu.kanade.presentation.browse.components.MigrationItem
|
|||
import eu.kanade.presentation.browse.components.MigrationItemResult
|
||||
import eu.kanade.presentation.components.AppBar
|
||||
import eu.kanade.presentation.components.AppBarActions
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import mihon.feature.migration.list.models.MigratingManga
|
||||
import tachiyomi.core.common.util.lang.withIOContext
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.i18n.MR
|
||||
|
|
@ -42,7 +42,7 @@ import tachiyomi.presentation.core.i18n.stringResource
|
|||
import tachiyomi.presentation.core.util.plus
|
||||
|
||||
@Composable
|
||||
fun MigrationListScreen(
|
||||
fun MigrationListScreenContent(
|
||||
items: ImmutableList<MigratingManga>,
|
||||
migrationDone: Boolean,
|
||||
finishedCount: Int,
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.tachiyomi.ui.browse.migration.advanced.process
|
||||
package mihon.feature.migration.list
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.Toast
|
||||
|
|
@ -11,9 +11,7 @@ import eu.kanade.domain.source.service.SourcePreferences
|
|||
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
import eu.kanade.tachiyomi.source.getNameForMangaInfo
|
||||
import eu.kanade.tachiyomi.source.online.all.EHentai
|
||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga.SearchResult
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import exh.smartsearch.SmartSourceSearchEngine
|
||||
import exh.source.MERGED_SOURCE_ID
|
||||
import exh.util.ThrottleManager
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
|
@ -32,6 +30,9 @@ import kotlinx.coroutines.sync.Semaphore
|
|||
import kotlinx.coroutines.sync.withPermit
|
||||
import logcat.LogPriority
|
||||
import mihon.domain.migration.usecases.MigrateMangaUseCase
|
||||
import mihon.feature.migration.list.models.MigratingManga
|
||||
import mihon.feature.migration.list.models.MigratingManga.SearchResult
|
||||
import mihon.feature.migration.list.search.SmartSourceSearchEngine
|
||||
import tachiyomi.core.common.util.lang.launchIO
|
||||
import tachiyomi.core.common.util.lang.withUIContext
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.tachiyomi.ui.browse.migration.advanced.process
|
||||
package mihon.feature.migration.list
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.presentation.browse.components
|
||||
package mihon.feature.migration.list.components
|
||||
|
||||
import androidx.compose.material3.AlertDialog
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.presentation.browse.components
|
||||
package mihon.feature.migration.list.components
|
||||
|
||||
import androidx.compose.material3.AlertDialog
|
||||
import androidx.compose.material3.Text
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.presentation.browse.components
|
||||
package mihon.feature.migration.list.components
|
||||
|
||||
import androidx.compose.animation.core.animateFloatAsState
|
||||
import androidx.compose.material3.AlertDialog
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.kanade.tachiyomi.ui.browse.migration.advanced.process
|
||||
package mihon.feature.migration.list.models
|
||||
|
||||
import android.content.Context
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package exh.smartsearch
|
||||
package mihon.feature.migration.list.search
|
||||
|
||||
import info.debatty.java.stringsimilarity.NormalizedLevenshtein
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package exh.smartsearch
|
||||
package mihon.feature.migration.list.search
|
||||
|
||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
Loading…
Reference in a new issue