Pārlūkot izejas kodu

[콘텐츠][New] 콘텐츠 페이지 전환 후 즉시 웨이터 표시

hyodong.min 6 gadi atpakaļ
vecāks
revīzija
b3f0628bb6

+ 24 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/animation/LoadingDriver.java

@@ -82,12 +82,31 @@ public class LoadingDriver {
     if (null != waiter && loadingCount < 1 && null == disposable) {
       disposable = Completable.timer(100, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread())
         .subscribe(() -> {
-          disposable = null;
-          loadingCount = 0;
-          waiter.hide();
-          waiter = null;
-          Log.d("APP# LoadingDriver | remove", "|" + " ------------- removed!! " + loadingCount);
+          removeInternal();
         });
     }
   }
+
+  private void removeInternal() {
+    disposable = null;
+    loadingCount = 0;
+    waiter.hide();
+    waiter = null;
+    Log.d("APP# LoadingDriver | remove", "|" + " ------------- removed!! " + loadingCount);
+  }
+
+  /**
+   * 로딩 강제 제거
+   *
+   * @param force
+   */
+  public void remove(boolean force) {
+    Log.d("APP# LoadingDriver | remove", "|" + " force: " + force);
+    if (force) {
+      removeInternal();
+    }
+    else {
+      remove();
+    }
+  }
 }

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

@@ -891,6 +891,12 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
       waiter.remove();
     }
   }
+  
+  protected void hideWaiter(boolean force) {
+    if (null != waiter) {
+      waiter.remove(force);
+    }
+  }
 
   /***********************************
    * IModelResult

+ 4 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsPresenter.java

@@ -208,6 +208,9 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
   @Override
   protected void startInternalOnceInternal() {
 
+    // 로딩 시작 전 이른 웨이터를 호출해둔다.
+    showWaiter(10);
+
     LifeplusContentsBean bean = model.getContentsBean();
     firebaseAnalyticsHelper.logScreen(R.string.fa_screen_contents, ResourceUtil.getString(R.string.fa_id_string, bean.getItemNo(), bean.getTitleWithTrim()));
 
@@ -345,7 +348,7 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
         break;
       case Event.COVER:
         // 커버 로딩 완료
-        hideWaiter();
+        hideWaiter(true);
         break;
       default:
         break;