소스 검색

[공통][New] 인앱 브라우져 로딩 표시 좀 더 빠르게.

hyodong.min 6 년 전
부모
커밋
69096a6152

+ 1 - 0
.gitignore

@@ -82,3 +82,4 @@ google-services.json
 ehthumbs.db
 Thumbs.db
 .idea/fileTemplates
+CamelCaseConfigNew.xml

+ 6 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/animation/LoadingDriver.java

@@ -31,6 +31,8 @@ public class LoadingDriver {
   private Loading waiter = null;
   private Disposable disposable;
 
+  public static final int DELAY_DEFAULT_MS = 300;
+
   /**
    * 로딩 표시
    * 호출 될 때마다 카운트를 증가시켜 닫기를 대비한다.
@@ -46,6 +48,9 @@ public class LoadingDriver {
       disposable = null;
     }
     else if (null == waiter) {
+      if (delayMs < 0) {
+        delayMs = DELAY_DEFAULT_MS;
+      }
       waiter = new Loading(activity, delayMs);
       waiter.show();
       Log.d("APP# LoadingDriver | create", "|" + " ----------- create!! " + loadingCount);
@@ -62,7 +67,7 @@ public class LoadingDriver {
    * @return
    */
   public LoadingDriver create(Activity activity) {
-    create(activity, 300);
+    create(activity, DELAY_DEFAULT_MS);
     return this;
   }
 

+ 12 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/Presenter.java

@@ -774,16 +774,25 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
   /***********************************
    * IWaiterCallable
    ***********************************/
-  @Override
-  public void showWaiter() {
+  protected void showWaiter(int delayMs) {
     if (null == waiter) {
-      waiter = new LoadingDriver().create(view.getActivity());
+      if (delayMs < 0) {
+        waiter = new LoadingDriver().create(view.getActivity());
+      }
+      else {
+        waiter = new LoadingDriver().create(view.getActivity(), delayMs);
+      }
     }
     else {
       waiter.create(view.getActivity());
     }
   }
 
+  @Override
+  public void showWaiter() {
+    showWaiter(-1);
+  }
+
   @Override
   public void hideWaiter() {
     if (null != waiter) {

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/web/WebFromContentsPresenter.java

@@ -60,12 +60,11 @@ public class WebFromContentsPresenter extends Presenter<WebFromContentsModel, IW
 
   @Override
   protected void destroyInternal() {
-
+    hideWaiter();
   }
 
   @Override
   protected void destroyViewInternal() {
-
   }
 
   @Override
@@ -123,7 +122,7 @@ public class WebFromContentsPresenter extends Presenter<WebFromContentsModel, IW
   @Override
   public void onScreenReady() {
 
-    showWaiter();
+    showWaiter(0);
 
     view.loadUrl(model.getUrl());
 

+ 0 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/web/WebFromEventFragment.java

@@ -70,7 +70,6 @@ public class WebFromEventFragment extends FragmentBase<WebFromEventPresenter> im
         if (null != presenter) {
           presenter.onEvent(new Event.Builder(Event.COMPLETED).build());
         }
-
       }
 
       @Override

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/web/WebFromEventPresenter.java

@@ -58,12 +58,11 @@ public class WebFromEventPresenter extends Presenter<WebFromEventModel, IWebFrom
 
   @Override
   protected void destroyInternal() {
-
+    hideWaiter();
   }
 
   @Override
   protected void destroyViewInternal() {
-
   }
 
   @Override
@@ -121,7 +120,7 @@ public class WebFromEventPresenter extends Presenter<WebFromEventModel, IWebFrom
   @Override
   public void onScreenReady() {
 
-    showWaiter();
+    showWaiter(0);
 
     view.loadUrl(model.getUrl());
   }