From b433da7bb9a72a10d5476499175e91a2142118f6 Mon Sep 17 00:00:00 2001 From: NekoInverter Date: Fri, 17 Dec 2021 18:39:42 +0800 Subject: [PATCH] Allow reset to default download location --- .../ui/fragment/DownloadFragment.java | 23 ++++++++++++++++++- app/src/main/res/values-zh-rCN/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java index a27e2ffe7..8ada95ac1 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java @@ -23,8 +23,10 @@ import android.os.Bundle; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; import androidx.preference.Preference; +import com.hippo.ehviewer.AppConfig; import com.hippo.ehviewer.R; import com.hippo.ehviewer.Settings; import com.hippo.ehviewer.ui.CommonOperations; @@ -95,7 +97,26 @@ public class DownloadFragment extends BasePreferenceFragment { public boolean onPreferenceClick(Preference preference) { String key = preference.getKey(); if (KEY_DOWNLOAD_LOCATION.equals(key)) { - openDirPickerL(); + UniFile file = Settings.getDownloadLocation(); + if (file != null && !UniFile.isFileUri(Settings.getDownloadLocation().getUri())) { + new AlertDialog.Builder(requireContext()) + .setTitle(R.string.settings_download_download_location) + .setMessage(file.getUri().toString()) + .setPositiveButton(R.string.pick_new_download_location, (dialogInterface, i) -> openDirPickerL()) + .setNeutralButton(R.string.reset_download_location, (dialogInterface, i) -> { + UniFile uniFile = UniFile.fromFile(AppConfig.getDefaultDownloadDir()); + if (uniFile != null) { + Settings.putDownloadLocation(uniFile); + onUpdateDownloadLocation(); + } else { + showTip(R.string.settings_download_cant_get_download_location, + BaseScene.LENGTH_SHORT); + } + }) + .show(); + } else { + openDirPickerL(); + } return true; } return false; diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index aa119c359..cfecf5682 100755 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -752,6 +752,8 @@ 从第 %d 页阅读 启动时请求新闻页面 复制翻译 + 恢复默认路径 + 选择新路径 您所使用的 EhViewer 版本遭到了恶意篡改。 下载原版 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d882956c3..719d9c78d 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -816,6 +816,8 @@ Read page %d Request news page on start Copy translation + Reset to default + Pick a new location The version of EhViewer you are using has been maliciously tampered with. Get original version