Browse Source

[이벤트][Common] 이벤트 앨범 접근 허용 팝업 기본 confirm으로 구현

Hasemi 6 years ago
parent
commit
7d0758555f

+ 0 - 63
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/AlbumPermissionDialog.java

@@ -1,63 +0,0 @@
-package kr.co.zumo.app.lifeplus.view.dialog;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.view.View;
-
-import kr.co.zumo.app.R;
-import kr.co.zumo.app.lifeplus.view.Event;
-
-/**
- * AlbumPermissionDialog
- * <pre>
- * </pre>
- *
- * @author 하세미
- * @version 1.0
- * @history 하세미   [2019-02-01]   [최초 작성]
- * @since 2019-02-01
- */
-public class AlbumPermissionDialog extends  DialogBase<ICustomDialogListener<AlbumPermissionDialog>>  {
-
-  @NonNull
-  @Override
-  public Dialog onCreateDialog(Bundle savedInstanceState) {
-    android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(getActivity());
-    View view = getActivity().getLayoutInflater().inflate(R.layout.album_permission_dialog, null); // TODO: 디자인 시안 안나옴 추후 적용예정
-    setupView(view);
-
-    builder.setView(view);
-    Dialog dialog = builder.create();
-    dialog.setCancelable(false);
-    dialog.setCanceledOnTouchOutside(false);
-    this.setCancelable(false);
-
-    // alert 의 기본 흰 배경 제거
-    dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
-
-    return dialog;
-  }
-
-  private void setupView(View view) {
-
-    //설정이동
-    view.findViewById(R.id.text_view_go_setting).setOnClickListener(view1 -> {
-      getCustomListener().onDialogResult(AlbumPermissionDialog.this, new Event.Builder(Event.SETTING).build());
-    });
-
-
-    //취소클릭
-    view.findViewById(R.id.text_view_cancel).setOnClickListener(view1 -> {
-      getCustomListener().onDialogCanceled(AlbumPermissionDialog.this);
-    });
-
-  }
-
-
-  @Override
-  protected void onActivityCreatedInternal() {
-
-  }
-
-}

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

@@ -4,7 +4,6 @@
 package kr.co.zumo.app.lifeplus.view.dialog.factory;
 package kr.co.zumo.app.lifeplus.view.dialog.factory;
 
 
 import kr.co.zumo.app.lifeplus.view.dialog.AddRegistrationDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.AddRegistrationDialog;
-import kr.co.zumo.app.lifeplus.view.dialog.AlbumPermissionDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.AlertDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.AlertDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.AppReviewDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.AppReviewDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.CategoryFilterDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.CategoryFilterDialog;
@@ -19,8 +18,8 @@ import kr.co.zumo.app.lifeplus.view.dialog.MoreInfoDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PinConfirmDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PinConfirmDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PinUnlockDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PinUnlockDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PolicyDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PolicyDialog;
-import kr.co.zumo.app.lifeplus.view.dialog.PromotionFullScreenDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PromotionDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PromotionDialog;
+import kr.co.zumo.app.lifeplus.view.dialog.PromotionFullScreenDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.SearchFilterDetailDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.SearchFilterDetailDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.SearchFilterDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.SearchFilterDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.ShareDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.ShareDialog;
@@ -99,9 +98,6 @@ public class BasicDialogFactory implements IDialogFactory {
       case DialogID.SEARCH_FILTER_DETAIL:
       case DialogID.SEARCH_FILTER_DETAIL:
         dialog = new SearchFilterDetailDialog();
         dialog = new SearchFilterDetailDialog();
         break;
         break;
-      case DialogID.ALBUM_PERMISSION:
-        dialog = new AlbumPermissionDialog();
-        break;
       default:
       default:
         throw new Error("Unsupported dialog.");
         throw new Error("Unsupported dialog.");
     }
     }

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionFragment.java

@@ -117,9 +117,8 @@ public class EventQuestionFragment extends FragmentBase<EventQuestionPresenter>
   public void goSettingPermission() {
   public void goSettingPermission() {
     Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
     Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
       .setData(Uri.parse("package:" + getContext().getPackageName()))
       .setData(Uri.parse("package:" + getContext().getPackageName()))
-      .addCategory(Intent.CATEGORY_DEFAULT)
-      .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-    
+      .addCategory(Intent.CATEGORY_DEFAULT);
+
     startActivity(intent);
     startActivity(intent);
   }
   }
 
 

+ 23 - 37
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionPresenter.java

@@ -1,14 +1,16 @@
 package kr.co.zumo.app.lifeplus.view.screen.event;
 package kr.co.zumo.app.lifeplus.view.screen.event;
 
 
+import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.EventDetailBean;
 import kr.co.zumo.app.lifeplus.bean.api.EventDetailBean;
 import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
