Commit f270ff80 authored by 0xd9a's avatar 0xd9a
Browse files

Add accessibility actions to move timelines up/down in Manage timelines page

parent 7f57b0ad
Loading
Loading
Loading
Loading
+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
+11 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.view.View;
import android.view.ViewGroup;

import androidx.appcompat.app.AlertDialog;
import androidx.core.view.ViewCompat;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.recyclerview.widget.RecyclerView;
@@ -191,6 +192,16 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
            }
            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 < pinned.pinnedTimelines.size() - 1) onItemMove(bindingAdapterPosition, bindingAdapterPosition + 1);
            return true;
        });
        PinnedTimeline item = pinned.pinnedTimelines.get(position);
        if (item.type == Timeline.TimeLineEnum.TAG || item.type == Timeline.TimeLineEnum.REMOTE || item.type == Timeline.TimeLineEnum.LIST) {
            holder.binding.delete.setVisibility(View.VISIBLE);
+2 −0
Original line number Diff line number Diff line
@@ -483,6 +483,8 @@
    <string name="reorder_list_deleted">List permanently deleted</string>
    <string name="reorder_instance_removed">Followed instance removed</string>
    <string name="reorder_tag_removed">Pinned tag removed</string>
    <string name="move_timeline_up">Move timeline up</string>
    <string name="move_timeline_down">Move timeline down</string>
    <string name="undo">Undo</string>
    <string name="warning_main_timeline">Main timelines can only be hidden!</string>
    <string name="set_sensitive_content">Always mark media as sensitive</string>