opt: java

This commit is contained in:
My-Responsitories
2026-06-02 13:44:02 +08:00
committed by dom
parent eecd794fdf
commit 3f818807b3
2 changed files with 23 additions and 30 deletions

View File

@@ -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,

View File

@@ -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();