Add login via cookie

This commit is contained in:
seven332 committed 2015-04-15 16:18:17 +08:00
1 parent 2fdc42acc4
commit 01cf1a8be4
4 files changed
+80

No files matched your search

@@ -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;
}
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2.5"
android:singleLine="true"
android:text="ipb_member_id:"/>
<EditText
android:id="@+id/ipb_member_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2.5"
android:singleLine="true"
android:text="ipb_pass_hash:"/>
<EditText
android:id="@+id/ipb_pass_hash"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true"/>
</LinearLayout>
</LinearLayout>
+1
View File
@@ -291,6 +291,7 @@
<string name="eh_others_settings_title">Others</string>
<string name="fix_dirname_title">Fix download folder name</string>
<string name="fix_dirname_title_summary">Download folder name will be human readable. It is OK to leave me alone.</string>
<string name="login_via_cookie_title">Login via cookie</string>
<string name="start_fixing">Start fixing</string>
<string name="no_need_fixing">No need to fix</string>
<string name="fixing_over">%d item(s) fixed</string>
@@ -77,5 +77,9 @@
android:title="@string/fix_dirname_title"
android:summary="@string/fix_dirname_title_summary" />
<Preference
android:key="login_via_cookie"
android:title="@string/login_via_cookie_title"/>
</PreferenceCategory>
</PreferenceScreen>