From 75223fcf366d684af1e10c4d782c6fbbd9c92c95 Mon Sep 17 00:00:00 2001 From: SSimco <37044560+SSimco@users.noreply.github.com> Date: Wed, 4 Sep 2024 11:30:03 +0300 Subject: [PATCH] Refactored fileutils code --- .../main/java/info/cemu/Cemu/CemuApplication.java | 8 +++++++- .../main/java/info/cemu/Cemu/utils/FileUtil.java | 14 ++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/android/app/src/main/java/info/cemu/Cemu/CemuApplication.java b/src/android/app/src/main/java/info/cemu/Cemu/CemuApplication.java index 56886fef..34eb9426 100644 --- a/src/android/app/src/main/java/info/cemu/Cemu/CemuApplication.java +++ b/src/android/app/src/main/java/info/cemu/Cemu/CemuApplication.java @@ -7,12 +7,18 @@ import info.cemu.Cemu.NativeLibrary; import info.cemu.Cemu.utils.FileUtil; public class CemuApplication extends Application { + private static CemuApplication application; + + public static CemuApplication getApplication() { + return application; + } + @Override public void onCreate() { super.onCreate(); + application = this; DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); NativeLibrary.setDPI(displayMetrics.density); - FileUtil.setCemuApplication(this); NativeLibrary.initializeActiveSettings(getExternalFilesDir(null).getAbsoluteFile().toString(), getExternalFilesDir(null).getAbsoluteFile().toString()); NativeLibrary.initializeEmulation(); } diff --git a/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java b/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java index 35ed1a62..0d15085e 100644 --- a/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java +++ b/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java @@ -19,12 +19,6 @@ public class FileUtil { private static final String COLON_ENCODED = "%3A"; private static final String MODE = "r"; - private static CemuApplication cemuApplication; - - public static void setCemuApplication(CemuApplication cemuApplication) { - FileUtil.cemuApplication = cemuApplication; - } - private static String toCppPath(Uri uri) { String uriPath = uri.toString(); int delimiterPos = uriPath.lastIndexOf(COLON_ENCODED); @@ -41,7 +35,7 @@ public class FileUtil { if (!exists(uri)) { return -1; } - ParcelFileDescriptor parcelFileDescriptor = cemuApplication.getApplicationContext().getContentResolver().openFileDescriptor(fromCppPath(uri), MODE); + ParcelFileDescriptor parcelFileDescriptor = CemuApplication.getApplication().getApplicationContext().getContentResolver().openFileDescriptor(fromCppPath(uri), MODE); if (parcelFileDescriptor != null) { int fd = parcelFileDescriptor.detachFd(); parcelFileDescriptor.close(); @@ -57,7 +51,7 @@ public class FileUtil { ArrayList files = new ArrayList<>(); Uri directoryUri = fromCppPath(uri); Uri childrenUri = DocumentsContract.buildChildDocumentsUriUsingTree(directoryUri, DocumentsContract.getDocumentId(directoryUri)); - try (Cursor cursor = cemuApplication.getApplicationContext().getContentResolver().query(childrenUri, new String[]{DocumentsContract.Document.COLUMN_DOCUMENT_ID}, null, null, null)) { + try (Cursor cursor = CemuApplication.getApplication().getApplicationContext().getContentResolver().query(childrenUri, new String[]{DocumentsContract.Document.COLUMN_DOCUMENT_ID}, null, null, null)) { while (cursor != null && cursor.moveToNext()) { String documentId = cursor.getString(0); Uri documentUri = DocumentsContract.buildDocumentUriUsingTree(directoryUri, documentId); @@ -72,7 +66,7 @@ public class FileUtil { } public static boolean isDirectory(String uri) { - String mimeType = cemuApplication.getApplicationContext().getContentResolver().getType(fromCppPath(uri)); + String mimeType = CemuApplication.getApplication().getApplicationContext().getContentResolver().getType(fromCppPath(uri)); return DocumentsContract.Document.MIME_TYPE_DIR.equals(mimeType); } @@ -81,7 +75,7 @@ public class FileUtil { } public static boolean exists(String uri) { - try (Cursor cursor = cemuApplication.getApplicationContext().getContentResolver().query(fromCppPath(uri), null, null, null, null)) { + try (Cursor cursor = CemuApplication.getApplication().getApplicationContext().getContentResolver().query(fromCppPath(uri), null, null, null, null)) { return cursor != null && cursor.moveToFirst(); } catch (Exception e) { Log.e("FileUtil", "Failed checking if file exists: " + e.getMessage());