|
|
@@ -4,13 +4,19 @@
|
|
|
package kr.co.zumo.app.lifeplus.view.presenter;
|
|
|
|
|
|
import kr.co.zumo.app.R;
|
|
|
-import kr.co.zumo.app.lifeplus.model.BlankModel;
|
|
|
+import kr.co.zumo.app.lifeplus.model.RestMemberModel;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
import kr.co.zumo.app.lifeplus.util.ResourceUtil;
|
|
|
import kr.co.zumo.app.lifeplus.view.Event;
|
|
|
import kr.co.zumo.app.lifeplus.view.IView;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.ActivityChangeCommand;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.EmailSendingCommand;
|
|
|
+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;
|
|
|
|
|
|
/**
|
|
|
* RestMemberPresenter
|
|
|
@@ -22,8 +28,11 @@ import kr.co.zumo.app.lifeplus.view.command.EmailSendingCommand;
|
|
|
* @history 민효동 [2018. 10. 5.] [최초 작성]
|
|
|
* @since 2018. 10. 5.
|
|
|
*/
|
|
|
-public class RestMemberPresenter extends Presenter<BlankModel, IView> {
|
|
|
- public RestMemberPresenter(BlankModel model, IView view) {
|
|
|
+public class RestMemberPresenter extends Presenter<RestMemberModel, IView> {
|
|
|
+
|
|
|
+ DialogBase alertDialog;
|
|
|
+
|
|
|
+ public RestMemberPresenter(RestMemberModel model, IView view) {
|
|
|
super(model, view);
|
|
|
}
|
|
|
|
|
|
@@ -35,7 +44,10 @@ public class RestMemberPresenter extends Presenter<BlankModel, IView> {
|
|
|
|
|
|
@Override
|
|
|
protected void destroyInternal() {
|
|
|
-
|
|
|
+ if (null != alertDialog) {
|
|
|
+ alertDialog.dispose();
|
|
|
+ alertDialog = null;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -62,10 +74,11 @@ public class RestMemberPresenter extends Presenter<BlankModel, IView> {
|
|
|
protected void onEventInternal(Event event) {
|
|
|
switch (event.getEventId()) {
|
|
|
case Event.EXIT:
|
|
|
- onCommand(new ActivityChangeCommand(ScreenID.ACTIVITY_MAIN, ScreenID.DIRECTION_NEXT));
|
|
|
+ onCommand(new ActivityChangeCommand(ScreenID.ACTIVITY_MAIN, ScreenID.DIRECTION_BACK));
|
|
|
break;
|
|
|
case Event.CONFIRM:
|
|
|
// 휴면 해제 api
|
|
|
+ model.activeMember();
|
|
|
break;
|
|
|
case Event.EMAIL_CLICK:
|
|
|
onCommand(new EmailSendingCommand(ResourceUtil.getString(R.string.lifeplus_email)));
|
|
|
@@ -78,6 +91,36 @@ public class RestMemberPresenter extends Presenter<BlankModel, IView> {
|
|
|
|
|
|
@Override
|
|
|
public void onResult(Event event) {
|
|
|
+ switch (event.getEventId()) {
|
|
|
+ case Event.SUCCESS:
|
|
|
+ onCommand(new ActivityChangeCommand(ScreenID.ACTIVITY_MAIN, ScreenID.DIRECTION_NEXT));
|
|
|
+ break;
|
|
|
+ case Event.ERROR:
|
|
|
+ showErrorPopup(event.getString());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ private void showErrorPopup(String errorMessage) {
|
|
|
+ alertDialog = DialogBuilder.create(DialogID.ALERT)
|
|
|
+ .listener(new IDialogResultListener() {
|
|
|
+ @Override
|
|
|
+ public void onDialogResult(DialogBase dialog, Event event) {
|
|
|
+ if (event.getEventId() == Event.CONFIRM) {
|
|
|
+ dialog.dispose();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onDialogCanceled(DialogBase dialog) {
|
|
|
+ dialog.dispose();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .attribute((IAttribute<AlertDialog>) dialog -> {
|
|
|
+ dialog.setText(errorMessage);
|
|
|
+ })
|
|
|
+ .show();
|
|
|
}
|
|
|
}
|