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"/> + +