Skip to content

Commit

Permalink
#93 - Updated retry handling
Browse files Browse the repository at this point in the history
  • Loading branch information
Xero-Hige committed Jul 9, 2016
1 parent 934d514 commit 37b75fd
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
10 changes: 7 additions & 3 deletions app/src/main/java/ar/uba/fi/drtinder/SelectionFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ public void cardActionUp() {

private void sendLike(Map<Integer, String> candidateData, boolean liked) {
SendLikeTask task = new SendLikeTask(candidateData.get(USER_ID), liked);
task.execute();
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}

private void addUserCard(int index, String[] userData) {
Expand Down Expand Up @@ -267,13 +267,17 @@ private class SendLikeTask extends AsyncTask<Void, Void, Boolean> {
*/
@Override
protected Boolean doInBackground(Void... params) {
UserHandler.sendLike(UserHandler.getToken(), candidateId, liked);
return true;
return UserHandler.sendLike(UserHandler.getToken(), candidateId, liked);
}

@Override
protected void onPostExecute(final Boolean success) {
if (success) {
DrTinderLogger.writeLog(DrTinderLogger.INFO, (liked ? "Liked " : "Rejected ") + candidateId);
return;
}
DrTinderLogger.writeLog(DrTinderLogger.ERRO, "Failed: " + (liked ? "like " : "reject ") + candidateId);

}

@Override
Expand Down
7 changes: 5 additions & 2 deletions app/src/main/java/ar/uba/fi/drtinder/UserHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public final class UserHandler {
* # result: # successful
*/
public static final String #_SUCCESS = "S";
public static final int MAX_TRIES = 30;
private static final String LOGIN_URL = "user";
private static final String DELETE_URL = "users";
private static final String #_URL = "users";
Expand Down Expand Up @@ -376,7 +377,7 @@ private static String getUpdateUrl() {
* @param candidateId
* @param liked
*/
public static void sendLike(String token, String candidateId, boolean liked) {
public static boolean sendLike(String token, String candidateId, boolean liked) {

RestTemplate restTemplate = new RestTemplate();

Expand All @@ -390,7 +391,7 @@ public static void sendLike(String token, String candidateId, boolean liked) {

boolean sent = false;
int tries = 0;
while (!sent || tries > 30) {
while (!sent && tries < MAX_TRIES) {
try {
restTemplate.postForEntity(matchesUrl, body, String.class);
sent = true;
Expand All @@ -399,6 +400,8 @@ public static void sendLike(String token, String candidateId, boolean liked) {
tries += 1;
}
}

return sent;
}

private static String getMatchesUrl() {
Expand Down

0 comments on commit 37b75fd

Please # to comment.