From 4a923d506d3a7235b99057071e04bdc494a6a830 Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Sat, 19 Apr 2025 11:33:11 -0300 Subject: [PATCH] refactor(EmojiReaction.java): add back the EmojiReaction model No emoji reactions support just yet --- .../android/model/EmojiReaction.java | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 mastodon/src/main/java/org/joinmastodon/android/model/EmojiReaction.java diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/EmojiReaction.java b/mastodon/src/main/java/org/joinmastodon/android/model/EmojiReaction.java new file mode 100644 index 000000000..6007dfdb3 --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/model/EmojiReaction.java @@ -0,0 +1,63 @@ +package org.joinmastodon.android.model; + +import org.joinmastodon.android.GlobalUserPreferences; +import org.parceler.Parcel; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import me.grishka.appkit.imageloader.requests.ImageLoaderRequest; +import me.grishka.appkit.imageloader.requests.UrlImageLoaderRequest; +import me.grishka.appkit.utils.V; + +@Parcel +public class EmojiReaction { + public List accounts; + public List accountIds; + public int count; + public boolean me; + public String name; + public String url; + public String staticUrl; + + public transient ImageLoaderRequest request; + + public String getUrl(boolean playGifs){ + String idealUrl=playGifs ? url : staticUrl; + if(idealUrl==null) return url==null ? staticUrl : url; + return idealUrl; + } + + public static EmojiReaction of(Emoji info, Account me){ + EmojiReaction reaction=new EmojiReaction(); + reaction.me=true; + reaction.count=1; + reaction.name=info.shortcode; + reaction.url=info.url; + reaction.staticUrl=info.staticUrl; + reaction.accounts=new ArrayList<>(Collections.singleton(me)); + reaction.accountIds=new ArrayList<>(Collections.singleton(me.id)); + reaction.request=new UrlImageLoaderRequest(info.url, V.sp(24), V.sp(24)); + return reaction; + } + + public static EmojiReaction of(String emoji, Account me){ + EmojiReaction reaction=new EmojiReaction(); + reaction.me=true; + reaction.count=1; + reaction.name=emoji; + reaction.accounts=new ArrayList<>(Collections.singleton(me)); + reaction.accountIds=new ArrayList<>(Collections.singleton(me.id)); + return reaction; + } + + public void add(Account self){ + if(accounts==null) accounts=new ArrayList<>(); + if(accountIds==null) accountIds=new ArrayList<>(); + count++; + me=true; + accounts.add(self); + accountIds.add(self.id); + } +}