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

288 lines
12 KiB
Java

package android.support.v4.media;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.v4.media.MediaDescriptionCompat;
import android.support.v4.media.session.MediaSessionCompat;
import android.text.TextUtils;
import android.util.Log;
import androidx.collection.ArrayMap;
import java.util.Set;
/* loaded from: classes.dex */
public final class MediaMetadataCompat implements Parcelable {
public static final Parcelable.Creator<MediaMetadataCompat> CREATOR;
static final ArrayMap<String, Integer> METADATA_KEYS_TYPE = new ArrayMap<>();
public static final String METADATA_KEY_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
public static final String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI";
public static final String METADATA_KEY_ART = "android.media.metadata.ART";
public static final String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST";
public static final String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI";
public static final String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR";
public static final String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE";
public static final String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION";
public static final String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER";
public static final String METADATA_KEY_DATE = "android.media.metadata.DATE";
public static final String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
public static final String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION";
public static final String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON";
public static final String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI";
public static final String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE";
public static final String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE";
public static final String METADATA_KEY_DOWNLOAD_STATUS = "android.media.metadata.DOWNLOAD_STATUS";
public static final String METADATA_KEY_DURATION = "android.media.metadata.DURATION";
public static final String METADATA_KEY_GENRE = "android.media.metadata.GENRE";
public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID";
public static final String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI";
public static final String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS";
public static final String METADATA_KEY_RATING = "android.media.metadata.RATING";
public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE";
public static final String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
public static final String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING";
public static final String METADATA_KEY_WRITER = "android.media.metadata.WRITER";
public static final String METADATA_KEY_YEAR = "android.media.metadata.YEAR";
static final int METADATA_TYPE_BITMAP = 2;
static final int METADATA_TYPE_LONG = 0;
static final int METADATA_TYPE_RATING = 3;
static final int METADATA_TYPE_TEXT = 1;
private static final String[] PREFERRED_BITMAP_ORDER;
private static final String[] PREFERRED_DESCRIPTION_ORDER;
private static final String[] PREFERRED_URI_ORDER;
private static final String TAG = "MediaMetadata";
final Bundle mBundle;
private MediaDescriptionCompat mDescription;
private Object mMetadataObj;
static {
METADATA_KEYS_TYPE.put(METADATA_KEY_TITLE, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_ARTIST, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_DURATION, 0);
METADATA_KEYS_TYPE.put(METADATA_KEY_ALBUM, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_AUTHOR, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_WRITER, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_COMPOSER, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_COMPILATION, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_DATE, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_YEAR, 0);
METADATA_KEYS_TYPE.put(METADATA_KEY_GENRE, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_TRACK_NUMBER, 0);
METADATA_KEYS_TYPE.put(METADATA_KEY_NUM_TRACKS, 0);
METADATA_KEYS_TYPE.put(METADATA_KEY_DISC_NUMBER, 0);
METADATA_KEYS_TYPE.put(METADATA_KEY_ALBUM_ARTIST, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_ART, 2);
METADATA_KEYS_TYPE.put(METADATA_KEY_ART_URI, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_ALBUM_ART, 2);
METADATA_KEYS_TYPE.put(METADATA_KEY_ALBUM_ART_URI, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_USER_RATING, 3);
METADATA_KEYS_TYPE.put(METADATA_KEY_RATING, 3);
METADATA_KEYS_TYPE.put(METADATA_KEY_DISPLAY_TITLE, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_DISPLAY_SUBTITLE, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_DISPLAY_DESCRIPTION, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_DISPLAY_ICON, 2);
METADATA_KEYS_TYPE.put(METADATA_KEY_DISPLAY_ICON_URI, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_MEDIA_ID, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_BT_FOLDER_TYPE, 0);
METADATA_KEYS_TYPE.put(METADATA_KEY_MEDIA_URI, 1);
METADATA_KEYS_TYPE.put(METADATA_KEY_ADVERTISEMENT, 0);
METADATA_KEYS_TYPE.put(METADATA_KEY_DOWNLOAD_STATUS, 0);
PREFERRED_DESCRIPTION_ORDER = new String[]{METADATA_KEY_TITLE, METADATA_KEY_ARTIST, METADATA_KEY_ALBUM, METADATA_KEY_ALBUM_ARTIST, METADATA_KEY_WRITER, METADATA_KEY_AUTHOR, METADATA_KEY_COMPOSER};
PREFERRED_BITMAP_ORDER = new String[]{METADATA_KEY_DISPLAY_ICON, METADATA_KEY_ART, METADATA_KEY_ALBUM_ART};
PREFERRED_URI_ORDER = new String[]{METADATA_KEY_DISPLAY_ICON_URI, METADATA_KEY_ART_URI, METADATA_KEY_ALBUM_ART_URI};
CREATOR = new Parcelable.Creator<MediaMetadataCompat>() { // from class: android.support.v4.media.MediaMetadataCompat.1
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public MediaMetadataCompat createFromParcel(Parcel parcel) {
return new MediaMetadataCompat(parcel);
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public MediaMetadataCompat[] newArray(int i) {
return new MediaMetadataCompat[i];
}
};
}
MediaMetadataCompat(Bundle bundle) {
this.mBundle = new Bundle(bundle);
MediaSessionCompat.a(this.mBundle);
}
public static MediaMetadataCompat fromMediaMetadata(Object obj) {
if (obj == null || Build.VERSION.SDK_INT < 21) {
return null;
}
Parcel obtain = Parcel.obtain();
MediaMetadataCompatApi21.a(obj, obtain, 0);
obtain.setDataPosition(0);
MediaMetadataCompat createFromParcel = CREATOR.createFromParcel(obtain);
obtain.recycle();
createFromParcel.mMetadataObj = obj;
return createFromParcel;
}
public boolean containsKey(String str) {
return this.mBundle.containsKey(str);
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
public Bitmap getBitmap(String str) {
try {
return (Bitmap) this.mBundle.getParcelable(str);
} catch (Exception e) {
Log.w(TAG, "Failed to retrieve a key as Bitmap.", e);
return null;
}
}
public Bundle getBundle() {
return new Bundle(this.mBundle);
}
public MediaDescriptionCompat getDescription() {
Bitmap bitmap;
Uri uri;
MediaDescriptionCompat mediaDescriptionCompat = this.mDescription;
if (mediaDescriptionCompat != null) {
return mediaDescriptionCompat;
}
String string = getString(METADATA_KEY_MEDIA_ID);
CharSequence[] charSequenceArr = new CharSequence[3];
CharSequence text = getText(METADATA_KEY_DISPLAY_TITLE);
if (TextUtils.isEmpty(text)) {
int i = 0;
int i2 = 0;
while (i < charSequenceArr.length) {
String[] strArr = PREFERRED_DESCRIPTION_ORDER;
if (i2 >= strArr.length) {
break;
}
int i3 = i2 + 1;
CharSequence text2 = getText(strArr[i2]);
if (!TextUtils.isEmpty(text2)) {
charSequenceArr[i] = text2;
i++;
}
i2 = i3;
}
} else {
charSequenceArr[0] = text;
charSequenceArr[1] = getText(METADATA_KEY_DISPLAY_SUBTITLE);
charSequenceArr[2] = getText(METADATA_KEY_DISPLAY_DESCRIPTION);
}
int i4 = 0;
while (true) {
String[] strArr2 = PREFERRED_BITMAP_ORDER;
if (i4 >= strArr2.length) {
bitmap = null;
break;
}
bitmap = getBitmap(strArr2[i4]);
if (bitmap != null) {
break;
}
i4++;
}
int i5 = 0;
while (true) {
String[] strArr3 = PREFERRED_URI_ORDER;
if (i5 >= strArr3.length) {
uri = null;
break;
}
String string2 = getString(strArr3[i5]);
if (!TextUtils.isEmpty(string2)) {
uri = Uri.parse(string2);
break;
}
i5++;
}
String string3 = getString(METADATA_KEY_MEDIA_URI);
Uri parse = TextUtils.isEmpty(string3) ? null : Uri.parse(string3);
MediaDescriptionCompat.Builder builder = new MediaDescriptionCompat.Builder();
builder.a(string);
builder.c(charSequenceArr[0]);
builder.b(charSequenceArr[1]);
builder.a(charSequenceArr[2]);
builder.a(bitmap);
builder.a(uri);
builder.b(parse);
Bundle bundle = new Bundle();
if (this.mBundle.containsKey(METADATA_KEY_BT_FOLDER_TYPE)) {
bundle.putLong(MediaDescriptionCompat.EXTRA_BT_FOLDER_TYPE, getLong(METADATA_KEY_BT_FOLDER_TYPE));
}
if (this.mBundle.containsKey(METADATA_KEY_DOWNLOAD_STATUS)) {
bundle.putLong(MediaDescriptionCompat.EXTRA_DOWNLOAD_STATUS, getLong(METADATA_KEY_DOWNLOAD_STATUS));
}
if (!bundle.isEmpty()) {
builder.a(bundle);
}
this.mDescription = builder.a();
return this.mDescription;
}
public long getLong(String str) {
return this.mBundle.getLong(str, 0L);
}
public Object getMediaMetadata() {
if (this.mMetadataObj == null && Build.VERSION.SDK_INT >= 21) {
Parcel obtain = Parcel.obtain();
writeToParcel(obtain, 0);
obtain.setDataPosition(0);
this.mMetadataObj = MediaMetadataCompatApi21.a(obtain);
obtain.recycle();
}
return this.mMetadataObj;
}
public RatingCompat getRating(String str) {
try {
return Build.VERSION.SDK_INT >= 19 ? RatingCompat.fromRating(this.mBundle.getParcelable(str)) : (RatingCompat) this.mBundle.getParcelable(str);
} catch (Exception e) {
Log.w(TAG, "Failed to retrieve a key as Rating.", e);
return null;
}
}
public String getString(String str) {
CharSequence charSequence = this.mBundle.getCharSequence(str);
if (charSequence != null) {
return charSequence.toString();
}
return null;
}
public CharSequence getText(String str) {
return this.mBundle.getCharSequence(str);
}
public Set<String> keySet() {
return this.mBundle.keySet();
}
public int size() {
return this.mBundle.size();
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeBundle(this.mBundle);
}
MediaMetadataCompat(Parcel parcel) {
this.mBundle = parcel.readBundle(MediaSessionCompat.class.getClassLoader());
}
}