private void setGameInfo(int gameNo, boolean isFavorite) { this.gameInfo = new GameInfo(); try { gameInfo.setEvent(getSanitizedString(DataBase.getEvent())); if (gameInfo.getEvent().equals("?")) { gameInfo.setEvent(""); } gameInfo.setSite(getSanitizedString(DataBase.getSite())); if (gameInfo.getSite().equals("?")) { gameInfo.setSite(""); } String date = DataBase.getDate(); if (date == null) { date = ""; } else if (date.endsWith(".??.??")) { date = date.substring(0, date.length() - 6); } else if (date.endsWith(".??")) { date = date.substring(0, date.length() - 3); } if (date.equals("?") || date.equals("????")) { date = ""; } gameInfo.setDate(date); gameInfo.setRound(getSanitizedString(DataBase.getRound())); if (gameInfo.getRound().equals("?")) { gameInfo.setRound(""); } gameInfo.setWhite(getSanitizedString(DataBase.getWhite())); gameInfo.setBlack(getSanitizedString(DataBase.getBlack())); String[] results = {"*", "1-0", "0-1", "1/2"}; gameInfo.setResult(results[DataBase.getResult()]); byte[] dbPgn = DataBase.getPGN(); if (dbPgn != null) { gameInfo.setPgn(loadPGN ? new String(DataBase.getPGN(), DataBase.SCID_ENCODING) : null); } } catch (UnsupportedEncodingException e) { Log.e("SCID", "Error converting byte[] to String", e); } gameInfo.setId(gameNo); gameInfo.setFavorite(isFavorite); gameInfo.setDeleted(DataBase.isDeleted()); }