From 09c270d533e22d5c702b2ac5750dc4f97919884e Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Sun, 27 Nov 2011 12:44:41 +0000 Subject: [PATCH] DroidFish: Small simplification in "edit headers" function. --- .../src/org/petero/droidfish/DroidFish.java | 25 ++++-------------- .../gamelogic/DroidChessController.java | 9 ++++--- .../petero/droidfish/gamelogic/GameTree.java | 26 +++++++++---------- 3 files changed, 23 insertions(+), 37 deletions(-) diff --git a/DroidFish/src/org/petero/droidfish/DroidFish.java b/DroidFish/src/org/petero/droidfish/DroidFish.java index f89c12b..7190749 100644 --- a/DroidFish/src/org/petero/droidfish/DroidFish.java +++ b/DroidFish/src/org/petero/droidfish/DroidFish.java @@ -1339,10 +1339,9 @@ public class DroidFish extends Activity implements GUIInterface { public void onClick(DialogInterface dialog, int item) { switch (finalActions.get(item)) { case EDIT_HEADERS: { - ArrayList tags = new ArrayList(); - ArrayList tagValues = new ArrayList(); - ctrl.getHeaders(tags, tagValues); - + final TreeMap headers = new TreeMap(); + ctrl.getHeaders(headers); + AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this); builder.setTitle(R.string.edit_headers); View content = View.inflate(DroidFish.this, R.layout.edit_headers, null); @@ -1357,10 +1356,6 @@ public class DroidFish extends Activity implements GUIInterface { white = (TextView)content.findViewById(R.id.ed_header_white); black = (TextView)content.findViewById(R.id.ed_header_black); - final TreeMap headers = new TreeMap(); - for (int i = 0; i < tags.size(); i++) - headers.put(tags.get(i), tagValues.get(i)); - event.setText(headers.get("Event")); site .setText(headers.get("Site")); date .setText(headers.get("Date")); @@ -1377,20 +1372,11 @@ public class DroidFish extends Activity implements GUIInterface { headers.put("Round", round.getText().toString().trim()); headers.put("White", white.getText().toString().trim()); headers.put("Black", black.getText().toString().trim()); - - ArrayList tags = new ArrayList(); - ArrayList tagValues = new ArrayList(); - for (String k : headers.keySet()) { - tags.add(k); - tagValues.add(headers.get(k)); - } - - ctrl.setHeaders(tags, tagValues); + ctrl.setHeaders(headers); } }); - + builder.show(); - break; } case EDIT_COMMENTS: { @@ -1431,7 +1417,6 @@ public class DroidFish extends Activity implements GUIInterface { }); builder.show(); - break; } case REMOVE_SUBTREE: diff --git a/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java b/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java index 2d3320d..c7dca75 100644 --- a/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java +++ b/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java @@ -20,6 +20,7 @@ package org.petero.droidfish.gamelogic; import java.util.ArrayList; import java.util.List; +import java.util.Map; import org.petero.droidfish.BookOptions; import org.petero.droidfish.GUIInterface; @@ -901,14 +902,14 @@ public class DroidChessController { } } - public final void setHeaders(ArrayList tags, ArrayList tagValues) { - game.tree.setHeaders(tags, tagValues); + public final void setHeaders(Map headers) { + game.tree.setHeaders(headers); gameTextListener.clear(); updateGUI(); } - public final void getHeaders(ArrayList tags, ArrayList tagValues) { - game.tree.getHeaders(tags, tagValues); + public final void getHeaders(Map headers) { + game.tree.getHeaders(headers); } public static final class CommentInfo { diff --git a/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java b/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java index b4c5506..7fe3321 100644 --- a/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java +++ b/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java @@ -28,6 +28,7 @@ import java.util.Calendar; import java.util.Collections; import java.util.GregorianCalendar; import java.util.List; +import java.util.Map; import org.petero.droidfish.PGNOptions; import org.petero.droidfish.gamelogic.Game.GameState; @@ -1362,10 +1363,9 @@ public class GameTree { } } - void setHeaders(ArrayList tags, ArrayList vals) { - for (int i = 0 ; i < tags.size(); i++) { - String tag = tags.get(i); - String val = vals.get(i); + void setHeaders(Map headers) { + for (String tag : headers.keySet()) { + String val = headers.get(tag); if (tag.equals("Event")) event = val; else if (tag.equals("Site")) site = val; else if (tag.equals("Date")) date = val; @@ -1391,16 +1391,16 @@ public class GameTree { } } - void getHeaders(ArrayList tags, ArrayList vals) { - tags.add("Event"); vals.add(event); - tags.add("Site"); vals.add(site); - tags.add("Date"); vals.add(date); - tags.add("Round"); vals.add(round); - tags.add("White"); vals.add(white); - tags.add("Black"); vals.add(black); + void getHeaders(Map headers) { + headers.put("Event", event); + headers.put("Site", site); + headers.put("Date", date); + headers.put("Round", round); + headers.put("White", white); + headers.put("Black", black); for (int i = 0; i < tagPairs.size(); i++) { - tags.add(tagPairs.get(i).tagName); - vals.add(tagPairs.get(i).tagValue); + TagPair tp = tagPairs.get(i); + headers.put(tp.tagName, tp.tagValue); } } }