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 @@
-
+
+