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(); }); } });