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:
parent
295f2de3f0
commit
bd2f21fa98
3 changed files with 66 additions and 11 deletions
|
@ -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"
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue