From 13f30d1d1d2a7124c1046daf0ff59a2b26b0a7b6 Mon Sep 17 00:00:00 2001 From: lioncash Date: Mon, 15 Jul 2013 09:35:45 -0400 Subject: [PATCH] [Android] Simplify GameListFragment.Fill a little bit. Made the filtering check against a HashSet of specified supported extensions. Not only does this get rid of the multitude of checks for extensions in the if-statement, but it also makes for less typing in the future if new file extensions/formats are used. Simply add the extension to support to the set, and you're done. --- .../dolphinemu/GameListFragment.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/GameListFragment.java b/Source/Android/src/org/dolphinemu/dolphinemu/GameListFragment.java index e7b7c25c33..627549b926 100644 --- a/Source/Android/src/org/dolphinemu/dolphinemu/GameListFragment.java +++ b/Source/Android/src/org/dolphinemu/dolphinemu/GameListFragment.java @@ -13,8 +13,11 @@ import android.widget.Toast; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * Copyright 2013 Dolphin Emulator Project @@ -40,6 +43,10 @@ public class GameListFragment extends Fragment List fls = new ArrayList(); String Directories = NativeLibrary.GetConfig("Dolphin.ini", "General", "GCMPathes", "0"); int intDirectories = Integer.parseInt(Directories); + + // Extensions to filter by. + Set exts = new HashSet(Arrays.asList(".gcm", ".iso", ".wbfs", ".gcz", ".dol", ".elf", ".dff")); + for (int a = 0; a < intDirectories; ++a) { String BrowseDir = NativeLibrary.GetConfig("Dolphin.ini", "General", "GCMPath" + Integer.toString(a), ""); @@ -47,18 +54,18 @@ public class GameListFragment extends Fragment File[]dirs = currentDir.listFiles(); try { - for(File ff: dirs) + for(File entry : dirs) { - if (ff.getName().charAt(0) != '.') - if(!ff.isDirectory()) - if (ff.getName().toLowerCase().contains(".gcm") || - ff.getName().toLowerCase().contains(".iso") || - ff.getName().toLowerCase().contains(".wbfs") || - ff.getName().toLowerCase().contains(".gcz") || - ff.getName().toLowerCase().contains(".dol") || - ff.getName().toLowerCase().contains(".elf") || - ff.getName().toLowerCase().contains(".dff")) - fls.add(new GameListItem(mMe.getApplicationContext(), ff.getName(),"File Size: "+ff.length(),ff.getAbsolutePath(), true)); + String entryName = entry.getName(); + + if (entryName.charAt(0) != '.') + { + if(!entry.isDirectory()) + { + if (exts.contains(entryName.toLowerCase())) + fls.add(new GameListItem(mMe.getApplicationContext(), entryName,"File Size: "+entry.length(),entry.getAbsolutePath(), true)); + } + } } } catch(Exception ignored)