From 05598d9715435e7707376660752f3a2c1a56acf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EC=84=AD?= Date: Wed, 29 Apr 2026 15:51:34 +0900 Subject: [PATCH 1/2] =?UTF-8?q?ci=20::=20Compose=20metrics=20=EB=A6=AC?= =?UTF-8?q?=ED=8F=AC=ED=8A=B8=20=EC=84=A4=EC=A0=95=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/Nightly.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Nightly.yaml b/.github/workflows/Nightly.yaml index 4819482b6..e0fc46d79 100644 --- a/.github/workflows/Nightly.yaml +++ b/.github/workflows/Nightly.yaml @@ -272,20 +272,20 @@ jobs: -eType HTML \ -rType ALL - - name: Generate mendable JSON report (warnings only) + - name: Generate mendable JSON report run: | java -jar tools/mendable.jar \ -i build/compose_metrics \ -sr \ -o build/mendable-output \ - -oName mendable-warnings \ + -oName mendable-all \ -eType JSON \ - -rType WITH_WARNINGS + -rType ALL - name: Check Compose metrics (skippable ratio) run: | python3 scripts/check_compose_metrics.py \ - build/mendable-output/mendable-warnings.json \ + build/mendable-output/mendable-all.json \ --threshold 100 - name: Upload mendable HTML report From 681619792c9e96ff6e98412418da67ef10daa711 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EC=84=AD?= Date: Wed, 29 Apr 2026 15:52:58 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20wear=20=EB=AA=A8=EB=93=88?= =?UTF-8?q?=EC=97=90=20ImmutableList=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wear/build.gradle.kts | 1 + .../team/aliens/dms/android/wear/data/WearStubRepository.kt | 5 +++-- .../team/aliens/dms/android/wear/model/WearSnapshot.kt | 5 +++-- .../dms/android/wear/presentation/component/WearScaffold.kt | 3 ++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts index ac3d5221b..e8995701d 100644 --- a/wear/build.gradle.kts +++ b/wear/build.gradle.kts @@ -49,6 +49,7 @@ dependencies { implementation(libs.androidx.compose.tooling.preview) implementation(libs.androidx.wear.compose.foundation) implementation(libs.androidx.wear.compose.material3) + implementation(libs.kotlinx.collections.immutable) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) diff --git a/wear/src/main/kotlin/team/aliens/dms/android/wear/data/WearStubRepository.kt b/wear/src/main/kotlin/team/aliens/dms/android/wear/data/WearStubRepository.kt index dfc35ea27..c2097bfd4 100644 --- a/wear/src/main/kotlin/team/aliens/dms/android/wear/data/WearStubRepository.kt +++ b/wear/src/main/kotlin/team/aliens/dms/android/wear/data/WearStubRepository.kt @@ -1,12 +1,13 @@ package team.aliens.dms.android.wear.data +import kotlinx.collections.immutable.persistentListOf import team.aliens.dms.android.wear.model.WearNoticeUiModel import team.aliens.dms.android.wear.model.WearSnapshot internal object WearStubRepository { fun loadSnapshot(): WearSnapshot = WearSnapshot( primaryMealLabel = "점심", - primaryMealMenu = listOf( + primaryMealMenu = persistentListOf( "치킨마요덮밥", "미소국", "계절 샐러드", @@ -14,7 +15,7 @@ internal object WearStubRepository { statusTitle = "잔류 상태", statusValue = "오늘 잔류 예정", syncedAt = "10:30", - notices = listOf( + notices = persistentListOf( WearNoticeUiModel( title = "주말 점호 시간 변경", dateText = "오늘", diff --git a/wear/src/main/kotlin/team/aliens/dms/android/wear/model/WearSnapshot.kt b/wear/src/main/kotlin/team/aliens/dms/android/wear/model/WearSnapshot.kt index d0ce75b34..58c9c02ff 100644 --- a/wear/src/main/kotlin/team/aliens/dms/android/wear/model/WearSnapshot.kt +++ b/wear/src/main/kotlin/team/aliens/dms/android/wear/model/WearSnapshot.kt @@ -1,13 +1,14 @@ package team.aliens.dms.android.wear.model import androidx.compose.runtime.Immutable +import kotlinx.collections.immutable.ImmutableList @Immutable data class WearSnapshot( val primaryMealLabel: String, - val primaryMealMenu: List, + val primaryMealMenu: ImmutableList, val statusTitle: String, val statusValue: String, val syncedAt: String, - val notices: List, + val notices: ImmutableList, ) diff --git a/wear/src/main/kotlin/team/aliens/dms/android/wear/presentation/component/WearScaffold.kt b/wear/src/main/kotlin/team/aliens/dms/android/wear/presentation/component/WearScaffold.kt index e6309c297..d2a8b834f 100644 --- a/wear/src/main/kotlin/team/aliens/dms/android/wear/presentation/component/WearScaffold.kt +++ b/wear/src/main/kotlin/team/aliens/dms/android/wear/presentation/component/WearScaffold.kt @@ -12,6 +12,7 @@ import androidx.compose.ui.unit.dp import androidx.wear.compose.material3.Button import androidx.wear.compose.material3.MaterialTheme import androidx.wear.compose.material3.Text +import kotlinx.collections.immutable.ImmutableList @Composable internal fun WearScreen( @@ -45,7 +46,7 @@ internal fun WearScreen( @Composable internal fun WearBulletList( - items: List, + items: ImmutableList, modifier: Modifier = Modifier, ) { Column(