diff --git a/.idea/misc.xml b/.idea/misc.xml index 2f486ebd0..e1d91222a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,8 +3,31 @@ + + + + - - + \ No newline at end of file diff --git a/app/src/main/java/com/hippo/ehviewer/ehclient/EhInfo.java b/app/src/main/java/com/hippo/ehviewer/ehclient/EhInfo.java index a694bc1ce..86015867f 100644 --- a/app/src/main/java/com/hippo/ehviewer/ehclient/EhInfo.java +++ b/app/src/main/java/com/hippo/ehviewer/ehclient/EhInfo.java @@ -78,6 +78,7 @@ public class EhInfo { private int mExculdeTagGroup; private String mExculdeLanguage; + private boolean mHAHProxy; private String mHAHIp; private String mHAHPort; private String mHAHPasskey; @@ -116,6 +117,7 @@ public class EhInfo { mPreviewMode = Config.getPreviewMode(); mExculdeTagGroup = Config.getExculdeTagGroup(); mExculdeLanguage = Config.getExculdeLanguage(); + mHAHProxy = Config.getHAHProxy(); mHAHIp = Config.getHAHIp(); mHAHPort = Config.getHAHPort(); mHAHPasskey = Config.getHAHPasskey(); @@ -124,7 +126,7 @@ public class EhInfo { private String getUconfigString(String previewMode) { String proxy; - if (TextUtils.isEmpty(mHAHIp) || TextUtils.isEmpty(mHAHPort)) { + if (!mHAHProxy || TextUtils.isEmpty(mHAHIp) || TextUtils.isEmpty(mHAHPort)) { proxy = ""; } else { proxy = mHAHIp + "%3A" + mHAHPort; @@ -286,6 +288,11 @@ public class EhInfo { updateUconfig(); } + public void setHAHProxy(boolean hahProxy) { + mHAHProxy = hahProxy; + updateUconfig(); + } + public void setHAHProxy(String ip, String port, String passkey) { mHAHIp = ip; mHAHPort = port; diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java index fa5dca2b0..6a25f6b4d 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java @@ -32,6 +32,7 @@ import android.os.SystemClock; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceFragment; +import android.preference.SwitchPreference; import android.provider.SearchRecentSuggestions; import android.text.util.Linkify; import android.view.MenuItem; @@ -199,6 +200,7 @@ public class SettingsActivity extends AbsPreferenceActivity { private static final String KEY_PREVIEW_MODE = "preview_mode"; private static final String KEY_DEFAULT_FAVORITE = "default_favorite"; private static final String KEY_HAH_PROXY = "hah_proxy"; + private static final String KEY_HAH_PROXY_CONFIG = "hah_proxy_config"; private Preference mListDefaultCategory; private Preference mExculdeTagGroup; @@ -206,7 +208,8 @@ public class SettingsActivity extends AbsPreferenceActivity { private Preference mClearSuggestions; private ListPreference mPreviewMode; private ListPreference mDefaultFavorite; - private Preference mHAHProxy; + private SwitchPreference mHAHProxy; + private Preference mHAHProxyConfig; @Override public void onCreate(Bundle savedInstanceState) { @@ -224,8 +227,10 @@ public class SettingsActivity extends AbsPreferenceActivity { mPreviewMode = (ListPreference) findPreference(KEY_PREVIEW_MODE); mPreviewMode.setOnPreferenceChangeListener(this); mDefaultFavorite = (ListPreference) findPreference(KEY_DEFAULT_FAVORITE); - mHAHProxy = findPreference(KEY_HAH_PROXY); - mHAHProxy.setOnPreferenceClickListener(this); + mHAHProxy = (SwitchPreference) findPreference(KEY_HAH_PROXY); + mHAHProxy.setOnPreferenceChangeListener(this); + mHAHProxyConfig = findPreference(KEY_HAH_PROXY_CONFIG); + mHAHProxyConfig.setOnPreferenceClickListener(this); int i = 0; String[] entrise = new String[Favorite.FAVORITE_TITLES.length + 1]; @@ -241,6 +246,9 @@ public class SettingsActivity extends AbsPreferenceActivity { if (KEY_PREVIEW_MODE.equals(key)) { String newPreviewMode = (String) newValue; EhInfo.getInstance(getActivity()).setPreviewMode(newPreviewMode); + } else if (KEY_HAH_PROXY.equals(key)) { + boolean hahProxy = (Boolean) newValue; + EhInfo.getInstance(getActivity()).setHAHProxy(hahProxy); } return true; } @@ -310,8 +318,8 @@ public class SettingsActivity extends AbsPreferenceActivity { SimpleSuggestionProvider.AUTHORITY, SimpleSuggestionProvider.MODE); suggestions.clearHistory(); - } else if (KEY_HAH_PROXY.equals(key)) { - LinearLayout ll = (LinearLayout) ViewUtils.inflateDialogView(R.layout.hah_proxy, false); + } else if (KEY_HAH_PROXY_CONFIG.equals(key)) { + LinearLayout ll = (LinearLayout) ViewUtils.inflateDialogView(R.layout.hah_proxy_config, false); final EditText hahIp = (EditText) ll.findViewById(R.id.hah_ip); final EditText hahPort = (EditText) ll.findViewById(R.id.hah_port); final EditText hahPasskey = (EditText) ll.findViewById(R.id.hah_passkey); diff --git a/app/src/main/java/com/hippo/ehviewer/util/Config.java b/app/src/main/java/com/hippo/ehviewer/util/Config.java index b780b6d1a..901bb82b7 100644 --- a/app/src/main/java/com/hippo/ehviewer/util/Config.java +++ b/app/src/main/java/com/hippo/ehviewer/util/Config.java @@ -253,6 +253,9 @@ public final class Config { private static final String KEY_MAX_HISTORY_COUNT = "max_history_count"; private static final int DEFAULT_MAX_HISTORY_COUNT = 100; + private static final String KEY_HAH_PROXY = "hah_proxy"; + private static final boolean DEFAULT_HAH_PROXY = false; + private static final String KEY_HAH_IP = "hah_ip"; private static final String DEFAULT_HAH_IP = ""; @@ -302,6 +305,10 @@ public final class Config { return getIntFromStr(KEY_MAX_HISTORY_COUNT, DEFAULT_MAX_HISTORY_COUNT); } + public static boolean getHAHProxy() { + return getBoolean(KEY_HAH_PROXY, DEFAULT_HAH_PROXY); + } + public static void setHAHIp(String hahIp) { setString(KEY_HAH_IP, hahIp); } diff --git a/app/src/main/res/layout/hah_proxy.xml b/app/src/main/res/layout/hah_proxy_config.xml similarity index 100% rename from app/src/main/res/layout/hah_proxy.xml rename to app/src/main/res/layout/hah_proxy_config.xml diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 1906ca393..b46444724 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -223,7 +223,8 @@ 默认收藏夹 历史 最大历史记录条数 - Hentai@Home 服务器 + H@H 服务器 + H@H 服务器设置 IP 地址 端口 密钥(可选) diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 38d940718..93be0334a 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -211,7 +211,8 @@ 默認收藏夾 歷史 最大歷史記錄條數 - Hentai@Home 服務器 + H@H 服務器 + H@H 服務器設置 IP 地址 端口 密鑰(可選) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 33aba2eed..d64ead1b5 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -211,7 +211,8 @@ 預設收藏夾 歷史 最大歷史記錄條數 - Hentai@Home 伺服器 + H@H 伺服器 + H@H 伺服器設定 IP 地址 埠 金鑰(可選) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 04b5e759d..adb64a411 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -227,8 +227,9 @@ Default Favorite History The maximum number of history records - H@H - Hentai@Home Proxy + Hentai@Home + H@H proxy + H@H proxy config IP Address Port Passkey (Optional) diff --git a/app/src/main/res/xml/eh_settings.xml b/app/src/main/res/xml/eh_settings.xml index 29ae349b0..0aad33a00 100644 --- a/app/src/main/res/xml/eh_settings.xml +++ b/app/src/main/res/xml/eh_settings.xml @@ -80,10 +80,15 @@ - + +