From 06f4898892c008ff2991fb59f7f7887e9ff73094 Mon Sep 17 00:00:00 2001 From: antonio Date: Tue, 12 Dec 2023 21:28:02 +0100 Subject: [PATCH] refactor/fix: renamed method name to be more descriptive and manually collapse bottomSheet on device state change --- .../tempo/ui/activity/MainActivity.java | 12 +++++++++--- .../tempo/ui/fragment/PlayerControllerFragment.java | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java b/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java index e40873e6..25913a55 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/activity/MainActivity.java @@ -94,7 +94,7 @@ public class MainActivity extends BaseActivity { @Override public void onBackPressed() { if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) - collapseBottomSheet(); + collapseBottomSheetDelayed(); else super.onBackPressed(); } @@ -118,7 +118,7 @@ public class MainActivity extends BaseActivity { bottomSheetBehavior.addBottomSheetCallback(bottomSheetCallback); fragmentManager.beginTransaction().replace(R.id.player_bottom_sheet, new PlayerBottomSheetFragment(), "PlayerBottomSheet").commit(); - setBottomSheetInPeek(mainViewModel.isQueueLoaded()); + checkBottomSheetAfterStateChanged(); } public void setBottomSheetInPeek(Boolean isVisible) { @@ -137,7 +137,13 @@ public class MainActivity extends BaseActivity { } } - public void collapseBottomSheet() { + private void checkBottomSheetAfterStateChanged() { + final Handler handler = new Handler(); + final Runnable runnable = () -> setBottomSheetInPeek(mainViewModel.isQueueLoaded()); + handler.postDelayed(runnable, 100); + } + + public void collapseBottomSheetDelayed() { final Handler handler = new Handler(); final Runnable runnable = () -> bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); handler.postDelayed(runnable, 100); diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java index 08e36a4a..306c8b50 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java @@ -296,7 +296,7 @@ public class PlayerControllerFragment extends Fragment { Bundle bundle = new Bundle(); bundle.putParcelable(Constants.ARTIST_OBJECT, artist); NavHostFragment.findNavController(this).navigate(R.id.artistPageFragment, bundle); - activity.collapseBottomSheet(); + activity.collapseBottomSheetDelayed(); }); } });