diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 4dea98093..ff23a0f92 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -1287,16 +1287,18 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust @Override protected void onStart() { super.onStart(); - mPlayers.play(); setStop(false); + if (PiP.isIn(this)) return; + mPlayers.play(); Clock.start(); } @Override protected void onStop() { super.onStop(); - mPlayers.pause(); setStop(true); + if (PiP.isIn(this)) return; + mPlayers.pause(); Clock.stop(); } @@ -1316,6 +1318,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust protected void onDestroy() { super.onDestroy(); mPlayers.release(); + Clock.get().release(); RefreshEvent.history(); App.removeCallbacks(mR1, mR2, mR3); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 369ecfb6b..38bb54ebf 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -866,15 +866,15 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List @Override protected void onStart() { super.onStart(); - mPlayers.play(); setStop(false); + if (PiP.notIn(this)) mPlayers.play(); } @Override protected void onStop() { super.onStop(); - mPlayers.pause(); setStop(true); + if (PiP.notIn(this)) mPlayers.pause(); } @Override diff --git a/app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java b/app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java index 6dfbf1771..dffa4512f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java +++ b/app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java @@ -31,6 +31,14 @@ public class PiP { private PictureInPictureParams.Builder builder; + public static boolean isIn(Activity activity) { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && activity.isInPictureInPictureMode(); + } + + public static boolean notIn(Activity activity) { + return Build.VERSION.SDK_INT < Build.VERSION_CODES.O || !activity.isInPictureInPictureMode(); + } + private boolean noPiP() { return Build.VERSION.SDK_INT < Build.VERSION_CODES.O || !App.get().getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE); }