diff --git a/android/app/src/main/java/com/example/piliplus/AndroidHelper.java b/android/app/src/main/java/com/example/piliplus/AndroidHelper.java index 52e4866b2..ade186dbe 100644 --- a/android/app/src/main/java/com/example/piliplus/AndroidHelper.java +++ b/android/app/src/main/java/com/example/piliplus/AndroidHelper.java @@ -183,28 +183,30 @@ public final class AndroidHelper { @RequiresApi(api = Build.VERSION_CODES.O) private static void setPipActions(Activity activity, PictureInPictureParams.Builder builder, boolean isLive, boolean isPlaying) { + ComponentName mbrComponent = MediaHelper.getMediaButtonReceiverComponent(activity); + if (mbrComponent == null) return; ArrayList actionList = new ArrayList<>(); if (!isLive) { - actionList.add(getRemoteAction(activity, R.drawable.ic_baseline_replay_10_24, "ACTION_REWIND", PlaybackState.ACTION_REWIND)); + actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_baseline_replay_10_24, "ACTION_REWIND", PlaybackState.ACTION_REWIND)); } if (isPlaying) { - actionList.add(getRemoteAction(activity, android.R.drawable.ic_media_pause, "ACTION_PAUSE", PlaybackState.ACTION_PAUSE)); + actionList.add(getRemoteAction(mbrComponent, activity, android.R.drawable.ic_media_pause, "ACTION_PAUSE", PlaybackState.ACTION_PAUSE)); } else { - actionList.add(getRemoteAction(activity, android.R.drawable.ic_media_play, "ACTION_PLAY", PlaybackState.ACTION_PLAY)); + actionList.add(getRemoteAction(mbrComponent, activity, android.R.drawable.ic_media_play, "ACTION_PLAY", PlaybackState.ACTION_PLAY)); } if (!isLive) { - actionList.add(getRemoteAction(activity, R.drawable.ic_baseline_forward_10_24, "ACTION_FAST_FORWARD", PlaybackState.ACTION_FAST_FORWARD)); + actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_baseline_forward_10_24, "ACTION_FAST_FORWARD", PlaybackState.ACTION_FAST_FORWARD)); } builder.setActions(actionList); } @RequiresApi(api = Build.VERSION_CODES.O) - private static RemoteAction getRemoteAction(Activity activity, @DrawableRes int resId, String title, long action) { + private static RemoteAction getRemoteAction(@NonNull ComponentName mbrComponent, Activity activity, @DrawableRes int resId, String title, long action) { return new RemoteAction( Icon.createWithResource(activity, resId), title, title, - Objects.requireNonNull(MediaHelper.buildMediaButtonPendingIntent(activity, action)) + Objects.requireNonNull(MediaHelper.buildMediaButtonPendingIntent(activity, mbrComponent, action)) ); } diff --git a/android/app/src/main/java/com/example/piliplus/MediaHelper.java b/android/app/src/main/java/com/example/piliplus/MediaHelper.java index 93e864033..fda64108b 100644 --- a/android/app/src/main/java/com/example/piliplus/MediaHelper.java +++ b/android/app/src/main/java/com/example/piliplus/MediaHelper.java @@ -32,16 +32,6 @@ import java.util.List; public class MediaHelper { private static final String TAG = "MediaButtonReceiver"; - public static PendingIntent buildMediaButtonPendingIntent(Context context, long action) { - ComponentName mbrComponent = getMediaButtonReceiverComponent(context); - if (mbrComponent == null) { - Log.w(TAG, "A unique media button receiver could not be found in the given context, so " - + "couldn't build a pending intent."); - return null; - } - return buildMediaButtonPendingIntent(context, mbrComponent, action); - } - public static PendingIntent buildMediaButtonPendingIntent(Context context, ComponentName mbrComponent, long action) { if (mbrComponent == null) { Log.w(TAG, "The component name of media button receiver should be provided.");