Android Open Source - TheGamesDB-Android-app Game List Sorter






From Project

Back to project page TheGamesDB-Android-app.

License

The source code is released under:

GNU General Public License

If you think the Android project TheGamesDB-Android-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package dragni.tgb.thegamesdb.util;
//from ww  w .j a va2  s .  c  om
import java.util.Collections;

import dragni.tgb.thegamesdb.entity.Game;
import dragni.tgb.thegamesdb.entity.GameList;

public class GameListSorter {

  public enum SortType {
    nameAsc, nameDesc, platformAsc, platformDesc, releaseAsc, releaseDesc
  };

  public final static int NAME = 0;
  public final static int PLATFORM = 1;
  public final static int RELEASE = 2;

  private SortType sortType;

  // TODO: move to gamelistsorter.
  public void setSortType(int type) {
    switch (type) {
    case NAME:
      if (sortType == SortType.nameAsc) {
        sortType = SortType.nameDesc;
      } else {
        sortType = SortType.nameAsc;
      }
      break;
    case PLATFORM:
      if (sortType == SortType.platformAsc) {
        sortType = SortType.platformDesc;
      } else {
        sortType = SortType.platformAsc;
      }
      break;
    case RELEASE:
      if (sortType == SortType.releaseAsc) {
        sortType = SortType.releaseDesc;
      } else {
        sortType = SortType.releaseAsc;
      }
      break;
    }
  }

  public GameList sortGamesList(GameList games) {

    switch (sortType) {
    case nameAsc:
      games = sortByNameAsc(games);
      return games;
    case nameDesc:
      games = sortByNameDesc(games);
      return games;
    case platformAsc:
      games = sortByPlatformAsc(games);
      return games;
    case platformDesc:
      games = sortByPlatformDesc(games);
      return games;
    case releaseAsc:
      games = sortByReleaseAsc(games);
      return games;
    case releaseDesc:
      games = sortByReleaseDesc(games);
      return games;
    default:
      return games;
    }
  }

  public SortType getSortType() {
    return sortType;
  }

  public GameList sortByNameAsc(GameList games) {

    for (Game game : games) {
      game.setSortType(Game.SortType.TITLE);
    }

    Collections.sort(games);
    return games;
  }

  public GameList sortByNameDesc(GameList games) {
    for (Game game : games) {
      game.setSortType(Game.SortType.TITLE);
    }

    Collections.sort(games, Collections.reverseOrder());
    return games;
  }

  public GameList sortByPlatformAsc(GameList games) {
    for (Game game : games) {
      game.setSortType(Game.SortType.PLATFORM);
    }

    Collections.sort(games);
    return games;
  }

  public GameList sortByPlatformDesc(GameList games) {
    for (Game game : games) {
      game.setSortType(Game.SortType.PLATFORM);
    }

    Collections.sort(games, Collections.reverseOrder());
    return games;
  }

  public GameList sortByReleaseAsc(GameList games) {
    for (Game game : games) {
      game.setSortType(Game.SortType.RELEASE);
    }

    Collections.sort(games);
    return games;
  }

  public GameList sortByReleaseDesc(GameList games) {
    for (Game game : games) {
      game.setSortType(Game.SortType.RELEASE);
    }

    Collections.sort(games, Collections.reverseOrder());
    return games;
  }
}




Java Source Code List

dragni.tgb.thegamesdb.entity.GameList.java
dragni.tgb.thegamesdb.entity.Game.java
dragni.tgb.thegamesdb.entity.ImageList.java
dragni.tgb.thegamesdb.entity.Image.java
dragni.tgb.thegamesdb.logic.GameSearcher.java
dragni.tgb.thegamesdb.util.GameListSorter.java
dragni.tgb.thegamesdb.util.SearchType.java
dragni.tgb.thegamesdb.util.UrlMaker.java
dragni.tgb.thegamesdb.views.FragmentGameImages.java
dragni.tgb.thegamesdb.views.FragmentGameInformation.java
dragni.tgb.thegamesdb.views.FragmentGameVideos.java
dragni.tgb.thegamesdb.views.GameListActivity.java
dragni.tgb.thegamesdb.views.GameOverviewActivity.java
dragni.tgb.thegamesdb.views.ImageAdapter.java
dragni.tgb.thegamesdb.views.ImageZoomActivity.java
dragni.tgb.thegamesdb.views.ListAdapter.java
dragni.tgb.thegamesdb.views.SearchActivity.java
dragni.tgb.thegamesdb.views.ViewPagerAdapter.java