瀏覽代碼

Merge branch 'develop' of https://github.com/swict/LifeplusAndroid into develop

hyodong.min 6 年之前
父節點
當前提交
c421563ef7

+ 1 - 1
app/build.gradle

@@ -38,7 +38,7 @@ android {
         applicationId "kr.co.zumo.app"
         minSdkVersion 19    // 4.4
         targetSdkVersion 27
-        versionCode 149
+        versionCode 169
         versionName "4.0.0.125"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         multiDexEnabled true

+ 0 - 59
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventListAdapter.java

@@ -1,59 +0,0 @@
-package kr.co.zumo.app.lifeplus.view.screen.event;
-
-import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import java.util.List;
-
-import kr.co.zumo.app.R;
-import kr.co.zumo.app.lifeplus.bean.api.EventBean;
-import kr.co.zumo.app.lifeplus.view.IEventListener;
-
-/**
- * EventListAdapter
- * <pre>
- * </pre>
- *
- * @author 하세미
- * @version 1.0
- * @history 하세미   [2019-01-03]   [최초 작성]
- * @since 2019-01-03
- */
-public class EventListAdapter extends RecyclerView.Adapter<EventListViewHolder> {
-
-  private LayoutInflater inflater;
-  private IEventListener listener;
-  private List<EventBean> eventBeans;
-
-  public EventListAdapter(Context context, List<EventBean> eventBeans, IEventListener listener) {
-    this.eventBeans = eventBeans;
-    this.listener = listener;
-    this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-  }
-
-  @NonNull
-  @Override
-  public EventListViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-    View view = inflater.inflate(R.layout.event_item_view, parent, false);
-    return new EventListViewHolder(view);
-  }
-
-  @Override
-  public void onBindViewHolder(@NonNull EventListViewHolder holder, int position) {
-
-    holder.init(eventBeans.get(holder.getAdapterPosition()), event -> {
-      if (null != listener) {
-        listener.onEvent(event);
-      }
-    });
-  }
-
-  @Override
-  public int getItemCount() {
-    return eventBeans.size();
-  }
-}

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

@@ -33,7 +33,7 @@ public class EventListFragment extends FragmentBase<EventListPresenter> implemen
   private ViewPager recyclerViewEvent;
   private TabLayout eventTab;
   private ConstraintLayout layoutMyEvent;
-  private EventViewPagerAdapter adapter;
+  private EventListViewPagerAdapter adapter;
   private ConstraintLayout layoutListNone;
 
   @Override
