]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/FabManager.java
more pronounced day/month delimiters in the transaction list
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / FabManager.java
index 96e9137286aa8d88227f8161371064752be4b77c..bbacc3e4c0cff52a7d922bb92eb8ea92b4032aef 100644 (file)
@@ -23,6 +23,7 @@ import android.animation.TimeInterpolator;
 import android.annotation.SuppressLint;
 import android.content.Context;
 import android.os.Handler;
+import android.os.Looper;
 import android.view.MotionEvent;
 import android.view.ViewGroup;
 import android.view.ViewPropertyAnimator;
@@ -61,8 +62,10 @@ public class FabManager {
                               });
     }
     public void showFab() {
-        if (wantedFabState == FAB_SHOWN)
+        if (wantedFabState == FAB_SHOWN) {
+//            Logger.debug("fab", "Ignoring request to show already visible FAB");
             return;
+        }
 
 //        b.btnAddTransaction.show();
         if (this.fabSlideAnimator != null) {
@@ -70,13 +73,16 @@ public class FabManager {
             fab.clearAnimation();
         }
 
+        Logger.debug("fab", "Showing FAB");
         wantedFabState = FAB_SHOWN;
         slideFabTo(0, 200L,
                 com.google.android.material.animation.AnimationUtils.LINEAR_OUT_SLOW_IN_INTERPOLATOR);
     }
     public void hideFab() {
-        if (wantedFabState == FAB_HIDDEN)
+        if (wantedFabState == FAB_HIDDEN) {
+//            Logger.debug("fab", "Ignoring request to hide FAB -- already hidden");
             return;
+        }
 
         calcVerticalFabOffset();
 
@@ -86,6 +92,7 @@ public class FabManager {
             fab.clearAnimation();
         }
 
+        Logger.debug("fab", "Hiding FAB");
         wantedFabState = FAB_HIDDEN;
         slideFabTo(fabVerticalOffset, 150L,
                 com.google.android.material.animation.AnimationUtils.FAST_OUT_LINEAR_IN_INTERPOLATOR);
@@ -127,7 +134,7 @@ public class FabManager {
             recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
                 @Override
                 public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
-                    Logger.debug("touch", "Scrolled " + dy);
+//                    Logger.debug("touch", "Scrolled " + dy);
                     if (dy <= 0) {
                         showFab();
                     }
@@ -179,7 +186,7 @@ public class FabManager {
             generation++;
             int thisGeneration = generation;
             fabHandler.hideManagedFab();
-            new Handler().postDelayed(() -> {
+            new Handler(Looper.getMainLooper()).postDelayed(() -> {
                 if (generation != thisGeneration)
                     return;