diff --git a/DroidFish/src/org/petero/droidfish/DroidFish.java b/DroidFish/src/org/petero/droidfish/DroidFish.java index 1b60404..c6b9af0 100644 --- a/DroidFish/src/org/petero/droidfish/DroidFish.java +++ b/DroidFish/src/org/petero/droidfish/DroidFish.java @@ -227,15 +227,15 @@ public class DroidFish extends Activity implements GUIInterface { if ((intent.getData() != null) && intent.getScheme().equals("content")) { ContentResolver resolver = getContentResolver(); InputStream in = resolver.openInputStream(intent.getData()); - String tmp = ""; + StringBuilder sb = new StringBuilder(); while (true) { byte[] buffer = new byte[16384]; int len = in.read(buffer); if (len <= 0) break; - tmp += new String(buffer, 0, len); + sb.append(new String(buffer, 0, len)); } - pgn = tmp; + pgn = sb.toString(); } } catch (IOException e) { Toast.makeText(getApplicationContext(), "Failed to read pgn data", Toast.LENGTH_SHORT).show(); diff --git a/DroidFish/src/org/petero/droidfish/activities/PGNFile.java b/DroidFish/src/org/petero/droidfish/activities/PGNFile.java index 0895a94..1825058 100644 --- a/DroidFish/src/org/petero/droidfish/activities/PGNFile.java +++ b/DroidFish/src/org/petero/droidfish/activities/PGNFile.java @@ -325,7 +325,8 @@ public class PGNFile { copyData(fileReader, fileWriter, fileReader.length() - gi.endPos); fileReader.close(); fileWriter.close(); - tmpFile.renameTo(fileName); + if (!tmpFile.renameTo(fileName)) + throw new IOException(); // Update gamesInFile if (gamesInFile != null) { diff --git a/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java b/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java index 7fe3321..c4073b5 100644 --- a/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java +++ b/DroidFish/src/org/petero/droidfish/gamelogic/GameTree.java @@ -29,6 +29,7 @@ import java.util.Collections; import java.util.GregorianCalendar; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import org.petero.droidfish.PGNOptions; import org.petero.droidfish.gamelogic.Game.GameState; @@ -1364,8 +1365,9 @@ public class GameTree { } void setHeaders(Map headers) { - for (String tag : headers.keySet()) { - String val = headers.get(tag); + for (Entry entry : headers.entrySet()) { + String tag = entry.getKey(); + String val = entry.getValue(); if (tag.equals("Event")) event = val; else if (tag.equals("Site")) site = val; else if (tag.equals("Date")) date = val;