diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2016-03-14 15:55:44 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2016-03-14 15:55:44 +0100 |
commit | 8cf7d3505ec951bf41c4340a0ca5fc29c5daa69f (patch) | |
tree | 82fad3e11571920b9afd94c7f87f56bf08ce3eae | |
parent | 3e969f1d7a9966a40657b1ae07b949cde112525b (diff) | |
download | RustAndDust-8cf7d3505ec951bf41c4340a0ca5fc29c5daa69f.zip RustAndDust-8cf7d3505ec951bf41c4340a0ca5fc29c5daa69f.tar.gz |
DB: deleteGame(GameRecord) -> deleteGame(int)
-rw-r--r-- | core/src/ch/asynk/rustanddust/menu/PlayMenu.java | 2 | ||||
-rw-r--r-- | core/src/ch/asynk/rustanddust/util/DB.java | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/core/src/ch/asynk/rustanddust/menu/PlayMenu.java b/core/src/ch/asynk/rustanddust/menu/PlayMenu.java index 2c9caa4..f1dbe47 100644 --- a/core/src/ch/asynk/rustanddust/menu/PlayMenu.java +++ b/core/src/ch/asynk/rustanddust/menu/PlayMenu.java @@ -49,7 +49,7 @@ public class PlayMenu extends Patch implements MenuCtrl.Panel public MenuCtrl.MenuType postAnswer(boolean ok) { if (ok) { - game.db.deleteGame(GameRecord.remove(getList().getIdx())); + game.db.deleteGame(GameRecord.remove(getList().getIdx()).id); getList().unselect(); showBtns(false); if (GameRecord.list.size() <= 0) diff --git a/core/src/ch/asynk/rustanddust/util/DB.java b/core/src/ch/asynk/rustanddust/util/DB.java index 44cb79c..3b769a2 100644 --- a/core/src/ch/asynk/rustanddust/util/DB.java +++ b/core/src/ch/asynk/rustanddust/util/DB.java @@ -300,24 +300,25 @@ public class DB cursor.next(); r = from(cursor); if (!r.hash.equals(getDigest(r.payload))) { - // TODO recover from that big shit RustAndDust.error(String.format("corrupted game %d", game)); r = null; } } } catch (SQLiteGdxException e) { RustAndDust.error("loadGame"); } + if (r == null) + deleteGame(game); return r; } private static final String DELETE_GAME = "delete from games where _id=%d;"; private static final String DELETE_TURNS = "delete from turns where game=%d;"; - public boolean deleteGame(GameRecord game) + public boolean deleteGame(int game) { RustAndDust.debug("deleteGame"); try { - exec(String.format(DELETE_TURNS, game.id)); - exec(String.format(DELETE_GAME, game.id)); + exec(String.format(DELETE_TURNS, game)); + exec(String.format(DELETE_GAME, game)); } catch (SQLiteGdxException e) { RustAndDust.error("deleteGame"); return false; |