diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java index 858bcb042..6c689d61e 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java @@ -4,7 +4,6 @@ import android.Manifest; import android.app.Activity; import android.content.ClipboardManager; import android.content.Context; -import android.content.pm.PackageManager; import android.os.Build; import android.os.IBinder; import android.provider.Settings; @@ -81,10 +80,6 @@ public class Utils { window.getDecorView().setSystemUiVisibility(flags); } - public static boolean hasPiP() { - return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && App.get().getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE); - } - public static boolean isAutoRotate() { return Settings.System.getInt(App.get().getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1; } 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 978340321..6dfbf1771 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 @@ -5,6 +5,7 @@ import android.app.PendingIntent; import android.app.PictureInPictureParams; import android.app.RemoteAction; import android.content.Intent; +import android.content.pm.PackageManager; import android.graphics.Rect; import android.graphics.drawable.Icon; import android.os.Build; @@ -13,6 +14,8 @@ import android.view.View; import androidx.media3.ui.R; +import com.fongmi.android.tv.App; + import java.util.ArrayList; import java.util.List; @@ -28,13 +31,17 @@ public class PiP { private PictureInPictureParams.Builder builder; + private boolean noPiP() { + return Build.VERSION.SDK_INT < Build.VERSION_CODES.O || !App.get().getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE); + } + public PiP() { - if (!Utils.hasPiP()) return; + if (noPiP()) return; this.builder = new PictureInPictureParams.Builder(); } public void update(Activity activity, View view) { - if (!Utils.hasPiP()) return; + if (noPiP()) return; Rect sourceRectHint = new Rect(); view.getGlobalVisibleRect(sourceRectHint); builder.setSourceRectHint(sourceRectHint); @@ -42,7 +49,7 @@ public class PiP { } public void update(Activity activity, boolean play) { - if (!Utils.hasPiP()) return; + if (noPiP()) return; List actions = new ArrayList<>(); int icon = play ? R.drawable.exo_icon_pause : R.drawable.exo_icon_play; actions.add(new RemoteAction(Icon.createWithResource(activity, R.drawable.exo_icon_previous), "", "", PendingIntent.getBroadcast(activity, CONTROL_TYPE_PREV, new Intent(ACTION_MEDIA_CONTROL).putExtra(EXTRA_CONTROL_TYPE, CONTROL_TYPE_PREV), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE))); @@ -53,7 +60,7 @@ public class PiP { public void enter(Activity activity, boolean four) { try { - if (!Utils.hasPiP() || activity.isInPictureInPictureMode()) return; + if (noPiP() || activity.isInPictureInPictureMode()) return; builder.setAspectRatio(new Rational(four ? 4 : 16, four ? 3 : 9)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) builder.setAutoEnterEnabled(true); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) builder.setSeamlessResizeEnabled(true);