mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-12-22 05:29:52 +00:00
Keep native side paused on "system" onResume()
This commit is contained in:
parent
883403e6e8
commit
c48e72c27f
@ -68,7 +68,7 @@ public class Apple2Activity extends Activity {
|
||||
private native void nativeIncreaseCPUSpeed();
|
||||
private native void nativeDecreaseCPUSpeed();
|
||||
|
||||
public native void nativeOnResume();
|
||||
public native void nativeOnResume(boolean isSystemResume);
|
||||
public native void nativeOnPause();
|
||||
public native void nativeOnQuit();
|
||||
|
||||
@ -192,7 +192,7 @@ public class Apple2Activity extends Activity {
|
||||
super.onResume();
|
||||
Log.d(TAG, "onResume()");
|
||||
mView.onResume();
|
||||
nativeOnResume();
|
||||
nativeOnResume(/*isSystemResume:*/true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -447,13 +447,13 @@ public class Apple2Activity extends Activity {
|
||||
/*mQuitDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
|
||||
@Override
|
||||
public void onCancel(DialogInterface dialog) {
|
||||
nativeOnResume();
|
||||
nativeOnResume(false);
|
||||
}
|
||||
});
|
||||
mQuitDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog) {
|
||||
nativeOnResume();
|
||||
nativeOnResume(false);
|
||||
}
|
||||
});*/
|
||||
}
|
||||
@ -473,13 +473,13 @@ public class Apple2Activity extends Activity {
|
||||
/*mRebootDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
|
||||
@Override
|
||||
public void onCancel(DialogInterface dialog) {
|
||||
nativeOnResume();
|
||||
nativeOnResume(false);
|
||||
}
|
||||
});
|
||||
mRebootDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog) {
|
||||
nativeOnResume();
|
||||
nativeOnResume(false);
|
||||
}
|
||||
});*/
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ public class Apple2DisksMenu {
|
||||
public void dismiss() {
|
||||
if (isShowing()) {
|
||||
dismissWithoutResume();
|
||||
mActivity.nativeOnResume();
|
||||
mActivity.nativeOnResume(/*isSystemResume:*/false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -164,7 +164,7 @@ public class Apple2MainMenu {
|
||||
public void onDismiss() {
|
||||
boolean otherMenusShowing = (getSettingsMenu().isShowing() || getDisksMenu().isShowing());
|
||||
if (!otherMenusShowing) {
|
||||
Apple2MainMenu.this.mActivity.nativeOnResume();
|
||||
Apple2MainMenu.this.mActivity.nativeOnResume(/*isSystemResume:*/false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -244,7 +244,7 @@ public class Apple2SettingsMenu {
|
||||
public void dismiss() {
|
||||
if (isShowing()) {
|
||||
dismissWithoutResume();
|
||||
mActivity.nativeOnResume();
|
||||
mActivity.nativeOnResume(/*isSystemResume:*/false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -112,13 +112,17 @@ void Java_org_deadc0de_apple2ix_Apple2Activity_nativeGraphicsInitialized(JNIEnv
|
||||
video_backend->init((void *)0);
|
||||
}
|
||||
|
||||
void Java_org_deadc0de_apple2ix_Apple2Activity_nativeOnResume(JNIEnv *env, jobject obj) {
|
||||
void Java_org_deadc0de_apple2ix_Apple2Activity_nativeOnResume(JNIEnv *env, jobject obj, jboolean isSystemResume) {
|
||||
if (!nativePaused) {
|
||||
return;
|
||||
}
|
||||
nativePaused = false;
|
||||
LOG("%s", "native onResume...");
|
||||
pthread_mutex_unlock(&interface_mutex);
|
||||
if (isSystemResume) {
|
||||
// TODO POSSIBLY : message showing paused state
|
||||
} else {
|
||||
nativePaused = false;
|
||||
pthread_mutex_unlock(&interface_mutex);
|
||||
}
|
||||
}
|
||||
|
||||
void Java_org_deadc0de_apple2ix_Apple2Activity_nativeOnPause(JNIEnv *env, jobject obj) {
|
||||
@ -194,6 +198,13 @@ void Java_org_deadc0de_apple2ix_Apple2Activity_nativeOnKeyUp(JNIEnv *env, jobjec
|
||||
jboolean Java_org_deadc0de_apple2ix_Apple2Activity_nativeOnTouch(JNIEnv *env, jobject obj, jint action, jint pointerCount, jint pointerIndex, jfloatArray xCoords, jfloatArray yCoords) {
|
||||
//LOG("nativeOnTouch : %d/%d/%d :", action, pointerCount, pointerIndex);
|
||||
|
||||
if (nativePaused) {
|
||||
LOG("UNPAUSING NATIVE CPU THREAD");
|
||||
nativePaused = false;
|
||||
pthread_mutex_unlock(&interface_mutex);
|
||||
return true;
|
||||
}
|
||||
|
||||
jfloat *x_coords = (*env)->GetFloatArrayElements(env, xCoords, 0);
|
||||
jfloat *y_coords = (*env)->GetFloatArrayElements(env, yCoords, 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user