Skip to content

Instantly share code, notes, and snippets.

@truizlop
Last active August 29, 2015 14:27
Show Gist options
  • Save truizlop/fb4bf585e242306370bb to your computer and use it in GitHub Desktop.
Save truizlop/fb4bf585e242306370bb to your computer and use it in GitHub Desktop.
Retrieving achievements to display them in a custom view
public abstract class GetAchievements{
public void loadAchievements(final GoogleApiClient googleApiClient){
PendingResult<Achievements.LoadAchievementsResult> pendingAchievements = Games.Achievements.load(googleApiClient, true);
pendingAchievements.setResultCallback(new ResultCallback<Achievements.LoadAchievementsResult>() {
@Override
public void onResult(Achievements.LoadAchievementsResult loadAchievementsResult) {
Game game = Games.GamesMetadata.getCurrentGame(googleApiClient);
extractAchievements(loadAchievementsResult, game);
}
});
}
public void extractAchievements(Achievements.LoadAchievementsResult loadAchievementsResult, Game game) {
AchievementBuffer buffer = loadAchievementsResult.getAchievements();
List<Achievement> achievementList = new ArrayList<>();
for (int i = 0; i < game.getAchievementTotalCount(); i++) {
achievementList.add(buffer.get(i));
}
notifyAchievements(achievementList);
}
public abstract void notifyAchievements(List<Achievement> achievementList);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment