mirror of
https://github.com/love2d/love-android.git
synced 2026-08-12 08:31:04 +02:00
Applied LÖVE related patches to SDL2
This commit is contained in:
@@ -49,7 +49,7 @@ LOCAL_SRC_FILES := \
|
||||
LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
|
||||
LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
#include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
###########################
|
||||
#
|
||||
|
||||
@@ -123,10 +123,6 @@ public class SDLActivity extends Activity {
|
||||
Log.v(TAG, "onCreate(): " + mSingleton);
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
SDLActivity.initialize();
|
||||
// So we can call stuff from static callbacks
|
||||
mSingleton = this;
|
||||
|
||||
// Load shared libraries
|
||||
String errorMsgBrokenLib = "";
|
||||
try {
|
||||
@@ -163,20 +159,7 @@ public class SDLActivity extends Activity {
|
||||
return;
|
||||
}
|
||||
|
||||
// Set up the surface
|
||||
mSurface = new SDLSurface(getApplication());
|
||||
|
||||
if(Build.VERSION.SDK_INT >= 12) {
|
||||
mJoystickHandler = new SDLJoystickHandler_API12();
|
||||
}
|
||||
else {
|
||||
mJoystickHandler = new SDLJoystickHandler();
|
||||
}
|
||||
|
||||
mLayout = new RelativeLayout(this);
|
||||
mLayout.addView(mSurface);
|
||||
|
||||
setContentView(mLayout);
|
||||
startNative();
|
||||
|
||||
// Get filename from "Open with" of another application
|
||||
Intent intent = getIntent();
|
||||
@@ -254,6 +237,21 @@ public class SDLActivity extends Activity {
|
||||
return;
|
||||
}
|
||||
|
||||
// love2d-mod-start: end main thread when opening new .love file
|
||||
resetNative();
|
||||
// love2d-mod-end
|
||||
|
||||
super.onDestroy();
|
||||
// Reset everything in case the user re opens the app
|
||||
SDLActivity.initialize();
|
||||
}
|
||||
|
||||
// love2d-mod-start: end main thread when opening new .love file
|
||||
/** Ends the native thread.
|
||||
*/
|
||||
public void resetNative() {
|
||||
Log.v("SDL", "resetNative()");
|
||||
|
||||
// Send a quit message to the application
|
||||
SDLActivity.mExitCalledFromJava = true;
|
||||
SDLActivity.nativeQuit();
|
||||
@@ -263,18 +261,39 @@ public class SDLActivity extends Activity {
|
||||
try {
|
||||
SDLActivity.mSDLThread.join();
|
||||
} catch(Exception e) {
|
||||
Log.v(TAG, "Problem stopping thread: " + e);
|
||||
Log.v("SDL", "Problem stopping thread: " + e);
|
||||
}
|
||||
SDLActivity.mSDLThread = null;
|
||||
|
||||
//Log.v(TAG, "Finished waiting for SDL thread");
|
||||
//Log.v("SDL", "Finished waiting for SDL thread");
|
||||
}
|
||||
|
||||
super.onDestroy();
|
||||
// Reset everything in case the user re opens the app
|
||||
SDLActivity.initialize();
|
||||
}
|
||||
|
||||
public void startNative() {
|
||||
Log.v("SDL", "startNative()");
|
||||
SDLActivity.initialize();
|
||||
// So we can call stuff from static callbacks
|
||||
mSingleton = this;
|
||||
|
||||
// Set up the surface
|
||||
mSurface = new SDLSurface(getApplication());
|
||||
|
||||
if(Build.VERSION.SDK_INT >= 12) {
|
||||
mJoystickHandler = new SDLJoystickHandler_API12();
|
||||
}
|
||||
else {
|
||||
mJoystickHandler = new SDLJoystickHandler();
|
||||
}
|
||||
|
||||
mLayout = new RelativeLayout(this);
|
||||
mLayout.addView(mSurface);
|
||||
|
||||
setContentView(mLayout);
|
||||
}
|
||||
// love2d-mod-end
|
||||
|
||||
@Override
|
||||
public boolean dispatchKeyEvent(KeyEvent event) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user