From 3913b818d64c1af5fcfc6dc3c4037463044baf54 Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Sat, 29 Sep 2012 22:32:17 +0000 Subject: [PATCH] DroidFish: When loading a game, switch game mode to edit/replay. --- .../src/org/petero/droidfish/DroidFish.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/DroidFish/src/org/petero/droidfish/DroidFish.java b/DroidFish/src/org/petero/droidfish/DroidFish.java index be79fb5..800844b 100644 --- a/DroidFish/src/org/petero/droidfish/DroidFish.java +++ b/DroidFish/src/org/petero/droidfish/DroidFish.java @@ -305,12 +305,7 @@ public class DroidFish extends Activity implements GUIInterface { oldGameModeType = ctrl.getGameMode().getModeNr(); gameModeType = GameMode.ANALYSIS; } - Editor editor = settings.edit(); - String gameModeStr = String.format("%d", gameModeType); - editor.putString("gameMode", gameModeStr); - editor.commit(); - gameMode = new GameMode(gameModeType); - ctrl.setGameMode(gameMode); + newGameMode(gameModeType); setBoardFlip(true); } }); @@ -1196,6 +1191,9 @@ public class DroidFish extends Activity implements GUIInterface { if (resultCode == RESULT_OK) { try { String pgn = data.getAction(); + int modeNr = ctrl.getGameMode().getModeNr(); + if ((modeNr != GameMode.ANALYSIS) && (modeNr != GameMode.EDIT_GAME)) + newGameMode(GameMode.EDIT_GAME); ctrl.setFENOrPGN(pgn); setBoardFlip(true); } catch (ChessParseError e) { @@ -1238,6 +1236,16 @@ public class DroidFish extends Activity implements GUIInterface { } } + /** Set new game mode. */ + private final void newGameMode(int gameModeType) { + Editor editor = settings.edit(); + String gameModeStr = String.format("%d", gameModeType); + editor.putString("gameMode", gameModeStr); + editor.commit(); + gameMode = new GameMode(gameModeType); + ctrl.setGameMode(gameMode); + } + private static String getFilePathFromUri(Uri uri) { if (uri == null) return null;