Add H@H support
This commit is contained in:
1 parent
6b6c50f8cc
commit
0a2c442b75
10 files changed
+286
-83
No files matched your search
@@ -21,6 +21,7 @@ import android.content.SharedPreferences;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.hippo.ehviewer.R;
|
||||
import com.hippo.ehviewer.util.Config;
|
||||
@@ -76,6 +77,11 @@ public class EhInfo {
|
||||
private String mPreviewMode;
|
||||
private int mExculdeTagGroup;
|
||||
private String mExculdeLanguage;
|
||||
|
||||
private String mHAHIp;
|
||||
private String mHAHPort;
|
||||
private String mHAHPasskey;
|
||||
|
||||
private static EhInfo sInstance;
|
||||
|
||||
private BitmapDrawable getAvatarFromFile() {
|
||||
@@ -110,16 +116,28 @@ public class EhInfo {
|
||||
mPreviewMode = Config.getPreviewMode();
|
||||
mExculdeTagGroup = Config.getExculdeTagGroup();
|
||||
mExculdeLanguage = Config.getExculdeLanguage();
|
||||
mHAHIp = Config.getHAHIp();
|
||||
mHAHPort = Config.getHAHPort();
|
||||
mHAHPasskey = Config.getHAHPasskey();
|
||||
updateUconfig();
|
||||
};
|
||||
}
|
||||
|
||||
private String getUconfigString(String previewMode) {
|
||||
return new StringBuilder().append("cats_").append(mDefaultCat)
|
||||
.append("-ts_").append(previewMode == null ? mPreviewMode : previewMode)
|
||||
.append("-xns_").append(mExculdeTagGroup)
|
||||
.append("-xl_").append(mExculdeLanguage)
|
||||
.append("-tl_m-uh_y-tr_2-prn_n-dm_l-ar_0-rc_0-rx_0-ry_0-sa_y-oi_n-qb_n-tf_n-hp_-hk_-ms_n-mt_n")
|
||||
.toString();
|
||||
String proxy;
|
||||
if (TextUtils.isEmpty(mHAHIp) || TextUtils.isEmpty(mHAHPort)) {
|
||||
proxy = "";
|
||||
} else {
|
||||
proxy = mHAHIp + "%3A" + mHAHPort;
|
||||
}
|
||||
|
||||
return "cats_" + mDefaultCat
|
||||
+ "-ts_" + (previewMode == null ? mPreviewMode : previewMode)
|
||||
+ "-xns_" + mExculdeTagGroup
|
||||
+ "-xl_" + mExculdeLanguage
|
||||
+ "-hp_" + proxy
|
||||
+ "-hk_" + mHAHPasskey
|
||||
+ "-prn_" + (TextUtils.isEmpty(proxy) ? "n" : "y")
|
||||
+ "-tl_m-uh_y-tr_2-dm_l-ar_0-rc_0-rx_0-ry_0-sa_y-oi_n-qb_n-tf_n-ms_n-mt_n";
|
||||
}
|
||||
|
||||
private void updateUconfig() {
|
||||
@@ -186,6 +204,7 @@ public class EhInfo {
|
||||
// Fake
|
||||
sb.append("; igneous=");
|
||||
sb.append("; lv=");
|
||||
|
||||
conn.setRequestProperty("Cookie", sb.toString());
|
||||
}
|
||||
|
||||
@@ -266,4 +285,11 @@ public class EhInfo {
|
||||
mExculdeLanguage = exculdeLanguage;
|
||||
updateUconfig();
|
||||
}
|
||||
|
||||
public void setHAHProxy(String ip, String port, String passkey) {
|
||||
mHAHIp = ip;
|
||||
mHAHPort = port;
|
||||
mHAHPasskey = passkey;
|
||||
updateUconfig();
|
||||
}
|
||||
}
|
||||
@@ -198,6 +198,7 @@ public class SettingsActivity extends AbsPreferenceActivity {
|
||||
private static final String KEY_CLEAR_SUGGESTIONS = "clear_suggestions";
|
||||
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 Preference mListDefaultCategory;
|
||||
private Preference mExculdeTagGroup;
|
||||
@@ -205,6 +206,7 @@ public class SettingsActivity extends AbsPreferenceActivity {
|
||||
private Preference mClearSuggestions;
|
||||
private ListPreference mPreviewMode;
|
||||
private ListPreference mDefaultFavorite;
|
||||
private Preference mHAHProxy;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -222,6 +224,8 @@ 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);
|
||||
|
||||
int i = 0;
|
||||
String[] entrise = new String[Favorite.FAVORITE_TITLES.length + 1];
|
||||
@@ -274,9 +278,11 @@ public class SettingsActivity extends AbsPreferenceActivity {
|
||||
.setButtonListener(new MaterialAlertDialog.OnClickListener() {
|
||||
@Override
|
||||
public boolean onClick(MaterialAlertDialog dialog, int which) {
|
||||
int newValue = getExculdeTagGroup(tl);
|
||||
Config.setExculdeTagGroup(newValue);
|
||||
EhInfo.getInstance(getActivity()).setExculdeTagGroup(newValue);
|
||||
if (which == MaterialAlertDialog.POSITIVE) {
|
||||
int newValue = getExculdeTagGroup(tl);
|
||||
Config.setExculdeTagGroup(newValue);
|
||||
EhInfo.getInstance(getActivity()).setExculdeTagGroup(newValue);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}).show();
|
||||
@@ -290,9 +296,11 @@ public class SettingsActivity extends AbsPreferenceActivity {
|
||||
.setButtonListener(new MaterialAlertDialog.OnClickListener() {
|
||||
@Override
|
||||
public boolean onClick(MaterialAlertDialog dialog, int which) {
|
||||
String newValue = getExculdeLanguage(tl);
|
||||
Config.setExculdeLanguage(newValue);
|
||||
EhInfo.getInstance(getActivity()).setExculdeLanguage(newValue);
|
||||
if (which == MaterialAlertDialog.POSITIVE) {
|
||||
String newValue = getExculdeLanguage(tl);
|
||||
Config.setExculdeLanguage(newValue);
|
||||
EhInfo.getInstance(getActivity()).setExculdeLanguage(newValue);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}).show();
|
||||
@@ -301,6 +309,34 @@ public class SettingsActivity extends AbsPreferenceActivity {
|
||||
SearchRecentSuggestions suggestions = SuggestionHelper.getInstance(getActivity(),
|
||||
SimpleSuggestionProvider.AUTHORITY, SimpleSuggestionProvider.MODE);
|
||||
suggestions.clearHistory();
|
||||
|
||||
} else if (KEY_HAH_PROXY.equals(key)) {
|
||||
LinearLayout ll = (LinearLayout) ViewUtils.inflateDialogView(R.layout.hah_proxy, 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);
|
||||
|
||||
hahIp.setText(Config.getHAHIp());
|
||||
hahPort.setText(Config.getHAHPort());
|
||||
hahPasskey.setText(Config.getHAHPasskey());
|
||||
|
||||
new MaterialAlertDialog.Builder(getActivity()).setTitle(R.string.hah_proxy_title)
|
||||
.setView(ll, true).setPositiveButton(android.R.string.ok).setNegativeButton(android.R.string.cancel)
|
||||
.setButtonListener(new MaterialAlertDialog.OnClickListener() {
|
||||
@Override
|
||||
public boolean onClick(MaterialAlertDialog dialog, int which) {
|
||||
if (which == MaterialAlertDialog.POSITIVE) {
|
||||
String ip = hahIp.getText().toString();
|
||||
String port = hahPort.getText().toString();
|
||||
String passkey = hahPasskey.getText().toString();
|
||||
Config.setHAHIp(ip);
|
||||
Config.setHAHPort(port);
|
||||
Config.setHAHPasskey(passkey);
|
||||
EhInfo.getInstance(getActivity()).setHAHProxy(ip, port, passkey);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -253,6 +253,15 @@ 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_IP = "hah_ip";
|
||||
private static final String DEFAULT_HAH_IP = "";
|
||||
|
||||
private static final String KEY_HAH_PORT = "hah_port";
|
||||
private static final String DEFAULT_HAH_PORT = "";
|
||||
|
||||
private static final String KEY_HAH_PASSKEY = "hah_passkey";
|
||||
private static final String DEFAULT_HAH_PASSKEY = "";
|
||||
|
||||
public static int getDefaultCat() {
|
||||
return getInt(KEY_DEFAULT_CAT, DEFAULT_DEFAULT_CAT);
|
||||
}
|
||||
@@ -293,6 +302,30 @@ public final class Config {
|
||||
return getIntFromStr(KEY_MAX_HISTORY_COUNT, DEFAULT_MAX_HISTORY_COUNT);
|
||||
}
|
||||
|
||||
public static void setHAHIp(String hahIp) {
|
||||
setString(KEY_HAH_IP, hahIp);
|
||||
}
|
||||
|
||||
public static String getHAHIp() {
|
||||
return getString(KEY_HAH_IP, DEFAULT_HAH_IP);
|
||||
}
|
||||
|
||||
public static void setHAHPort(String hahPort) {
|
||||
setString(KEY_HAH_PORT, hahPort);
|
||||
}
|
||||
|
||||
public static String getHAHPort() {
|
||||
return getString(KEY_HAH_PORT, DEFAULT_HAH_PORT);
|
||||
}
|
||||
|
||||
public static void setHAHPasskey(String hahPasskey) {
|
||||
setString(KEY_HAH_PASSKEY, hahPasskey);
|
||||
}
|
||||
|
||||
public static String getHAHPasskey() {
|
||||
return getString(KEY_HAH_PASSKEY, DEFAULT_HAH_PASSKEY);
|
||||
}
|
||||
|
||||
|
||||
/****** Read ******/
|
||||
|
||||
|
||||
Reference in new issue
Block a user