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 c1c35140b..22e44a378 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
@@ -687,8 +687,10 @@ public class SettingsActivity extends AbsPreferenceActivity {
Preference.OnPreferenceClickListener {
private static final String KEY_FIX_DIRNAME = "fix_dirname";
+ private static final String KEY_LOGIN_VIA_COOKIE = "login_via_cookie";
private Preference mFixDirname;
+ private Preference mLoginViaCookie;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -697,6 +699,8 @@ public class SettingsActivity extends AbsPreferenceActivity {
mFixDirname = findPreference(KEY_FIX_DIRNAME);
mFixDirname.setOnPreferenceClickListener(this);
+ mLoginViaCookie = findPreference(KEY_LOGIN_VIA_COOKIE);
+ mLoginViaCookie.setOnPreferenceClickListener(this);
}
@Override
@@ -795,6 +799,27 @@ public class SettingsActivity extends AbsPreferenceActivity {
});
}
}.start();
+
+ } else if (KEY_LOGIN_VIA_COOKIE.equals(key)) {
+ LinearLayout ll = (LinearLayout) ViewUtils.inflateDialogView(R.layout.login_via_cookie, false);
+ final EditText ipbMemberId = (EditText) ll.findViewById(R.id.ipb_member_id);
+ final EditText ipbPassHash = (EditText) ll.findViewById(R.id.ipb_pass_hash);
+
+ 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 id = ipbMemberId.getText().toString();
+ String hash = ipbPassHash.getText().toString();
+ EhInfo ehInfo = EhInfo.getInstance(getActivity());
+ ehInfo.setCookie("ipb_member_id=" + id + "; ipb_pass_hash=" + hash);
+ ehInfo.login("User", "User");
+ }
+ return true;
+ }
+ }).show();
}
return true;
}
diff --git a/app/src/main/res/layout/login_via_cookie.xml b/app/src/main/res/layout/login_via_cookie.xml
new file mode 100644
index 000000000..53f2ff949
--- /dev/null
+++ b/app/src/main/res/layout/login_via_cookie.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 921a3932b..925adee0c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -291,6 +291,7 @@
Others
Fix download folder name
Download folder name will be human readable. It is OK to leave me alone.
+ Login via cookie
Start fixing
No need to fix
%d item(s) fixed
diff --git a/app/src/main/res/xml/advanced_settings.xml b/app/src/main/res/xml/advanced_settings.xml
index 26f0d0f92..e1ab0c8c9 100644
--- a/app/src/main/res/xml/advanced_settings.xml
+++ b/app/src/main/res/xml/advanced_settings.xml
@@ -77,5 +77,9 @@
android:title="@string/fix_dirname_title"
android:summary="@string/fix_dirname_title_summary" />
+
+