diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ArticleDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ArticleDetailFragment.kt index d052e0f1..bf0e40cd 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ArticleDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ArticleDetailFragment.kt @@ -367,7 +367,7 @@ class ArticleDetailFragment : MainFragment { _rating.visibility = VISIBLE; _rating.setRating(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked); - _rating.onLikeDislikeUpdated.subscribe(this) { args -> + _rating.onLikeDislikeUpdated.subscribe(this@ArticleDetailView) { args -> if (args.hasLiked) { args.processHandle.opinion(ref, Opinion.like); } else if (args.hasDisliked) { diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt index 896e975e..f2b023ff 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt @@ -370,7 +370,7 @@ class PostDetailFragment : MainFragment { _rating.visibility = VISIBLE; _rating.setRating(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked); - _rating.onLikeDislikeUpdated.subscribe(this) { args -> + _rating.onLikeDislikeUpdated.subscribe(this@PostDetailView) { args -> if (args.hasLiked) { args.processHandle.opinion(ref, Opinion.like); } else if (args.hasDisliked) { diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortView.kt index 753fcb81..d7b8c0b8 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortView.kt @@ -688,6 +688,7 @@ class ShortView : FrameLayout { dislikeButton.visibility = GONE loadLikesTask?.cancel() + onLikeDislikeUpdated.remove(this@ShortView) loadLikesTask = TaskHandler>( StateApp.instance.scopeGetter, { @@ -715,7 +716,7 @@ class ShortView : FrameLayout { val hasLiked = StatePolycentric.instance.hasLiked(ref.toByteArray()) val hasDisliked = StatePolycentric.instance.hasDisliked(ref.toByteArray()) onLikesLoaded.emit(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked) - onLikeDislikeUpdated.subscribe(this) { args -> + onLikeDislikeUpdated.subscribe(this@ShortView) { args -> if (args.hasLiked) { args.processHandle.opinion(ref, Opinion.like) } else if (args.hasDisliked) { diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index 5bfd0a55..76435cf0 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -1746,7 +1746,7 @@ class VideoDetailView : ConstraintLayout { hasLiked, hasDisliked ); - _rating.onLikeDislikeUpdated.subscribe(this) { args -> + _rating.onLikeDislikeUpdated.subscribe(this@VideoDetailView) { args -> if (args.hasLiked) { args.processHandle.opinion(ref, Opinion.like); } else if (args.hasDisliked) {