From 2e6155605f61614d46db200503f832bb23fc4415 Mon Sep 17 00:00:00 2001
From: NekoInverter <42698724+NekoInverter@users.noreply.github.com>
Date: Fri, 16 Oct 2020 19:47:18 +0800
Subject: [PATCH] Fix quick search
---
.../ehviewer/ui/scene/DownloadsScene.java | 5 +++--
.../ehviewer/ui/scene/GalleryListScene.java | 18 +++++++++---------
.../res/drawable/ic_baseline_reorder_24.xml | 10 ++++++++++
app/src/main/res/layout/item_drawer_list.xml | 5 ++---
4 files changed, 24 insertions(+), 14 deletions(-)
create mode 100644 app/src/main/res/drawable/ic_baseline_reorder_24.xml
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java
index 2f8dfcbd9..17bd2385f 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java
@@ -1059,7 +1059,7 @@ public class DownloadsScene extends ToolbarScene
});
if (position > 0) {
holder.option.setVisibility(View.VISIBLE);
- holder.option.setOnClickListener(v -> {
+ holder.itemView.setOnLongClickListener(v -> {
if (context != null) {
PopupMenu popupMenu = new PopupMenu(context, holder.option);
popupMenu.inflate(R.menu.download_label_option);
@@ -1086,6 +1086,7 @@ public class DownloadsScene extends ToolbarScene
return false;
});
}
+ return true;
});
} else {
holder.option.setVisibility(View.GONE);
@@ -1105,7 +1106,7 @@ public class DownloadsScene extends ToolbarScene
@Override
public boolean onCheckCanStartDrag(@NonNull DownloadLabelHolder holder, int position, int x, int y) {
- return position != 0;
+ return position != 0 && x > holder.option.getX() && y > holder.option.getY();
}
@Override
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
index b59fb3778..b6752535a 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
@@ -1533,8 +1533,8 @@ public final class GalleryListScene extends BaseScene
setState(STATE_NORMAL);
closeDrawer(Gravity.RIGHT);
});
- holder.option.setOnClickListener(v -> {
- PopupMenu popupMenu = new PopupMenu(getContext2(), holder.option);
+ holder.itemView.setOnLongClickListener(v -> {
+ PopupMenu popupMenu = new PopupMenu(requireContext(), holder.option);
popupMenu.inflate(R.menu.quicksearch_option);
popupMenu.show();
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@@ -1543,16 +1543,16 @@ public final class GalleryListScene extends BaseScene
@Override
public boolean onMenuItemClick(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.menu_qs_remove:
- EhDB.deleteQuickSearch(quickSearch);
- mQuickSearchList.remove(position);
- notifyDataSetChanged();
- break;
+ if (item.getItemId() == R.id.menu_qs_remove) {
+ EhDB.deleteQuickSearch(quickSearch);
+ mQuickSearchList.remove(position);
+ notifyDataSetChanged();
+ return true;
}
return false;
}
});
+ return true;
});
}
}
@@ -1569,7 +1569,7 @@ public final class GalleryListScene extends BaseScene
@Override
public boolean onCheckCanStartDrag(@NonNull QsDrawerHolder holder, int position, int x, int y) {
- return true;
+ return x > holder.option.getX() && y > holder.option.getY();
}
@Override
diff --git a/app/src/main/res/drawable/ic_baseline_reorder_24.xml b/app/src/main/res/drawable/ic_baseline_reorder_24.xml
new file mode 100644
index 000000000..57af84b58
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_reorder_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout/item_drawer_list.xml b/app/src/main/res/layout/item_drawer_list.xml
index e7fe445ef..670b38aa4 100644
--- a/app/src/main/res/layout/item_drawer_list.xml
+++ b/app/src/main/res/layout/item_drawer_list.xml
@@ -20,12 +20,11 @@
+ android:paddingRight="?attr/listPreferredItemPaddingRight" />
\ No newline at end of file