diff --git a/Source/Android/res/menu/emuwindow_overlay.xml b/Source/Android/res/menu/emuwindow_overlay.xml
index 04c7161699..4acfb5b087 100644
--- a/Source/Android/res/menu/emuwindow_overlay.xml
+++ b/Source/Android/res/menu/emuwindow_overlay.xml
@@ -42,4 +42,10 @@
android:title="@string/overlay_slot5"/>
+
+ -
+
diff --git a/Source/Android/res/values-ja/strings.xml b/Source/Android/res/values-ja/strings.xml
index 71cdcd47b3..707f70e29c 100644
--- a/Source/Android/res/values-ja/strings.xml
+++ b/Source/Android/res/values-ja/strings.xml
@@ -33,6 +33,7 @@
ステートセーブ
ステートロード
+ 終了
スロット 1
スロット 2
スロット 3
diff --git a/Source/Android/res/values/strings.xml b/Source/Android/res/values/strings.xml
index 99522f5f00..f598d9d17f 100644
--- a/Source/Android/res/values/strings.xml
+++ b/Source/Android/res/values/strings.xml
@@ -33,6 +33,8 @@
Save State
Load State
+ Exit
+ Are you sure you wish to exit this game?
Slot 1
Slot 2
Slot 3
diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/EmulationActivity.java b/Source/Android/src/org/dolphinemu/dolphinemu/EmulationActivity.java
index 7a81306468..aab01ad1ce 100644
--- a/Source/Android/src/org/dolphinemu/dolphinemu/EmulationActivity.java
+++ b/Source/Android/src/org/dolphinemu/dolphinemu/EmulationActivity.java
@@ -5,7 +5,10 @@ import java.util.List;
import org.dolphinemu.dolphinemu.settings.InputConfigFragment;
import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.AlertDialog.Builder;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
@@ -77,6 +80,7 @@ public final class EmulationActivity extends Activity
public void onStop()
{
super.onStop();
+
if (Running)
NativeLibrary.StopEmulation();
}
@@ -85,6 +89,7 @@ public final class EmulationActivity extends Activity
public void onPause()
{
super.onPause();
+
if (Running)
NativeLibrary.PauseEmulation();
}
@@ -93,10 +98,23 @@ public final class EmulationActivity extends Activity
public void onResume()
{
super.onResume();
+
if (Running)
NativeLibrary.UnPauseEmulation();
}
+ @Override
+ public void onDestroy()
+ {
+ super.onDestroy();
+
+ if (Running)
+ {
+ NativeLibrary.StopEmulation();
+ Running = false;
+ }
+ }
+
@Override
public boolean onTouchEvent(MotionEvent event)
{
@@ -185,6 +203,27 @@ public final class EmulationActivity extends Activity
NativeLibrary.LoadState(4);
return true;
+ case R.id.exitEmulation:
+ {
+ // Create a confirmation method for quitting the current emulation instance.
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle(getString(R.string.overlay_exit_emulation));
+ builder.setMessage(R.string.overlay_exit_emulation_confirm);
+ builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which)
+ {
+ finish();
+ }
+ });
+ builder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which)
+ {
+ // Do nothing. Just makes the No button appear.
+ }
+ });
+ builder.show();
+ }
+
default:
return super.onOptionsItemSelected( item );
}
diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java
index d5739d68ed..e0aefa153a 100644
--- a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java
+++ b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java
@@ -136,7 +136,6 @@ public final class GameListFragment extends Fragment
Intent intent = new Intent(mMe, EmulationActivity.class);
intent.putExtra("SelectedGame", o);
mMe.startActivity(intent);
- mMe.finish();
}
@Override