正在查看: BAM Crawford v6.14.1 应用的 MediaArtworkContentProvider.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: BAM Crawford v6.14.1 应用的 MediaArtworkContentProvider.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.birkir.carplay.media;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
import com.bumptech.glide.c;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.net.URLEncoder;
import java.nio.channels.FileChannel;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.k;
import ok.j;
public final class MediaArtworkContentProvider extends ContentProvider {
public static final a p = new a(null);
private static final Map q = new LinkedHashMap();
public static final class a {
private a() {
}
public a(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public final String b(Uri uri) {
try {
String uri2 = uri.toString();
k.d(uri2, "uri.toString()");
String encode = URLEncoder.encode(uri2, "UTF-8");
k.d(encode, "encode(url, \"UTF-8\")");
return new j("[/:.?&=]").e(encode, "_");
} catch (Exception unused) {
return null;
}
}
public final Uri c(Context context, Uri uri) {
k.e(context, "context");
k.e(uri, "uri");
String b = b(uri);
if (b == null) {
Uri EMPTY = Uri.EMPTY;
k.d(EMPTY, "EMPTY");
return EMPTY;
}
Uri contentUri = new Uri.Builder().scheme("content").authority(context.getPackageName() + ".MediaArtworkContentProvider").path(b).build();
Map map = MediaArtworkContentProvider.q;
k.d(contentUri, "contentUri");
map.put(contentUri, uri);
return contentUri;
}
}
private final void b(FileInputStream fileInputStream, FileOutputStream fileOutputStream) {
FileChannel fileChannel;
FileChannel fileChannel2 = null;
try {
FileChannel channel = fileInputStream.getChannel();
try {
fileChannel2 = fileOutputStream.getChannel();
channel.transferTo(0L, channel.size(), fileChannel2);
try {
channel.close();
} finally {
if (fileChannel2 != null) {
fileChannel2.close();
}
}
} catch (Throwable th2) {
th = th2;
FileChannel fileChannel3 = fileChannel2;
fileChannel2 = channel;
fileChannel = fileChannel3;
if (fileChannel2 != null) {
try {
fileChannel2.close();
} finally {
if (fileChannel != null) {
fileChannel.close();
}
}
}
throw th;
}
} catch (Throwable th3) {
th = th3;
fileChannel = null;
}
}
@Override
public int delete(Uri uri, String str, String[] strArr) {
k.e(uri, "uri");
return 0;
}
@Override
public String getType(Uri uri) {
k.e(uri, "uri");
return null;
}
@Override
public Uri insert(Uri uri, ContentValues contentValues) {
k.e(uri, "uri");
return null;
}
@Override
public boolean onCreate() {
return true;
}
@Override
public ParcelFileDescriptor openFile(Uri uri, String mode) {
k.e(uri, "uri");
k.e(mode, "mode");
Context context = getContext();
if (context == null) {
return null;
}
Uri uri2 = (Uri) q.get(uri);
if (uri2 == null) {
throw new FileNotFoundException(uri.getPath());
}
File file = new File(context.getCacheDir(), p.b(uri));
if (!file.exists()) {
try {
File downloadedFile = (File) c.v(context).n().E0(uri2).K0().get(30L, TimeUnit.SECONDS);
k.d(downloadedFile, "downloadedFile");
b(new FileInputStream(downloadedFile), new FileOutputStream(file));
} catch (Exception unused) {
return null;
}
}
return ParcelFileDescriptor.open(file, 268435456);
}
@Override
public Cursor query(Uri uri, String[] strArr, String str, String[] strArr2, String str2) {
k.e(uri, "uri");
return null;
}
@Override
public int update(Uri uri, ContentValues contentValues, String str, String[] strArr) {
k.e(uri, "uri");
return 0;
}
}