Procházet zdrojové kódy

[컨텐츠][New] 좋아요/북마크 로딩 표시 안함

hyodong.min před 7 roky
rodič
revize
7ca62a52cf

+ 12 - 21
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIModuleListener.java

@@ -18,34 +18,25 @@ import kr.co.zumo.app.lifeplus.view.IWaiterCallable;
  * @history 민효동   [2018. 12. 20.]   [최초 작성]
  * @since 2018. 12. 20.
  */
-public abstract class APIModuleListener<T extends APIBean> implements IAPIModuleListener<T> {
-
-  protected IWaiterCallable waiterCaller;
+public abstract class APIModuleListener<T extends APIBean> extends APIModuleSimpleListener<T> implements IAPIModuleListener<T> {
 
+  /**
+   * 로딩 시 Waiter 표시하고 싶다면 IWaiterCallable 가 필요하다.
+   *
+   * @param waiterCaller IWaiterCallable -> 대부분의 경우 Presenter 가 역할을 하고 있음.
+   */
   public APIModuleListener(@NonNull IWaiterCallable waiterCaller) {
-    this.waiterCaller = waiterCaller;
-  }
-
-  @Override
-  public void onApiStart() {
-    if (null != waiterCaller) {
-      waiterCaller.showWaiter();
-    }
+    super(waiterCaller);
   }
 
-  @Override
-  public void onApiEnd() {
-    if (null != waiterCaller) {
-      waiterCaller.hideWaiter();
-    }
+  /**
+   * 로딩 시 Waiter 표시 없음.
+   */
+  public APIModuleListener() {
+    super();
   }
 
   @Override
   public abstract void onApiReason(T resultBean);
 
-  @Override
-  public abstract void onApiSuccess(T resultBean);
-
-  @Override
-  public abstract void onApiError(String errorMessage, APIError error);
 }

+ 13 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIModuleSimpleListener.java

@@ -20,12 +20,24 @@ import kr.co.zumo.app.lifeplus.view.IWaiterCallable;
  */
 public abstract class APIModuleSimpleListener<T extends APIBean> implements IAPIModuleSimpleListener<T> {
 
-  protected IWaiterCallable waiterCaller;
+  protected final IWaiterCallable waiterCaller;
 
+  /**
+   * 로딩 시 Waiter 표시하고 싶다면 IWaiterCallable 가 필요하다.
+   *
+   * @param waiterCaller IWaiterCallable -> 대부분의 경우 Presenter 가 역할을 하고 있음.
+   */
   public APIModuleSimpleListener(@NonNull IWaiterCallable waiterCaller) {
     this.waiterCaller = waiterCaller;
   }
 
+  /**
+   * 로딩 시 Waiter 표시 없음.
+   */
+  public APIModuleSimpleListener() {
+    waiterCaller = null;
+  }
+
   @Override
   public void onApiStart() {
     if (null != waiterCaller) {

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

@@ -236,7 +236,7 @@ public abstract class ContentsBaseModel extends Model {
 
   private void updateLikedInternal() {
     boolean toChecked = !contentsBean.isLiked();
-    disposableLiked = ContentsFlagHelper.getInstance().updateLiked(new ContentsFlagRequestBean(getUserName(), contentsBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>(waiterCaller) {
+    disposableLiked = ContentsFlagHelper.getInstance().updateLiked(new ContentsFlagRequestBean(getUserName(), contentsBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>() {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
         contentsBean.setLiked(toChecked);
@@ -266,7 +266,7 @@ public abstract class ContentsBaseModel extends Model {
 
   public void updateBookmarked() {
     boolean toChecked = !contentsBean.isBookmarked();
-    disposableBookmarked = ContentsFlagHelper.getInstance().updateBookmarked(new ContentsFlagRequestBean(getUserName(), contentsBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>(waiterCaller) {
+    disposableBookmarked = ContentsFlagHelper.getInstance().updateBookmarked(new ContentsFlagRequestBean(getUserName(), contentsBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>() {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
         contentsBean.setBookmarked(toChecked);

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

@@ -183,7 +183,7 @@ public class ContentsModel extends ContentsBaseModel {
 
   private void updateSeriesLikedInternal() {
     boolean toChecked = !selectedSeriesItemBean.isLiked();
-    disposableSeriesLiked = ContentsFlagHelper.getInstance().updateLiked(new ContentsFlagRequestBean(getUserName(), selectedSeriesItemBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>(waiterCaller) {
+    disposableSeriesLiked = ContentsFlagHelper.getInstance().updateLiked(new ContentsFlagRequestBean(getUserName(), selectedSeriesItemBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>() {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
         selectedSeriesItemBean.setLiked(toChecked);
@@ -201,7 +201,7 @@ public class ContentsModel extends ContentsBaseModel {
 
   public void updateSeriesBookmarked() {
     boolean toChecked = !selectedSeriesItemBean.isBookmarked();
-    disposableSeriesBookmarked = ContentsFlagHelper.getInstance().updateBookmarked(new ContentsFlagRequestBean(getUserName(), selectedSeriesItemBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>(waiterCaller) {
+    disposableSeriesBookmarked = ContentsFlagHelper.getInstance().updateBookmarked(new ContentsFlagRequestBean(getUserName(), selectedSeriesItemBean.getItemNumber(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>() {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
         selectedSeriesItemBean.setBookmarked(toChecked);