Skip to content

Commit

Permalink
Handle case when requesting player score on leaderboard but none exists
Browse files Browse the repository at this point in the history
Fixes #26
  • Loading branch information
britzl committed Sep 11, 2020
1 parent 519a05d commit d188b17
Showing 1 changed file with 20 additions and 21 deletions.
41 changes: 20 additions & 21 deletions gpgs/src/java/com/defold/gpgs/GpgsJNI.java
Expand Up @@ -136,7 +136,7 @@ private void sendSimpleMessage(int msg, String key_1, int value_1) {
obj.put(key_1, value_1);
message = obj.toString();
} catch (JSONException e) {
message = "{ error:'Error while converting simple message to JSON: " + e.getMessage() + "'";
message = "{ \"error\": \"Error while converting simple message to JSON: " + e.getMessage() + "\" }";
}
gpgsAddToQueue(msg, message);
}
Expand All @@ -149,7 +149,7 @@ private void sendSimpleMessage(int msg, String key_1, int value_1, String key_2,
obj.put(key_2, value_2);
message = obj.toString();
} catch (JSONException e) {
message = "{ error:'Error while converting simple message to JSON: " + e.getMessage() + "'";
message = "{ \"error\": \"Error while converting simple message to JSON: " + e.getMessage() + "\" }";
}
gpgsAddToQueue(msg, message);
}
Expand All @@ -163,7 +163,7 @@ private void sendSimpleMessage(int msg, String key_1, int value_1, String key_2,
obj.put(key_3, value_3);
message = obj.toString();
} catch (JSONException e) {
message = "{ error:'Error while converting simple message to JSON: " + e.getMessage() + "'";
message = "{ \"error\": \"Error while converting simple message to JSON: " + e.getMessage() + "\" }";
}
gpgsAddToQueue(msg, message);
}
Expand Down Expand Up @@ -397,8 +397,7 @@ private void sendSnapshotMetadataMessage(int msg, SnapshotMetadata metadata) {
addSnapshotMetadtaToJson(obj, "metadata", metadata);
message = obj.toString();
} catch (JSONException e) {
message = "{ 'error':'Error while converting a metadata message to JSON: " + e.getMessage() +
"', 'status': '" + STATUS_FAILED + " }";
message = "{ \"error\": \"Error while converting a metadata message to JSON: " + e.getMessage() + "\", \"status\": " + STATUS_FAILED + " }";
}
gpgsAddToQueue(msg, message);
}
Expand All @@ -413,8 +412,7 @@ private void sendConflictMessage(int msg, SnapshotMetadata metadata, SnapshotMet
addSnapshotMetadtaToJson(obj, "conflictMetadata", conflictMetadata);
message = obj.toString();
} catch (JSONException e) {
message = "{ 'error':'Error while converting a metadata or a conflict metadata message to JSON: " + e.getMessage() +
"', 'status': '" + STATUS_FAILED + " }";
message = "{ \"error\": \"Error while converting a metadata or a conflict metadata message to JSON: " + e.getMessage() + "\", \"status\": " + STATUS_FAILED + " }";
}
gpgsAddToQueue(msg, message);
}
Expand Down Expand Up @@ -650,8 +648,7 @@ public void onSuccess(AnnotatedData<LeaderboardsClient.LeaderboardScores> data)
}
message = result.toString();
} catch (JSONException e) {
message = "{ 'error':'Error while converting leaderboard score to JSON: " + e.getMessage() +
"', 'status': '" + STATUS_FAILED + " }";
message = "{ \"error\": \"Error while converting leaderboard score to JSON: " + e.getMessage() + "\", \"status\": " + STATUS_FAILED + " }";
}
buffer.release();
gpgsAddToQueue(MSG_GET_TOP_SCORES, message);
Expand All @@ -678,8 +675,7 @@ public void onSuccess(AnnotatedData<LeaderboardsClient.LeaderboardScores> data)
}
message = result.toString();
} catch (JSONException e) {
message = "{ 'error':'Error while converting leaderboard score to JSON: " + e.getMessage() +
"', 'status': '" + STATUS_FAILED + " }";
message = "{ \"error\": \"Error while converting leaderboard score to JSON: " + e.getMessage() + "\", \"status\": " + STATUS_FAILED + " }";
}
buffer.release();
gpgsAddToQueue(MSG_GET_PLAYER_CENTERED_SCORES, message);
Expand All @@ -697,12 +693,17 @@ public void loadCurrentPlayerLeaderboardScore(String leaderboardId, int span, in
public void onSuccess(AnnotatedData<LeaderboardScore> data) {
LeaderboardScore score = data.get();
String message = null;
try {
JSONObject result = scoreToJSON(score);
message = result.toString();
} catch (JSONException e) {
message = "{ 'error':'Error while converting leaderboard score to JSON: " + e.getMessage() +
"', 'status': '" + STATUS_FAILED + " }";
if (score == null) {
message = "{ \"error\": \"Player has no score on leaderboard\", \"status\": " + STATUS_FAILED + " }";

}
else {
try {
JSONObject result = scoreToJSON(score);
message = result.toString();
} catch (JSONException e) {
message = "{ \"error\": \"Error while converting leaderboard score to JSON: " + e.getMessage() + "\", \"status\": " + STATUS_FAILED + " }";
}
}
gpgsAddToQueue(MSG_GET_PLAYER_SCORE, message);
}
Expand Down Expand Up @@ -806,8 +807,7 @@ else if (a.getState() == Achievement.STATE_REVEALED) {
message = result.toString();
buffer.release();
} catch (JSONException e) {
message = "{ 'error':'Error while converting achievements to JSON: " + e.getMessage() +
"', 'status': '" + STATUS_FAILED + " }";
message = "{ \"error\": \"Error while converting achievements to JSON: " + e.getMessage() + "\", \"status\": " + STATUS_FAILED + " }";
}
gpgsAddToQueue(MSG_ACHIEVEMENTS, message);
}
Expand Down Expand Up @@ -858,8 +858,7 @@ public void onSuccess(AnnotatedData<EventBuffer> data) {
message = result.toString();
buffer.release();
} catch (JSONException e) {
message = "{ 'error':'Error while converting event to JSON: " + e.getMessage() +
"', 'status': '" + STATUS_FAILED + " }";
message = "{ \"error\": \"Error while converting event to JSON: " + e.getMessage() + "\", \"status\": " + STATUS_FAILED + " }";
}
gpgsAddToQueue(MSG_GET_EVENTS, message);
}
Expand Down

0 comments on commit d188b17

Please sign in to comment.