Commit e8e5af7a authored by Thomas's avatar Thomas
Browse files

Release 3.4.3

parent 50fca052
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -13,8 +13,8 @@ android {
    defaultConfig {
        minSdk 21
        targetSdk 31
        versionCode 415
        versionName "3.4.2"
        versionCode 416
        versionName "3.4.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    flavorDimensions "default"
+6 −1
Original line number Diff line number Diff line
[
  {
    "version": "3.4.3",
    "code": "416",
    "note": "Changed:\n- Swipe between timelines\n- Improve cache\n- Button sizes in messages follow defined scale\n\nFixed:\n- Pleroma: Emoji reactions\n- Sharing (several fixes)\n- Theme issues\n- Rendering issue for links\n- Notifications not removed from cache\n- Some crashes"
  },
  {
    "version": "3.4.2",
    "code": "412",
    "code": "415",
    "note": "Fixed:\n- Attach media to a reply"
  },
  {
+3 −3
Original line number Diff line number Diff line
@@ -388,12 +388,12 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface {
                            }
                        } else {
                            binding.translate.setVisibility(View.GONE);
                            binding.originalMessage.setVisibility(View.GONE);
                            binding.originalMessage.setVisibility(View.INVISIBLE);
                            binding.mediaDescriptionTranslated.setVisibility(View.GONE);
                            binding.mediaDescription.setVisibility(View.GONE);
                        }
                    } else {
                        binding.originalMessage.setVisibility(View.GONE);
                        binding.originalMessage.setVisibility(View.INVISIBLE);
                        binding.translate.setVisibility(View.GONE);
                        binding.mediaDescriptionTranslated.setVisibility(View.GONE);
                        binding.mediaDescription.setVisibility(View.GONE);
@@ -456,7 +456,7 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface {
        } else {
            binding.mediaDescription.setVisibility(View.GONE);
            binding.translate.setVisibility(View.GONE);
            binding.originalMessage.setVisibility(View.GONE);
            binding.originalMessage.setVisibility(View.INVISIBLE);
            hideSystemUI();
        }
    }
+36 −11
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import app.fedilab.android.client.entities.api.Reaction;
import app.fedilab.android.databinding.DrawerReactionBinding;
import app.fedilab.android.helper.Helper;
import app.fedilab.android.viewmodel.mastodon.AnnouncementsVM;
import app.fedilab.android.viewmodel.pleroma.ActionsVM;


/**
@@ -44,10 +45,18 @@ public class ReactionAdapter extends RecyclerView.Adapter<ReactionAdapter.Reacti
    private final List<Reaction> reactions;
    private final String announcementId;
    private Context context;
    private final boolean statusReaction;

    ReactionAdapter(String announcementId, List<Reaction> reactions, boolean statusReaction) {
        this.reactions = reactions;
        this.announcementId = announcementId;
        this.statusReaction = statusReaction;
    }

    ReactionAdapter(String announcementId, List<Reaction> reactions) {
        this.reactions = reactions;
        this.announcementId = announcementId;
        this.statusReaction = false;
    }

    @NonNull
@@ -78,6 +87,7 @@ public class ReactionAdapter extends RecyclerView.Adapter<ReactionAdapter.Reacti
            holder.binding.reactionName.setVisibility(View.VISIBLE);
            holder.binding.reactionEmoji.setVisibility(View.GONE);
        }
        if (!statusReaction) {
            AnnouncementsVM announcementsVM = new ViewModelProvider((ViewModelStoreOwner) context).get(AnnouncementsVM.class);
            holder.binding.reactionContainer.setOnClickListener(v -> {
                if (reaction.me) {
@@ -89,6 +99,21 @@ public class ReactionAdapter extends RecyclerView.Adapter<ReactionAdapter.Reacti
                }
                notifyItemChanged(position);
            });
        } else {
            ActionsVM actionVM = new ViewModelProvider((ViewModelStoreOwner) context).get(ActionsVM.class);
            holder.binding.reactionContainer.setOnClickListener(v -> {
                if (reaction.me) {
                    actionVM.removeReaction(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, announcementId, reaction.name);
                    reaction.me = false;
                    reaction.count -= 1;
                } else {
                    actionVM.addReaction(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, announcementId, reaction.name);
                    reaction.me = true;
                    reaction.count += 1;
                }
                notifyItemChanged(position);
            });
        }
    }

    @Override
+4 −3
Original line number Diff line number Diff line
@@ -348,7 +348,7 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
        if (MainActivity.currentAccount != null && MainActivity.currentAccount.api == Account.API.PLEROMA) {
            if (status.pleroma != null && status.pleroma.emoji_reactions != null && status.pleroma.emoji_reactions.size() > 0) {
                holder.binding.layoutReactions.getRoot().setVisibility(View.VISIBLE);
                ReactionAdapter reactionAdapter = new ReactionAdapter(status.id, status.pleroma.emoji_reactions);
                ReactionAdapter reactionAdapter = new ReactionAdapter(status.id, status.pleroma.emoji_reactions, true);
                holder.binding.layoutReactions.reactionsView.setAdapter(reactionAdapter);
                LinearLayoutManager layoutManager
                        = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
@@ -369,7 +369,7 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
                                return;
                            }
                            for (Reaction reaction : status.pleroma.emoji_reactions) {
                                if (reaction.name.compareTo(emojiStr) == 0) {
                                if (reaction.name.compareTo(emojiStr) == 0 && reaction.me) {
                                    alreadyAdded = true;
                                    reaction.count = (reaction.count - 1);
                                    if (reaction.count == 0) {
@@ -405,6 +405,7 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
                int paddingDp = (int) (paddingPixel * density);
                builder.setNegativeButton(R.string.cancel, (dialog, which) -> dialog.dismiss());
                builder.setTitle(R.string.insert_emoji);

                if (emojis != null && emojis.size() > 0 && emojis.get(BaseMainActivity.currentInstance) != null) {
                    GridView gridView = new GridView(context);
                    gridView.setAdapter(new EmojiAdapter(emojis.get(BaseMainActivity.currentInstance)));
@@ -418,7 +419,7 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
                            return;
                        }
                        for (Reaction reaction : status.pleroma.emoji_reactions) {
                            if (reaction.name.compareTo(emojiStr) == 0) {
                            if (reaction.name.compareTo(emojiStr) == 0 && reaction.me) {
                                alreadyAdded = true;
                                reaction.count = (reaction.count - 1);
                                if (reaction.count == 0) {
Loading