|
|
@@ -8,6 +8,12 @@ import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
import kr.co.zumo.app.lifeplus.view.Event;
|
|
|
import kr.co.zumo.app.lifeplus.view.IFAQView;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.ActivityChangeCommand;
|
|
|
+import kr.co.zumo.app.lifeplus.view.dialog.AlertDialog;
|
|
|
+import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
|
|
|
+import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
|
|
|
+import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
|
|
|
+import kr.co.zumo.app.lifeplus.view.dialog.IAttribute;
|
|
|
+import kr.co.zumo.app.lifeplus.view.dialog.IDialogResultListener;
|
|
|
|
|
|
/**
|
|
|
* FAQPresenter
|
|
|
@@ -21,6 +27,8 @@ import kr.co.zumo.app.lifeplus.view.command.ActivityChangeCommand;
|
|
|
*/
|
|
|
public class FAQPresenter extends Presenter<FAQModel, IFAQView> {
|
|
|
|
|
|
+ DialogBase alertDialog;
|
|
|
+
|
|
|
public FAQPresenter(FAQModel model, IFAQView view) {
|
|
|
super(model, view);
|
|
|
|
|
|
@@ -40,7 +48,10 @@ public class FAQPresenter extends Presenter<FAQModel, IFAQView> {
|
|
|
|
|
|
@Override
|
|
|
protected void destroyInternal() {
|
|
|
-
|
|
|
+ if (null != alertDialog) {
|
|
|
+ alertDialog.dispose();
|
|
|
+ alertDialog = null;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -67,6 +78,7 @@ public class FAQPresenter extends Presenter<FAQModel, IFAQView> {
|
|
|
public void onResult(Event event) throws Throwable {
|
|
|
switch (event.getEventId()) {
|
|
|
case Event.ERROR:
|
|
|
+ showAlert(event.getString());
|
|
|
break;
|
|
|
case Event.RESULT:
|
|
|
view.drawList(model.getFaqBeans());
|
|
|
@@ -75,4 +87,26 @@ public class FAQPresenter extends Presenter<FAQModel, IFAQView> {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void showAlert(String str) {
|
|
|
+ alertDialog = DialogBuilder.create(DialogID.ALERT)
|
|
|
+ .listener(new IDialogResultListener() {
|
|
|
+ @Override
|
|
|
+ public void onDialogResult(DialogBase dialog, Event event) {
|
|
|
+ if (event.getEventId() == Event.CONFIRM) {
|
|
|
+ alertDialog = null;
|
|
|
+ dialog.dispose();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onDialogCanceled(DialogBase dialog) {
|
|
|
+ alertDialog = null;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .attribute((IAttribute<AlertDialog>) dialog -> {
|
|
|
+ dialog.setText(str);
|
|
|
+ })
|
|
|
+ .show();
|
|
|
+ }
|
|
|
}
|