X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2FFabManager.java;h=bbacc3e4c0cff52a7d922bb92eb8ea92b4032aef;hp=96e9137286aa8d88227f8161371064752be4b77c;hb=HEAD;hpb=5e092e92f100f1d73006dbac4661e7f2c37b9005 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/FabManager.java b/app/src/main/java/net/ktnx/mobileledger/ui/FabManager.java index 96e91372..bbacc3e4 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/FabManager.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/FabManager.java @@ -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;