diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java
index 311ac4aeb..81d3f761d 100644
--- a/app/src/main/java/com/hippo/ehviewer/Settings.java
+++ b/app/src/main/java/com/hippo/ehviewer/Settings.java
@@ -55,6 +55,7 @@ public class Settings {
private static EhConfig loadEhConfig() {
EhConfig ehConfig= new EhConfig();
+ ehConfig.imageSize = getImageSize();
ehConfig.excludedLanguages = getExcludedLanguages();
ehConfig.defaultCategories = getDefaultCategories();
ehConfig.excludedNamespaces = getExcludedTagNamespaces();
@@ -591,6 +592,19 @@ public class Settings {
putIntToStr(KEY_PRELOAD_IMAGE, value);
}
+ public static final String KEY_IMAGE_SIZE = "image_size";
+ public static final String DEFAULT_IMAGE_SIZE = EhConfig.IMAGE_SIZE_AUTO;
+
+ public static String getImageSize() {
+ return getString(KEY_IMAGE_SIZE, DEFAULT_IMAGE_SIZE);
+ }
+
+ public static void putImageSize(String value) {
+ sEhConfig.imageSize = value;
+ sEhConfig.setDirty();
+ putString(KEY_IMAGE_SIZE, value);
+ }
+
private static final String KEY_DOWNLOAD_ORIGIN_IMAGE = "download_origin_image";
private static final boolean DEFAULT_DOWNLOAD_ORIGIN_IMAGE = false;
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java b/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java
index aba018506..d1650d714 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java
@@ -213,27 +213,27 @@ public class EhConfig implements Cloneable {
/**
* Image Size Auto
*/
- private static final String IMAGE_SIZE_AUTO = "0";
+ public static final String IMAGE_SIZE_AUTO = "a";
/**
* Image Size 780x
*/
- private static final String IMAGE_SIZE_780X = "1";
+ public static final String IMAGE_SIZE_780X = "780";
/**
* Image Size 980x
*/
- private static final String IMAGE_SIZE_980X = "2";
+ public static final String IMAGE_SIZE_980X = "980";
/**
* Image Size 1280x
*/
- private static final String IMAGE_SIZE_1280X = "3";
+ public static final String IMAGE_SIZE_1280X = "1280";
/**
* Image Size 1600x
*/
- private static final String IMAGE_SIZE_1600X = "4";
+ public static final String IMAGE_SIZE_1600X = "1600";
/**
* Image Size 2400x
*/
- private static final String IMAGE_SIZE_2400X = "5";
+ public static final String IMAGE_SIZE_2400X = "2400";
/**
* Default gallery title
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 abc5cc38a..306471921 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
@@ -35,7 +35,9 @@ import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.ui.DirPickerActivity;
import com.hippo.unifile.UniFile;
-public class DownloadFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener {
+public class DownloadFragment extends PreferenceFragment implements
+ Preference.OnPreferenceChangeListener,
+ Preference.OnPreferenceClickListener {
public static final int REQUEST_CODE_PICK_IMAGE_DIR = 0;
public static final int REQUEST_CODE_PICK_IMAGE_DIR_L = 1;
@@ -50,10 +52,13 @@ public class DownloadFragment extends PreferenceFragment implements Preference.O
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.download_settings);
+ Preference imageSize = findPreference(Settings.KEY_IMAGE_SIZE);
mDownloadLocation = findPreference(KEY_DOWNLOAD_LOCATION);
onUpdateDownloadLocation();
+ imageSize.setOnPreferenceChangeListener(this);
+
if (mDownloadLocation != null) {
mDownloadLocation.setOnPreferenceClickListener(this);
}
@@ -181,4 +186,16 @@ public class DownloadFragment extends PreferenceFragment implements Preference.O
}
}
}
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ String key = preference.getKey();
+ if (Settings.KEY_IMAGE_SIZE.equals(key)) {
+ if (newValue instanceof String) {
+ Settings.putImageSize((String) newValue);
+ }
+ return true;
+ }
+ return false;
+ }
}
diff --git a/app/src/main/java/com/hippo/preference/ListPreference.java b/app/src/main/java/com/hippo/preference/ListPreference.java
index b15505cd5..25e4ceb6b 100644
--- a/app/src/main/java/com/hippo/preference/ListPreference.java
+++ b/app/src/main/java/com/hippo/preference/ListPreference.java
@@ -25,7 +25,6 @@ import android.support.annotation.ArrayRes;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.util.AttributeSet;
-import android.util.Log;
import com.hippo.ehviewer.R;
@@ -140,9 +139,6 @@ public class ListPreference extends DialogPreference {
* @param value The value to set for the key.
*/
public void setValue(String value) {
-
- Log.d("TAG", "value = " + value);
-
// Always persist/notify the first time.
final boolean changed = !TextUtils.equals(mValue, value);
if (changed || !mValueSet) {
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index aec40bd9e..414a7bee6 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -423,6 +423,9 @@
最多同时下载 %s 张图片
预载图片
向后预载 %s 张图片
+ 图片大小
+ %s,大于 1280x 的分辨率可能不好使
+ 自动
下载原图
这很危险!勾选此项会导致下载配额迅速流失
恢复中
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 7e4f281d5..3a320421a 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -423,6 +423,9 @@
最多同時下載 %s 張圖片
預載圖片
向後預載 %s 張圖片
+ 圖片大小
+ %s,大於 1280x 的分辨率可能不好使
+ 自動
下載原圖
這很危險!勾選此項會導致下載配額迅速流失
恢復中
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index befb179b0..7300468d0 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -423,6 +423,9 @@
最多同時下載 %s 張圖片
預載圖片
向後預載 %s 張圖片
+ 圖片大小
+ %s,大於 1280x 的解析度可能不好使
+ 自動
下載原圖
這很危險!勾選此項會導致下載配額迅速流失
恢復中
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index dc7334eff..7b6d72288 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -88,6 +88,24 @@
- 17
+
+ - @string/settings_download_image_size_auto
+ - 780x
+ - 980x
+ - 1280x
+ - 1600x
+ - 2400x
+
+
+
+ - a
+ - 780
+ - 980
+ - 1280
+ - 1600
+ - 2400
+
+
- @string/settings_read_screen_rotation_default
- @string/settings_read_screen_rotation_portrait
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b95644217..82e1fae54 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -463,6 +463,9 @@
Up to %s images
Preload image
Preload next %s image
+ Image size
+ %s, resolutions above 1280x may not work
+ Auto
Download original image
It is dangerous! You may get 509 error
Restore download items
diff --git a/app/src/main/res/xml/download_settings.xml b/app/src/main/res/xml/download_settings.xml
index f09cf2243..60f67ab64 100644
--- a/app/src/main/res/xml/download_settings.xml
+++ b/app/src/main/res/xml/download_settings.xml
@@ -39,6 +39,14 @@
app:entryValues="@array/preload_image_entry_values"
android:defaultValue="5"/>
+
+