+import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.Event;
-import kr.co.zumo.app.lifeplus.view.dialog.AlbumPermissionDialog;
+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.DialogBuilder;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
-import kr.co.zumo.app.lifeplus.view.dialog.ICustomDialogListener;
+import kr.co.zumo.app.lifeplus.view.dialog.ICustomConfirmListener;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
 
 /**
 /**
@@ -95,7 +97,7 @@ public class EventQuestionPresenter extends Presenter<EventQuestionModel, IEvent
         view.uploadAlbumImage();
         view.uploadAlbumImage();
         break;
         break;
       case Event.DIALOG: //권한 설정 완전 거부시 다이얼로그 임시
       case Event.DIALOG: //권한 설정 완전 거부시 다이얼로그 임시
-        showPermissionDialog();
+        showPermissionCheckDialog();
         break;
         break;
       default:
       default:
         break;
         break;
@@ -116,47 +118,31 @@ public class EventQuestionPresenter extends Presenter<EventQuestionModel, IEvent
     onBackPressed();
     onBackPressed();
   }
   }
 
 
-//  private void showPermissionCheckDialog() {
-//    new DialogBuilder<ConfirmDialog, ICustomConfirmListener>(getFragmentManager(), DialogID.CONFIRM)
-//      .listener(new ICustomConfirmListener<ConfirmDialog>() {
-//        @Override
-//        public void onPositiveResult(ConfirmDialog dialog, Event event) {
-//          view.goSettingPermission();
-//        }
-//
-//        @Override
-//        public void onNegativeResult(ConfirmDialog dialog, Event event) {
-//          dialog.dispose();
-//        }
-//
-//        @Override
-//        public void onDialogCanceled(ConfirmDialog dialog) {
-//          dialog.dispose();
-//        }
-//      })
-//      .attribute(dialog -> {
-//        dialog.setText(ResourceUtil.getString(R.string.album_permission_alert_contents));
-//        dialog.setPositiveButtonLabelId(R.string.album_permission_alert_positive);
-//        dialog.setNegativeButtonLabelId(R.string.album_permission_alert_negative);
-//      })
-//      .show();
-//  }
-
-  private void showPermissionDialog(){
-
-    new DialogBuilder<AlbumPermissionDialog, ICustomDialogListener>(getFragmentManager(), DialogID.ALBUM_PERMISSION)
-      .listener(new ICustomDialogListener<AlbumPermissionDialog>() {
-
+  private void showPermissionCheckDialog() {
+    new DialogBuilder<ConfirmDialog, ICustomConfirmListener>(getFragmentManager(), DialogID.CONFIRM)
+      .listener(new ICustomConfirmListener<ConfirmDialog>() {
         @Override
         @Override
-        public void onDialogResult(AlbumPermissionDialog dialog, Event event) {
+        public void onPositiveResult(ConfirmDialog dialog, Event event) {
           view.goSettingPermission();
           view.goSettingPermission();
         }
         }
 
 
         @Override
         @Override
-        public void onDialogCanceled(AlbumPermissionDialog dialog) {
-            dialog.dispose();
+        public void onNegativeResult(ConfirmDialog dialog, Event event) {
+          dialog.dispose();
+        }
+
+        @Override
+        public void onDialogCanceled(ConfirmDialog dialog) {
+          dialog.dispose();
         }
         }
       })
       })
+      .attribute(dialog -> {
+        dialog.setTitleId(R.string.album_permission_alert_title);
+        dialog.setText(ResourceUtil.getString(R.string.album_permission_alert_contents));
+        dialog.setPositiveButtonLabelId(R.string.album_permission_alert_positive);
+        dialog.setNegativeButtonLabelId(R.string.album_permission_alert_negative);
+      })
       .show();
       .show();
   }
   }
+
 }
 }

+ 0 - 86
app/src/main/res/layout/album_permission_dialog.xml

@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout
-  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="wrap_content"
-  android:layout_height="wrap_content"
-  tools:background="@color/C000000">
-
-  <android.support.constraint.ConstraintLayout
-    android:layout_width="287dp"
-    android:layout_height="221dp"
-    android:background="@drawable/rectangle_radius_4"
-    app:layout_constraintBottom_toBottomOf="parent"
-    app:layout_constraintEnd_toEndOf="parent"
-    app:layout_constraintStart_toStartOf="parent"
-    app:layout_constraintTop_toTopOf="parent">
-
-    <TextView
-      android:id="@+id/text_view_title"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginTop="35dp"
-      android:lineSpacingExtra="7sp"
-      android:text="@string/album_permission_alert_title"
-      android:textColor="@color/C000000"
-      android:textSize="18sp"
-      android:textStyle="bold"
-      app:layout_constraintEnd_toEndOf="parent"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toTopOf="parent"
-      />
-
-    <TextView
-      android:id="@+id/text_view_dialog_message"
-      android:layout_width="wrap_content"
-      android:layout_height="45dp"
-      android:layout_marginTop="20dp"
-      android:lineSpacingExtra="6sp"
-      android:text="@string/album_permission_alert_contents"
-      android:textAlignment="center"
-      android:textColor="@color/C000000"
-      android:textSize="14sp"
-      app:layout_constraintEnd_toEndOf="parent"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toBottomOf="@+id/text_view_title"
-      />
-
-    <TextView
-      android:id="@+id/text_view_cancel"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="26dp"
-      android:layout_marginBottom="22dp"
-      android:gravity="center_horizontal"
-      android:lineSpacingExtra="6sp"
-      android:padding="10dp"
-      android:text="@string/album_permission_alert_negative"
-      android:textColor="@color/C000000"
-      android:textSize="14sp"
-      android:textStyle="bold"
-      app:layout_constraintBottom_toBottomOf="parent"
-      app:layout_constraintStart_toStartOf="parent"
-
-      />
-
-    <TextView
-      android:id="@+id/text_view_go_setting"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginEnd="24dp"
-      android:layout_marginBottom="22dp"
-      android:gravity="center_horizontal"
-      android:lineSpacingExtra="6sp"
-      android:padding="10dp"
-      android:text="@string/album_permission_alert_positive"
-      android:textColor="@color/C000000"
-      android:textSize="14sp"
-      android:textStyle="bold"
-      app:layout_constraintBottom_toBottomOf="parent"
-      app:layout_constraintEnd_toEndOf="parent"
-      />
-
-
-  </android.support.constraint.ConstraintLayout>
-</android.support.constraint.ConstraintLayout>