1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 02:39:23 +02:00

AuthenticationDialog will be replaced by AuthenticationActivity

This commit is contained in:
Nikolay Pultsin 2011-04-17 09:09:57 +01:00
parent 295f2de3f0
commit bd2f21fa98
3 changed files with 66 additions and 11 deletions

View file

@ -58,6 +58,36 @@
android:layout_marginTop="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
android:layout_width="fill_parent"
android:layout_height="wrap_content"

View file

@ -26,7 +26,6 @@ import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import org.geometerplus.zlibrary.core.options.ZLStringOption;
import org.geometerplus.zlibrary.core.resources.ZLResource;
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 USERNAME_KEY = "username";
final static String PASSWORD_KEY = "password";
final static String ERROR_KEY = "error";
final static String SIGNUP_URL_KEY = "signupUrl";
private ZLResource myResource;
@ -49,13 +50,19 @@ public class AuthenticationActivity extends Activity {
final Intent intent = getIntent();
final String host = intent.getStringExtra(HOST_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");
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);
if ("https".equalsIgnoreCase(intent.getStringExtra(SCHEME_KEY))) {
warningView.setVisibility(View.GONE);
@ -69,8 +76,22 @@ public class AuthenticationActivity extends Activity {
myResource.getResource("password").getValue()
);
final TextView username = findTextView(R.id.authentication_username);
username.setText(option.getValue());
final TextView usernameView = findTextView(R.id.authentication_username);
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");
@ -79,11 +100,9 @@ public class AuthenticationActivity extends Activity {
okButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
final Intent data = new Intent();
final String usernameString = username.getText().toString();
option.setValue(usernameString);
data.putExtra(
USERNAME_KEY,
usernameString
usernameView.getText().toString()
);
data.putExtra(
PASSWORD_KEY,

View file

@ -31,6 +31,7 @@ import android.graphics.Bitmap;
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.image.ZLImage;
import org.geometerplus.zlibrary.core.image.ZLLoadableImage;
@ -83,10 +84,14 @@ abstract class NetworkBaseActivity extends ListActivity implements NetworkView.E
@Override
protected PasswordAuthentication getPasswordAuthentication() {
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.putExtra(AuthenticationActivity.AREA_KEY, getRequestingPrompt());
intent.putExtra(AuthenticationActivity.HOST_KEY, getRequestingSite().getHostName());
intent.putExtra(AuthenticationActivity.HOST_KEY, host);
intent.putExtra(AuthenticationActivity.AREA_KEY, area);
intent.putExtra(AuthenticationActivity.SCHEME_KEY, getRequestingProtocol());
intent.putExtra(AuthenticationActivity.USERNAME_KEY, option.getValue());
startActivityForResult(intent, AUTHENTICATION_CODE);
synchronized (this) {
try {
@ -97,6 +102,7 @@ abstract class NetworkBaseActivity extends ListActivity implements NetworkView.E
System.err.println("auth thread: " + Thread.currentThread());
PasswordAuthentication result = null;
if (myUsername != null && myPassword != null) {
option.setValue(myUsername);
result = new PasswordAuthentication(myUsername, myPassword.toCharArray());
}
myUsername = null;