Переглянути джерело

[메뉴][Bug] 노티 마커 표시 이벤트 연결 안됐던 것 수정

hyodong.min 6 роки тому
батько
коміт
9db10b3d98

+ 10 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/activity/AllMenuDriver.java

@@ -13,7 +13,6 @@ import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.helper.NavigationBar;
-import kr.co.zumo.app.lifeplus.model.LifeplusPreferences;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.push.PushMessageBroker;
 import kr.co.zumo.app.lifeplus.supervisor.PushMessageManager;
@@ -132,13 +131,20 @@ public class AllMenuDriver implements PushMessageBroker.IPushMessageListener, ID
   }
 
   private void dispatchMessage() {
-    if (hasMessages()) {
+    if (canDisplayMarker()) {
       navigationBar.setNotiMarker(true, true);
     }
   }
 
-  private boolean hasMessages() {
-    return pushMessageManager.hasMessages() && pushMessageManager.isUnread();
+  private boolean canDisplayMarker() {
+    return (null != pushMessageManager && pushMessageManager.hasMessages() && pushMessageManager.isUnread()) || (SuperModel.getInstance().getPreferences().isAppFirstOpened());
+  }
+
+  /***********************************
+   * public
+   ***********************************/
+  public void updateNoti() {
+    dispatchMessage();
   }
 
   /***********************************
@@ -157,11 +163,6 @@ public class AllMenuDriver implements PushMessageBroker.IPushMessageListener, ID
   public void onDrawerOpenStart() {
     setDefaultAnimationSetting();
     showMenuAnimation();
-
-    LifeplusPreferences preferences = SuperModel.getInstance().getPreferences();
-    if (preferences.getAppFirstOpened()) {
-      navigationBar.setNotiMarker(true, true);
-    }
   }
 
   @Override

+ 10 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/helper/AllMenuHelper.java

@@ -111,7 +111,6 @@ public class AllMenuHelper extends Helper implements IDrawerMenu, IDrawerEvent {
   public void openDrawer() {
     if (false == isDrawerOpen()) {
       drawerLayout.openDrawer(Gravity.END);
-      allMenuDriver.onDrawerOpenStart();
       onDrawerOpenStart();
     }
   }
@@ -123,7 +122,6 @@ public class AllMenuHelper extends Helper implements IDrawerMenu, IDrawerEvent {
   public void closeDrawer() {
     if (isDrawerOpen()) {
       drawerLayout.closeDrawer(Gravity.END);
-      allMenuDriver.onDrawerCloseStart();
       onDrawerCloseStart();
     }
   }
@@ -144,20 +142,30 @@ public class AllMenuHelper extends Helper implements IDrawerMenu, IDrawerEvent {
   @Override
   public void onDrawerOpenStart() {
     drawerListener.onDrawerOpenStart();
+    allMenuDriver.onDrawerOpenStart();
   }
 
   @Override
   public void onDrawerOpenEnd() {
     drawerListener.onDrawerOpenEnd();
+    allMenuDriver.onDrawerOpenEnd();
   }
 
   @Override
   public void onDrawerCloseStart() {
     drawerListener.onDrawerCloseStart();
+    allMenuDriver.onDrawerCloseStart();
   }
 
   @Override
   public void onDrawerCloseEnd() {
     drawerListener.onDrawerCloseEnd();
+    allMenuDriver.onDrawerCloseEnd();
+  }
+
+  public void updateNoti() {
+    if (null != allMenuDriver) {
+      allMenuDriver.updateNoti();
+    }
   }
 }

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/model/LifeplusPreferences.java

@@ -327,7 +327,7 @@ public class LifeplusPreferences {
     preferences.put(APP_FIRST_OPENED, isFirstOpened);
   }
 
-  public boolean getAppFirstOpened() {
+  public boolean isAppFirstOpened() {
     return preferences.get(APP_FIRST_OPENED, true);
   }
 

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/Presenter.java

@@ -125,6 +125,8 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
     model.start();
     startInternal();
 
+    allMenuHelper.updateNoti();
+
     if (false == resumed) {
       startInternalOnce();
     }