jimu-decompiled/sources/android/support/v4/media/session/MediaControllerCompatApi21.java
2025-05-13 19:24:51 +02:00

145 lines
4.3 KiB
Java

package android.support.v4.media.session;
import android.content.Context;
import android.media.AudioAttributes;
import android.media.MediaMetadata;
import android.media.session.MediaController;
import android.media.session.MediaSession;
import android.media.session.PlaybackState;
import android.os.Bundle;
import android.os.ResultReceiver;
import android.view.KeyEvent;
import java.util.List;
/* loaded from: classes.dex */
class MediaControllerCompatApi21 {
public interface Callback {
void a(int i, int i2, int i3, int i4, int i5);
void a(Bundle bundle);
void a(CharSequence charSequence);
void a(Object obj);
void a(String str, Bundle bundle);
void a(List<?> list);
void b();
void b(Object obj);
}
static class CallbackProxy<T extends Callback> extends MediaController.Callback {
protected final T a;
public CallbackProxy(T t) {
this.a = t;
}
@Override // android.media.session.MediaController.Callback
public void onAudioInfoChanged(MediaController.PlaybackInfo playbackInfo) {
this.a.a(playbackInfo.getPlaybackType(), PlaybackInfo.b(playbackInfo), playbackInfo.getVolumeControl(), playbackInfo.getMaxVolume(), playbackInfo.getCurrentVolume());
}
@Override // android.media.session.MediaController.Callback
public void onExtrasChanged(Bundle bundle) {
MediaSessionCompat.a(bundle);
this.a.a(bundle);
}
@Override // android.media.session.MediaController.Callback
public void onMetadataChanged(MediaMetadata mediaMetadata) {
this.a.a(mediaMetadata);
}
@Override // android.media.session.MediaController.Callback
public void onPlaybackStateChanged(PlaybackState playbackState) {
this.a.b(playbackState);
}
@Override // android.media.session.MediaController.Callback
public void onQueueChanged(List<MediaSession.QueueItem> list) {
this.a.a(list);
}
@Override // android.media.session.MediaController.Callback
public void onQueueTitleChanged(CharSequence charSequence) {
this.a.a(charSequence);
}
@Override // android.media.session.MediaController.Callback
public void onSessionDestroyed() {
this.a.b();
}
@Override // android.media.session.MediaController.Callback
public void onSessionEvent(String str, Bundle bundle) {
MediaSessionCompat.a(bundle);
this.a.a(str, bundle);
}
}
public static class PlaybackInfo {
public static AudioAttributes a(Object obj) {
return ((MediaController.PlaybackInfo) obj).getAudioAttributes();
}
public static int b(Object obj) {
return a(a(obj));
}
private static int a(AudioAttributes audioAttributes) {
if ((audioAttributes.getFlags() & 1) == 1) {
return 7;
}
if ((audioAttributes.getFlags() & 4) == 4) {
return 6;
}
switch (audioAttributes.getUsage()) {
case 1:
case 11:
case 12:
case 14:
return 3;
case 2:
return 0;
case 3:
return 8;
case 4:
return 4;
case 5:
case 7:
case 8:
case 9:
case 10:
return 5;
case 6:
return 2;
case 13:
return 1;
default:
return 3;
}
}
}
public static Object a(Context context, Object obj) {
return new MediaController(context, (MediaSession.Token) obj);
}
public static Object a(Callback callback) {
return new CallbackProxy(callback);
}
public static boolean a(Object obj, KeyEvent keyEvent) {
return ((MediaController) obj).dispatchMediaButtonEvent(keyEvent);
}
public static void a(Object obj, String str, Bundle bundle, ResultReceiver resultReceiver) {
((MediaController) obj).sendCommand(str, bundle, resultReceiver);
}
}