mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
163 lines
5.7 KiB
Java
163 lines
5.7 KiB
Java
package androidx.documentfile.provider;
|
|
|
|
import android.content.ContentResolver;
|
|
import android.content.Context;
|
|
import android.database.Cursor;
|
|
import android.net.Uri;
|
|
import android.provider.DocumentsContract;
|
|
import android.util.Log;
|
|
import java.util.ArrayList;
|
|
|
|
/* loaded from: classes.dex */
|
|
class TreeDocumentFile extends DocumentFile {
|
|
private Context mContext;
|
|
private Uri mUri;
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public Uri getUri() {
|
|
return this.mUri;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public TreeDocumentFile(DocumentFile documentFile, Context context, Uri uri) {
|
|
super(documentFile);
|
|
this.mContext = context;
|
|
this.mUri = uri;
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public DocumentFile createFile(String str, String str2) {
|
|
Uri createFile = createFile(this.mContext, this.mUri, str, str2);
|
|
if (createFile != null) {
|
|
return new TreeDocumentFile(this, this.mContext, createFile);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private static Uri createFile(Context context, Uri uri, String str, String str2) {
|
|
try {
|
|
return DocumentsContract.createDocument(context.getContentResolver(), uri, str, str2);
|
|
} catch (Exception unused) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public DocumentFile createDirectory(String str) {
|
|
Uri createFile = createFile(this.mContext, this.mUri, "vnd.android.document/directory", str);
|
|
if (createFile != null) {
|
|
return new TreeDocumentFile(this, this.mContext, createFile);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public String getName() {
|
|
return DocumentsContractApi19.getName(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public String getType() {
|
|
return DocumentsContractApi19.getType(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean isDirectory() {
|
|
return DocumentsContractApi19.isDirectory(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean isFile() {
|
|
return DocumentsContractApi19.isFile(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean isVirtual() {
|
|
return DocumentsContractApi19.isVirtual(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public long lastModified() {
|
|
return DocumentsContractApi19.lastModified(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public long length() {
|
|
return DocumentsContractApi19.length(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean canRead() {
|
|
return DocumentsContractApi19.canRead(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean canWrite() {
|
|
return DocumentsContractApi19.canWrite(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean delete() {
|
|
try {
|
|
return DocumentsContract.deleteDocument(this.mContext.getContentResolver(), this.mUri);
|
|
} catch (Exception unused) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean exists() {
|
|
return DocumentsContractApi19.exists(this.mContext, this.mUri);
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public DocumentFile[] listFiles() {
|
|
ContentResolver contentResolver = this.mContext.getContentResolver();
|
|
Uri uri = this.mUri;
|
|
Uri buildChildDocumentsUriUsingTree = DocumentsContract.buildChildDocumentsUriUsingTree(uri, DocumentsContract.getDocumentId(uri));
|
|
ArrayList arrayList = new ArrayList();
|
|
Cursor cursor = null;
|
|
try {
|
|
try {
|
|
cursor = contentResolver.query(buildChildDocumentsUriUsingTree, new String[]{"document_id"}, null, null, null);
|
|
while (cursor.moveToNext()) {
|
|
arrayList.add(DocumentsContract.buildDocumentUriUsingTree(this.mUri, cursor.getString(0)));
|
|
}
|
|
} catch (Exception e) {
|
|
Log.w("DocumentFile", "Failed query: " + e);
|
|
}
|
|
Uri[] uriArr = (Uri[]) arrayList.toArray(new Uri[arrayList.size()]);
|
|
DocumentFile[] documentFileArr = new DocumentFile[uriArr.length];
|
|
for (int i = 0; i < uriArr.length; i++) {
|
|
documentFileArr[i] = new TreeDocumentFile(this, this.mContext, uriArr[i]);
|
|
}
|
|
return documentFileArr;
|
|
} finally {
|
|
closeQuietly(cursor);
|
|
}
|
|
}
|
|
|
|
private static void closeQuietly(AutoCloseable autoCloseable) {
|
|
if (autoCloseable != null) {
|
|
try {
|
|
autoCloseable.close();
|
|
} catch (RuntimeException e) {
|
|
throw e;
|
|
} catch (Exception unused) {
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // androidx.documentfile.provider.DocumentFile
|
|
public boolean renameTo(String str) {
|
|
try {
|
|
Uri renameDocument = DocumentsContract.renameDocument(this.mContext.getContentResolver(), this.mUri, str);
|
|
if (renameDocument != null) {
|
|
this.mUri = renameDocument;
|
|
return true;
|
|
}
|
|
} catch (Exception unused) {
|
|
}
|
|
return false;
|
|
}
|
|
}
|