Guest User

Untitled

a guest
Mar 22nd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. public void viewCohortScore(){
  2.  
  3. //put a null check here on 'co'
  4. CollatedMessage<ResultSet<LeaderboardRecord>> message = LeaderboardRecordsListMessage.Builder.newBuilder(co.leaderboard_id)
  5. .filterByPagingToOwnerIds(Arrays.asList(co.cohort)).build();
  6. Deferred<ResultSet<LeaderboardRecord>> deferred = client.send(message);
  7. deferred.addCallback(new Callback<ResultSet<LeaderboardRecord>,ResultSet<LeaderboardRecord>>(){
  8.  
  9. @Override
  10. public ResultSet<LeaderboardRecord> call(final ResultSet<LeaderboardRecord> result) throws Exception {
  11.  
  12.  
  13. if(result.getResults().size()< co.cohort.length){
  14. List<String> missingUserIDs = new ArrayList<String>();
  15.  
  16. for (String c :co.cohort) {
  17. boolean found = false;
  18. for (LeaderboardRecord r: result.getResults()) {
  19.  
  20. if(r.getOwnerId() == c){
  21. found = true;
  22. break;
  23. }
  24.  
  25. }
  26.  
  27. if(!found){
  28. missingUserIDs.add(c);
  29. }
  30. }
  31. Log.e(log, "value of missingUserIDs in view_cohort_score "+missingUserIDs);
  32.  
  33.  
  34.  
  35. if(missingUserIDs.size() > 0){
  36.  
  37.  
  38. CollatedMessage<ResultSet<User>> message = UsersFetchMessage.Builder.newBuilder()
  39. .id(missingUserIDs.toString()).build();
  40. Deferred<ResultSet<User>> deferred = client.send(message);
  41. deferred.addCallback(new Callback<ResultSet<User>, ResultSet<User>>() {
  42. @Override
  43.  
  44. public ResultSet<User> call(ResultSet<User> usersResult) throws Exception {
  45.  
  46. act(result.getResults(),usersResult.getResults());
  47. // Log.e(log, "inside view_cohort_score1"+result.getResults());
  48. Log.e(log, "inside view_cohort_score1"+usersResult.getResults());
  49.  
  50.  
  51. return usersResult;
  52. }
  53.  
  54. }).addErrback(new Callback<Error, Error>() {
  55. @Override
  56. public Error call(Error err) throws Exception {
  57. Log.e(log, "Error inside view_cohort_score1"+err.getCode() + ":" + err.getMessage());
  58. return err;
  59.  
  60. }
  61. });
  62.  
  63.  
  64.  
  65.  
  66. }else{
  67. act(result.getResults(), new ArrayList<User>());
  68. }
  69.  
  70.  
  71.  
  72. }else{
  73. act(result.getResults(), new ArrayList<User>());
  74. }
  75.  
  76.  
  77.  
  78.  
  79. return result;
  80. }
  81. }).addErrback(new Callback<Error, Error>() {
  82. @Override
  83. public Error call(Error error) throws Exception {
  84. Log.e(log,"Error inside view_cohort_score2" +error.getCode() +error.getMessage());
  85.  
  86. return error;
  87. }
  88. });
  89.  
  90.  
  91. }
  92.  
  93.  
  94.  
  95.  
  96. private void act(List<LeaderboardRecord> results, List<User> usersResultResults){
  97.  
  98. // Here we receive a list of leaderboard records that have a score.
  99. for (LeaderboardRecord r: results) {
  100.  
  101. Log.e(log,"User id: "+r.getOwnerId() +" has score of:" +r.getScore());
  102.  
  103. }
  104. // Finally here are the cohort members that have no score yet this season.
  105. for (User u: usersResultResults) {
  106.  
  107. Log.e(log,"User id: "+u.getId() +" has no score");
  108.  
  109. }
Add Comment
Please, Sign In to add comment