Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[Android] Don't create a new GCMPath entry in the Dolphin config if i…
…t another existing GCMPath entry already has the same directory path.

Also, fix a 'bug' with the clear all items function. Make sure we set GCMPathes to 0, so that GCMPath entries start adding at GCMPath0 again.

This change also allows me to remove the duplicate checking code from GameListFragment, since the items in the game list are loaded based on the GCMEntries in the Dolphin config.
  • Loading branch information
lioncash committed Aug 24, 2013
1 parent 857ce47 commit 528a733
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 20 deletions.
Expand Up @@ -137,15 +137,38 @@ public void onAttach(Activity activity)
// Cache the activity instance.
m_activity = activity;
}


private void FolderSelected()
{
String Directories = NativeLibrary.GetConfig("Dolphin.ini", "General", "GCMPathes", "0");
int intDirectories = Integer.parseInt(Directories);
Directories = Integer.toString(intDirectories + 1);
NativeLibrary.SetConfig("Dolphin.ini", "General", "GCMPathes", Directories);
NativeLibrary.SetConfig("Dolphin.ini", "General", "GCMPath" + Integer.toString(intDirectories), currentDir.getPath());

// Check to see if a path set in the Dolphin config
// matches the one the user is trying to add. If it's
// already set, then don't add it to the list again.
boolean pathNotPresent = true;
for (int i = 0; i < intDirectories; i++)
{
String gcmPath = NativeLibrary.GetConfig("Dolphin.ini", "General", "GCMPath" + i, "");

if (gcmPath.equals(currentDir.getPath()))
{
pathNotPresent = false;
}
else
{
pathNotPresent = true;
}
}

// User doesn't have this path in the config, so add it.
if (pathNotPresent)
{
NativeLibrary.SetConfig("Dolphin.ini", "General", "GCMPathes", Integer.toString(intDirectories+1));
NativeLibrary.SetConfig("Dolphin.ini", "General", "GCMPath" + Integer.toString(intDirectories), currentDir.getPath());
}

((GameListActivity)m_activity).SwitchPage(0);
}
Expand Down
Expand Up @@ -293,6 +293,8 @@ public void onClick(DialogInterface dialog, int which)
NativeLibrary.SetConfig("Dolphin.ini", "General", "GCMPath" + i, "");
}

NativeLibrary.SetConfig("Dolphin.ini", "General", "GCMPathes", "0");

ArrayAdapter<GameListItem> adapter = ((GameListFragment)GameListActivity.this.mCurFragment).getAdapter();
adapter.clear();
adapter.notifyDataSetChanged();
Expand Down
Expand Up @@ -98,22 +98,6 @@ private void Fill()
}
Collections.sort(fls);

// Remove any duplicate items from the list.
// We don't need to index these in the game list more than once.
//
// This works by comparing the paths of items in the file list for equality,
// so there should be no worries about accidentally removing a valid game.
for (int i = 0; i < fls.size(); i++)
{
for (int j = i+1; j < fls.size(); j++)
{
if (fls.get(j).getPath().equals(fls.get(i).getPath()))
{
fls.remove(j);
}
}
}

mGameAdapter = new GameListAdapter(mMe, R.layout.gamelist_layout, fls);
mMainList.setAdapter(mGameAdapter);

Expand Down

0 comments on commit 528a733

Please sign in to comment.