summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2016-01-11 01:18:37 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2016-01-11 01:18:37 -0500
commit78bb37b29f61a4293ac5ab24a146f6fbfb68f822 (patch)
treeced63a6faa2502475ca7d28949f2c311732c1499 /Source/Android/app/src/main/java
parent77cef0c7bf957bc3a87e4f532a5cdbc87f3934c4 (diff)
parent5a549ef6632a444f6943f662471357c751ef1198 (diff)
Merge pull request #3494 from Sonicadvance1/android_rotation
[Android] Add support for rotation and minimizing the application
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java8
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java15
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java11
3 files changed, 17 insertions, 17 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 71fbbd93e6..209d59919e 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
@@ -333,10 +333,12 @@ public final class NativeLibrary
/**
* Begins emulation.
- *
- * @param surf The surface to render to.
*/
- public static native void Run(Surface surf);
+ public static native void Run();
+
+ // Surface Handling
+ public static native void SurfaceChanged(Surface surf);
+ public static native void SurfaceDestroyed();
/** Unpauses emulation from a paused state. */
public static native void UnPauseEmulation();
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 04b5149a0e..5415b65b7d 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
@@ -177,13 +177,16 @@ public final class EmulationActivity extends AppCompatActivity
}
});
- // Instantiate an EmulationFragment.
- EmulationFragment emulationFragment = EmulationFragment.newInstance(path);
+ if (savedInstanceState == null)
+ {
+ // Instantiate an EmulationFragment.
+ EmulationFragment emulationFragment = EmulationFragment.newInstance(path);
- // Add fragment to the activity - this triggers all its lifecycle callbacks.
- getFragmentManager().beginTransaction()
- .add(R.id.frame_emulation_fragment, emulationFragment, EmulationFragment.FRAGMENT_TAG)
- .commit();
+ // Add fragment to the activity - this triggers all its lifecycle callbacks.
+ getFragmentManager().beginTransaction()
+ .add(R.id.frame_emulation_fragment, emulationFragment, EmulationFragment.FRAGMENT_TAG)
+ .commit();
+ }
if (mDeviceHasTouchScreen)
{
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java
index 1eb1684531..ab79e62a68 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java
@@ -115,7 +115,6 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
public void onStop()
{
super.onStop();
- pauseEmulation();
}
@Override
@@ -160,12 +159,14 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
{
Log.d("DolphinEmu", "Surface changed. Resolution: " + width + "x" + height);
mSurface = holder.getSurface();
+ NativeLibrary.SurfaceChanged(mSurface);
}
@Override
public void surfaceDestroyed(SurfaceHolder holder)
{
Log.d("DolphinEmu", "Surface destroyed.");
+ NativeLibrary.SurfaceDestroyed();
if (mEmulationRunning)
{
@@ -216,20 +217,14 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
mEmulationRunning = true;
mEmulationStarted = true;
- // Loop until onSurfaceCreated succeeds
while (mSurface == null)
- {
if (!mEmulationRunning)
- {
- // So that if the user quits before this gets a surface, we don't loop infinitely.
return;
- }
- }
Log.i("DolphinEmu", "Starting emulation: " + mSurface);
// Start emulation using the provided Surface.
- NativeLibrary.Run(mSurface);
+ NativeLibrary.Run();
}
};
}