MainAndroid: Remove s_filename

This fits better as a function parameter than as global state.
This commit is contained in:
JosJuice 2017-08-23 22:32:23 +02:00
parent 4ee85a3e07
commit f8703f90e3
3 changed files with 10 additions and 24 deletions

View file

@ -246,13 +246,6 @@ public final class NativeLibrary
*/ */
public static native void SetConfig(String configFile, String Section, String Key, String Value); public static native void SetConfig(String configFile, String Section, String Key, String Value);
/**
* Sets the filename to be run during emulation.
*
* @param filename The filename to be run during emulation.
*/
public static native void SetFilename(String filename);
/** /**
* Gets the embedded banner within the given ISO/ROM. * Gets the embedded banner within the given ISO/ROM.
* *
@ -328,7 +321,7 @@ public final class NativeLibrary
/** /**
* Begins emulation. * Begins emulation.
*/ */
public static native void Run(); public static native void Run(String path);
// Surface Handling // Surface Handling
public static native void SurfaceChanged(Surface surf); public static native void SurfaceChanged(Surface surf);

View file

@ -66,9 +66,6 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{ {
String path = getArguments().getString(ARGUMENT_GAME_PATH);
NativeLibrary.SetFilename(path);
View contents = inflater.inflate(R.layout.fragment_emulation, container, false); View contents = inflater.inflate(R.layout.fragment_emulation, container, false);
SurfaceView surfaceView = (SurfaceView) contents.findViewById(R.id.surface_emulation); SurfaceView surfaceView = (SurfaceView) contents.findViewById(R.id.surface_emulation);
@ -241,7 +238,8 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
Log.info("[EmulationFragment] Starting emulation: " + mSurface); Log.info("[EmulationFragment] Starting emulation: " + mSurface);
// Start emulation using the provided Surface. // Start emulation using the provided Surface.
NativeLibrary.Run(); String path = getArguments().getString(ARGUMENT_GAME_PATH);
NativeLibrary.Run(path);
} }
}; };

View file

@ -53,7 +53,6 @@ JavaVM* g_java_vm;
namespace namespace
{ {
ANativeWindow* s_surf; ANativeWindow* s_surf;
std::string s_filename;
std::string s_set_userpath; std::string s_set_userpath;
jclass s_jni_class; jclass s_jni_class;
@ -466,7 +465,8 @@ JNIEXPORT void JNICALL
Java_org_dolphinemu_dolphinemu_NativeLibrary_WriteProfileResults(JNIEnv* env, jobject obj); Java_org_dolphinemu_dolphinemu_NativeLibrary_WriteProfileResults(JNIEnv* env, jobject obj);
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
Java_org_dolphinemu_dolphinemu_NativeLibrary_CacheClassesAndMethods(JNIEnv* env, jobject obj); Java_org_dolphinemu_dolphinemu_NativeLibrary_CacheClassesAndMethods(JNIEnv* env, jobject obj);
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv* env, jobject obj); JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv* env, jobject obj,
jstring jFile);
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SurfaceChanged(JNIEnv* env, JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SurfaceChanged(JNIEnv* env,
jobject obj, jobject obj,
jobject surf); jobject surf);
@ -633,13 +633,6 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetConfig(
ini.Save(File::GetUserPath(D_CONFIG_IDX) + std::string(file)); ini.Save(File::GetUserPath(D_CONFIG_IDX) + std::string(file));
} }
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetFilename(JNIEnv* env,
jobject obj,
jstring jFile)
{
s_filename = GetJString(env, jFile);
}
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SaveState(JNIEnv* env, JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SaveState(JNIEnv* env,
jobject obj, jobject obj,
jint slot) jint slot)
@ -773,9 +766,11 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RefreshWiimo
WiimoteReal::Refresh(); WiimoteReal::Refresh();
} }
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv* env, jobject obj) JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv* env, jobject obj,
jstring jFile)
{ {
__android_log_print(ANDROID_LOG_INFO, DOLPHIN_TAG, "Running : %s", s_filename.c_str()); const std::string path = GetJString(env, jFile);
__android_log_print(ANDROID_LOG_INFO, DOLPHIN_TAG, "Running : %s", path.c_str());
// Install our callbacks // Install our callbacks
OSD::AddCallback(OSD::CallbackType::Initialization, ButtonManager::Init); OSD::AddCallback(OSD::CallbackType::Initialization, ButtonManager::Init);
@ -791,7 +786,7 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv*
// No use running the loop when booting fails // No use running the loop when booting fails
s_have_wm_user_stop = false; s_have_wm_user_stop = false;
if (BootManager::BootCore(BootParameters::GenerateFromFile(s_filename))) if (BootManager::BootCore(BootParameters::GenerateFromFile(path)))
{ {
static constexpr int TIMEOUT = 10000; static constexpr int TIMEOUT = 10000;
static constexpr int WAIT_STEP = 25; static constexpr int WAIT_STEP = 25;