Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[Android] Eliminate the need to hold a reference to the shown Fragmen…
…t within GameListActivity. Now we only care about the numeric ID of the one being shown.
  • Loading branch information
lioncash committed Nov 16, 2013
1 parent 777b5a1 commit 21a196f
Showing 1 changed file with 31 additions and 10 deletions.
Expand Up @@ -43,7 +43,6 @@ public final class GameListActivity extends Activity
implements GameListFragment.OnGameListZeroListener
{
private int mCurFragmentNum = 0;
private Fragment mCurFragment;

private ActionBarDrawerToggle mDrawerToggle;
private DrawerLayout mDrawerLayout;
Expand Down Expand Up @@ -108,9 +107,9 @@ public void onDrawerOpened(View drawerView) {
// but only if no previous states have been saved.
if (savedInstanceState == null)
{
mCurFragment = new GameListFragment();
final GameListFragment gameList = new GameListFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, mCurFragment);
ft.replace(R.id.content_frame, gameList);
ft.commit();
}

Expand Down Expand Up @@ -157,9 +156,9 @@ public void SwitchPage(int toPage)
setTitle(R.string.app_name);

mCurFragmentNum = 0;
mCurFragment = new GameListFragment();
final GameListFragment gameList = new GameListFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, mCurFragment);
ft.replace(R.id.content_frame, gameList, "");
ft.commit();
invalidateOptionsMenu();
}
Expand All @@ -168,9 +167,9 @@ public void SwitchPage(int toPage)
case 1: // Folder Browser
{
mCurFragmentNum = 1;
mCurFragment = new FolderBrowser();
final FolderBrowser folderBrowser = new FolderBrowser();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, mCurFragment);
ft.replace(R.id.content_frame, folderBrowser);
ft.addToBackStack(null);
ft.commit();
invalidateOptionsMenu();
Expand All @@ -187,9 +186,9 @@ public void SwitchPage(int toPage)
case 3: // About
{
mCurFragmentNum = 3;
mCurFragment = new AboutFragment();
final AboutFragment aboutFragment = new AboutFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, mCurFragment);
ft.replace(R.id.content_frame, aboutFragment);
ft.addToBackStack(null);
ft.commit();
invalidateOptionsMenu();
Expand Down Expand Up @@ -278,7 +277,7 @@ public void onClick(DialogInterface dialog, int which)
NativeLibrary.SetConfig("Dolphin.ini", "General", "GCMPathes", "0");

// Now finally, clear the game list.
((GameListFragment) mCurFragment).clearGameList();
((GameListFragment) getFragmentManager().findFragmentById(R.id.content_frame)).clearGameList();
}
});
builder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
Expand All @@ -293,4 +292,26 @@ public void onClick(DialogInterface dialog, int which)

return super.onOptionsItemSelected(item);
}

@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);

outState.putInt("currentFragmentNum", mCurFragmentNum);
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);

mCurFragmentNum = savedInstanceState.getInt("currentFragmentNum");
}

@Override
public void onBackPressed()
{
SwitchPage(0);
}
}

0 comments on commit 21a196f

Please sign in to comment.