avoid updating player bottom sheet when not visible

This commit is contained in:
pca006132 2025-11-03 16:16:06 +08:00
parent ba94d7e5cc
commit 1dca1ef68d

View file

@ -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<MediaBrowser> 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);
};