Loading app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ReorderBottomMenuAdapter.java +24 −18 Original line number Diff line number Diff line Loading @@ -100,24 +100,7 @@ public class ReorderBottomMenuAdapter extends RecyclerView.Adapter<RecyclerView. holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } holder.binding.hide.setOnClickListener(v -> { bottomMenu.bottom_menu.get(position).visible = !bottomMenu.bottom_menu.get(position).visible; bottomMenu.user_id = MainActivity.currentUserID; bottomMenu.instance = MainActivity.currentInstance; if (bottomMenu.bottom_menu.get(position).visible) { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_24); } else { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } new Thread(() -> { try { new BottomMenu(context).insertOrUpdate(bottomMenu); ((ReorderTimelinesActivity) context).setBottomChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); }); holder.binding.hide.setOnClickListener(v -> onHidePressed(holder, position)); // Start a drag whenever the handle view it touched holder.binding.handle.setOnTouchListener((v, event) -> { Loading @@ -137,6 +120,29 @@ public class ReorderBottomMenuAdapter extends RecyclerView.Adapter<RecyclerView. if (bindingAdapterPosition < bottomMenu.bottom_menu.size() - 1) onItemMove(bindingAdapterPosition, bindingAdapterPosition + 1); return true; }); ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.hide_timeline), (view, arguments) -> { onHidePressed(holder, position); return true; }); } private void onHidePressed(ReorderViewHolder holder, int position) { bottomMenu.bottom_menu.get(position).visible = !bottomMenu.bottom_menu.get(position).visible; bottomMenu.user_id = MainActivity.currentUserID; bottomMenu.instance = MainActivity.currentInstance; if (bottomMenu.bottom_menu.get(position).visible) { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_24); } else { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } new Thread(() -> { try { new BottomMenu(context).insertOrUpdate(bottomMenu); ((ReorderTimelinesActivity) context).setBottomChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); } @Override Loading app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ReorderTabAdapter.java +72 −59 Original line number Diff line number Diff line Loading @@ -171,18 +171,7 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } holder.binding.hide.setOnClickListener(v -> { pinned.pinnedTimelines.get(position).displayed = !pinned.pinnedTimelines.get(position).displayed; notifyItemChanged(position); new Thread(() -> { try { new Pinned(context).updatePinned(pinned); ((ReorderTimelinesActivity) context).setChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); }); holder.binding.hide.setOnClickListener(v -> onHidePressed(position)); // Start a drag whenever the handle view it touched holder.binding.handle.setOnTouchListener((v, event) -> { Loading @@ -202,13 +191,37 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol if (bindingAdapterPosition < pinned.pinnedTimelines.size() - 1) onItemMove(bindingAdapterPosition, bindingAdapterPosition + 1); return true; }); ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.hide_timeline), (view, arguments) -> { onHidePressed(position); 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); holder.binding.delete.setOnClickListener(v -> onDeletePressed(item, position)); ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.delete_timeline), (view, arguments) -> { onDeletePressed(item, position); return true; }); } else { holder.binding.delete.setVisibility(View.GONE); } holder.binding.delete.setOnClickListener(v -> { } private void onHidePressed(int position) { pinned.pinnedTimelines.get(position).displayed = !pinned.pinnedTimelines.get(position).displayed; notifyItemChanged(position); new Thread(() -> { try { new Pinned(context).updatePinned(pinned); ((ReorderTimelinesActivity) context).setChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); } private void onDeletePressed(PinnedTimeline item, int position) { if (item.type == Timeline.TimeLineEnum.TAG || item.type == Timeline.TimeLineEnum.REMOTE || item.type == Timeline.TimeLineEnum.LIST) { AlertDialog.Builder alt_bld = new MaterialAlertDialogBuilder(context); String title = ""; Loading Loading @@ -260,7 +273,7 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol alert.show(); } }); } @Override Loading app/src/main/res/layouts/mastodon/layout/drawer_reorder.xml +4 −2 Original line number Diff line number Diff line Loading @@ -30,13 +30,13 @@ android:layout_gravity="center_vertical" android:layout_weight="1" /> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/hide" android:layout_width="40dp" android:layout_height="40dp" android:layout_gravity="center" android:contentDescription="@string/hide_timeline" android:importantForAccessibility="no" android:scaleType="center" android:src="@drawable/ic_baseline_visibility_off_24" tools:ignore="RtlHardcoded" /> Loading @@ -47,10 +47,12 @@ android:layout_height="40dp" android:layout_gravity="center" android:contentDescription="@string/delete_timeline" android:importantForAccessibility="no" android:scaleType="center" android:src="@drawable/ic_baseline_delete_24" android:visibility="gone" tools:ignore="RtlHardcoded" /> tools:ignore="RtlHardcoded" tools:visibility="visible" /> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/handle" Loading Loading
app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ReorderBottomMenuAdapter.java +24 −18 Original line number Diff line number Diff line Loading @@ -100,24 +100,7 @@ public class ReorderBottomMenuAdapter extends RecyclerView.Adapter<RecyclerView. holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } holder.binding.hide.setOnClickListener(v -> { bottomMenu.bottom_menu.get(position).visible = !bottomMenu.bottom_menu.get(position).visible; bottomMenu.user_id = MainActivity.currentUserID; bottomMenu.instance = MainActivity.currentInstance; if (bottomMenu.bottom_menu.get(position).visible) { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_24); } else { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } new Thread(() -> { try { new BottomMenu(context).insertOrUpdate(bottomMenu); ((ReorderTimelinesActivity) context).setBottomChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); }); holder.binding.hide.setOnClickListener(v -> onHidePressed(holder, position)); // Start a drag whenever the handle view it touched holder.binding.handle.setOnTouchListener((v, event) -> { Loading @@ -137,6 +120,29 @@ public class ReorderBottomMenuAdapter extends RecyclerView.Adapter<RecyclerView. if (bindingAdapterPosition < bottomMenu.bottom_menu.size() - 1) onItemMove(bindingAdapterPosition, bindingAdapterPosition + 1); return true; }); ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.hide_timeline), (view, arguments) -> { onHidePressed(holder, position); return true; }); } private void onHidePressed(ReorderViewHolder holder, int position) { bottomMenu.bottom_menu.get(position).visible = !bottomMenu.bottom_menu.get(position).visible; bottomMenu.user_id = MainActivity.currentUserID; bottomMenu.instance = MainActivity.currentInstance; if (bottomMenu.bottom_menu.get(position).visible) { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_24); } else { holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } new Thread(() -> { try { new BottomMenu(context).insertOrUpdate(bottomMenu); ((ReorderTimelinesActivity) context).setBottomChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); } @Override Loading
app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ReorderTabAdapter.java +72 −59 Original line number Diff line number Diff line Loading @@ -171,18 +171,7 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol holder.binding.hide.setImageResource(R.drawable.ic_baseline_visibility_off_24); } holder.binding.hide.setOnClickListener(v -> { pinned.pinnedTimelines.get(position).displayed = !pinned.pinnedTimelines.get(position).displayed; notifyItemChanged(position); new Thread(() -> { try { new Pinned(context).updatePinned(pinned); ((ReorderTimelinesActivity) context).setChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); }); holder.binding.hide.setOnClickListener(v -> onHidePressed(position)); // Start a drag whenever the handle view it touched holder.binding.handle.setOnTouchListener((v, event) -> { Loading @@ -202,13 +191,37 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol if (bindingAdapterPosition < pinned.pinnedTimelines.size() - 1) onItemMove(bindingAdapterPosition, bindingAdapterPosition + 1); return true; }); ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.hide_timeline), (view, arguments) -> { onHidePressed(position); 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); holder.binding.delete.setOnClickListener(v -> onDeletePressed(item, position)); ViewCompat.addAccessibilityAction(holder.binding.getRoot(), context.getString(R.string.delete_timeline), (view, arguments) -> { onDeletePressed(item, position); return true; }); } else { holder.binding.delete.setVisibility(View.GONE); } holder.binding.delete.setOnClickListener(v -> { } private void onHidePressed(int position) { pinned.pinnedTimelines.get(position).displayed = !pinned.pinnedTimelines.get(position).displayed; notifyItemChanged(position); new Thread(() -> { try { new Pinned(context).updatePinned(pinned); ((ReorderTimelinesActivity) context).setChanges(true); } catch (DBException e) { e.printStackTrace(); } }).start(); } private void onDeletePressed(PinnedTimeline item, int position) { if (item.type == Timeline.TimeLineEnum.TAG || item.type == Timeline.TimeLineEnum.REMOTE || item.type == Timeline.TimeLineEnum.LIST) { AlertDialog.Builder alt_bld = new MaterialAlertDialogBuilder(context); String title = ""; Loading Loading @@ -260,7 +273,7 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol alert.show(); } }); } @Override Loading
app/src/main/res/layouts/mastodon/layout/drawer_reorder.xml +4 −2 Original line number Diff line number Diff line Loading @@ -30,13 +30,13 @@ android:layout_gravity="center_vertical" android:layout_weight="1" /> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/hide" android:layout_width="40dp" android:layout_height="40dp" android:layout_gravity="center" android:contentDescription="@string/hide_timeline" android:importantForAccessibility="no" android:scaleType="center" android:src="@drawable/ic_baseline_visibility_off_24" tools:ignore="RtlHardcoded" /> Loading @@ -47,10 +47,12 @@ android:layout_height="40dp" android:layout_gravity="center" android:contentDescription="@string/delete_timeline" android:importantForAccessibility="no" android:scaleType="center" android:src="@drawable/ic_baseline_delete_24" android:visibility="gone" tools:ignore="RtlHardcoded" /> tools:ignore="RtlHardcoded" tools:visibility="visible" /> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/handle" Loading