package com.rapidftr.screens;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.SeparatorField;
import com.rapidftr.controllers.ContactInformationController;
import com.rapidftr.model.ContactInformation;
import com.rapidftr.screens.internal.CustomScreen;
import com.rapidftr.services.ScreenCallBack;
public class ContactInformationScreen extends CustomScreen implements
ScreenCallBack {
private final ContactInformation info;
public ContactInformationScreen(ContactInformation info) {
this.info = info;
}
public void setUp() {
clearFields();
((ContactInformationController) this.controller)
.fetchContactInformation();
}
private void showInformation() {
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
try {
addInformation("If you experience any problems with RapidFTR, " +
"or believe your password has been exposed, please contact " +
"the system administrator immediately");
addInformation("Name\t\t: " + info.getName());
addInformation("Position\t\t: " + info.getPosition());
addInformation("Organization\t: " + info.getOrganization());
addInformation("Email\t\t: " + info.getEmail());
addInformation("Phone\t\t: " + info.getPhone());
addInformation("Location\t\t: " + info.getLocation());
addInformation("Other Information: " + info.getOther());
} catch (Exception ignore) {
Dialog.inform(ignore.getMessage());
}
}
});
}
private void addInformation(String name) {
add(new LabelField(name, FOCUSABLE));
add(new SeparatorField());
}
public void onAuthenticationFailure() {
// TODO Auto-generated method stub
}
public void onConnectionProblem() {
// TODO Auto-generated method stub
}
public void onProcessFail(String failureMessage) {
showInformation();
}
public void onProcessSuccess() {
showInformation();
}
public void setProgressMessage(String message) {
// TODO Auto-generated method stub
}
public void updateProgress(int progress) {
// TODO Auto-generated method stub
}
}