Add image size option

This commit is contained in:
seven332 committed 2016-04-05 02:07:08 +08:00
1 parent 084f352d71
commit 3ca6b69984
10 files changed
+76 -11

No files matched your search

@@ -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;
@@ -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
@@ -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;
}
}
@@ -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) {
@@ -423,6 +423,9 @@
<string name="settings_download_multi_thread_download_summary">最多同时下载 %s 张图片</string>
<string name="settings_download_preload_image">预载图片</string>
<string name="settings_download_preload_image_summary">向后预载 %s 张图片</string>
<string name="settings_download_image_size">图片大小</string>
<string name="settings_download_image_size_summary">%s,大于 1280x 的分辨率可能不好使</string>
<string name="settings_download_image_size_auto">自动</string>
<string name="settings_download_download_origin_image">下载原图</string>
<string name="settings_download_download_origin_image_summary">这很危险!勾选此项会导致下载配额迅速流失</string>
<string name="settings_download_restoring">恢复中</string>
@@ -423,6 +423,9 @@
<string name="settings_download_multi_thread_download_summary">最多同時下載 %s 張圖片</string>
<string name="settings_download_preload_image">預載圖片</string>
<string name="settings_download_preload_image_summary">向後預載 %s 張圖片</string>
<string name="settings_download_image_size">圖片大小</string>
<string name="settings_download_image_size_summary">%s,大於 1280x 的分辨率可能不好使</string>
<string name="settings_download_image_size_auto">自動</string>
<string name="settings_download_download_origin_image">下載原圖</string>
<string name="settings_download_download_origin_image_summary">這很危險!勾選此項會導致下載配額迅速流失</string>
<string name="settings_download_restoring">恢復中</string>
@@ -423,6 +423,9 @@
<string name="settings_download_multi_thread_download_summary">最多同時下載 %s 張圖片</string>
<string name="settings_download_preload_image">預載圖片</string>
<string name="settings_download_preload_image_summary">向後預載 %s 張圖片</string>
<string name="settings_download_image_size">圖片大小</string>
<string name="settings_download_image_size_summary">%s,大於 1280x 的解析度可能不好使</string>
<string name="settings_download_image_size_auto">自動</string>
<string name="settings_download_download_origin_image">下載原圖</string>
<string name="settings_download_download_origin_image_summary">這很危險!勾選此項會導致下載配額迅速流失</string>
<string name="settings_download_restoring">恢復中</string>
+18
View File
@@ -88,6 +88,24 @@
<item>17</item>
</string-array>
<string-array name="image_size_entries" translatable="false">
<item>@string/settings_download_image_size_auto</item>
<item>780x</item>
<item>980x</item>
<item>1280x</item>
<item>1600x</item>
<item>2400x</item>
</string-array>
<string-array name="image_size_entry_values" translatable="false">
<item>a</item>
<item>780</item>
<item>980</item>
<item>1280</item>
<item>1600</item>
<item>2400</item>
</string-array>
<string-array name="screen_rotation_entries">
<item>@string/settings_read_screen_rotation_default</item>
<item>@string/settings_read_screen_rotation_portrait</item>
+3
View File
@@ -463,6 +463,9 @@
<string name="settings_download_multi_thread_download_summary">Up to %s images</string>
<string name="settings_download_preload_image">Preload image</string>
<string name="settings_download_preload_image_summary">Preload next %s image</string>
<string name="settings_download_image_size">Image size</string>
<string name="settings_download_image_size_summary">%s, resolutions above 1280x may not work</string>
<string name="settings_download_image_size_auto">Auto</string>
<string name="settings_download_download_origin_image">Download original image</string>
<string name="settings_download_download_origin_image_summary">It is dangerous! You may get 509 error</string>
<string name="settings_download_restore_download_items">Restore download items</string>
@@ -39,6 +39,14 @@
app:entryValues="@array/preload_image_entry_values"
android:defaultValue="5"/>
<com.hippo.preference.ListPreference
android:key="image_size"
android:title="@string/settings_download_image_size"
android:summary="@string/settings_download_image_size_summary"
app:entries="@array/image_size_entries"
app:entryValues="@array/image_size_entry_values"
android:defaultValue="a"/>
<com.hippo.preference.SwitchPreference
android:key="download_origin_image"
android:title="@string/settings_download_download_origin_image"