Commit 831dc1e3 authored by Thomas's avatar Thomas
Browse files

Merge remote-tracking branch 'origin/develop' into develop

parents a42cbf8a c61ea8fd
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1132,6 +1132,19 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
        }
        String software = sharedpreferences.getString(PREF_USER_SOFTWARE, null);

        if (sharedpreferences.getString(getString(R.string.SET_TRANSLATE_BUTTON) + currentUserID + currentInstance, null) == null) {
            boolean oldTranslateButtonPrefValue =
                    sharedpreferences.getBoolean(getString(R.string.SET_DISPLAY_TRANSLATE) + currentUserID + currentInstance, false);
            String[] translateButtonEntryValues = getResources().getStringArray(R.array.set_translate_button_entry_values);
            String newTranslateButtonValue;
            if (oldTranslateButtonPrefValue)
                newTranslateButtonValue = translateButtonEntryValues[1];
            else
                newTranslateButtonValue = translateButtonEntryValues[2];
            sharedpreferences.edit()
                    .putString(getString(R.string.SET_TRANSLATE_BUTTON) + currentUserID + currentInstance, newTranslateButtonValue)
                    .apply();
        }

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
            ActivityResultLauncher<String> permissionLauncher = registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted -> {
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ public class Account implements Serializable {
        if (display_name == null || display_name.isEmpty()) {
            display_name = username;
        }
        return SpannableHelper.convert(context, display_name, null, this, null, viewWeakReference, null, true, false);
        return SpannableHelper.convert(context, display_name, null, this, null, viewWeakReference, null, false, false);
    }

    public synchronized Spannable getSpanDisplayNameEmoji(Activity activity, WeakReference<View> viewWeakReference) {
+2 −5
Original line number Diff line number Diff line
@@ -1011,14 +1011,11 @@ public class SpannableHelper {

    public static Spannable convertEmoji(Activity activity, String text, Account account, WeakReference<View> viewWeakReference) {

        SpannableString initialContent;
        if (text == null) {
            return null;
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
            initialContent = new SpannableString(Html.fromHtml(text, Html.FROM_HTML_MODE_LEGACY));
        else
            initialContent = new SpannableString(Html.fromHtml(text));

        SpannableString initialContent = new SpannableString(text);

        SpannableStringBuilder content = new SpannableStringBuilder(initialContent);
        List<Emoji> emojiList = account.emojis;
+6 −6
Original line number Diff line number Diff line
@@ -1709,15 +1709,15 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder

            switch (statusDraft.quote_approval_policy.toLowerCase()) {
                case "public" -> {
                    holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_compose_visibility_public);
                    holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_quote_policy_public);
                    statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.PUBLIC.name();
                }
                case "followers" -> {
                    holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_people_alt_24);
                    holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_quote_policy_followers);
                    statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.FOLLOWERS.name();
                }
                case "nobody" -> {
                    holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_block_24);
                    holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_quote_policy_nobody);
                    statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.NOBODY.name();
                }
            }
@@ -1770,17 +1770,17 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
            });
            holder.binding.buttonQuoteApprovalPolicyNoOne.setOnClickListener(v -> {
                holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
                holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_block_24);
                holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_quote_policy_nobody);
                statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.NOBODY.name();
            });
            holder.binding.buttonQuoteApprovalPolicyFollowersOnly.setOnClickListener(v -> {
                holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
                holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_people_alt_24);
                holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_quote_policy_followers);
                statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.FOLLOWERS.name();
            });
            holder.binding.buttonQuoteApprovalPolicyAnyone.setOnClickListener(v -> {
                holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
                holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_compose_visibility_public);
                holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_quote_policy_public);
                statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.PUBLIC.name();
            });

+11 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.ViewGroup;

import androidx.core.view.ViewCompat;
import androidx.recyclerview.widget.RecyclerView;

import org.jetbrains.annotations.NotNull;
@@ -126,7 +127,16 @@ public class ReorderBottomMenuAdapter extends RecyclerView.Adapter<RecyclerView.
            }
            return false;
        });

        ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.move_timeline_up), (view, arguments) -> {
            int bindingAdapterPosition = viewHolder.getBindingAdapterPosition();
            if (bindingAdapterPosition > 0) onItemMove(bindingAdapterPosition, bindingAdapterPosition - 1);
            return true;
        });
        ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.move_timeline_down), (view, arguments) -> {
            int bindingAdapterPosition = viewHolder.getBindingAdapterPosition();
            if (bindingAdapterPosition < bottomMenu.bottom_menu.size() - 1) onItemMove(bindingAdapterPosition, bindingAdapterPosition + 1);
            return true;
        });
    }

    @Override
Loading