Skip to content

인증샷 상세 화면 찌르기 쿨타임 상태가 시간 경과에 따라 갱신되지 않음 #170

Description

@chanho0908

문제

인증샷 상세 화면에서 찌르기 쿨타임이 남아 있는 상태로 진입하면 pokeCooldownRemaining이 양수로 저장되고, isPokeDisabledtrue가 되어 찌르기 액션이 막힙니다.

PokeGoalUseCase.remainingCooldown()은 호출 시점의 System.currentTimeMillis()로 남은 시간을 계산하지만, 상세 화면에서는 이 값을 init 시점에 한 번만 상태로 저장합니다. 이후 시간 경과에 따라 pokeCooldownRemaining을 다시 계산하거나 감소시키는 흐름이 없어, 실제 쿨타임이 만료되어도 화면을 유지한 상태에서는 버튼이 계속 비활성 상태로 남을 수 있습니다.

기대 동작

  • 쿨타임이 남아 있으면 찌르기 버튼은 비활성화됩니다.
  • 시간이 지나 쿨타임이 만료되면 화면을 다시 진입하지 않아도 찌르기 버튼이 활성화됩니다.
  • 남은 시간 안내 토스트는 최신 남은 시간을 기준으로 표시됩니다.

수정 방향

  • 인증샷 상세 화면의 쿨타임 상태를 현재 시간 기준으로 갱신하는 흐름을 추가합니다.
  • 쿨타임 만료 시 pokeCooldownRemaining0L이 되도록 보장합니다.
  • 가능하면 ViewModel 단위 테스트로 만료 시 버튼 활성화 조건을 고정합니다.

관련 코드

  • feature/photolog/detail/src/main/java/com/twix/photolog/detail/PhotologDetailViewModel.kt
  • feature/photolog/detail/src/main/java/com/twix/photolog/detail/contract/PhotologDetailUiState.kt
  • domain/src/main/java/com/twix/domain/usecase/PokeGoalUseCase.kt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions