From 7fecd6ba433cb464965a500dbeeda0da30778acd Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Sat, 18 Jul 2015 02:36:20 -0400 Subject: [PATCH] Check for null game info and catch all exceptions --- .../src/com/reicast/emulator/XMLParser.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/shell/android/src/com/reicast/emulator/XMLParser.java b/shell/android/src/com/reicast/emulator/XMLParser.java index 65258ab77..897547bcc 100755 --- a/shell/android/src/com/reicast/emulator/XMLParser.java +++ b/shell/android/src/com/reicast/emulator/XMLParser.java @@ -155,17 +155,20 @@ public class XMLParser extends AsyncTask { if (gameData != null) { try { Document doc = getDomElement(gameData); - Element root = (Element) doc.getElementsByTagName("Game").item( - 0); - game_name = getValue(root, "GameTitle"); - String details = getValue(root, "Overview"); - game_details.put(index, details); - Element images = (Element) root.getElementsByTagName("Images").item(0); - Element boxart = (Element) images.getElementsByTagName("boxart").item(1); - String image = "http://thegamesdb.net/banners/" + getElementValue(boxart); - game_preview.put(index, decodeBitmapIcon(image)); - game_icon = new BitmapDrawable(decodeBitmapIcon(image)); - } catch (IOException e) { + if (doc.getElementsByTagName("Game") != null) { + Element root = (Element) doc.getElementsByTagName("Game").item(0); + game_name = getValue(root, "GameTitle"); + String details = getValue(root, "Overview"); + game_details.put(index, details); + Element images = (Element) root.getElementsByTagName("Images").item(0); + Element boxart = (Element) images.getElementsByTagName("boxart").item(1); + String image = "http://thegamesdb.net/banners/" + getElementValue(boxart); + game_preview.put(index, decodeBitmapIcon(image)); + game_icon = new BitmapDrawable(decodeBitmapIcon(image)); + } else { + initializeDefaults(); + } + } catch (Exception e) { initializeDefaults(); } } else {