From ea98d67d397ad45c01413d1d76c97987f39635fc Mon Sep 17 00:00:00 2001 From: izzy2lost Date: Wed, 13 Aug 2025 05:04:24 -0400 Subject: [PATCH] practice SAF coding --- src/port/Engine.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 0cd06828..31a0549d 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -93,6 +93,20 @@ GameEngine::GameEngine() { // Note: Ship::Context will handle directory paths internally // Android: MainActivity handles file management via SAF +#ifdef __ANDROID__ + // Wait for MainActivity to finish setting up files via SAF + JNIEnv* env = (JNIEnv*)SDL_AndroidGetJNIEnv(); + if (env) { + jclass activityClass = env->FindClass("com/starship/android/MainActivity"); + if (activityClass) { + jmethodID waitMethod = env->GetStaticMethodID(activityClass, "waitForSetupFromNative", "()V"); + if (waitMethod) { + env->CallStaticVoidMethod(activityClass, waitMethod); + } + } + } +#endif + // Add sf64.o2r if it exists, otherwise prompt for extraction if (std::filesystem::exists(main_path)) { archiveFiles.push_back(main_path);