mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-14 08:42:06 +01:00
Stableize domain classes
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import org.jetbrains.compose.compose
|
||||||
|
|
||||||
@Suppress("DSL_SCOPE_VIOLATION")
|
@Suppress("DSL_SCOPE_VIOLATION")
|
||||||
plugins {
|
plugins {
|
||||||
id(libs.plugins.kotlin.multiplatform.get().pluginId)
|
id(libs.plugins.kotlin.multiplatform.get().pluginId)
|
||||||
@@ -52,6 +54,7 @@ kotlin {
|
|||||||
api(libs.ktorfit.lib)
|
api(libs.ktorfit.lib)
|
||||||
api(libs.okio)
|
api(libs.okio)
|
||||||
api(libs.dateTime)
|
api(libs.dateTime)
|
||||||
|
api(compose("org.jetbrains.compose.runtime:runtime"))
|
||||||
api(projects.core)
|
api(projects.core)
|
||||||
api(projects.i18n)
|
api(projects.i18n)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.category.model
|
package ca.gosyer.jui.domain.category.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class Category(
|
data class Category(
|
||||||
val id: Long,
|
val id: Long,
|
||||||
val order: Int,
|
val order: Int,
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.chapter.model
|
package ca.gosyer.jui.domain.chapter.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class Chapter(
|
data class Chapter(
|
||||||
val url: String,
|
val url: String,
|
||||||
val name: String,
|
val name: String,
|
||||||
@@ -29,6 +31,7 @@ data class Chapter(
|
|||||||
)
|
)
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class ChapterMeta(
|
data class ChapterMeta(
|
||||||
var juiPageOffset: Int = 0
|
val juiPageOffset: Int = 0
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,11 +6,13 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.download.model
|
package ca.gosyer.jui.domain.download.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import ca.gosyer.jui.domain.chapter.model.Chapter
|
import ca.gosyer.jui.domain.chapter.model.Chapter
|
||||||
import ca.gosyer.jui.domain.manga.model.Manga
|
import ca.gosyer.jui.domain.manga.model.Manga
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class DownloadChapter(
|
data class DownloadChapter(
|
||||||
val chapterIndex: Int,
|
val chapterIndex: Int,
|
||||||
val mangaId: Long,
|
val mangaId: Long,
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.download.model
|
package ca.gosyer.jui.domain.download.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class DownloadState(val state: Int) {
|
enum class DownloadState(val state: Int) {
|
||||||
Queued(0),
|
Queued(0),
|
||||||
Downloading(1),
|
Downloading(1),
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.download.model
|
package ca.gosyer.jui.domain.download.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class DownloadStatus(
|
data class DownloadStatus(
|
||||||
val status: DownloaderStatus,
|
val status: DownloaderStatus,
|
||||||
val queue: List<DownloadChapter>
|
val queue: List<DownloadChapter>
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.download.model
|
package ca.gosyer.jui.domain.download.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class DownloaderStatus {
|
enum class DownloaderStatus {
|
||||||
Started,
|
Started,
|
||||||
Stopped
|
Stopped
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.extension.model
|
package ca.gosyer.jui.domain.extension.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class Extension(
|
data class Extension(
|
||||||
val name: String,
|
val name: String,
|
||||||
val pkgName: String,
|
val pkgName: String,
|
||||||
|
|||||||
@@ -6,12 +6,14 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.library.model
|
package ca.gosyer.jui.domain.library.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import ca.gosyer.jui.i18n.MR
|
import ca.gosyer.jui.i18n.MR
|
||||||
import dev.icerock.moko.resources.StringResource
|
import dev.icerock.moko.resources.StringResource
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.Transient
|
import kotlinx.serialization.Transient
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class DisplayMode(@Transient val res: StringResource) {
|
enum class DisplayMode(@Transient val res: StringResource) {
|
||||||
CompactGrid(MR.strings.display_compact),
|
CompactGrid(MR.strings.display_compact),
|
||||||
ComfortableGrid(MR.strings.display_comfortable),
|
ComfortableGrid(MR.strings.display_comfortable),
|
||||||
@@ -19,6 +21,8 @@ enum class DisplayMode(@Transient val res: StringResource) {
|
|||||||
List(MR.strings.display_list);
|
List(MR.strings.display_list);
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val values = values().asList()
|
val values by lazy {
|
||||||
|
values().asList()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.library.model
|
package ca.gosyer.jui.domain.library.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class FilterState {
|
enum class FilterState {
|
||||||
IGNORED,
|
IGNORED,
|
||||||
INCLUDED,
|
INCLUDED,
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.library.model
|
package ca.gosyer.jui.domain.library.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class JobStatus {
|
enum class JobStatus {
|
||||||
PENDING,
|
PENDING,
|
||||||
RUNNING,
|
RUNNING,
|
||||||
|
|||||||
@@ -6,12 +6,14 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.library.model
|
package ca.gosyer.jui.domain.library.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import ca.gosyer.jui.i18n.MR
|
import ca.gosyer.jui.i18n.MR
|
||||||
import dev.icerock.moko.resources.StringResource
|
import dev.icerock.moko.resources.StringResource
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.Transient
|
import kotlinx.serialization.Transient
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class Sort(@Transient val res: StringResource) {
|
enum class Sort(@Transient val res: StringResource) {
|
||||||
ALPHABETICAL(MR.strings.sort_alphabetical),
|
ALPHABETICAL(MR.strings.sort_alphabetical),
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,12 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.library.model
|
package ca.gosyer.jui.domain.library.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import ca.gosyer.jui.domain.manga.model.Manga
|
import ca.gosyer.jui.domain.manga.model.Manga
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class UpdateStatus(
|
data class UpdateStatus(
|
||||||
val statusMap: Map<JobStatus, List<Manga>>,
|
val statusMap: Map<JobStatus, List<Manga>>,
|
||||||
val running: Boolean
|
val running: Boolean
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.manga.model
|
package ca.gosyer.jui.domain.manga.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import ca.gosyer.jui.domain.source.model.Source
|
import ca.gosyer.jui.domain.source.model.Source
|
||||||
import ca.gosyer.jui.i18n.MR
|
import ca.gosyer.jui.i18n.MR
|
||||||
import dev.icerock.moko.resources.StringResource
|
import dev.icerock.moko.resources.StringResource
|
||||||
@@ -13,6 +15,7 @@ import kotlinx.serialization.Serializable
|
|||||||
import kotlinx.serialization.Transient
|
import kotlinx.serialization.Transient
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class Manga(
|
data class Manga(
|
||||||
val id: Long,
|
val id: Long,
|
||||||
val sourceId: Long,
|
val sourceId: Long,
|
||||||
@@ -36,6 +39,7 @@ data class Manga(
|
|||||||
)
|
)
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class MangaMeta(
|
data class MangaMeta(
|
||||||
val juiReaderMode: String = DEFAULT_READER_MODE
|
val juiReaderMode: String = DEFAULT_READER_MODE
|
||||||
) {
|
) {
|
||||||
@@ -45,6 +49,7 @@ data class MangaMeta(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class MangaStatus(@Transient val res: StringResource) {
|
enum class MangaStatus(@Transient val res: StringResource) {
|
||||||
UNKNOWN(MR.strings.status_unknown),
|
UNKNOWN(MR.strings.status_unknown),
|
||||||
ONGOING(MR.strings.status_ongoing),
|
ONGOING(MR.strings.status_ongoing),
|
||||||
|
|||||||
@@ -6,6 +6,9 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.reader.model
|
package ca.gosyer.jui.domain.reader.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
|
|
||||||
|
@Stable
|
||||||
enum class DefaultReaderMode(
|
enum class DefaultReaderMode(
|
||||||
val res: String,
|
val res: String,
|
||||||
val continuous: Boolean,
|
val continuous: Boolean,
|
||||||
|
|||||||
@@ -6,12 +6,14 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.reader.model
|
package ca.gosyer.jui.domain.reader.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import ca.gosyer.jui.i18n.MR
|
import ca.gosyer.jui.i18n.MR
|
||||||
import dev.icerock.moko.resources.StringResource
|
import dev.icerock.moko.resources.StringResource
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.Transient
|
import kotlinx.serialization.Transient
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class Direction(@Transient val res: StringResource) {
|
enum class Direction(@Transient val res: StringResource) {
|
||||||
Down(MR.strings.dir_down),
|
Down(MR.strings.dir_down),
|
||||||
Left(MR.strings.dir_rtl),
|
Left(MR.strings.dir_rtl),
|
||||||
|
|||||||
@@ -6,12 +6,14 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.reader.model
|
package ca.gosyer.jui.domain.reader.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import ca.gosyer.jui.i18n.MR
|
import ca.gosyer.jui.i18n.MR
|
||||||
import dev.icerock.moko.resources.StringResource
|
import dev.icerock.moko.resources.StringResource
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.Transient
|
import kotlinx.serialization.Transient
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class ImageScale(@Transient val res: StringResource) {
|
enum class ImageScale(@Transient val res: StringResource) {
|
||||||
FitScreen(MR.strings.scale_fit_screen),
|
FitScreen(MR.strings.scale_fit_screen),
|
||||||
Stretch(MR.strings.scale_stretch),
|
Stretch(MR.strings.scale_stretch),
|
||||||
|
|||||||
@@ -6,12 +6,14 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.reader.model
|
package ca.gosyer.jui.domain.reader.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import ca.gosyer.jui.i18n.MR
|
import ca.gosyer.jui.i18n.MR
|
||||||
import dev.icerock.moko.resources.StringResource
|
import dev.icerock.moko.resources.StringResource
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.Transient
|
import kotlinx.serialization.Transient
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class NavigationMode(@Transient val res: StringResource) {
|
enum class NavigationMode(@Transient val res: StringResource) {
|
||||||
LNavigation(MR.strings.nav_l_shaped),
|
LNavigation(MR.strings.nav_l_shaped),
|
||||||
KindlishNavigation(MR.strings.nav_kindle_ish),
|
KindlishNavigation(MR.strings.nav_kindle_ish),
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.reader.model
|
package ca.gosyer.jui.domain.reader.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class TappingInvertMode(val shouldInvertHorizontal: Boolean = false, val shouldInvertVertical: Boolean = false) {
|
enum class TappingInvertMode(val shouldInvertHorizontal: Boolean = false, val shouldInvertVertical: Boolean = false) {
|
||||||
NONE,
|
NONE,
|
||||||
HORIZONTAL(shouldInvertHorizontal = true),
|
HORIZONTAL(shouldInvertHorizontal = true),
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.server.model
|
package ca.gosyer.jui.domain.server.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class Auth {
|
enum class Auth {
|
||||||
NONE,
|
NONE,
|
||||||
BASIC,
|
BASIC,
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.server.model
|
package ca.gosyer.jui.domain.server.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class Proxy {
|
enum class Proxy {
|
||||||
NO_PROXY,
|
NO_PROXY,
|
||||||
HTTP_PROXY,
|
HTTP_PROXY,
|
||||||
|
|||||||
@@ -6,9 +6,12 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.settings.model
|
package ca.gosyer.jui.domain.settings.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class About(
|
data class About(
|
||||||
val name: String,
|
val name: String,
|
||||||
val version: String,
|
val version: String,
|
||||||
@@ -20,6 +23,7 @@ data class About(
|
|||||||
)
|
)
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class AboutBuildType {
|
enum class AboutBuildType {
|
||||||
Preview,
|
Preview,
|
||||||
Stable
|
Stable
|
||||||
|
|||||||
@@ -6,10 +6,12 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model
|
package ca.gosyer.jui.domain.source.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import ca.gosyer.jui.domain.manga.model.Manga
|
import ca.gosyer.jui.domain.manga.model.Manga
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
data class MangaPage(
|
data class MangaPage(
|
||||||
val mangaList: List<Manga>,
|
val mangaList: List<Manga>,
|
||||||
val hasNextPage: Boolean
|
val hasNextPage: Boolean
|
||||||
|
|||||||
@@ -6,10 +6,12 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model
|
package ca.gosyer.jui.domain.source.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import ca.gosyer.jui.core.io.Serializable as JvmSerializable
|
import ca.gosyer.jui.core.io.Serializable as JvmSerializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
data class Source(
|
data class Source(
|
||||||
val id: Long,
|
val id: Long,
|
||||||
val name: String,
|
val name: String,
|
||||||
|
|||||||
@@ -6,11 +6,13 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model.sourcepreference
|
package ca.gosyer.jui.domain.source.model.sourcepreference
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("CheckBoxPreference")
|
@SerialName("CheckBoxPreference")
|
||||||
|
@Immutable
|
||||||
data class CheckBoxPreference(
|
data class CheckBoxPreference(
|
||||||
override val props: TwoStateProps
|
override val props: TwoStateProps
|
||||||
) : SourcePreference()
|
) : SourcePreference()
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model.sourcepreference
|
package ca.gosyer.jui.domain.source.model.sourcepreference
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("EditTextPreference")
|
@SerialName("EditTextPreference")
|
||||||
|
@Immutable
|
||||||
data class EditTextPreference(
|
data class EditTextPreference(
|
||||||
override val props: EditTextProps
|
override val props: EditTextProps
|
||||||
) : SourcePreference() {
|
) : SourcePreference() {
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class EditTextProps(
|
data class EditTextProps(
|
||||||
override val key: String,
|
override val key: String,
|
||||||
override val title: String?,
|
override val title: String?,
|
||||||
|
|||||||
@@ -6,13 +6,16 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model.sourcepreference
|
package ca.gosyer.jui.domain.source.model.sourcepreference
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("ListPreference")
|
@SerialName("ListPreference")
|
||||||
|
@Immutable
|
||||||
data class ListPreference(override val props: ListProps) : SourcePreference() {
|
data class ListPreference(override val props: ListProps) : SourcePreference() {
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class ListProps(
|
data class ListProps(
|
||||||
override val key: String,
|
override val key: String,
|
||||||
override val title: String,
|
override val title: String,
|
||||||
|
|||||||
@@ -6,13 +6,16 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model.sourcepreference
|
package ca.gosyer.jui.domain.source.model.sourcepreference
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("MultiSelectListPreference")
|
@SerialName("MultiSelectListPreference")
|
||||||
|
@Immutable
|
||||||
data class MultiSelectListPreference(override val props: MultiSelectListProps) : SourcePreference() {
|
data class MultiSelectListPreference(override val props: MultiSelectListProps) : SourcePreference() {
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class MultiSelectListProps(
|
data class MultiSelectListProps(
|
||||||
override val key: String,
|
override val key: String,
|
||||||
override val title: String,
|
override val title: String,
|
||||||
|
|||||||
@@ -6,13 +6,16 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model.sourcepreference
|
package ca.gosyer.jui.domain.source.model.sourcepreference
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
sealed class SourcePreference {
|
sealed class SourcePreference {
|
||||||
abstract val props: Props<*>
|
abstract val props: Props<*>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Immutable
|
||||||
interface Props<T> {
|
interface Props<T> {
|
||||||
val key: String
|
val key: String
|
||||||
val title: String?
|
val title: String?
|
||||||
|
|||||||
@@ -6,11 +6,13 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model.sourcepreference
|
package ca.gosyer.jui.domain.source.model.sourcepreference
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("SwitchPreferenceCompat")
|
@SerialName("SwitchPreferenceCompat")
|
||||||
|
@Immutable
|
||||||
data class SwitchPreference(
|
data class SwitchPreference(
|
||||||
override val props: TwoStateProps
|
override val props: TwoStateProps
|
||||||
) : SourcePreference()
|
) : SourcePreference()
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.source.model.sourcepreference
|
package ca.gosyer.jui.domain.source.model.sourcepreference
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class TwoStateProps(
|
data class TwoStateProps(
|
||||||
override val key: String,
|
override val key: String,
|
||||||
override val title: String?,
|
override val title: String?,
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.ui.model
|
package ca.gosyer.jui.domain.ui.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class StartScreen {
|
enum class StartScreen {
|
||||||
Library,
|
Library,
|
||||||
Updates,
|
Updates,
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.ui.model
|
package ca.gosyer.jui.domain.ui.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Stable
|
||||||
enum class ThemeMode {
|
enum class ThemeMode {
|
||||||
System,
|
System,
|
||||||
Light,
|
Light,
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.ui.model
|
package ca.gosyer.jui.domain.ui.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class WindowSettings(
|
data class WindowSettings(
|
||||||
val x: Int? = null,
|
val x: Int? = null,
|
||||||
val y: Int? = null,
|
val y: Int? = null,
|
||||||
|
|||||||
@@ -6,10 +6,12 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.updates.model
|
package ca.gosyer.jui.domain.updates.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class GithubRelease(
|
data class GithubRelease(
|
||||||
@SerialName("tag_name") val version: String,
|
@SerialName("tag_name") val version: String,
|
||||||
@SerialName("body") val info: String,
|
@SerialName("body") val info: String,
|
||||||
|
|||||||
@@ -6,11 +6,13 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.updates.model
|
package ca.gosyer.jui.domain.updates.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import ca.gosyer.jui.domain.chapter.model.Chapter
|
import ca.gosyer.jui.domain.chapter.model.Chapter
|
||||||
import ca.gosyer.jui.domain.manga.model.Manga
|
import ca.gosyer.jui.domain.manga.model.Manga
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class MangaAndChapter(
|
data class MangaAndChapter(
|
||||||
val manga: Manga,
|
val manga: Manga,
|
||||||
val chapter: Chapter
|
val chapter: Chapter
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
package ca.gosyer.jui.domain.updates.model
|
package ca.gosyer.jui.domain.updates.model
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Immutable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@Immutable
|
||||||
data class Updates(
|
data class Updates(
|
||||||
val page: List<MangaAndChapter>,
|
val page: List<MangaAndChapter>,
|
||||||
val hasNextPage: Boolean
|
val hasNextPage: Boolean
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.RowScope
|
|||||||
import androidx.compose.material.MenuDefaults
|
import androidx.compose.material.MenuDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
import androidx.compose.runtime.Stable
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
@@ -22,6 +23,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
/**
|
/**
|
||||||
* Policy on setting [WindowManager.LayoutParams.FLAG_SECURE] on a window.
|
* Policy on setting [WindowManager.LayoutParams.FLAG_SECURE] on a window.
|
||||||
*/
|
*/
|
||||||
|
@Stable
|
||||||
enum class SecureFlagPolicy {
|
enum class SecureFlagPolicy {
|
||||||
/**
|
/**
|
||||||
* Inherit [WindowManager.LayoutParams.FLAG_SECURE] from the parent window and pass it on the
|
* Inherit [WindowManager.LayoutParams.FLAG_SECURE] from the parent window and pass it on the
|
||||||
|
|||||||
Reference in New Issue
Block a user