fix(profile): 유저 프로필 라이브 카드에서 상세 페이지를 우선 노출한다

This commit is contained in:
2026-03-06 17:38:16 +09:00
parent 32f83a4612
commit 066d1dfe1a
2 changed files with 49 additions and 2 deletions

View File

@@ -66,6 +66,7 @@ import kr.co.vividnext.sodalive.extensions.moneyFormat
import kr.co.vividnext.sodalive.live.LiveViewModel
import kr.co.vividnext.sodalive.live.reservation.complete.LiveReservationCompleteActivity
import kr.co.vividnext.sodalive.live.room.LiveRoomActivity
import kr.co.vividnext.sodalive.live.room.detail.LiveRoomDetailFragment
import kr.co.vividnext.sodalive.live.room.dialog.LivePaymentDialog
import kr.co.vividnext.sodalive.live.room.dialog.LiveRoomPasswordDialog
import kr.co.vividnext.sodalive.live.room.donation.LiveRoomDonationDialog
@@ -252,8 +253,8 @@ class UserProfileActivity : BaseActivity<ActivityUserProfileBinding>(
private fun setupLiveView() {
val recyclerView = binding.layoutUserProfileLive.rvLive
liveAdapter = UserProfileLiveAdapter(
onClickParticipant = { enterLiveRoom(roomId = it.roomId) },
onClickReservation = { reservationRoom(roomId = it.roomId) }
onClickParticipant = { showLiveRoomDetail(roomId = it.roomId) },
onClickReservation = { showLiveRoomDetail(roomId = it.roomId) }
)
recyclerView.layoutManager = LinearLayoutManager(
@@ -286,6 +287,24 @@ class UserProfileActivity : BaseActivity<ActivityUserProfileBinding>(
recyclerView.adapter = liveAdapter
}
private fun showLiveRoomDetail(roomId: Long) {
val detailFragment = LiveRoomDetailFragment(
roomId,
onClickParticipant = { enterLiveRoom(roomId = roomId) },
onClickReservation = { reservationRoom(roomId = roomId) },
onClickModify = {},
onClickStart = {},
onClickCancel = {}
)
if (detailFragment.isAdded) return
detailFragment.show(
supportFragmentManager,
detailFragment.tag
)
}
private fun setupDonationView() {
binding.layoutUserProfileDonation.tvAll.setOnClickListener {
val intent = Intent(applicationContext, UserProfileDonationAllViewActivity::class.java)

View File

@@ -0,0 +1,28 @@
# 유저 프로필 라이브 섹션 아이템 터치 시 상세 페이지 진입으로 수정
- [x] 요구사항 및 영향 범위 확인 (`UserProfileActivity`, `UserProfileLiveAdapter`, 라이브 상세 진입 패턴)
- [x] 라이브 카드 터치 동작을 즉시 참여/예약 처리 대신 라이브 상세 페이지(`LiveRoomDetailFragment`) 노출로 변경
- [x] 변경 파일 정적 진단 및 관련 테스트/빌드 실행
- [x] 검증 결과를 본 문서에 누적 기록
## 검증 기록
### 2026-03-06 17:00 (KST)
- 무엇/왜/어떻게: 요청사항을 구현 단위로 분해하고, 기존 라이브 리스트 화면(`LiveNowAllActivity`, `LiveReservationAllActivity`)의 카드 터치 시 `LiveRoomDetailFragment`를 띄우는 패턴을 확인했다. 이를 `UserProfileActivity` 라이브 섹션에 동일 적용하기로 결정했다.
- 실행 명령 및 결과:
- `grep` 기반 코드 탐색으로 라이브 상세 진입/콜백 연결 지점 확인 완료
- 구현/검증 명령은 변경 후 본 문서에 누적 기록 예정
### 2026-03-06 17:04 (KST)
- 무엇/왜/어떻게: `UserProfileActivity.setupLiveView``onClickParticipant`/`onClickReservation` 콜백을 직접 참여/예약 처리 대신 `showLiveRoomDetail(roomId)` 호출로 변경했다. `showLiveRoomDetail`에서 `LiveRoomDetailFragment`를 띄우고, 상세 내 액션 버튼만 기존 `enterLiveRoom`/`reservationRoom` 로직을 타도록 연결해 카드 터치 시 즉시 결제/참여가 발생하지 않게 조정했다.
- 수정 파일:
- `app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt`
- `docs/20260306_유저프로필라이브상세페이지이동수정.md`
- 실행 명령 및 결과:
- `lsp_diagnostics` (`UserProfileActivity.kt`) -> `.kt` 확장자 LSP 서버 미구성으로 실행 불가
- `./gradlew :app:testDebugUnitTest :app:assembleDebug` -> `BUILD SUCCESSFUL`
### 2026-03-06 17:06 (KST)
- 무엇/왜/어떻게: 최종 완료 전 동일 검증 명령을 재실행해 변경사항이 빌드/테스트에 영향을 주지 않는지 재확인했다.
- 실행 명령 및 결과:
- `./gradlew :app:testDebugUnitTest :app:assembleDebug` -> `BUILD SUCCESSFUL` (UP-TO-DATE)