Merge branch 'tlg/opinion-dupe-bug' into 'master'

Opinion Dupe Bug

See merge request videostreaming/grayjay!169
This commit is contained in:
Kelvin
2026-03-26 21:42:44 +00:00
4 changed files with 5 additions and 4 deletions
@@ -367,7 +367,7 @@ class ArticleDetailFragment : MainFragment {
_rating.visibility = VISIBLE; _rating.visibility = VISIBLE;
_rating.setRating(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked); _rating.setRating(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked);
_rating.onLikeDislikeUpdated.subscribe(this) { args -> _rating.onLikeDislikeUpdated.subscribe(this@ArticleDetailView) { args ->
if (args.hasLiked) { if (args.hasLiked) {
args.processHandle.opinion(ref, Opinion.like); args.processHandle.opinion(ref, Opinion.like);
} else if (args.hasDisliked) { } else if (args.hasDisliked) {
@@ -370,7 +370,7 @@ class PostDetailFragment : MainFragment {
_rating.visibility = VISIBLE; _rating.visibility = VISIBLE;
_rating.setRating(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked); _rating.setRating(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked);
_rating.onLikeDislikeUpdated.subscribe(this) { args -> _rating.onLikeDislikeUpdated.subscribe(this@PostDetailView) { args ->
if (args.hasLiked) { if (args.hasLiked) {
args.processHandle.opinion(ref, Opinion.like); args.processHandle.opinion(ref, Opinion.like);
} else if (args.hasDisliked) { } else if (args.hasDisliked) {
@@ -688,6 +688,7 @@ class ShortView : FrameLayout {
dislikeButton.visibility = GONE dislikeButton.visibility = GONE
loadLikesTask?.cancel() loadLikesTask?.cancel()
onLikeDislikeUpdated.remove(this@ShortView)
loadLikesTask = loadLikesTask =
TaskHandler<IPlatformVideo, Pair<Protocol.Reference, Protocol.QueryReferencesResponse>>( TaskHandler<IPlatformVideo, Pair<Protocol.Reference, Protocol.QueryReferencesResponse>>(
StateApp.instance.scopeGetter, { StateApp.instance.scopeGetter, {
@@ -715,7 +716,7 @@ class ShortView : FrameLayout {
val hasLiked = StatePolycentric.instance.hasLiked(ref.toByteArray()) val hasLiked = StatePolycentric.instance.hasLiked(ref.toByteArray())
val hasDisliked = StatePolycentric.instance.hasDisliked(ref.toByteArray()) val hasDisliked = StatePolycentric.instance.hasDisliked(ref.toByteArray())
onLikesLoaded.emit(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked) onLikesLoaded.emit(RatingLikeDislikes(likes, dislikes), hasLiked, hasDisliked)
onLikeDislikeUpdated.subscribe(this) { args -> onLikeDislikeUpdated.subscribe(this@ShortView) { args ->
if (args.hasLiked) { if (args.hasLiked) {
args.processHandle.opinion(ref, Opinion.like) args.processHandle.opinion(ref, Opinion.like)
} else if (args.hasDisliked) { } else if (args.hasDisliked) {
@@ -1746,7 +1746,7 @@ class VideoDetailView : ConstraintLayout {
hasLiked, hasLiked,
hasDisliked hasDisliked
); );
_rating.onLikeDislikeUpdated.subscribe(this) { args -> _rating.onLikeDislikeUpdated.subscribe(this@VideoDetailView) { args ->
if (args.hasLiked) { if (args.hasLiked) {
args.processHandle.opinion(ref, Opinion.like); args.processHandle.opinion(ref, Opinion.like);
} else if (args.hasDisliked) { } else if (args.hasDisliked) {