aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/ml/docilealligator
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/ml/docilealligator')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/AccessTokenAuthenticator.java5
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/PullNotificationWorker.java7
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/account/AccountDao.java4
3 files changed, 9 insertions, 7 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AccessTokenAuthenticator.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AccessTokenAuthenticator.java
index 19407839..3c912221 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/AccessTokenAuthenticator.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AccessTokenAuthenticator.java
@@ -69,9 +69,10 @@ class AccessTokenAuthenticator implements Authenticator {
try {
retrofit2.Response<String> response = accessTokenCall.execute();
if (response.isSuccessful() && response.body() != null) {
- JSONObject jsonObject = new JSONObject((String) response.body());
+ JSONObject jsonObject = new JSONObject(response.body());
String newAccessToken = jsonObject.getString(APIUtils.ACCESS_TOKEN_KEY);
- mRedditDataRoomDatabase.accountDao().changeAccessToken(account.getUsername(), newAccessToken);
+ String newRefreshToken = jsonObject.getString(APIUtils.REFRESH_TOKEN_KEY);
+ mRedditDataRoomDatabase.accountDao().updateAccessTokenAndRefreshToken(account.getUsername(), newAccessToken, newRefreshToken);
return newAccessToken;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PullNotificationWorker.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PullNotificationWorker.java
index 538c4a2c..561f393b 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/PullNotificationWorker.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PullNotificationWorker.java
@@ -245,11 +245,12 @@ public class PullNotificationWorker extends Worker {
Call<String> accessTokenCall = api.getAccessToken(APIUtils.getHttpBasicAuthHeader(), params);
try {
- Response response = accessTokenCall.execute();
+ Response<String> response = accessTokenCall.execute();
if (response.isSuccessful() && response.body() != null) {
- JSONObject jsonObject = new JSONObject(response.body().toString());
+ JSONObject jsonObject = new JSONObject(response.body());
String newAccessToken = jsonObject.getString(APIUtils.ACCESS_TOKEN_KEY);
- mRedditDataRoomDatabase.accountDao().changeAccessToken(account.getUsername(), newAccessToken);
+ String newRefreshToken = jsonObject.getString(APIUtils.REFRESH_TOKEN_KEY);
+ mRedditDataRoomDatabase.accountDao().updateAccessTokenAndRefreshToken(account.getUsername(), newAccessToken, newRefreshToken);
return newAccessToken;
}
return "";
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/account/AccountDao.java b/app/src/main/java/ml/docilealligator/infinityforreddit/account/AccountDao.java
index 076f76f1..0f214f85 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/account/AccountDao.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/account/AccountDao.java
@@ -50,6 +50,6 @@ public interface AccountDao {
@Query("UPDATE accounts SET is_current_user = 1 WHERE username = :username")
void markAccountCurrent(String username);
- @Query("UPDATE accounts SET access_token = :accessToken WHERE username = :username")
- void changeAccessToken(String username, String accessToken);
+ @Query("UPDATE accounts SET access_token = :accessToken, refresh_token = :refreshToken WHERE username = :username")
+ void updateAccessTokenAndRefreshToken(String username, String accessToken, String refreshToken);
}