diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index 6b76bfbad..99a6d67d1 100755 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -194,6 +194,8 @@ public class Settings { private static final String KEY_REQUEST_NEWS = "request_news"; private static final boolean DEFAULT_REQUEST_NEWS = true; private static final String KEY_ARCHIVE_PASSWDS = "archive_passwds"; + private static final String KEY_QS_SAVE_PROGRESS = "qs_save_progress"; + private static final boolean DEFAULT_QS_SAVE_PROGRESS = true; public static boolean LIST_THUMB_SIZE_INITED = false; public static SharedPreferences sSettingsPre; private static int LIST_THUMB_SIZE = 40; @@ -629,6 +631,14 @@ public class Settings { putInt(KEY_DEFAULT_FAV_SLOT, value); } + public static boolean getQSSaveProgress() { + return getBoolean(KEY_QS_SAVE_PROGRESS, DEFAULT_QS_SAVE_PROGRESS); + } + + public static void putQSSaveProgress(boolean value) { + putBoolean(KEY_QS_SAVE_PROGRESS, value); + } + public static boolean getSaveParseErrorBody() { return getBoolean(KEY_SAVE_PARSE_ERROR_BODY, DEFAULT_SAVE_PARSE_ERROR_BODY); } 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 71289c7b1..65db751e1 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 @@ -685,6 +685,10 @@ public final class GalleryListScene extends SearchBarScene getSuitableTitleForUrlBuilder(context.getResources(), urlBuilder, false), getString(R.string.quick_search)); builder.setTitle(R.string.add_quick_search_dialog_title); builder.setPositiveButton(android.R.string.ok, null); + // TODO: It's ugly + final boolean[] checked = {Settings.getQSSaveProgress()}; + final String[] hint = {getString(R.string.save_progress)}; + builder.setMultiChoiceItems(hint, checked, (dialog, which, isChecked) -> checked[which] = isChecked); final AlertDialog dialog = builder.show(); dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(v -> { String text = builder.getText().trim(); @@ -695,8 +699,11 @@ public final class GalleryListScene extends SearchBarScene return; } - if (next != null) { + if (checked[0] && next != null) { text += next; + Settings.putQSSaveProgress(true); + } else { + Settings.putQSSaveProgress(false); } // Check name duplicate diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index a677dc2a2..b85586c22 100755 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -141,6 +141,7 @@ 无法添加图片搜索为快速搜索 已存在相同的快速搜索,名称为“%s”。 已存在相同名称 + 保存进度 第 %1$d 页,共 %2$d 页 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 268716f1a..f57142284 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -185,6 +185,7 @@ Can\'t add image search as quick search A duplicate quick search exists. The name is \"%s\". This name is already in use. + Save progress Page %1$d, total %2$d pages