diff --git a/SPD-classes/src/main/java/com/watabou/noosa/Game.java b/SPD-classes/src/main/java/com/watabou/noosa/Game.java index fb0578227..a794535fd 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/Game.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/Game.java @@ -149,13 +149,13 @@ public class Game extends Activity implements GLSurfaceView.Renderer, View.OnTou private boolean paused; - //Checks for gingerbread are here due to minor activity lifecycle differences + //Starting with honeycomb, android's lifecycle management changes slightly @Override public void onStart() { super.onStart(); - if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD_MR1){ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ resumeGame(); } } @@ -164,7 +164,11 @@ public class Game extends Activity implements GLSurfaceView.Renderer, View.OnTou protected void onResume() { super.onResume(); - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1){ + if (scene != null) { + scene.onResume(); + } + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB){ resumeGame(); } } @@ -174,10 +178,10 @@ public class Game extends Activity implements GLSurfaceView.Renderer, View.OnTou super.onPause(); if (scene != null) { - scene.onFocusLost(); + scene.onPause(); } - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1){ + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB){ pauseGame(); } } @@ -186,7 +190,7 @@ public class Game extends Activity implements GLSurfaceView.Renderer, View.OnTou public void onStop() { super.onStop(); - if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD_MR1){ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ pauseGame(); } } @@ -213,11 +217,6 @@ public class Game extends Activity implements GLSurfaceView.Renderer, View.OnTou Sample.INSTANCE.resume(); } - public static void quitGame(){ - Game.instance.finish(); - System.exit(0); - } - public boolean isPaused(){ return paused; } diff --git a/SPD-classes/src/main/java/com/watabou/noosa/Scene.java b/SPD-classes/src/main/java/com/watabou/noosa/Scene.java index 4a43b1a8c..5ec783dc7 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/Scene.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/Scene.java @@ -52,10 +52,14 @@ public class Scene extends Group { super.destroy(); } - public void onFocusLost() { + public void onPause() { } + public void onResume(){ + + } + @Override public void update() { super.update(); @@ -67,7 +71,7 @@ public class Scene extends Group { } protected void onBackPressed() { - Game.quitGame(); + Game.instance.finish(); } protected void onMenuPressed() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java index 6ce2c2dff..e11ffdad0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java @@ -416,7 +416,7 @@ public class CursedWand { @Override protected void onSelect(int index) { - ShatteredPixelDungeon.quitGame(); + Game.instance.finish(); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index 6c329e269..0d581d86c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -454,7 +454,7 @@ public class GameScene extends PixelScene { } @Override - public synchronized void onFocusLost() { + public synchronized void onPause() { try { Dungeon.saveAll(); Badges.saveGlobal(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ExitButton.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ExitButton.java index 686c1a4f1..28eef5aef 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ExitButton.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ExitButton.java @@ -70,7 +70,7 @@ public class ExitButton extends Button { @Override protected void onClick() { if (Game.scene() instanceof TitleScene) { - ShatteredPixelDungeon.quitGame(); + Game.instance.finish(); } else { ShatteredPixelDungeon.switchNoFade( TitleScene.class ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndGame.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndGame.java index f7513bb25..3f570ff97 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndGame.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndGame.java @@ -113,7 +113,7 @@ public class WndGame extends Window { } catch (IOException e) { ShatteredPixelDungeon.reportException(e); } - ShatteredPixelDungeon.quitGame(); + Game.instance.finish(); } } );