From 2364c1c5e6c50fdef68e946685ea29da78eb681b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 27 Feb 2021 14:08:38 +0100 Subject: [PATCH] Fix exit "race", add persistable permissions --- android/src/org/ppsspp/ppsspp/NativeActivity.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/android/src/org/ppsspp/ppsspp/NativeActivity.java b/android/src/org/ppsspp/ppsspp/NativeActivity.java index 94e21ac74d..4e22771325 100644 --- a/android/src/org/ppsspp/ppsspp/NativeActivity.java +++ b/android/src/org/ppsspp/ppsspp/NativeActivity.java @@ -784,8 +784,8 @@ public abstract class NativeActivity extends Activity { // I've seen crashes that seem to indicate that sometimes it hasn't... NativeApp.audioShutdown(); if (shuttingDown || isFinishing()) { - unregisterCallbacks(); NativeApp.shutdown(); + unregisterCallbacks(); initialized = false; } navigationCallbackView = null; @@ -1144,7 +1144,8 @@ public abstract class NativeActivity extends Activity { } else if (requestCode == RESULT_BROWSE_FILE) { Uri selectedFile = data.getData(); if (selectedFile != null) { - // NativeApp.sendMessage("br"); + // Grab permanent permission so we can show it in recents list etc. + getContentResolver().takePersistableUriPermission(selectedFile, Intent.FLAG_GRANT_READ_URI_PERMISSION); Log.i(TAG, "Browse file finished:" + selectedFile.toString()); NativeApp.sendMessage("browse_fileSelect", selectedFile.toString()); } @@ -1292,6 +1293,7 @@ public abstract class NativeActivity extends Activity { Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("application/octet-stream"); + intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION); //intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, pickerInitialUri); startActivityForResult(intent, RESULT_BROWSE_FILE); } catch (Exception e) {