From 1dca1ef68df644d734c0a229c9d0fc16da96ba8b Mon Sep 17 00:00:00 2001 From: pca006132 Date: Mon, 3 Nov 2025 16:16:06 +0800 Subject: [PATCH] avoid updating player bottom sheet when not visible --- .../ui/fragment/PlayerBottomSheetFragment.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java index e2bca343..20774b75 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java @@ -3,6 +3,7 @@ package com.cappielloantonio.tempo.ui.fragment; import android.content.ComponentName; import android.os.Bundle; import android.os.Handler; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -47,7 +48,7 @@ public class PlayerBottomSheetFragment extends Fragment { private PlayerBottomSheetViewModel playerBottomSheetViewModel; private ListenableFuture mediaBrowserListenableFuture; - private Handler progressBarHandler; + private Handler progressBarHandler = null; private Runnable progressBarRunnable; @Nullable @@ -66,6 +67,14 @@ public class PlayerBottomSheetFragment extends Fragment { return view; } + @Override + public void onResume() { + super.onResume(); + if (progressBarHandler != null) + progressBarHandler.post(progressBarRunnable); + Log.d("Player", "resumed"); + } + @Override public void onStart() { super.onStart(); @@ -281,6 +290,10 @@ public class PlayerBottomSheetFragment extends Fragment { private void defineProgressBarHandler(MediaBrowser mediaBrowser) { progressBarHandler = new Handler(); progressBarRunnable = () -> { + if (!isResumed()) { + Log.d("Player", "not resumed"); + return; + } setProgress(mediaBrowser); progressBarHandler.postDelayed(progressBarRunnable, 1000); };