return null;
}
});
- // TODO: ui
+ // TODO: ui and i18n
actions.add(new KeyAction(Mode.ASK_USER, 'a', StringId.KEY_ACTION_ADD) {
+ private String name;
+
@Override
public boolean onAction() {
- try{
new ActionListDialogBuilder()
- .setTitle("Action List Dialog")
- .setDescription("Choose an item")
- .addAction("First Item", new Runnable() {
+ .setTitle("New data")
+ .setDescription("Choose a data type")
+ .addAction("Email address", new Runnable() {
+ @Override
+ public void run() {
+ name = "EMAIL";
+ }
+ })
+ .addAction("Telephone number", new Runnable() {
@Override
public void run() {
- // Do 1st thing...
+ name = "TEL";
}
})
- .addAction("Second Item", new Runnable() {
+ .addAction("Birthday", new Runnable() {
@Override
public void run() {
- // Do 2nd thing...
+ name = "BDAY";
}
})
- .addAction("Third Item", new Runnable() {
+ .addAction("[other]", new Runnable() {
@Override
public void run() {
- // Do 3rd thing...
+ name = "";
}
})
.build()
.showDialog(
new MultiWindowTextGUI(TuiLauncher.getScreen()));
-
- return true;
- }catch(Exception e){
- e.printStackTrace();
- throw e;
+
+ String name = this.name;
+ this.name = null;
+
+ if (name != null) {
+ if (name.length() > 0) {
+ Data data = new Data(null, name, "", null);
+ getContact().add(data);
+ addItem("x");
+ }
+
+ return (name.length() == 0);
}
+
+ return false;
}
@Override
@Override
public String getQuestion() {
// TODO i18n
- return "new data (xx.group = yy): ";
+ if (name == null)
+ return "Data name: ";
+
+ return null;
}
@Override
public String callback(String answer) {
- int indexEq = answer.indexOf('=');
- if (indexEq >= 0) {
- String name = answer.substring(0, indexEq).trim();
- String value = answer.substring(indexEq + 1).trim();
- String group = null;
-
- int indexDt = name.indexOf('.');
- if (indexDt >= 0) {
- group = name.substring(indexDt + 1).trim();
- name = name.substring(0, indexDt).trim();
- }
-
- Data data = new Data(null, name, value, group);
+ if (answer != null & answer.length() > 0) {
+ Data data = new Data(null, answer, "", null);
getContact().add(data);
addItem("x");
}
+
return null;
}
});