fix(live-room): 채팅 얼림 버튼 배치와 경고 문구를 정리한다
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -287,7 +287,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
|
||||
private fun showChatFreezeWarning() {
|
||||
Toast.makeText(
|
||||
applicationContext,
|
||||
getString(R.string.screen_live_room_chat_freeze_warning),
|
||||
"🧊 채팅창이 얼었습니다.",
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
}
|
||||
|
||||
@@ -616,24 +616,6 @@
|
||||
app:layout_constraintBottom_toTopOf="@+id/rl_input_chat"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/tv_chat_freeze_switch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="13.3dp"
|
||||
android:background="@drawable/bg_round_corner_10_99525252"
|
||||
android:padding="10dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_chat_freeze"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="center"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/ic_ice" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_speaker_mute"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -669,6 +651,24 @@
|
||||
android:src="@drawable/ic_mic_on" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/tv_chat_freeze_switch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="13.3dp"
|
||||
android:background="@drawable/bg_round_corner_10_99525252"
|
||||
android:padding="10dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_chat_freeze"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="center"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/ic_ice" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_donation_message_list"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -462,11 +462,6 @@
|
||||
<string name="screen_live_room_menu_prefix">[Menu] </string>
|
||||
<string name="screen_live_room_leave">Leave</string>
|
||||
<string name="screen_live_room_change_listener">Change to listener</string>
|
||||
<string name="screen_live_room_chat_freeze_off_label">Freeze OFF</string>
|
||||
<string name="screen_live_room_chat_freeze_on_label">Freeze ON</string>
|
||||
<string name="screen_live_room_chat_freeze_warning">Chat is frozen. You cannot type right now.</string>
|
||||
<string name="screen_live_room_chat_freeze_started">Chat has been frozen.</string>
|
||||
<string name="screen_live_room_chat_freeze_ended">Chat freeze has been disabled.</string>
|
||||
<string name="screen_live_room_chat_delete_title">Delete chat</string>
|
||||
<string name="screen_live_room_chat_delete_message_format">%1$s: %2$s</string>
|
||||
<string name="screen_live_room_signature_off_label">Sign OFF</string>
|
||||
|
||||
@@ -461,11 +461,6 @@
|
||||
<string name="screen_live_room_menu_prefix">[メニュー] </string>
|
||||
<string name="screen_live_room_leave">退出</string>
|
||||
<string name="screen_live_room_change_listener">リスナー変更</string>
|
||||
<string name="screen_live_room_chat_freeze_off_label">凍結 OFF</string>
|
||||
<string name="screen_live_room_chat_freeze_on_label">凍結 ON</string>
|
||||
<string name="screen_live_room_chat_freeze_warning">チャットが凍結中のため入力できません。</string>
|
||||
<string name="screen_live_room_chat_freeze_started">チャットを凍結しました。</string>
|
||||
<string name="screen_live_room_chat_freeze_ended">チャット凍結を解除しました。</string>
|
||||
<string name="screen_live_room_chat_delete_title">チャット削除</string>
|
||||
<string name="screen_live_room_chat_delete_message_format">%1$s: %2$s</string>
|
||||
<string name="screen_live_room_signature_off_label">シグ OFF</string>
|
||||
|
||||
@@ -461,11 +461,6 @@
|
||||
<string name="screen_live_room_menu_prefix">[메뉴판] </string>
|
||||
<string name="screen_live_room_leave">나가기</string>
|
||||
<string name="screen_live_room_change_listener">리스너 변경</string>
|
||||
<string name="screen_live_room_chat_freeze_off_label">얼림 OFF</string>
|
||||
<string name="screen_live_room_chat_freeze_on_label">얼림 ON</string>
|
||||
<string name="screen_live_room_chat_freeze_warning">채팅창이 얼려져 있어 입력할 수 없습니다.</string>
|
||||
<string name="screen_live_room_chat_freeze_started">채팅창을 얼렸습니다.</string>
|
||||
<string name="screen_live_room_chat_freeze_ended">채팅창 얼리기를 해제했습니다</string>
|
||||
<string name="screen_live_room_chat_delete_title">채팅 삭제</string>
|
||||
<string name="screen_live_room_chat_delete_message_format">%1$s: %2$s</string>
|
||||
<string name="screen_live_room_signature_off_label">시그 OFF</string>
|
||||
|
||||
30
docs/20260320_채팅창얼림아이콘이동및문구정리.md
Normal file
30
docs/20260320_채팅창얼림아이콘이동및문구정리.md
Normal file
@@ -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`로 동일 범위 검증을 완료했다.
|
||||
Reference in New Issue
Block a user