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