From 41f6ddd61bd2d703b3f9f02d7bca02e54342294c Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 20 Mar 2026 15:58:27 +0900 Subject: [PATCH] =?UTF-8?q?fix(live-room):=20=EC=B1=84=ED=8C=85=20?= =?UTF-8?q?=EC=96=BC=EB=A6=BC=20=EB=B2=84=ED=8A=BC=20=EB=B0=B0=EC=B9=98?= =?UTF-8?q?=EC=99=80=20=EA=B2=BD=EA=B3=A0=20=EB=AC=B8=EA=B5=AC=EB=A5=BC=20?= =?UTF-8?q?=EC=A0=95=EB=A6=AC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../sodalive/live/room/LiveRoomActivity.kt | 2 +- .../main/res/layout/activity_live_room.xml | 36 +++++++++---------- app/src/main/res/values-en/strings.xml | 5 --- app/src/main/res/values-ja/strings.xml | 5 --- app/src/main/res/values/strings.xml | 5 --- ...20260320_채팅창얼림아이콘이동및문구정리.md | 30 ++++++++++++++++ 7 files changed, 50 insertions(+), 35 deletions(-) create mode 100644 docs/20260320_채팅창얼림아이콘이동및문구정리.md diff --git a/app/build.gradle b/app/build.gradle index 0a6281d7..79e70792 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ android { applicationId "kr.co.vividnext.sodalive" minSdk 23 targetSdk 35 - versionCode 229 + versionCode 230 versionName "1.53.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt index 2ec456d9..7075cac2 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt @@ -287,7 +287,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB private fun showChatFreezeWarning() { Toast.makeText( applicationContext, - getString(R.string.screen_live_room_chat_freeze_warning), + "🧊 채팅창이 얼었습니다.", Toast.LENGTH_SHORT ).show() } diff --git a/app/src/main/res/layout/activity_live_room.xml b/app/src/main/res/layout/activity_live_room.xml index cf26d698..fe5071ef 100644 --- a/app/src/main/res/layout/activity_live_room.xml +++ b/app/src/main/res/layout/activity_live_room.xml @@ -616,24 +616,6 @@ app:layout_constraintBottom_toTopOf="@+id/rl_input_chat" app:layout_constraintEnd_toEndOf="parent"> - - - - - + + + + + [Menu] Leave Change to listener - Freeze OFF - Freeze ON - Chat is frozen. You cannot type right now. - Chat has been frozen. - Chat freeze has been disabled. Delete chat %1$s: %2$s Sign OFF diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 24776815..8fcc18d0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -461,11 +461,6 @@ [メニュー] 退出 リスナー変更 - 凍結 OFF - 凍結 ON - チャットが凍結中のため入力できません。 - チャットを凍結しました。 - チャット凍結を解除しました。 チャット削除 %1$s: %2$s シグ OFF diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c69dd162..2f70081a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -461,11 +461,6 @@ [메뉴판] 나가기 리스너 변경 - 얼림 OFF - 얼림 ON - 채팅창이 얼려져 있어 입력할 수 없습니다. - 채팅창을 얼렸습니다. - 채팅창 얼리기를 해제했습니다 채팅 삭제 %1$s: %2$s 시그 OFF diff --git a/docs/20260320_채팅창얼림아이콘이동및문구정리.md b/docs/20260320_채팅창얼림아이콘이동및문구정리.md new file mode 100644 index 00000000..a65e46c5 --- /dev/null +++ b/docs/20260320_채팅창얼림아이콘이동및문구정리.md @@ -0,0 +1,30 @@ +# 2026-03-20 채팅창 얼림 아이콘 이동 및 문구 정리 + +## 구현 체크리스트 +- [x] LiveRoom 화면에서 채팅창 얼림 아이콘 위치를 마이크 음소거 아이콘 아래로 이동한다. (QA: 레이아웃 계층에서 마이크 음소거 컨트롤 다음 위치로 배치되었는지 확인) +- [x] `showChatFreezeWarning` 표시 문구를 `🧊 채팅창이 얼었습니다.`로 변경한다. (QA: 코드 상수/리소스 참조가 아닌 해당 문자열로 토스트 호출되는지 확인) +- [x] `docs/*`를 제외한 실제 코드 기준 미사용 얼림 관련 문구를 제거한다. (QA: 검색 결과에서 제거 대상 문구가 코드 경로에 남아있지 않은지 확인) +- [x] 변경 파일 진단 및 Gradle 검증을 수행한다. (QA: LSP 오류 0건, 관련 Gradle 테스트/체크 명령 성공) + +## 검증 기록 +- [x] 작업 완료 후 아래에 무엇/왜/어떻게, 실행 명령, 결과를 누적 기록한다. + +- 무엇/왜/어떻게: 채팅 얼림 컨트롤의 실제 배치를 정확히 바꾸기 위해 코드베이스 전수 검색(직접 검색 + background explore/librarian)을 수행했고, `ll_option_buttons` 내부 순서 변경만으로 요구사항을 충족하도록 최소 수정했다. + - 실행 명령/도구: `grep`, `ast_grep_search`, `task(subagent_type=explore/librarian, run_in_background=true)`, `read` + - 결과: `activity_live_room.xml`에서 `tv_chat_freeze_switch`를 `fl_microphone_mute` 아래로 이동할 위치를 확정했고, 얼림 관련 리소스 사용/미사용 목록을 확보했다. + +- 무엇/왜/어떻게: 경고 문구를 요청 텍스트로 고정하기 위해 `showChatFreezeWarning`의 리소스 참조를 리터럴 문자열로 교체했다. + - 실행 명령/도구: `apply_patch`, `grep` + - 결과: `LiveRoomActivity.kt`에서 토스트 문구가 `🧊 채팅창이 얼었습니다.`로 반영됨을 확인했다. + +- 무엇/왜/어떻게: docs 제외 실제 코드에서 미사용 얼림 문구를 제거하기 위해 얼림 키 참조를 재검색하고 미참조 리소스를 삭제했다. + - 실행 명령/도구: `grep(pattern="screen_live_room_chat_freeze_...")`, `apply_patch` + - 결과: `screen_live_room_chat_freeze_off_label`, `screen_live_room_chat_freeze_on_label`, `screen_live_room_chat_freeze_warning`, `screen_live_room_chat_freeze_started`, `screen_live_room_chat_freeze_ended`를 `values*` 문자열 파일에서 제거했고, `app/src/main` 기준 재검색 시 잔여 참조가 없음을 확인했다. + +- 무엇/왜/어떻게: 변경 안정성 검증을 위해 진단/테스트/빌드를 실행했다. + - 실행 명령: `lsp_diagnostics`(kt/xml), `./gradlew :app:testDebugUnitTest`, `./gradlew :app:assembleDebug`, `./gradlew :app:lintDebug` + - 결과: LSP는 환경에 Kotlin/XML 서버가 없어 실행 불가, `:app:testDebugUnitTest` 성공, `:app:assembleDebug` 성공, `:app:lintDebug`는 기존 이슈(`AndroidManifest.xml`의 `com.facebook.FacebookActivity` MissingClass)로 실패했다. + +- 무엇/왜/어떻게: 사용자 요청된 검색 모드 이행 여부를 확인하기 위해 `rg` 실행 가능성을 점검했다. + - 실행 명령: `rg -n --hidden --glob '!docs/**' ...` + - 결과: 현 환경에서 `rg` 바이너리가 없어 `command not found`가 발생했고, 대신 `grep`/`ast_grep_search`로 동일 범위 검증을 완료했다.