瀏覽代碼

Move Category `model` and `repository` to domain and data layer (#8967)

To keep the commit from being 100+ files the interactors wasn't moved.

The domain module like the data module uses `tachiyomi` instead of `eu.kanade.tachiyomi` for package names
Andreas 2 年之前
父節點
當前提交
d3a73fc228
共有 47 個文件被更改,包括 108 次插入65 次删除
  1. 1 0
      app/build.gradle.kts
  2. 2 2
      app/src/main/java/eu/kanade/domain/DomainModule.kt
  3. 2 2
      app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt
  4. 2 2
      app/src/main/java/eu/kanade/domain/category/interactor/DeleteCategory.kt
  5. 2 2
      app/src/main/java/eu/kanade/domain/category/interactor/GetCategories.kt
  6. 3 3
      app/src/main/java/eu/kanade/domain/category/interactor/RenameCategory.kt
  7. 3 3
      app/src/main/java/eu/kanade/domain/category/interactor/ReorderCategory.kt
  8. 1 1
      app/src/main/java/eu/kanade/domain/category/interactor/ResetCategoryFlags.kt
  9. 3 3
      app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt
  10. 3 3
      app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
  11. 2 2
      app/src/main/java/eu/kanade/domain/category/interactor/UpdateCategory.kt
  12. 1 1
      app/src/main/java/eu/kanade/domain/library/model/LibraryDisplayMode.kt
  13. 1 1
      app/src/main/java/eu/kanade/domain/library/model/LibrarySort.kt
  14. 1 1
      app/src/main/java/eu/kanade/presentation/category/CategoryExtensions.kt
  15. 1 1
      app/src/main/java/eu/kanade/presentation/category/CategoryScreen.kt
  16. 1 1
      app/src/main/java/eu/kanade/presentation/category/components/CategoryContent.kt
  17. 5 2
      app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
  18. 1 1
      app/src/main/java/eu/kanade/presentation/category/components/CategoryListItem.kt
  19. 1 1
      app/src/main/java/eu/kanade/presentation/components/ChangeCategoryDialog.kt
  20. 1 1
      app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
  21. 1 1
      app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
  22. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/Commons.kt
  23. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt
  24. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
  25. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
  26. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupCategory.kt
  27. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
  28. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
  29. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt
  30. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
  31. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
  32. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
  33. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
  34. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
  35. 1 0
      data/build.gradle.kts
  36. 1 3
      data/src/main/AndroidManifest.xml
  37. 2 2
      data/src/main/java/tachiyomi/data/category/CategoryMapper.kt
  38. 4 4
      data/src/main/java/tachiyomi/data/category/CategoryRepositoryImpl.kt
  39. 1 0
      domain/.gitignore
  40. 19 0
      domain/build.gradle.kts
  41. 0 0
      domain/consumer-rules.pro
  42. 21 0
      domain/proguard-rules.pro
  43. 2 0
      domain/src/main/AndroidManifest.xml
  44. 1 5
      domain/src/main/java/tachiyomi/domain/category/model/Category.kt
  45. 1 1
      domain/src/main/java/tachiyomi/domain/category/model/CategoryUpdate.kt
  46. 3 3
      domain/src/main/java/tachiyomi/domain/category/repository/CategoryRepository.kt
  47. 1 0
      settings.gradle.kts

+ 1 - 0
app/build.gradle.kts

@@ -142,6 +142,7 @@ dependencies {
     implementation(project(":core"))
     implementation(project(":source-api"))
     implementation(project(":data"))
+    implementation(project(":domain"))
 
     // Compose
     implementation(platform(compose.bom))

+ 2 - 2
app/src/main/java/eu/kanade/domain/DomainModule.kt

@@ -1,6 +1,5 @@
 package eu.kanade.domain
 
-import eu.kanade.data.category.CategoryRepositoryImpl
 import eu.kanade.data.chapter.ChapterRepositoryImpl
 import eu.kanade.data.history.HistoryRepositoryImpl
 import eu.kanade.data.manga.MangaRepositoryImpl
@@ -18,7 +17,6 @@ import eu.kanade.domain.category.interactor.SetDisplayModeForCategory
 import eu.kanade.domain.category.interactor.SetMangaCategories
 import eu.kanade.domain.category.interactor.SetSortModeForCategory
 import eu.kanade.domain.category.interactor.UpdateCategory
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.domain.chapter.interactor.GetChapter
 import eu.kanade.domain.chapter.interactor.GetChapterByMangaId
 import eu.kanade.domain.chapter.interactor.SetMangaDefaultChapterFlags
@@ -67,6 +65,8 @@ import eu.kanade.domain.track.interactor.InsertTrack
 import eu.kanade.domain.track.repository.TrackRepository
 import eu.kanade.domain.updates.interactor.GetUpdates
 import eu.kanade.domain.updates.repository.UpdatesRepository
+import tachiyomi.data.category.CategoryRepositoryImpl
+import tachiyomi.domain.category.repository.CategoryRepository
 import uy.kohesive.injekt.api.InjektModule
 import uy.kohesive.injekt.api.InjektRegistrar
 import uy.kohesive.injekt.api.addFactory

+ 2 - 2
app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt

@@ -1,11 +1,11 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.domain.library.service.LibraryPreferences
 import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
 import eu.kanade.tachiyomi.util.system.logcat
 import logcat.LogPriority
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class CreateCategoryWithName(
     private val categoryRepository: CategoryRepository,

+ 2 - 2
app/src/main/java/eu/kanade/domain/category/interactor/DeleteCategory.kt

@@ -1,10 +1,10 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.CategoryUpdate
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
 import eu.kanade.tachiyomi.util.system.logcat
 import logcat.LogPriority
+import tachiyomi.domain.category.model.CategoryUpdate
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class DeleteCategory(
     private val categoryRepository: CategoryRepository,

+ 2 - 2
app/src/main/java/eu/kanade/domain/category/interactor/GetCategories.kt

@@ -1,8 +1,8 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.repository.CategoryRepository
 import kotlinx.coroutines.flow.Flow
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class GetCategories(
     private val categoryRepository: CategoryRepository,

+ 3 - 3
app/src/main/java/eu/kanade/domain/category/interactor/RenameCategory.kt

@@ -1,11 +1,11 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.model.CategoryUpdate
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
 import eu.kanade.tachiyomi.util.system.logcat
 import logcat.LogPriority
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.model.CategoryUpdate
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class RenameCategory(
     private val categoryRepository: CategoryRepository,

+ 3 - 3
app/src/main/java/eu/kanade/domain/category/interactor/ReorderCategory.kt

@@ -1,13 +1,13 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.model.CategoryUpdate
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
 import eu.kanade.tachiyomi.util.system.logcat
 import kotlinx.coroutines.sync.Mutex
 import kotlinx.coroutines.sync.withLock
 import logcat.LogPriority
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.model.CategoryUpdate
+import tachiyomi.domain.category.repository.CategoryRepository
 import java.util.Collections
 
 class ReorderCategory(

+ 1 - 1
app/src/main/java/eu/kanade/domain/category/interactor/ResetCategoryFlags.kt

@@ -1,8 +1,8 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.domain.library.model.plus
 import eu.kanade.domain.library.service.LibraryPreferences
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class ResetCategoryFlags(
     private val preferences: LibraryPreferences,

+ 3 - 3
app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt

@@ -1,11 +1,11 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.model.CategoryUpdate
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.domain.library.model.LibraryDisplayMode
 import eu.kanade.domain.library.model.plus
 import eu.kanade.domain.library.service.LibraryPreferences
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.model.CategoryUpdate
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class SetDisplayModeForCategory(
     private val preferences: LibraryPreferences,

+ 3 - 3
app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt

@@ -1,11 +1,11 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.model.CategoryUpdate
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.domain.library.model.LibrarySort
 import eu.kanade.domain.library.model.plus
 import eu.kanade.domain.library.service.LibraryPreferences
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.model.CategoryUpdate
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class SetSortModeForCategory(
     private val preferences: LibraryPreferences,

+ 2 - 2
app/src/main/java/eu/kanade/domain/category/interactor/UpdateCategory.kt

@@ -1,8 +1,8 @@
 package eu.kanade.domain.category.interactor
 
-import eu.kanade.domain.category.model.CategoryUpdate
-import eu.kanade.domain.category.repository.CategoryRepository
 import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
+import tachiyomi.domain.category.model.CategoryUpdate
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class UpdateCategory(
     private val categoryRepository: CategoryRepository,

+ 1 - 1
app/src/main/java/eu/kanade/domain/library/model/LibraryDisplayMode.kt

@@ -1,6 +1,6 @@
 package eu.kanade.domain.library.model
 
-import eu.kanade.domain.category.model.Category
+import tachiyomi.domain.category.model.Category
 
 sealed class LibraryDisplayMode(
     override val flag: Long,

+ 1 - 1
app/src/main/java/eu/kanade/domain/library/model/LibrarySort.kt

@@ -1,6 +1,6 @@
 package eu.kanade.domain.library.model
 
-import eu.kanade.domain.category.model.Category
+import tachiyomi.domain.category.model.Category
 
 data class LibrarySort(
     val type: Type,

+ 1 - 1
app/src/main/java/eu/kanade/presentation/category/CategoryExtensions.kt

@@ -3,8 +3,8 @@ package eu.kanade.presentation.category
 import android.content.Context
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.res.stringResource
-import eu.kanade.domain.category.model.Category
 import eu.kanade.tachiyomi.R
+import tachiyomi.domain.category.model.Category
 
 val Category.visualName: String
     @Composable

+ 1 - 1
app/src/main/java/eu/kanade/presentation/category/CategoryScreen.kt

@@ -7,7 +7,6 @@ import androidx.compose.material3.MaterialTheme
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
-import eu.kanade.domain.category.model.Category
 import eu.kanade.presentation.category.components.CategoryContent
 import eu.kanade.presentation.category.components.CategoryFloatingActionButton
 import eu.kanade.presentation.components.AppBar
@@ -18,6 +17,7 @@ import eu.kanade.presentation.util.plus
 import eu.kanade.presentation.util.topSmallPaddingValues
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.ui.category.CategoryScreenState
+import tachiyomi.domain.category.model.Category
 
 @Composable
 fun CategoryScreen(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/category/components/CategoryContent.kt

@@ -7,9 +7,9 @@ import androidx.compose.foundation.lazy.itemsIndexed
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
-import eu.kanade.domain.category.model.Category
 import eu.kanade.presentation.components.LazyColumn
 import eu.kanade.presentation.util.padding
+import tachiyomi.domain.category.model.Category
 
 @Composable
 fun CategoryContent(

+ 5 - 2
app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt

@@ -14,10 +14,9 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.focus.FocusRequester
 import androidx.compose.ui.focus.focusRequester
 import androidx.compose.ui.res.stringResource
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.model.anyWithName
 import eu.kanade.tachiyomi.R
 import kotlinx.coroutines.delay
+import tachiyomi.domain.category.model.Category
 import kotlin.time.Duration.Companion.seconds
 
 @Composable
@@ -164,3 +163,7 @@ fun CategoryDeleteDialog(
         },
     )
 }
+
+internal fun List<Category>.anyWithName(name: String): Boolean {
+    return any { name == it.name }
+}

+ 1 - 1
app/src/main/java/eu/kanade/presentation/category/components/CategoryListItem.kt

@@ -20,9 +20,9 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
-import eu.kanade.domain.category.model.Category
 import eu.kanade.presentation.util.padding
 import eu.kanade.tachiyomi.R
+import tachiyomi.domain.category.model.Category
 
 @Composable
 fun CategoryListItem(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/components/ChangeCategoryDialog.kt

@@ -22,10 +22,10 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
 import eu.kanade.core.prefs.CheckboxState
-import eu.kanade.domain.category.model.Category
 import eu.kanade.presentation.category.visualName
 import eu.kanade.presentation.util.padding
 import eu.kanade.tachiyomi.R
+import tachiyomi.domain.category.model.Category
 
 @Composable
 fun ChangeCategoryDialog(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt

@@ -15,7 +15,6 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalLayoutDirection
 import eu.kanade.core.prefs.PreferenceMutableState
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.library.model.LibraryDisplayMode
 import eu.kanade.domain.library.model.LibraryManga
 import eu.kanade.presentation.components.PullRefresh
@@ -23,6 +22,7 @@ import eu.kanade.presentation.components.rememberPagerState
 import eu.kanade.tachiyomi.ui.library.LibraryItem
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
+import tachiyomi.domain.category.model.Category
 import kotlin.time.Duration.Companion.seconds
 
 @Composable

+ 1 - 1
app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt

@@ -6,11 +6,11 @@ import androidx.compose.material3.ScrollableTabRow
 import androidx.compose.material3.Tab
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.unit.dp
-import eu.kanade.domain.category.model.Category
 import eu.kanade.presentation.category.visualName
 import eu.kanade.presentation.components.Divider
 import eu.kanade.presentation.components.TabIndicator
 import eu.kanade.presentation.components.TabText
+import tachiyomi.domain.category.model.Category
 
 @Composable
 fun LibraryTabs(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/Commons.kt

@@ -4,9 +4,9 @@ import androidx.compose.runtime.Composable
 import androidx.compose.runtime.ReadOnlyComposable
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import eu.kanade.domain.category.model.Category
 import eu.kanade.presentation.category.visualName
 import eu.kanade.tachiyomi.R
+import tachiyomi.domain.category.model.Category
 
 /**
  * Returns a string of categories name for settings subtitle

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt

@@ -20,7 +20,6 @@ import androidx.compose.ui.util.fastMap
 import androidx.core.net.toUri
 import com.hippo.unifile.UniFile
 import eu.kanade.domain.category.interactor.GetCategories
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.download.service.DownloadPreferences
 import eu.kanade.presentation.category.visualName
 import eu.kanade.presentation.more.settings.Preference
@@ -28,6 +27,7 @@ import eu.kanade.presentation.more.settings.widget.TriStateListDialog
 import eu.kanade.presentation.util.collectAsState
 import eu.kanade.tachiyomi.R
 import kotlinx.coroutines.runBlocking
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import java.io.File

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt

@@ -38,7 +38,6 @@ import cafe.adriel.voyager.navigator.currentOrThrow
 import com.commandiron.wheel_picker_compose.WheelPicker
 import eu.kanade.domain.category.interactor.GetCategories
 import eu.kanade.domain.category.interactor.ResetCategoryFlags
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.library.service.LibraryPreferences
 import eu.kanade.presentation.category.visualName
 import eu.kanade.presentation.more.settings.Preference
@@ -57,6 +56,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager
 import eu.kanade.tachiyomi.ui.category.CategoryScreen
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.runBlocking
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt

@@ -6,7 +6,6 @@ import android.net.Uri
 import com.hippo.unifile.UniFile
 import eu.kanade.domain.backup.service.BackupPreferences
 import eu.kanade.domain.category.interactor.GetCategories
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.history.model.HistoryUpdate
 import eu.kanade.domain.library.service.LibraryPreferences
 import eu.kanade.domain.manga.interactor.GetFavorites
@@ -45,6 +44,7 @@ import tachiyomi.data.DatabaseHandler
 import tachiyomi.data.Manga_sync
 import tachiyomi.data.Mangas
 import tachiyomi.data.updateStrategyAdapter
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import java.io.FileOutputStream

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupCategory.kt

@@ -1,8 +1,8 @@
 package eu.kanade.tachiyomi.data.backup.models
 
-import eu.kanade.domain.category.model.Category
 import kotlinx.serialization.Serializable
 import kotlinx.serialization.protobuf.ProtoNumber
+import tachiyomi.domain.category.model.Category
 
 @Serializable
 class BackupCategory(

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt

@@ -8,7 +8,6 @@ import android.os.PowerManager
 import androidx.core.content.ContextCompat
 import eu.kanade.data.chapter.NoChaptersException
 import eu.kanade.domain.category.interactor.GetCategories
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.chapter.interactor.GetChapterByMangaId
 import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource
 import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
@@ -65,6 +64,7 @@ import kotlinx.coroutines.supervisorScope
 import kotlinx.coroutines.sync.Semaphore
 import kotlinx.coroutines.sync.withPermit
 import logcat.LogPriority
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import java.io.File

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt

@@ -19,7 +19,6 @@ import eu.kanade.core.prefs.asState
 import eu.kanade.core.prefs.mapAsCheckboxState
 import eu.kanade.domain.category.interactor.GetCategories
 import eu.kanade.domain.category.interactor.SetMangaCategories
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.chapter.interactor.GetChapterByMangaId
 import eu.kanade.domain.chapter.interactor.SetMangaDefaultChapterFlags
 import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
@@ -71,6 +70,7 @@ import kotlinx.coroutines.flow.stateIn
 import kotlinx.coroutines.flow.update
 import kotlinx.coroutines.launch
 import logcat.LogPriority
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import java.util.Date

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt

@@ -9,13 +9,13 @@ import eu.kanade.domain.category.interactor.DeleteCategory
 import eu.kanade.domain.category.interactor.GetCategories
 import eu.kanade.domain.category.interactor.RenameCategory
 import eu.kanade.domain.category.interactor.ReorderCategory
-import eu.kanade.domain.category.model.Category
 import eu.kanade.tachiyomi.R
 import kotlinx.coroutines.channels.Channel
 import kotlinx.coroutines.flow.collectLatest
 import kotlinx.coroutines.flow.receiveAsFlow
 import kotlinx.coroutines.flow.update
 import kotlinx.coroutines.launch
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt

@@ -18,7 +18,6 @@ import eu.kanade.core.util.fastPartition
 import eu.kanade.domain.base.BasePreferences
 import eu.kanade.domain.category.interactor.GetCategories
 import eu.kanade.domain.category.interactor.SetMangaCategories
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.chapter.interactor.GetChapterByMangaId
 import eu.kanade.domain.chapter.interactor.SetReadStatus
 import eu.kanade.domain.chapter.model.Chapter
@@ -58,6 +57,7 @@ import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.flow.update
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import java.text.Collator

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt

@@ -7,7 +7,6 @@ import android.view.View
 import eu.kanade.domain.base.BasePreferences
 import eu.kanade.domain.category.interactor.SetDisplayModeForCategory
 import eu.kanade.domain.category.interactor.SetSortModeForCategory
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.library.model.LibraryDisplayMode
 import eu.kanade.domain.library.model.LibrarySort
 import eu.kanade.domain.library.model.display
@@ -23,6 +22,7 @@ import eu.kanade.tachiyomi.widget.sheet.TabbedBottomSheetDialog
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.Job
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import uy.kohesive.injekt.injectLazy

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt

@@ -28,7 +28,6 @@ import cafe.adriel.voyager.navigator.Navigator
 import cafe.adriel.voyager.navigator.currentOrThrow
 import cafe.adriel.voyager.navigator.tab.LocalTabNavigator
 import cafe.adriel.voyager.navigator.tab.TabOptions
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.library.model.LibraryManga
 import eu.kanade.domain.library.model.display
 import eu.kanade.domain.manga.model.Manga
@@ -57,6 +56,7 @@ import kotlinx.coroutines.channels.Channel
 import kotlinx.coroutines.flow.collectLatest
 import kotlinx.coroutines.flow.receiveAsFlow
 import kotlinx.coroutines.launch
+import tachiyomi.domain.category.model.Category
 
 object LibraryTab : Tab {
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt

@@ -51,7 +51,6 @@ import cafe.adriel.voyager.navigator.NavigatorDisposeBehavior
 import cafe.adriel.voyager.navigator.currentOrThrow
 import com.google.accompanist.systemuicontroller.rememberSystemUiController
 import eu.kanade.domain.base.BasePreferences
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.library.service.LibraryPreferences
 import eu.kanade.domain.source.service.SourcePreferences
 import eu.kanade.domain.ui.UiPreferences
@@ -95,6 +94,7 @@ import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.launch
 import logcat.LogPriority
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import uy.kohesive.injekt.injectLazy

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt

@@ -15,7 +15,6 @@ import eu.kanade.core.util.addOrRemove
 import eu.kanade.data.chapter.NoChaptersException
 import eu.kanade.domain.category.interactor.GetCategories
 import eu.kanade.domain.category.interactor.SetMangaCategories
-import eu.kanade.domain.category.model.Category
 import eu.kanade.domain.chapter.interactor.SetMangaDefaultChapterFlags
 import eu.kanade.domain.chapter.interactor.SetReadStatus
 import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource
@@ -70,6 +69,7 @@ import kotlinx.coroutines.flow.update
 import kotlinx.coroutines.isActive
 import kotlinx.coroutines.launch
 import logcat.LogPriority
+import tachiyomi.domain.category.model.Category
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import java.text.DecimalFormat

+ 1 - 0
data/build.gradle.kts

@@ -21,6 +21,7 @@ android {
 
 dependencies {
     implementation(project(":source-api"))
+    implementation(project(":domain"))
     api(libs.sqldelight.android.driver)
     api(libs.sqldelight.coroutines)
     api(libs.sqldelight.android.paging)

+ 1 - 3
data/src/main/AndroidManifest.xml

@@ -1,4 +1,2 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
-
-</manifest>
+<manifest />

+ 2 - 2
app/src/main/java/eu/kanade/data/category/CategoryMapper.kt → data/src/main/java/tachiyomi/data/category/CategoryMapper.kt

@@ -1,6 +1,6 @@
-package eu.kanade.data.category
+package tachiyomi.data.category
 
-import eu.kanade.domain.category.model.Category
+import tachiyomi.domain.category.model.Category
 
 val categoryMapper: (Long, String, Long, Long) -> Category = { id, name, order, flags ->
     Category(

+ 4 - 4
app/src/main/java/eu/kanade/data/category/CategoryRepositoryImpl.kt → data/src/main/java/tachiyomi/data/category/CategoryRepositoryImpl.kt

@@ -1,11 +1,11 @@
-package eu.kanade.data.category
+package tachiyomi.data.category
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.model.CategoryUpdate
-import eu.kanade.domain.category.repository.CategoryRepository
 import kotlinx.coroutines.flow.Flow
 import tachiyomi.data.Database
 import tachiyomi.data.DatabaseHandler
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.model.CategoryUpdate
+import tachiyomi.domain.category.repository.CategoryRepository
 
 class CategoryRepositoryImpl(
     private val handler: DatabaseHandler,

+ 1 - 0
domain/.gitignore

@@ -0,0 +1 @@
+/build

+ 19 - 0
domain/build.gradle.kts

@@ -0,0 +1,19 @@
+plugins {
+    id("com.android.library")
+    kotlin("android")
+}
+
+android {
+    namespace = "tachiyomi.domain"
+
+    defaultConfig {
+        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+        consumerProguardFiles("consumer-rules.pro")
+    }
+
+}
+
+dependencies {
+    implementation(platform(kotlinx.coroutines.bom))
+    implementation(kotlinx.bundles.coroutines)
+}

+ 0 - 0
domain/consumer-rules.pro


+ 21 - 0
domain/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

+ 2 - 0
domain/src/main/AndroidManifest.xml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest />

+ 1 - 5
app/src/main/java/eu/kanade/domain/category/model/Category.kt → domain/src/main/java/tachiyomi/domain/category/model/Category.kt

@@ -1,4 +1,4 @@
-package eu.kanade.domain.category.model
+package tachiyomi.domain.category.model
 
 import java.io.Serializable
 
@@ -15,7 +15,3 @@ data class Category(
         const val UNCATEGORIZED_ID = 0L
     }
 }
-
-internal fun List<Category>.anyWithName(name: String): Boolean {
-    return any { name == it.name }
-}

+ 1 - 1
app/src/main/java/eu/kanade/domain/category/model/CategoryUpdate.kt → domain/src/main/java/tachiyomi/domain/category/model/CategoryUpdate.kt

@@ -1,4 +1,4 @@
-package eu.kanade.domain.category.model
+package tachiyomi.domain.category.model
 
 data class CategoryUpdate(
     val id: Long,

+ 3 - 3
app/src/main/java/eu/kanade/domain/category/repository/CategoryRepository.kt → domain/src/main/java/tachiyomi/domain/category/repository/CategoryRepository.kt

@@ -1,8 +1,8 @@
-package eu.kanade.domain.category.repository
+package tachiyomi.domain.category.repository
 
-import eu.kanade.domain.category.model.Category
-import eu.kanade.domain.category.model.CategoryUpdate
 import kotlinx.coroutines.flow.Flow
+import tachiyomi.domain.category.model.Category
+import tachiyomi.domain.category.model.CategoryUpdate
 
 interface CategoryRepository {
 

+ 1 - 0
settings.gradle.kts

@@ -42,3 +42,4 @@ include(":source-api")
 include(":core")
 include(":macrobenchmark")
 include(":data")
+include(":domain")