Преглед изворни кода

[콘텐스상세][Common] 미가입그룹 혹은 비회원 콘텐츠 조회시 커스텀 알럿 띄움

Hasemi пре 6 година
родитељ
комит
4810a37757

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

@@ -27,6 +27,9 @@ import kr.co.zumo.app.lifeplus.view.Event;
 public class AlertDialog extends TextDialog<ICustomDialogListener<AlertDialog>> {
 
   protected boolean isCancelable = true;
+
+  protected boolean isTransparent;
+
   @StringRes
   protected int positiveButtonLabel = R.string.empty_string;
   @StringRes
@@ -66,6 +69,10 @@ public class AlertDialog extends TextDialog<ICustomDialogListener<AlertDialog>>
     isCancelable = cancelable;
   }
 
+  public void isTransparent(boolean isTransparent) {
+    this.isTransparent = isTransparent;
+  }
+
   @NonNull
   @Override
   public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -78,6 +85,9 @@ public class AlertDialog extends TextDialog<ICustomDialogListener<AlertDialog>>
     Dialog dialog = builder.create();
     dialog.setCancelable(isCancelable);
     dialog.setCanceledOnTouchOutside(isCancelable);
+    if(isTransparent){
+      dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
+    }
     // Create the AlertDialog object and return it
     return dialog;
 

+ 31 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsPresenter.java

@@ -27,6 +27,7 @@ import kr.co.zumo.app.lifeplus.view.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
 import kr.co.zumo.app.lifeplus.view.command.WebCommand;
+import kr.co.zumo.app.lifeplus.view.dialog.AlertDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.ConfirmDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
@@ -83,12 +84,15 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
           }
           else {
             // 미가입 그룹 못 봄
-            exitWithToast(R.string.unregister_group);
+            // exitWithToast(R.string.unregister_group);
+            // TODO:  커스텀 디자인 얼럿 띄우기
+            showAccessRightDialog();
           }
         }
         else {
           // 비회원 못 봄
-          exitWithToast(R.string.unregister_group);
+          //exitWithToast(R.string.unregister_group);
+          showAccessRightDialog();
         }
 
       }
@@ -625,4 +629,29 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
       super.onNavigationClickHome(navigationBar);
     });
   }
+
+  private void showAccessRightDialog() {
+    new DialogBuilder<AlertDialog, ICustomDialogListener>(getFragmentManager(), DialogID.ALERT)
+      .listener(new ICustomDialogListener<AlertDialog>() {
+        @Override
+        public void onDialogResult(AlertDialog dialog, Event event) {
+          back();
+        }
+
+        @Override
+        public void onDialogCanceled(AlertDialog dialog) {
+          dialog.dispose();
+          back();
+        }
+      })
+      .attribute(new IAttribute<AlertDialog>() {
+        @Override
+        public void onAttribute(AlertDialog dialog) {
+          dialog.isTransparent(true);
+          dialog.setCancelable(false);
+          dialog.setText(R.string.access_right_message);
+        }
+      })
+      .show();
+  }
 }

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -928,6 +928,7 @@
   <string name="undefined_list_type">데이터가 없습니다.</string>
   <string name="already_member">이미 회원입니다.</string>
   <string name="unregister_group">미가입 그룹의 콘텐츠입니다.</string>
+  <string name="access_right_message">유효한 접근 권한이 없습니다. 다시 확인해주세요.</string>
   <string name="invalid_data">invalid data</string>
   <!-- 임의 추가 문자열 : 끝 -->
 </resources>