mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-08 03:54:49 +08:00
opt: java
This commit is contained in:
@@ -74,7 +74,7 @@ public final class AndroidHelper {
|
|||||||
}
|
}
|
||||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
} catch (Throwable ignored) {
|
} catch (Exception ignored) {
|
||||||
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, uri);
|
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, uri);
|
||||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
@@ -126,23 +126,23 @@ public final class AndroidHelper {
|
|||||||
private static void setPipActions(Activity activity, PictureInPictureParams.Builder builder, boolean isLive, boolean isPlaying) {
|
private static void setPipActions(Activity activity, PictureInPictureParams.Builder builder, boolean isLive, boolean isPlaying) {
|
||||||
ComponentName mbrComponent = MediaHelper.getMediaButtonReceiverComponent(activity);
|
ComponentName mbrComponent = MediaHelper.getMediaButtonReceiverComponent(activity);
|
||||||
if (mbrComponent == null) return;
|
if (mbrComponent == null) return;
|
||||||
ArrayList<RemoteAction> actionList = new ArrayList<>();
|
ArrayList<RemoteAction> actionList = new ArrayList<>(3);
|
||||||
if (!isLive) {
|
if (!isLive) {
|
||||||
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_rewind_10s, "ACTION_REWIND", PlaybackState.ACTION_REWIND));
|
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_rewind_10s, "ACTION_REWIND", (int) PlaybackState.ACTION_REWIND));
|
||||||
}
|
}
|
||||||
if (isPlaying) {
|
if (isPlaying) {
|
||||||
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_pause, "ACTION_PAUSE", PlaybackState.ACTION_PAUSE));
|
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_pause, "ACTION_PAUSE", (int) PlaybackState.ACTION_PAUSE));
|
||||||
} else {
|
} else {
|
||||||
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_play, "ACTION_PLAY", PlaybackState.ACTION_PLAY));
|
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_play, "ACTION_PLAY", (int) PlaybackState.ACTION_PLAY));
|
||||||
}
|
}
|
||||||
if (!isLive) {
|
if (!isLive) {
|
||||||
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_fast_forward_10s, "ACTION_FAST_FORWARD", PlaybackState.ACTION_FAST_FORWARD));
|
actionList.add(getRemoteAction(mbrComponent, activity, R.drawable.ic_player_fast_forward_10s, "ACTION_FAST_FORWARD", (int) PlaybackState.ACTION_FAST_FORWARD));
|
||||||
}
|
}
|
||||||
builder.setActions(actionList);
|
builder.setActions(actionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||||
private static RemoteAction getRemoteAction(@NonNull ComponentName mbrComponent, Activity activity, @DrawableRes int resId, String title, long action) {
|
private static RemoteAction getRemoteAction(@NonNull ComponentName mbrComponent, Activity activity, @DrawableRes int resId, String title, int action) {
|
||||||
return new RemoteAction(
|
return new RemoteAction(
|
||||||
Icon.createWithResource(activity, resId),
|
Icon.createWithResource(activity, resId),
|
||||||
title,
|
title,
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ import android.view.KeyEvent;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class MediaHelper {
|
class MediaHelper {
|
||||||
private static final String TAG = "MediaButtonReceiver";
|
private static final String TAG = "MediaButtonReceiver";
|
||||||
|
|
||||||
public static PendingIntent buildMediaButtonPendingIntent(Context context, ComponentName mbrComponent, long action) {
|
static PendingIntent buildMediaButtonPendingIntent(Context context, ComponentName mbrComponent, int action) {
|
||||||
if (mbrComponent == null) {
|
if (mbrComponent == null) {
|
||||||
Log.w(TAG, "The component name of media button receiver should be provided.");
|
Log.w(TAG, "The component name of media button receiver should be provided.");
|
||||||
return null;
|
return null;
|
||||||
@@ -48,31 +48,24 @@ public class MediaHelper {
|
|||||||
intent.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, keyCode));
|
intent.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, keyCode));
|
||||||
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
|
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
|
||||||
return PendingIntent.getBroadcast(context, keyCode, intent,
|
return PendingIntent.getBroadcast(context, keyCode, intent,
|
||||||
Build.VERSION.SDK_INT >= 31 ? PendingIntent.FLAG_MUTABLE : 0);
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ? PendingIntent.FLAG_MUTABLE : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int PlaybackStateCompat_toKeyCode(long action) {
|
private static int PlaybackStateCompat_toKeyCode(int action) {
|
||||||
if (action == PlaybackState.ACTION_PLAY) {
|
return switch (action) {
|
||||||
return KeyEvent.KEYCODE_MEDIA_PLAY;
|
case (int) PlaybackState.ACTION_STOP -> KeyEvent.KEYCODE_MEDIA_STOP;
|
||||||
} else if (action == PlaybackState.ACTION_PAUSE) {
|
case (int) PlaybackState.ACTION_PAUSE -> KeyEvent.KEYCODE_MEDIA_PAUSE;
|
||||||
return KeyEvent.KEYCODE_MEDIA_PAUSE;
|
case (int) PlaybackState.ACTION_PLAY -> KeyEvent.KEYCODE_MEDIA_PLAY;
|
||||||
} else if (action == PlaybackState.ACTION_SKIP_TO_NEXT) {
|
case (int) PlaybackState.ACTION_REWIND -> KeyEvent.KEYCODE_MEDIA_REWIND;
|
||||||
return KeyEvent.KEYCODE_MEDIA_NEXT;
|
case (int) PlaybackState.ACTION_SKIP_TO_PREVIOUS -> KeyEvent.KEYCODE_MEDIA_PREVIOUS;
|
||||||
} else if (action == PlaybackState.ACTION_SKIP_TO_PREVIOUS) {
|
case (int) PlaybackState.ACTION_SKIP_TO_NEXT -> KeyEvent.KEYCODE_MEDIA_NEXT;
|
||||||
return KeyEvent.KEYCODE_MEDIA_PREVIOUS;
|
case (int) PlaybackState.ACTION_FAST_FORWARD -> KeyEvent.KEYCODE_MEDIA_FAST_FORWARD;
|
||||||
} else if (action == PlaybackState.ACTION_STOP) {
|
case (int) PlaybackState.ACTION_PLAY_PAUSE -> KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE;
|
||||||
return KeyEvent.KEYCODE_MEDIA_STOP;
|
default -> KeyEvent.KEYCODE_UNKNOWN;
|
||||||
} else if (action == PlaybackState.ACTION_FAST_FORWARD) {
|
};
|
||||||
return KeyEvent.KEYCODE_MEDIA_FAST_FORWARD;
|
|
||||||
} else if (action == PlaybackState.ACTION_REWIND) {
|
|
||||||
return KeyEvent.KEYCODE_MEDIA_REWIND;
|
|
||||||
} else if (action == PlaybackState.ACTION_PLAY_PAUSE) {
|
|
||||||
return KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE;
|
|
||||||
}
|
|
||||||
return KeyEvent.KEYCODE_UNKNOWN;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ComponentName getMediaButtonReceiverComponent(Context context) {
|
static ComponentName getMediaButtonReceiverComponent(Context context) {
|
||||||
Intent queryIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
|
Intent queryIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
|
||||||
queryIntent.setPackage(context.getPackageName());
|
queryIntent.setPackage(context.getPackageName());
|
||||||
PackageManager pm = context.getPackageManager();
|
PackageManager pm = context.getPackageManager();
|
||||||
|
|||||||
Reference in New Issue
Block a user