boostcampwm-2022 / android06-mogle

🔮 모글(mogle) - 지도에 쓰는 다이어리, 기록, 일기
32 stars 4 forks source link

모먼트 남기기 시, 데이터 저장 안되고 바로 지도 화면으로 넘어가는 이슈 #59

Open Choe-Ji-Hwan opened 1 year ago

Choe-Ji-Hwan commented 1 year ago

❌ 버그 설명

모먼트 남기기 시, 데이터 저장 안되고 바로 지도 화면으로 넘어가는 이슈

🚶‍♂️ 접근 방법

접근하기 위한 단계를 작성해 주세요.

  1. Go to 모먼트 남기기 및 작성
  2. Click on 모먼트 남기기 버튼
  3. See error
    • 데이터는 안 들어가고, add Fragment가 꺼져서 데이터가 룸에 들어가지 않는 이슈

🧐 예상 행동

📷 Screenshots

토스트로 모먼트가 남겼습니다 뜨고, add Fragment가 종료 but, Room에 저장 안됨.

📱 Smartphone

버그가 발생한 기기 정보를 입력해 주세요.

  • Device: Samsung Galaxy S22
  • Version : 31

📢 해결

Room에 저장되기 전에 AddMomentFragment에서 Navgation으로 백 스택을 pop 해서 onDestroy가 되어, save하는 것이 cancel이 되어서,

// AddMoemntFragment
viewLifecycleOwner.lifecycleScope.launch {
                viewModel.saveMoment()
                Toast.makeText(context, "모먼트를 기록하였습니다.", Toast.LENGTH_LONG).show()
                val navController = findNavController()
                navController.setNavigationResultToBackStack("isUpdated", true)
                navController.popBackStack()
            }

// AddMoemntViewModel
        viewModelScope.launch {
            saveMomentUseCase(
                moment = MomentModel(
                    place = place.value,
                    pictures = pictures.value,
                    content = content.value,
                    globes = listOf(selectedGlobe.value),
                    date = selectedDate.value
                ).toDomain()
            )
        }.join()    // join 으로 기다림 (수정된 부분)