Browse Source

[공통][Bug] PinConfirmDialog 추가

hyodong.min 7 years ago
parent
commit
5c69c241ff

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/Event.java

@@ -93,6 +93,7 @@ public class Event {
   public static final int CATEGORY_CLICK = 65;
   public static final int MY_FAQ = 66;
   public static final int UPDATE = 67;
+  public static final int CLOSE = 68;
 
   @Retention(RetentionPolicy.SOURCE)
   @IntDef({
@@ -103,7 +104,7 @@ public class Event {
     ACTION_BAR_HOME, ACTION_BAR_NOTIFICATION, ACTION_BAR_SETTING, ACTION_BAR_CLOSE, ACTION_BAR_BACK,
     ACTION_BAR_SEARCH, ACTION_BAR_MENU, ACTION_BAR_TITLE, FIRST_CATEGORY, SECOND_CATEGORY, THIRD_CATEGORY, FOURTH_CATEGORY, FIFTH_CATEGORY,
     SWITCH, BOOK_MARK_DEFAULT, BOOK_MARK_LIST, ADD, MY_COIN_MAIN, MY_PURCHASE_HISTORY, GUIDE, ADD_BUCKET, MY_MAIN_GUEST, COUPON_MALL, CATEGORY_CLICK,
-    MY_FAQ, UPDATE,
+    MY_FAQ, UPDATE, CLOSE
   })
   public @interface ID {}
 

+ 6 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/AddRegistrationDialog.java

@@ -63,10 +63,14 @@ public class AddRegistrationDialog extends DialogBase implements View.OnClickLis
   public void onClick(View view) {
     switch (view.getId()) {
       case R.id.button_add_email:
-        getResultListener().onDialogResult(this, new Event.Builder(Event.EMAIL_CLICK).build());
+        if (null != getResultListener()) {
+          getResultListener().onDialogResult(this, new Event.Builder(Event.EMAIL_CLICK).build());
+        }
         break;
       case R.id.button_add_special_code:
-        getResultListener().onDialogResult(this, new Event.Builder(Event.SPECIAL_CODE_CLICK).build());
+        if (null != getResultListener()) {
+          getResultListener().onDialogResult(this, new Event.Builder(Event.SPECIAL_CODE_CLICK).build());
+        }
         break;
       default:
         break;

+ 3 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CoinInformationDialog.java

@@ -40,10 +40,11 @@ public class CoinInformationDialog  extends DialogBase{
 
     imageViewClose = getView().findViewById(R.id.image_view_close);
     imageViewClose.setOnClickListener(view -> {
-      dismiss();
+      if (null != getResultListener()) {
+        getResultListener().onDialogCanceled(CoinInformationDialog.this);
+      }
     });
 
-
   }
 
 }

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CurrentPageShareDialog.java

@@ -42,7 +42,9 @@ public class CurrentPageShareDialog extends DialogBase {
 
     imageViewCancel = getView().findViewById(R.id.image_view_cancel);
     imageViewCancel.setOnClickListener(view -> {
-      dismiss();
+      if (null != getResultListener()) {
+        getResultListener().onDialogCanceled(CurrentPageShareDialog.this);
+      }
     });
 
 

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CustomAlertDialog.java

@@ -37,7 +37,7 @@ public class CustomAlertDialog extends TextDialog {
           }
         }
       })
-      .setNegativeButton("취소", new DialogInterface.OnClickListener() {
+      .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
           if (null != getResultListener()) {
             getResultListener().onDialogCanceled(CustomAlertDialog.this);

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/DialogID.java

@@ -21,7 +21,7 @@ import java.lang.annotation.RetentionPolicy;
 public class DialogID {
   public final static int NONE = -1;
   public final static int CONFIRM = 0;
-//  public final static int INPUT_PIN = 2;
+  public final static int PIN_CONFIRM = 2;
   public final static int WEB = 3;
   public final static int ADD_REGISTRATION = 4;
   public static final int ALERT = 5;
@@ -30,7 +30,7 @@ public class DialogID {
   public static final int COIN_INFORMATION = 8;
 
   @Retention(RetentionPolicy.SOURCE)
-  @IntDef({NONE, CONFIRM, /*INPUT_PIN,*/ WEB, ADD_REGISTRATION, ALERT, PROMOTION, SHARE, COIN_INFORMATION})
+  @IntDef({NONE, CONFIRM, PIN_CONFIRM, WEB, ADD_REGISTRATION, ALERT, PROMOTION, SHARE, COIN_INFORMATION})
   public @interface ID {}
 
 }

+ 82 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/PinConfirmDialog.java

@@ -0,0 +1,82 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.view.dialog;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.view.custom.pin.CustomPinConfirmPresenter;
+import kr.co.zumo.app.lifeplus.view.custom.pin.CustomPinView;
+import kr.co.zumo.app.lifeplus.view.custom.pin.IPinContract;
+
+/**
+ * PinConfirmDialog
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 11. 1.]   [최초 작성]
+ * @since 2018. 11. 1.
+ */
+public class PinConfirmDialog extends DialogBase {
+
+  private CustomPinView customPinView;
+  private IPinContract.Presenter pinPresenter;
+
+  @Override
+  public void onCreate(Bundle savedInstanceState) {
+    super.onCreate(savedInstanceState);
+  }
+
+  @Override
+  public void onDestroyView() {
+    super.onDestroyView();
+  }
+
+
+  @Nullable
+  @Override
+  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
+    return inflater.inflate(R.layout.view_container, container, false);
+  }
+
+  @Override
+  public void onActivityCreated(Bundle savedInstanceState) {
+    super.onActivityCreated(savedInstanceState);
+
+
+    customPinView = new CustomPinView(getContext());
+    pinPresenter = new CustomPinConfirmPresenter(customPinView, new IPinContract.Listener() {
+      @Override
+      public void onPinResult(String result) {
+      }
+
+      @Override
+      public void onClickPinReset() {
+      }
+
+      @Override
+      public void onClickClose() {
+
+      }
+
+      @Override
+      public void onPinFail() {
+        pinPresenter.onPinStart();
+      }
+    });
+
+    View parent = getView();
+    ViewGroup layout = parent.findViewById(R.id.container);
+    ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
+    layout.addView(customPinView, params);
+  }
+
+}

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/PromotionDialog.java

@@ -51,7 +51,9 @@ public class PromotionDialog extends DialogBase{
     mainBannerView = getView().findViewById(R.id.promotion_banner);
     imageViewCancel = getView().findViewById(R.id.image_view_cancel);
     imageViewCancel.setOnClickListener(view -> {
-      dismiss();
+      if (null != getResultListener()) {
+        getResultListener().onDialogCanceled(PromotionDialog.this);
+      }
     });
     checkBoxNotShowing = getView().findViewById(R.id.check_box_not_show);
     mainBannerView.init(getActivity(), textImageBeanList, 4);

+ 4 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/factory/BasicDialogFactory.java

@@ -10,6 +10,7 @@ import kr.co.zumo.app.lifeplus.view.dialog.CurrentPageShareDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.CustomAlertDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
+import kr.co.zumo.app.lifeplus.view.dialog.PinConfirmDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PromotionDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.WebDialog;
 
@@ -50,6 +51,9 @@ public class BasicDialogFactory implements IDialogFactory {
       case DialogID.COIN_INFORMATION:
         dialog = new CoinInformationDialog();
         break;
+      case DialogID.PIN_CONFIRM:
+        dialog = new PinConfirmDialog();
+        break;
       default:
         throw new Error("Unsupported dialog.");
     }