@@ -83,7 +83,7 @@ public class EventListFragment extends FragmentBase<EventListPresenter> implemen
   @Override
   public void draw(List<EventBean> eventBeans) {
 
-    adapter = new EventViewPagerAdapter(getActivity(), eventBeans, event -> {
+    adapter = new EventListViewPagerAdapter(getActivity(), eventBeans, event -> {
       switch (event.getEventId()) {
         case Event.CLICK:
           presenter.onEvent(new Event.Builder(Event.CLICK).index(recyclerViewEvent.getCurrentItem()).build());

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

@@ -26,7 +26,7 @@ import kr.co.zumo.app.lifeplus.view.IEventListener;
  * @history 하세미   [2019-03-18]   [최초 작성]
  * @since 2019-03-18
  */
-public class EventViewPagerAdapter extends PagerAdapter {
+public class EventListViewPagerAdapter extends PagerAdapter {
 
   private LayoutInflater inflater;
   private IEventListener listener;
@@ -35,7 +35,7 @@ public class EventViewPagerAdapter extends PagerAdapter {
   private Map<View, Integer> indexMap;
   private Map<View, EventListViewHolder> holderMap;
 
-  public EventViewPagerAdapter(Context context, List<EventBean> eventBeans, IEventListener listener) {
+  public EventListViewPagerAdapter(Context context, List<EventBean> eventBeans, IEventListener listener) {
     this.eventBeans = eventBeans;
     this.listener = listener;
     this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

+ 13 - 10
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainPresenter.java

@@ -99,10 +99,10 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
 
     model.loadWeather();
 
-    if (model.canDisplayNewbiePopup()) {
+    /*if (model.canDisplayNewbiePopup()) {
       // 회원 가입 팝업 표시
       showNewbiePopup();
-    }
+    }*/
 
     model.loadPopupInfo();
   }
@@ -110,7 +110,8 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
   @Override
   protected void stopInternal() {
     clearTimer();
-    closeNewbiePopup();
+
+//    closeNewbiePopup();
   }
 
   @Override
@@ -201,9 +202,9 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
         if (event.getInteger() == Event.LOADING_WEATHER) {
           onWeatherComplete();
         }
-        else if (event.getInteger() == Event.LOADED_POPUP_INFO) {
+        /*else if (event.getInteger() == Event.LOADED_POPUP_INFO) {
           startNewbiePopupTimer();
-        }
+        }*/
         else {
           showErrorDialog(event.getString());
         }
@@ -557,7 +558,7 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
 
     if (false == model.isVisiblePromotion() || null == model.getPromotionPopupBeans() || model.getPromotionPopupBeans().size() < 1) {
 
-      startNewbiePopupTimer();
+//      startNewbiePopupTimer();
       return;
     }
 
@@ -576,7 +577,7 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
         @Override
         public void onDialogResult(PromotionDialog dialog, Event event) {
           dialog.dispose();
-          startNewbiePopupTimer();
+//          startNewbiePopupTimer();
           if (event.getEventId() == Event.TODAY) {
             model.setPromotionSkipTime();
           }
@@ -589,7 +590,7 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
         @Override
         public void onDialogCanceled(PromotionDialog dialog) {
           dialog.dispose();
-          startNewbiePopupTimer();
+//          startNewbiePopupTimer();
         }
       })
       .attribute(dialog -> {
@@ -598,7 +599,9 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
       .show();
   }
 
-  private void closeNewbiePopup() {
+
+  //TODO: 뉴비팝업 제거
+  /*private void closeNewbiePopup() {
     if (null != disposableNewbie) {
       disposableNewbie.dispose();
       disposableNewbie = null;
@@ -618,7 +621,7 @@ public class MainPresenter extends Presenter<MainModel, IMainView> {
           view.setNewbieLayoutVisible(false);
         });
     }
-  }
+  }*/
 
   /**
    * GA 에 이용되는 현재 화면의 이름

+ 29 - 14
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/splash/SplashDebugPresenter.java

@@ -9,6 +9,7 @@ import android.content.pm.PackageManager;
 import android.provider.Settings;
 import android.support.annotation.NonNull;
 import android.util.Log;
+import android.view.View;
 
 import java.util.Arrays;
 
@@ -28,6 +29,7 @@ import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogProvider;
 import kr.co.zumo.app.lifeplus.zumo.bean.api.MemberInfoBean;
+import kr.co.zumo.app.lifeplus.zumo.common.PermissionDialog;
 
 /**
  * SplashPresenter
@@ -71,22 +73,35 @@ public class SplashDebugPresenter extends ScreenStarterPresenter<SplashModel, IS
   @Override
   protected void startInternalOnce() {
 
-    // 전체 퍼미션 확인
-
-    // 앱 첫 실행시에만 실행한다.
-    if (model.getFirstPermissionCompleted()) {
-      // 이미 처리 완료했음.
-      onPermissionCompleted();
+    // 최초 실행 기준 1회 사용자에게 관련 권한 내용 고지
+    // 권한 내용 고지 완료 후 퍼미션 확인 프로세스 진행
+    if(SuperModel.getInstance().getPreferences().getFirstDialogCompleted() == false) {
+      SuperModel.getInstance().getPreferences().setFirstDialogCompleted();
+      new PermissionDialog(view.getActivity(), view -> {
+        checkPermission();
+      }).show();
+    } else {
+        checkPermission();
     }
-    else {
-      model.setFirstPermissionCompleted();
+  }
 
-      launchPushPermission(() -> {
-        launchDeviceLocationPermission(() -> {
-          launchLocationPermission(/* 권한 처리 종료 */this::onPermissionCompleted);
-        });
-      });
-    }
+  private void checkPermission() {
+      // 전체 퍼미션 확인
+
+      // 앱 첫 실행시에만 실행한다.
+      if (model.getFirstPermissionCompleted()) {
+          // 이미 처리 완료했음.
+          onPermissionCompleted();
+      }
+      else {
+          model.setFirstPermissionCompleted();
+
+          launchPushPermission(() -> {
+              launchDeviceLocationPermission(() -> {
+                  launchLocationPermission(/* 권한 처리 종료 */SplashDebugPresenter.this::onPermissionCompleted);
+              });
+          });
+      }
   }
 
   @Override

+ 0 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/zumo/activity/SignInActivity.java

@@ -44,12 +44,6 @@ public class SignInActivity extends AppCompatActivity {
             signInFragment = SignInFragment.newInstance();
             getSupportFragmentManager().beginTransaction().replace(R.id.container, signInFragment).commitNow();
         }
-
-        // 최초 실행 기준 1회 사용자에게 관련 권한 내용 고지
-        if(SuperModel.getInstance().getPreferences().getFirstDialogCompleted() == false) {
-            SuperModel.getInstance().getPreferences().setFirstDialogCompleted();
-            new PermissionDialog(this).show();
-        }
     }
 
     @Override

+ 11 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/zumo/common/PermissionDialog.java

@@ -4,14 +4,18 @@ import android.app.Dialog;
 import android.content.Context;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
+import android.view.View;
 
 import kr.co.zumo.app.R;
 
 public class PermissionDialog extends Dialog {
 
+    private View.OnClickListener onClickListener;
 
-    public PermissionDialog(@NonNull Context context) {
+    public PermissionDialog(@NonNull Context context, View.OnClickListener listener) {
         super(context);
+        this.onClickListener = listener;
+        this.setCancelable(false);
     }
 
     @Override
@@ -20,6 +24,11 @@ public class PermissionDialog extends Dialog {
 
         setContentView(R.layout.dialog_permission);
 
-        findViewById(R.id.tv_confirm).setOnClickListener(view -> PermissionDialog.this.dismiss());
+        findViewById(R.id.tv_confirm).setOnClickListener(view -> {
+            if(onClickListener != null) {
+                onClickListener.onClick(view);
+            }
+            PermissionDialog.this.dismiss();
+        });
     }
 }