mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 10:49:24 +02:00
AuthenticationDialog will be replaced by AuthenticationActivity
This commit is contained in:
parent
295f2de3f0
commit
bd2f21fa98
3 changed files with 66 additions and 11 deletions
|
@ -58,6 +58,36 @@
|
||||||
android:layout_marginTop="5dp"
|
android:layout_marginTop="5dp"
|
||||||
android:layout_marginBottom="5dp"
|
android:layout_marginBottom="5dp"
|
||||||
/>
|
/>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/authentication_error"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:textColor="#ff0000"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:layout_marginBottom="5dp"
|
||||||
|
/>
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/authentication_signup_box"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="5dp"
|
||||||
|
>
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/authentication_signup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="#0000ff"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:background="@drawable/link"
|
||||||
|
/>
|
||||||
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
|
@ -26,7 +26,6 @@ import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
import org.geometerplus.zlibrary.core.options.ZLStringOption;
|
|
||||||
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
||||||
|
|
||||||
import org.geometerplus.zlibrary.ui.android.R;
|
import org.geometerplus.zlibrary.ui.android.R;
|
||||||
|
@ -37,6 +36,8 @@ public class AuthenticationActivity extends Activity {
|
||||||
final static String SCHEME_KEY = "scheme";
|
final static String SCHEME_KEY = "scheme";
|
||||||
final static String USERNAME_KEY = "username";
|
final static String USERNAME_KEY = "username";
|
||||||
final static String PASSWORD_KEY = "password";
|
final static String PASSWORD_KEY = "password";
|
||||||
|
final static String ERROR_KEY = "error";
|
||||||
|
final static String SIGNUP_URL_KEY = "signupUrl";
|
||||||
|
|
||||||
private ZLResource myResource;
|
private ZLResource myResource;
|
||||||
|
|
||||||
|
@ -49,13 +50,19 @@ public class AuthenticationActivity extends Activity {
|
||||||
final Intent intent = getIntent();
|
final Intent intent = getIntent();
|
||||||
final String host = intent.getStringExtra(HOST_KEY);
|
final String host = intent.getStringExtra(HOST_KEY);
|
||||||
final String area = intent.getStringExtra(AREA_KEY);
|
final String area = intent.getStringExtra(AREA_KEY);
|
||||||
|
final String username = intent.getStringExtra(USERNAME_KEY);
|
||||||
|
final String error = intent.getStringExtra(ERROR_KEY);
|
||||||
|
final String signupUrl = intent.getStringExtra(SIGNUP_URL_KEY);
|
||||||
|
|
||||||
setTitle(area);
|
setTitle(host);
|
||||||
|
|
||||||
myResource = ZLResource.resource("dialog").getResource("AuthenticationDialog");
|
myResource = ZLResource.resource("dialog").getResource("AuthenticationDialog");
|
||||||
final ZLStringOption option = new ZLStringOption("username", host + ":" + area, "");
|
|
||||||
|
|
||||||
findTextView(R.id.authentication_subtitle).setText(host);
|
if (area != null || !"".equals(area)) {
|
||||||
|
findTextView(R.id.authentication_subtitle).setText(area);
|
||||||
|
} else {
|
||||||
|
findTextView(R.id.authentication_subtitle).setVisibility(View.GONE);
|
||||||
|
}
|
||||||
final TextView warningView = findTextView(R.id.authentication_unencrypted_warning);
|
final TextView warningView = findTextView(R.id.authentication_unencrypted_warning);
|
||||||
if ("https".equalsIgnoreCase(intent.getStringExtra(SCHEME_KEY))) {
|
if ("https".equalsIgnoreCase(intent.getStringExtra(SCHEME_KEY))) {
|
||||||
warningView.setVisibility(View.GONE);
|
warningView.setVisibility(View.GONE);
|
||||||
|
@ -69,8 +76,22 @@ public class AuthenticationActivity extends Activity {
|
||||||
myResource.getResource("password").getValue()
|
myResource.getResource("password").getValue()
|
||||||
);
|
);
|
||||||
|
|
||||||
final TextView username = findTextView(R.id.authentication_username);
|
final TextView usernameView = findTextView(R.id.authentication_username);
|
||||||
username.setText(option.getValue());
|
usernameView.setText(username);
|
||||||
|
|
||||||
|
final TextView errorView = findTextView(R.id.authentication_error);
|
||||||
|
if (error != null && !"".equals(error)) {
|
||||||
|
errorView.setVisibility(View.VISIBLE);
|
||||||
|
errorView.setText(error);
|
||||||
|
} else {
|
||||||
|
errorView.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (signupUrl != null) {
|
||||||
|
// TODO
|
||||||
|
} else {
|
||||||
|
findViewById(R.id.authentication_signup_box).setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
final ZLResource buttonResource = ZLResource.resource("dialog").getResource("button");
|
final ZLResource buttonResource = ZLResource.resource("dialog").getResource("button");
|
||||||
|
|
||||||
|
@ -79,11 +100,9 @@ public class AuthenticationActivity extends Activity {
|
||||||
okButton.setOnClickListener(new Button.OnClickListener() {
|
okButton.setOnClickListener(new Button.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
final Intent data = new Intent();
|
final Intent data = new Intent();
|
||||||
final String usernameString = username.getText().toString();
|
|
||||||
option.setValue(usernameString);
|
|
||||||
data.putExtra(
|
data.putExtra(
|
||||||
USERNAME_KEY,
|
USERNAME_KEY,
|
||||||
usernameString
|
usernameView.getText().toString()
|
||||||
);
|
);
|
||||||
data.putExtra(
|
data.putExtra(
|
||||||
PASSWORD_KEY,
|
PASSWORD_KEY,
|
||||||
|
|
|
@ -31,6 +31,7 @@ import android.graphics.Bitmap;
|
||||||
|
|
||||||
import org.geometerplus.zlibrary.ui.android.R;
|
import org.geometerplus.zlibrary.ui.android.R;
|
||||||
|
|
||||||
|
import org.geometerplus.zlibrary.core.options.ZLStringOption;
|
||||||
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
||||||
import org.geometerplus.zlibrary.core.image.ZLImage;
|
import org.geometerplus.zlibrary.core.image.ZLImage;
|
||||||
import org.geometerplus.zlibrary.core.image.ZLLoadableImage;
|
import org.geometerplus.zlibrary.core.image.ZLLoadableImage;
|
||||||
|
@ -83,10 +84,14 @@ abstract class NetworkBaseActivity extends ListActivity implements NetworkView.E
|
||||||
@Override
|
@Override
|
||||||
protected PasswordAuthentication getPasswordAuthentication() {
|
protected PasswordAuthentication getPasswordAuthentication() {
|
||||||
final Intent intent = new Intent();
|
final Intent intent = new Intent();
|
||||||
|
final String host = getRequestingSite().getHostName();
|
||||||
|
final String area = getRequestingPrompt();
|
||||||
|
final ZLStringOption option = new ZLStringOption("username", host + ":" + area, "");
|
||||||
intent.setClass(NetworkBaseActivity.this, AuthenticationActivity.class);
|
intent.setClass(NetworkBaseActivity.this, AuthenticationActivity.class);
|
||||||
intent.putExtra(AuthenticationActivity.AREA_KEY, getRequestingPrompt());
|
intent.putExtra(AuthenticationActivity.HOST_KEY, host);
|
||||||
intent.putExtra(AuthenticationActivity.HOST_KEY, getRequestingSite().getHostName());
|
intent.putExtra(AuthenticationActivity.AREA_KEY, area);
|
||||||
intent.putExtra(AuthenticationActivity.SCHEME_KEY, getRequestingProtocol());
|
intent.putExtra(AuthenticationActivity.SCHEME_KEY, getRequestingProtocol());
|
||||||
|
intent.putExtra(AuthenticationActivity.USERNAME_KEY, option.getValue());
|
||||||
startActivityForResult(intent, AUTHENTICATION_CODE);
|
startActivityForResult(intent, AUTHENTICATION_CODE);
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
try {
|
try {
|
||||||
|
@ -97,6 +102,7 @@ abstract class NetworkBaseActivity extends ListActivity implements NetworkView.E
|
||||||
System.err.println("auth thread: " + Thread.currentThread());
|
System.err.println("auth thread: " + Thread.currentThread());
|
||||||
PasswordAuthentication result = null;
|
PasswordAuthentication result = null;
|
||||||
if (myUsername != null && myPassword != null) {
|
if (myUsername != null && myPassword != null) {
|
||||||
|
option.setValue(myUsername);
|
||||||
result = new PasswordAuthentication(myUsername, myPassword.toCharArray());
|
result = new PasswordAuthentication(myUsername, myPassword.toCharArray());
|
||||||
}
|
}
|
||||||
myUsername = null;
|
myUsername = null;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue