Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📌 개요
✨ 작업 내용
커스텀 출발지에서 사용자가 출발지를 직접 지정한 후에도(더이상 현위치 좌표값이 필요없는 상황에서도) addOnLocationChangeListener가 자동으로 계속 돌아서 departureLatLng을 현위치로 갱신시키는 바람에
그러지 못하도록 isBlockUpdateDeparture라는 변수를 선언해서 사용자가 출발지를 직접 지정한 후에는 departureLatLng이 addOnLocationChangeListener에 의해 갱신이 못되도록 막아주었습니다.
그런데 (정확한 원인 파악은 못했지만 아마도) addOnLocationChangeListener는 실행 타이밍이 불규칙하다보니 제가 한 조치로는 온전히 막을 수 없는 것 같아
사용자가 출발지를 직접 지정하는 시점에 customDepartureLatLng라는 변수를 따로 두어 putExtra 시점에 departureLatLng 값을 customDepartureLatLng으로 갱신시키는 방법으로 막았습니다.
문제 해결은 어찌저찌 했지만 코드가 깔끔하지 못하고 지저분해진다는 느낌에 아쉬움이 남습니다.
✨ PR 포인트
이번에 2차 업데이트(출발지 설정할 수 있는 옵션 추가) feature 개발할 때
파일 여러개 만들기보단 기존에 짜놨던 하나의 파일(DrawActivity) 안에서 분기 처리를 통해 재사용하려고 했던 건데
이렇게 하다보니 3개 mode(장소 검색/현위치/직접 지정) 각각이 취해줘야 할 상황이 다른데 같은 변수와 함수를 공유하다보니 분기 처리가 매우 까다로웠고 (함수도 지저분해지고) 어느 하나를 건드렸을 때 기존에 잘 동작하던 다른 mode들에 사이드 이펙트가 생기진 않을지 걱정하면서 코드를 짜야했습니다.
추후 리팩토링을 무조건 해야겠다고 느꼈는데 파일이 여러개 생기더라도 3개 mode 각각에 대해 Activity를 만들어 쓰는 방향으로 생각중입니다.
지금처럼 한 파일 안에 분기 처리를 하는 방향을 유지하되 조금 더 다듬어볼지, 아니면 Activity를 나눌지 리팩토링 방향에 대한 의견과 근거가 궁금합니다.