Explorar o código

[공통][Common] AlertDialog 추가

hyodong.min %!s(int64=7) %!d(string=hai) anos
pai
achega
cc53d40808

+ 11 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/DialogManager.java

@@ -7,6 +7,7 @@ import android.support.v4.app.FragmentManager;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.view.dialog.AddRegistrationDialog;
+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.DialogID;
 import kr.co.zumo.app.lifeplus.view.dialog.IDialogResultListener;
@@ -78,10 +79,19 @@ public class DialogManager {
         dialog.show(manager, "WEB");
         break;
       case DialogID.ADD_REGISTRATION:
-        AddRegistrationDialog dialog = new AddRegistrationDialog();
+        AddRegistrationDialog addRegistrationDialog = new AddRegistrationDialog();
+
+        dialog = addRegistrationDialog;
         dialog.setResultListener(listener);
         dialog.show(manager, "ADD REGISTRATION");
         break;
+      case DialogID.ALERT:
+        AlertDialog alertDialog = new AlertDialog();
+
+        dialog = alertDialog;
+        dialog.setResultListener(listener);
+        dialog.show(manager, "ALERT");
+        break;
       default:
         throw new Error("not support dialog.");
     }

+ 107 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/AlertDialog.java

@@ -0,0 +1,107 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.view.dialog;
+
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.app.DialogFragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.util.StringUtil;
+
+/**
+ * AlertDialog
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 9. 23.]   [최초 작성]
+ * @since 2018. 9. 23.
+ */
+public class AlertDialog extends DialogBase {
+
+  private String text;
+  private TextView textView;
+
+  @Override
+  public void onCreate(Bundle savedInstanceState) {
+    setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
+    setStyle(DialogFragment.STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
+    super.onCreate(savedInstanceState);
+  }
+
+  @Override
+  public void onDestroyView() {
+    super.onDestroyView();
+  }
+
+  /**
+   * 표시할 text 지정
+   *
+   * @param url
+   */
+  public void setText(String url) {
+    this.text = url;
+
+    render();
+  }
+
+  private void render() {
+    if (null != textView && StringUtil.isFull(text)) {
+      textView.setText(text);
+    }
+  }
+
+  @Nullable
+  @Override
+  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
+    return inflater.inflate(R.layout.alert_dialog, container, false);
+  }
+
+  @Override
+  public void onActivityCreated(Bundle savedInstanceState) {
+    super.onActivityCreated(savedInstanceState);
+
+    textView = getView().findViewById(R.id.text_alert_message);
+
+    render();
+
+  }
+
+  @Override
+  public void setEnabled() {
+
+  }
+
+  @Override
+  public void setDisabled() {
+
+  }
+
+  @Override
+  public void restart() {
+
+  }
+
+  @Override
+  public void onDismiss(DialogInterface dialog) {
+    super.onDismiss(dialog);
+  }
+
+  @Override
+  public void onCancel(DialogInterface dialog) {
+    super.onCancel(dialog);
+
+    if (null != resultListener) {
+      resultListener.onDialogResult(this, DialogResult.CODE_CANCEL, null);
+    }
+  }
+}

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

@@ -25,9 +25,10 @@ public class DialogID {
   public final static int INPUT_PIN = 2;
   public final static int WEB = 3;
   public final static int ADD_REGISTRATION = 4;
+  public final static int ALERT = 5;
 
   @Retention(RetentionPolicy.SOURCE)
-  @IntDef({NONE, REGISTER_PIN, MOBILE_AUTHORIZATION, INPUT_PIN, WEB, ADD_REGISTRATION})
+  @IntDef({NONE, REGISTER_PIN, MOBILE_AUTHORIZATION, INPUT_PIN, WEB, ADD_REGISTRATION, ALERT})
   public @interface ID {}
 
 }

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

@@ -4,6 +4,7 @@
 package kr.co.zumo.app.lifeplus.view.dialog;
 
 import android.os.Bundle;
+import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.v4.app.DialogFragment;
 import android.view.LayoutInflater;
@@ -60,9 +61,8 @@ public class WebDialog extends DialogBase {
 
   @Nullable
   @Override
-  public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
-    View view = inflater.inflate(R.layout.web_dialog, container, false);
-    return view;
+  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
+    return inflater.inflate(R.layout.web_dialog, container, false);
   }
 
   @Override

+ 15 - 0
app/src/main/res/layout/alert_dialog.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:app="http://schemas.android.com/apk/res-auto"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  android:gravity="center"
+  android:background="@color/colorAccent">
+
+  <TextView
+    android:id="@+id/text_alert_message"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"/>
+</LinearLayout>