From c8600bb6cf1e947795830ab79f503d26319969f7 Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Wed, 8 Jul 2015 08:31:36 -0400 Subject: [PATCH] Flexible name check for game identification --- shell/android/res/layout/app_list_item.xml | 4 ++-- .../src/com/reicast/emulator/XMLParser.java | 16 ++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/shell/android/res/layout/app_list_item.xml b/shell/android/res/layout/app_list_item.xml index f9842b451..e4c6e8f1f 100644 --- a/shell/android/res/layout/app_list_item.xml +++ b/shell/android/res/layout/app_list_item.xml @@ -21,8 +21,8 @@ { protected String doInBackground(String... params) { String filename = game_name = params[0]; if (isNetworkAvailable() && mPrefs.getBoolean(Config.pref_gamedetails, false)) { - if (params[0].contains("[")) { - filename = params[0].substring(0, params[0].lastIndexOf("[")); - } else { - filename = params[0].substring(0, params[0].lastIndexOf(".")); + if (filename.startsWith("[")) { + filename = filename.substring(filename.indexOf("]") + 1, filename.length()); } - filename = filename.replaceAll("[^\\p{L}\\p{Nd}]", " "); - filename = filename.replace(" ", "+"); + if (filename.contains("[")) { + filename = filename.substring(0, filename.indexOf("[")); + } else { + filename = filename.substring(0, filename.lastIndexOf(".")); + } + filename = filename.replace("_", " ").replace(":", " "); + filename = filename.replaceAll("[^\\p{Alpha}\\p{Digit}]+"," "); + filename = filename.replace(" ", " ").replace(" ", "+"); if (filename.endsWith("+")) { filename = filename.substring(0, filename.length() - 1); }