mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-01 16:48:16 +08:00
@@ -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<RemoteAction> 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))
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.");
|
||||
|
||||
Reference in New Issue
Block a user