package blackberry.web.widget.auth;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.component.PasswordEditField;
public class AuthenticationScreen extends Dialog {
private EditField usernameField;
private EditField domainField;
private PasswordEditField passwordField;
private boolean cancelled;
public AuthenticationScreen( String host, String domain ) {
super( Dialog.D_OK_CANCEL, loginMessage( host ), 1, Bitmap.getPredefinedBitmap( Bitmap.QUESTION ), Manager.FOCUSABLE );
usernameField = new EditField( "User Name: ", "", 50, EditField.EDITABLE );
domainField = new EditField( "Domain: ", domain != null?domain:"", 50, EditField.EDITABLE );
passwordField = new PasswordEditField( "Password: ", "", 50, EditField.EDITABLE );
cancelled = false;
add( usernameField );
add( domainField );
add( passwordField );
}
public String getUsername() {
if( !cancelled ) {
String domain = domainField.getText().trim();
if (domain.length() > 0) {
return (domain + "\\" + usernameField.getText());
} else {
return usernameField.getText();
}
} else {
return "";
}
}
public String getPassword() {
if( !cancelled ) {
return passwordField.getText();
} else {
return "";
}
}
public void setCancelled() {
cancelled = true;
}
private static String loginMessage( String host ) {
return "Content at " + host + " requires authentication. Please enter username and password";
}
}