Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[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.
  • Loading branch information
lioncash committed Jul 15, 2013
1 parent 4e8c3b2 commit 13f30d1
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions Source/Android/src/org/dolphinemu/dolphinemu/GameListFragment.java
Expand Up @@ -13,8 +13,11 @@

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
Expand All @@ -40,25 +43,29 @@ private void Fill()
List<GameListItem> fls = new ArrayList<GameListItem>();
String Directories = NativeLibrary.GetConfig("Dolphin.ini", "General", "GCMPathes", "0");
int intDirectories = Integer.parseInt(Directories);

// Extensions to filter by.
Set<String> exts = new HashSet<String>(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), "");
File currentDir = new File(BrowseDir);
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)
Expand Down

0 comments on commit 13f30d1

Please sign in to comment.