Skip to content

Commit 8744a54

Browse files
committed
[BOOK-188] refactor: feature 모듈내 sideEffect @immutable annotation 추가
compose-metrics, report 활성화
1 parent db2d497 commit 8744a54

9 files changed

Lines changed: 20 additions & 0 deletions

File tree

feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ninecraft.booket.feature.detail.book
22

3+
import androidx.compose.runtime.Immutable
34
import com.ninecraft.booket.core.common.R
45
import com.ninecraft.booket.core.common.constants.BookStatus
56
import com.ninecraft.booket.core.model.Emotion
@@ -64,6 +65,7 @@ data class BookDetailUiState(
6465
val eventSink: (BookDetailUiEvent) -> Unit,
6566
) : CircuitUiState
6667

68+
@Immutable
6769
sealed interface BookDetailSideEffect {
6870
data class ShowToast(
6971
val message: String,

feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/record/RecordDetailUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ninecraft.booket.feature.detail.record
22

3+
import androidx.compose.runtime.Immutable
34
import com.slack.circuit.runtime.CircuitUiEvent
45
import com.slack.circuit.runtime.CircuitUiState
56
import java.util.UUID
@@ -9,6 +10,7 @@ data class RecordDetailUiState(
910
val eventSink: (RecordDetailUiEvent) -> Unit,
1011
) : CircuitUiState
1112

13+
@Immutable
1214
sealed interface RecordDetailSideEffect {
1315
data class ShowToast(
1416
val message: String,

feature/library/src/main/kotlin/com/ninecraft/booket/feature/library/LibraryUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ninecraft.booket.feature.library
22

3+
import androidx.compose.runtime.Immutable
34
import com.ninecraft.booket.core.model.LibraryBookSummaryModel
45
import com.ninecraft.booket.core.ui.component.FooterState
56
import com.slack.circuit.runtime.CircuitUiEvent
@@ -26,6 +27,7 @@ data class LibraryUiState(
2627
val eventSink: (LibraryUiEvent) -> Unit,
2728
) : CircuitUiState
2829

30+
@Immutable
2931
sealed interface LibrarySideEffect {
3032
data class ShowToast(val message: String) : LibrarySideEffect
3133
}

feature/login/src/main/kotlin/com/ninecraft/booket/feature/login/LoginUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ninecraft.booket.feature.login
22

3+
import androidx.compose.runtime.Immutable
34
import com.slack.circuit.runtime.CircuitUiEvent
45
import com.slack.circuit.runtime.CircuitUiState
56
import java.util.UUID
@@ -10,6 +11,7 @@ data class LoginUiState(
1011
val eventSink: (LoginUiEvent) -> Unit,
1112
) : CircuitUiState
1213

14+
@Immutable
1315
sealed interface LoginSideEffect {
1416
data object KakaoLogin : LoginSideEffect
1517
data class ShowToast(

feature/login/src/main/kotlin/com/ninecraft/booket/feature/termsagreement/TermsAgreementUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ninecraft.booket.feature.termsagreement
22

3+
import androidx.compose.runtime.Immutable
34
import com.slack.circuit.runtime.CircuitUiEvent
45
import com.slack.circuit.runtime.CircuitUiState
56
import kotlinx.collections.immutable.ImmutableList
@@ -12,6 +13,7 @@ data class TermsAgreementUiState(
1213
val eventSink: (TermsAgreementUiEvent) -> Unit,
1314
) : CircuitUiState
1415

16+
@Immutable
1517
sealed interface TermsAgreementSideEffect {
1618
data class ShowToast(
1719
val message: String,

feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.ninecraft.booket.feature.record.register
22

33
import androidx.compose.foundation.text.input.TextFieldState
4+
import androidx.compose.runtime.Immutable
45
import com.ninecraft.booket.core.designsystem.EmotionTag
56
import com.ninecraft.booket.core.designsystem.RecordStep
67
import com.slack.circuit.runtime.CircuitUiEvent
@@ -26,6 +27,7 @@ data class RecordRegisterUiState(
2627
val eventSink: (RecordRegisterUiEvent) -> Unit,
2728
) : CircuitUiState
2829

30+
@Immutable
2931
sealed interface RecordRegisterSideEffect {
3032
data class ShowToast(
3133
val message: String,

feature/search/src/main/kotlin/com/ninecraft/booket/feature/search/SearchUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.ninecraft.booket.feature.search
22

33
import androidx.compose.foundation.text.input.TextFieldState
4+
import androidx.compose.runtime.Immutable
45
import com.ninecraft.booket.core.common.constants.BookStatus
56
import com.ninecraft.booket.core.model.BookSearchModel
67
import com.ninecraft.booket.core.model.BookSummaryModel
@@ -37,6 +38,7 @@ data class SearchUiState(
3738
val isEmptySearchResult: Boolean get() = uiState is UiState.Success && searchResult.totalResults == 0
3839
}
3940

41+
@Immutable
4042
sealed interface SearchSideEffect {
4143
data class ShowToast(
4244
val message: String,

feature/settings/src/main/kotlin/com/ninecraft/booket/feature/settings/SettingsUiState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ninecraft.booket.feature.settings
22

3+
import androidx.compose.runtime.Immutable
34
import com.slack.circuit.runtime.CircuitUiEvent
45
import com.slack.circuit.runtime.CircuitUiState
56
import java.util.UUID
@@ -13,6 +14,7 @@ data class SettingsUiState(
1314
val eventSink: (SettingsUiEvent) -> Unit,
1415
) : CircuitUiState
1516

17+
@Immutable
1618
sealed interface SettingsSideEffect {
1719
data class ShowToast(
1820
val message: String,

gradle.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,7 @@ kotlin.code.style=official
2121
# resources declared in the library itself and none from the library's dependencies,
2222
# thereby reducing the size of the R class for that library
2323
android.nonTransitiveRClass=true
24+
25+
# Compose Compiler Metrics and Reports
26+
enableComposeCompilerMetrics=true
27+
enableComposeCompilerReports=true

0 commit comments

Comments
 (0)