From 558a4abcea74e4f885d16eafb052b7ecfca8f842 Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Mon, 12 Dec 2016 19:43:56 +0100 Subject: [PATCH] DroidFish: Made sharing games from ChessBase app work. --- DroidFish/src/org/petero/droidfish/DroidFish.java | 4 ++-- .../org/petero/droidfish/gamelogic/DroidChessController.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/DroidFish/src/org/petero/droidfish/DroidFish.java b/DroidFish/src/org/petero/droidfish/DroidFish.java index 6d05bc8..a7166ec 100644 --- a/DroidFish/src/org/petero/droidfish/DroidFish.java +++ b/DroidFish/src/org/petero/droidfish/DroidFish.java @@ -693,7 +693,7 @@ public class DroidFish extends Activity "application/x-chess-fen".equals(intent.getType()))) pgnOrFen = intent.getStringExtra(Intent.EXTRA_TEXT); } else { - String scheme = intent.getScheme(); + String scheme = data.getScheme(); if ("file".equals(scheme)) { filename = data.getEncodedPath(); if (filename != null) @@ -703,7 +703,7 @@ public class DroidFish extends Activity ("content".equals(scheme) || "file".equals(scheme))) { ContentResolver resolver = getContentResolver(); - InputStream in = resolver.openInputStream(intent.getData()); + InputStream in = resolver.openInputStream(data); StringBuilder sb = new StringBuilder(); while (true) { byte[] buffer = new byte[16384]; diff --git a/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java b/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java index 6afcedc..2827c2c 100644 --- a/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java +++ b/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java @@ -262,6 +262,8 @@ public class DroidChessController { /** Parse a string as FEN or PGN data. */ public final synchronized void setFENOrPGN(String fenPgn) throws ChessParseError { + if (!fenPgn.isEmpty() && fenPgn.charAt(0) == '\ufeff') + fenPgn = fenPgn.substring(1); // Remove BOM Game newGame = new Game(gameTextListener, game.timeController.tcData); try { Position pos = TextIO.readFEN(fenPgn);