Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] 주민 좋아요/거주 버튼 누르고 액티비티 종료되면 상태갱신 이상해짐. #2

Open
malibinYun opened this issue Jun 22, 2020 · 1 comment

Comments

@malibinYun
Copy link
Owner

malibinYun commented Jun 22, 2020

[현상]
주민 좋아요 / 거주 버튼을 빠르게 누른 뒤,
그냥 빠르게 안눌러도 발생하는 현상임.
액티비티가 종료되면 해당 상태값이 제대로 갱신이 되지 않아 눌린게 안눌린거처럼, 또는 안눌린게 눌린거처럼 보이는 버그가 존재.

[원인]

  1. 좋아요 거주 버튼을 누르면 바로 Repository 캐시와 DB에 저장되지 않음. 상태값만 저장.
  2. 액티비티 종료 시, 상태값 비교 후 해당 상태 캐시 갱신 및 DB저장.
  3. 이전 액티비티로 돌아와서, 상태가 변했으면 Villager들을 전부 다시 가져옴.
  4. 두 save는 각각 코루틴으로 비동기로 동작.
  5. 두 save 중 하나만 캐시 갱신을 완료하거나 둘 다 완료하지 못한 시점에서 Repository애서 Villager들을 요청.
  6. 갱신되지 않은 Villager들로 뷰를 갱신. -> 버그발생.
    ( 그 이후 save 데이터들로 캐시가 갱신되지만 다시 긁어올 방법이 없음. )

[해결방법]
LiveData로 변경. (구조를 싹다 엎어야됨 ㅠ ㅠ)
더 나은 방법이 없을까...

@malibinYun
Copy link
Owner Author

malibinYun commented Jun 22, 2020

ㅋㅋ 빠르게 누르지 않아도 발생하는현상이네 생각해보니

임시로 runBlocking 사용....

@malibinYun malibinYun changed the title [BUG] 주민 좋아요/거주 버튼 빠르게 누르고 액티비티 종료되면 상태갱신 이상해짐. [BUG] 주민 좋아요/거주 버튼 누르고 액티비티 종료되면 상태갱신 이상해짐. Jun 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant