Android: Finish EmulationActivity from C++

This makes EmulationActivity automatically close if booting
fails, and lets us get rid of s_emulation_end_event.
This commit is contained in:
JosJuice
2020-11-06 19:26:56 +01:00
parent a9ef7e0e43
commit 0280f3557c
5 changed files with 29 additions and 14 deletions

View File

@ -563,6 +563,20 @@ public final class NativeLibrary
sEmulationActivity.clear();
}
public static void finishEmulationActivity()
{
final EmulationActivity emulationActivity = sEmulationActivity.get();
if (emulationActivity == null)
{
Log.warning("[NativeLibrary] EmulationActivity is null.");
}
else
{
Log.verbose("[NativeLibrary] Finishing EmulationActivity.");
emulationActivity.runOnUiThread(emulationActivity::finish);
}
}
public static void updateTouchPointer()
{
final EmulationActivity emulationActivity = sEmulationActivity.get();

View File

@ -342,7 +342,6 @@ public final class EmulationActivity extends AppCompatActivity
if (keyCode == KeyEvent.KEYCODE_BACK)
{
mEmulationFragment.stopEmulation();
finish();
return true;
}
return super.onKeyLongPress(keyCode, event);
@ -617,7 +616,6 @@ public final class EmulationActivity extends AppCompatActivity
case MENU_ACTION_EXIT:
mEmulationFragment.stopEmulation();
finish();
break;
}
}