diff --git a/app/src/main/java/com/example/research/DictionaryStatus.kt b/app/src/main/java/com/example/research/DictionaryStatus.kt index 771ec60..68071c7 100644 --- a/app/src/main/java/com/example/research/DictionaryStatus.kt +++ b/app/src/main/java/com/example/research/DictionaryStatus.kt @@ -1,5 +1,8 @@ package com.example.research +import androidx.compose.runtime.Immutable + +@Immutable sealed interface DictionaryStatus { data object Unknown : DictionaryStatus data object Checking : DictionaryStatus diff --git a/app/src/main/java/com/example/research/core/domain/model/IndexingProgress.kt b/app/src/main/java/com/example/research/core/domain/model/IndexingProgress.kt index b14e647..6a025d8 100644 --- a/app/src/main/java/com/example/research/core/domain/model/IndexingProgress.kt +++ b/app/src/main/java/com/example/research/core/domain/model/IndexingProgress.kt @@ -1,5 +1,7 @@ package com.example.research.core.domain.model +import androidx.compose.runtime.Immutable + /** * Snapshot of an ongoing indexing operation. * @@ -7,6 +9,7 @@ package com.example.research.core.domain.model * aggregates a file-size-weighted sum across files incrementally while * indexing, so reading it is O(1). */ +@Immutable data class IndexingProgress( val isIndexing: Boolean = false, val progress: Float = 0f, diff --git a/app/src/main/java/com/example/research/feature/download/model/DownloadState.kt b/app/src/main/java/com/example/research/feature/download/model/DownloadState.kt index f8fd0f4..9260a9e 100644 --- a/app/src/main/java/com/example/research/feature/download/model/DownloadState.kt +++ b/app/src/main/java/com/example/research/feature/download/model/DownloadState.kt @@ -1,4 +1,8 @@ package com.example.research.feature.download.model + +import androidx.compose.runtime.Immutable + +@Immutable sealed class DownloadState { data object Idle : DownloadState() data object Loading : DownloadState() diff --git a/app/src/main/java/com/example/research/ui/settings/ImportState.kt b/app/src/main/java/com/example/research/ui/settings/ImportState.kt index 0bbd170..65bc3a9 100644 --- a/app/src/main/java/com/example/research/ui/settings/ImportState.kt +++ b/app/src/main/java/com/example/research/ui/settings/ImportState.kt @@ -1,5 +1,8 @@ package com.example.research.ui.settings +import androidx.compose.runtime.Immutable + +@Immutable sealed interface ImportState { data object Idle : ImportState data class Importing(val progress: Float) : ImportState diff --git a/app/src/main/java/com/example/research/ui/settings/SettingsUiState.kt b/app/src/main/java/com/example/research/ui/settings/SettingsUiState.kt index f7fda98..b593303 100644 --- a/app/src/main/java/com/example/research/ui/settings/SettingsUiState.kt +++ b/app/src/main/java/com/example/research/ui/settings/SettingsUiState.kt @@ -1,6 +1,7 @@ package com.example.research.ui.settings import android.net.Uri +import androidx.compose.runtime.Immutable import com.example.research.core.domain.model.AppTheme import com.example.research.core.domain.model.Dictionary import com.example.research.core.domain.model.DictionarySource @@ -8,6 +9,7 @@ import com.example.research.core.domain.model.IndexingProgress import com.example.research.DictionaryStatus import com.example.research.feature.download.model.DownloadState +@Immutable data class SettingsUiState( val theme: AppTheme = AppTheme.SYSTEM, val language: String = "system",