Commit Diff


commit - a63eba0e5ddeb66c0cfc1be759fd22423b7a56f6
commit + a1a12dddfe17f2141ce31b7835a3b2fc5834554f
blob - d8f84e5650ae7461c2a67a5f0614cebef75b2cbd
blob + 44615d871f04f6be2fae17ec8532976b36bd341c
--- mastodon/src/main/java/org/joinmastodon/android/fragments/HasAccountID.java
+++ mastodon/src/main/java/org/joinmastodon/android/fragments/HasAccountID.java
@@ -30,6 +30,10 @@ public interface HasAccountID {
 		return getInstance().map(Instance::isIceshrimpJs).orElse(false);
 	}
 
+	default boolean isInstanceMitra() {
+		return getInstance().map(Instance::isMitra).orElse(false);
+	}
+
     default Optional<Instance> getInstance() {
         return getSession().getInstance();
     }
blob - 6c408418c013ee589a3adb77e013244b8f8e192f
blob + cca1c4cb6c4116fcd7eb452ca87c1d30556faa96
--- mastodon/src/main/java/org/joinmastodon/android/model/Instance.java
+++ mastodon/src/main/java/org/joinmastodon/android/model/Instance.java
@@ -168,6 +168,10 @@ public class Instance extends BaseModel{
 		return version.contains("compatible; Iceshrimp "); // Iceshrimp.NET will not have a space immediately after
 	}
 
+	public boolean isMitra() {
+		return version.contains("compatible; Mitra");
+	}
+
 	public boolean hasFeature(Feature feature) {
 		Optional<List<String>> pleromaFeatures = Optional.ofNullable(pleroma)
 				.map(p -> p.metadata)
blob - f0555f6f0f884c0be9a560c89c0f279a15117815
blob + 0c0c1b99145f2405e985b49d5056debfe87ee733
--- mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/EmojiReactionsStatusDisplayItem.java
+++ mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/EmojiReactionsStatusDisplayItem.java
@@ -117,7 +117,7 @@ public class EmojiReactionsStatusDisplayItem extends S
 
 	private MastodonAPIRequest<?> createRequest(String name, int count, boolean delete, Holder.EmojiReactionViewHolder vh, Consumer<Status> cb, Runnable err){
 		setActionProgressVisible(vh, true);
-		boolean ak=parentFragment.isInstanceAkkoma();
+		boolean akOrMitra=parentFragment.isInstanceAkkoma() || parentFragment.isInstanceMitra();
 		boolean keepSpinning=delete && count == 1;
 		if(forAnnouncement){
 			MastodonAPIRequest<Object> req=delete
@@ -138,8 +138,8 @@ public class EmojiReactionsStatusDisplayItem extends S
 			});
 		}else{
 			MastodonAPIRequest<Status> req=delete
-					? (ak ? new PleromaDeleteStatusReaction(status.id, name) : new DeleteStatusReaction(status.id, name))
-					: (ak ? new PleromaAddStatusReaction(status.id, name) : new AddStatusReaction(status.id, name));
+					? (akOrMitra ? new PleromaDeleteStatusReaction(status.id, name) : new DeleteStatusReaction(status.id, name))
+					: (akOrMitra ? new PleromaAddStatusReaction(status.id, name) : new AddStatusReaction(status.id, name));
 			return req.setCallback(new Callback<>(){
 				@Override
 				public void onSuccess(Status result){