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

[공통][New] Back key event Fragment 로 직접 전달, Action bar event -> Presenter 로 직접 전달

hyodong.min пре 7 година
родитељ
комит
14968d31bf

+ 6 - 80
app/src/main/java/kr/co/zumo/app/lifeplus/activity/MainActivity.java

@@ -5,21 +5,18 @@ package kr.co.zumo.app.lifeplus.activity;
 
 import android.os.Bundle;
 import android.support.annotation.CallSuper;
-import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
-import kr.co.zumo.app.lifeplus.manager.IActionBarListener;
-import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.supervisor.DialogHelper;
 import kr.co.zumo.app.lifeplus.supervisor.FragmentChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenChangerHelper;
+import kr.co.zumo.app.lifeplus.view.fragment.FragmentBase;
 import kr.co.zumo.app.lifeplus.view.fragment.factory.BasicFragmentFactory;
 import kr.co.zumo.app.lifeplus.view.fragment.factory.FragmentFactory;
-import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
 /**
  * MainActivity
@@ -31,7 +28,7 @@ import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
  * @history 민효동   [2018. 9. 5.]   [최초 작성]
  * @since 2018. 9. 5.
  */
-public class MainActivity extends AppCompatActivity implements IActionBarListener {
+public class MainActivity extends AppCompatActivity {
 
 
   /***********************************
@@ -49,7 +46,6 @@ public class MainActivity extends AppCompatActivity implements IActionBarListene
     DialogHelper.getInstance().setFragmentManager(getSupportFragmentManager());
 
     ActionBarManager.getInstance().init(this, this.getSupportActionBar());
-    ActionBarManager.getInstance().setListener(this);
 
     ScreenChangerHelper.getInstance().setAppCompatActivity(this);
     ScreenChangerHelper.getInstance().setContainerId(R.id.container_main);
@@ -66,7 +62,6 @@ public class MainActivity extends AppCompatActivity implements IActionBarListene
 
   }
 
-
   @CallSuper
   @Override
   protected void onDestroy() {
@@ -95,14 +90,11 @@ public class MainActivity extends AppCompatActivity implements IActionBarListene
     super.onStop();
   }
 
-  private Presenter getModelPresenter() {
-    return SuperModel.getInstance().getPresenter();
-  }
-
   private boolean exitToBack() {
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      return presenter.onBackPressed();
+    final FragmentBase fragment = (FragmentBase) getSupportFragmentManager().findFragmentById(R.id.container_main);
+    if (null != fragment) {
+      fragment.onBackPressed();
+      return true;
     }
     return false;
   }
@@ -116,71 +108,5 @@ public class MainActivity extends AppCompatActivity implements IActionBarListene
       super.onBackPressed();
     }
   }
-
-  /***********************************
-   * IActionBarListener
-   ***********************************/
-  @Override
-  public void onClickBack(ActionBar actionBar) {
-    Log.i("APP# MainActivity | onClickBack", "|" + "=====================================");
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      presenter.onClickBack(actionBar);
-    }
-  }
-
-  @Override
-  public void onClickTitle(ActionBar actionBar) {
-    Log.i("APP# MainActivity | onClickTitle", "|" + "=====================================");
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      presenter.onClickTitle(actionBar);
-    }
-  }
-
-  @Override
-  public void onClickSearch(ActionBar actionBar) {
-    Log.i("APP# MainActivity | onClickSearch", "|" + "=====================================");
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      presenter.onClickSearch(actionBar);
-    }
-  }
-
-  @Override
-  public void onClickMenu(ActionBar actionBar) {
-    Log.i("APP# MainActivity | onClickMenu", "|" + "=====================================");
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      presenter.onClickMenu(actionBar);
-    }
-  }
-
-  @Override
-  public void onClickLike(ActionBar actionBar) {
-    Log.i("APP# MainActivity | onClickLike", "|" + "=====================================");
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      presenter.onClickLike(actionBar);
-    }
-  }
-
-  @Override
-  public void onClickBookmark(ActionBar actionBar) {
-    Log.i("APP# MainActivity | onClickBookmark", "|" + "=====================================");
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      presenter.onClickBookmark(actionBar);
-    }
-  }
-
-  @Override
-  public void onClickShare(ActionBar actionBar) {
-    Log.i("APP# MainActivity | onClickShare", "|" + "=====================================");
-    Presenter presenter = getModelPresenter();
-    if (null != presenter) {
-      presenter.onClickShare(actionBar);
-    }
-  }
 }
 

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

@@ -109,7 +109,6 @@ public abstract class Model extends ViewModel implements ILifeCycle {
    */
   public void setPresenter(Presenter presenter) {
     Log.w("APP# Model | setPresenter", "|" + presenter.getClass().getSimpleName());
-    SuperModel.getInstance().setPresenter(presenter);
     this.presenter = presenter;
   }
 

+ 0 - 12
app/src/main/java/kr/co/zumo/app/lifeplus/model/SuperModel.java

@@ -223,17 +223,5 @@ public final class SuperModel {
 
   // fixme 임시로 슈퍼모델에 저장
   protected Presenter presenter;
-  /**
-   * set Presenter
-   *
-   * @param presenter
-   */
-  public void setPresenter(Presenter presenter) {
-    Log.w("APP# Model | setPresenter", "|" + presenter.getClass().getSimpleName());
-    this.presenter = presenter;
-  }
 
-  public Presenter getPresenter() {
-    return this.presenter;
-  }
 }

+ 9 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/FragmentBase.java

@@ -132,6 +132,15 @@ public abstract class FragmentBase<P extends Presenter> extends Fragment impleme
     return ModelProvider.getInstance().getModel(getActivity(), modelClass);
   }
 
+  /**
+   * Device back key
+   */
+  public void onBackPressed() {
+    if (null != presenter) {
+      presenter.onBackPressed();
+    }
+  }
+
   /***********************************
    * IView
    ***********************************/

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

@@ -9,6 +9,7 @@ import android.util.Log;
 import com.google.gson.Gson;
 
 import kr.co.zumo.app.lifeplus.ILifeCycle;
+import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
 import kr.co.zumo.app.lifeplus.manager.IActionBarListener;
 import kr.co.zumo.app.lifeplus.model.IModelResult;
 import kr.co.zumo.app.lifeplus.model.Model;
@@ -42,6 +43,7 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
 
     this.model.setListener(this);
     this.model.setPresenter(this);
+    ActionBarManager.getInstance().setListener(this);
   }
 
   /**