diff options
Diffstat (limited to 'Source/Android/app/src/main/java')
| -rw-r--r-- | Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java | 33 | ||||
| -rw-r--r-- | Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java | 18 |
2 files changed, 51 insertions, 0 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java index 12259de37b..d8b1b6c112 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java @@ -8,6 +8,9 @@ package org.dolphinemu.dolphinemu; import android.util.Log; import android.view.Surface; +import android.widget.Toast; + +import org.dolphinemu.dolphinemu.activities.EmulationActivity; /** * Class which contains methods that interact @@ -15,6 +18,8 @@ import android.view.Surface; */ public final class NativeLibrary { + private static EmulationActivity mEmulationActivity; + /** * Button type for use in onTouchEvent */ @@ -235,6 +240,13 @@ public final class NativeLibrary /** Native EGL functions not exposed by Java bindings **/ public static native void eglBindAPI(int api); + /** + * The methods C++ uses to find references to Java classes and methods + * are really expensive. Rather than calling them every time we want to + * run them, do it once when we load the native library. + */ + private static native void CacheClassesAndMethods(); + static { try @@ -245,5 +257,26 @@ public final class NativeLibrary { Log.e("NativeLibrary", ex.toString()); } + + CacheClassesAndMethods(); + } + + public static void displayAlertMsg(final String alert) + { + Log.e("DolphinEmu", "Alert: " + alert); + mEmulationActivity.runOnUiThread(new Runnable() + { + @Override + public void run() + { + Toast.makeText(mEmulationActivity, "Panic Alert: " + alert, Toast.LENGTH_LONG).show(); + } + }); + } + + public static void setEmulationActivity(EmulationActivity emulationActivity) + { + Log.v("DolphinEmu", "Registering EmulationActivity."); + mEmulationActivity = emulationActivity; } } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java index de7ebb17d3..b4c61bea0e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java @@ -7,6 +7,7 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.util.Log; import android.view.InputDevice; import android.view.KeyEvent; import android.view.Menu; @@ -92,6 +93,23 @@ public final class EmulationActivity extends Activity } @Override + protected void onStart() + { + super.onStart(); + Log.d("DolphinEmu", "EmulationActivity starting."); + NativeLibrary.setEmulationActivity(this); + } + + @Override + protected void onStop() + { + super.onStop(); + Log.d("DolphinEmu", "EmulationActivity stopping."); + + NativeLibrary.setEmulationActivity(null); + } + + @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); |
