aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/FavoriteThing.java78
1 files changed, 44 insertions, 34 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/FavoriteThing.java b/app/src/main/java/ml/docilealligator/infinityforreddit/FavoriteThing.java
index 29aace70..81ae4fa3 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/FavoriteThing.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/FavoriteThing.java
@@ -83,50 +83,60 @@ public class FavoriteThing {
RedditDataRoomDatabase redditDataRoomDatabase,
String accessToken, SubscribedUserData subscribedUserData,
FavoriteThingListener favoriteThingListener) {
- Map<String, String> params = new HashMap<>();
- params.put(APIUtils.SR_NAME_KEY, "u_" + subscribedUserData.getName());
- params.put(APIUtils.MAKE_FAVORITE_KEY, "true");
- oauthRetrofit.create(RedditAPI.class).favoriteThing(APIUtils.getOAuthHeader(accessToken), params).enqueue(new Callback<String>() {
- @Override
- public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
- if (response.isSuccessful()) {
- InsertSubscribedThings.insertSubscribedThings(executor, handler, redditDataRoomDatabase,
- subscribedUserData, favoriteThingListener::success);
- } else {
- favoriteThingListener.failed();
+ if (accessToken == null) {
+ InsertSubscribedThings.insertSubscribedThings(executor, handler, redditDataRoomDatabase,
+ subscribedUserData, favoriteThingListener::success);
+ } else {
+ Map<String, String> params = new HashMap<>();
+ params.put(APIUtils.SR_NAME_KEY, "u_" + subscribedUserData.getName());
+ params.put(APIUtils.MAKE_FAVORITE_KEY, "true");
+ oauthRetrofit.create(RedditAPI.class).favoriteThing(APIUtils.getOAuthHeader(accessToken), params).enqueue(new Callback<String>() {
+ @Override
+ public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
+ if (response.isSuccessful()) {
+ InsertSubscribedThings.insertSubscribedThings(executor, handler, redditDataRoomDatabase,
+ subscribedUserData, favoriteThingListener::success);
+ } else {
+ favoriteThingListener.failed();
+ }
}
- }
- @Override
- public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
- favoriteThingListener.failed();
- }
- });
+ @Override
+ public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
+ favoriteThingListener.failed();
+ }
+ });
+ }
}
public static void unfavoriteUser(Executor executor, Handler handler, Retrofit oauthRetrofit,
RedditDataRoomDatabase redditDataRoomDatabase,
String accessToken, SubscribedUserData subscribedUserData,
FavoriteThingListener favoriteThingListener) {
- Map<String, String> params = new HashMap<>();
- params.put(APIUtils.SR_NAME_KEY, "u_" + subscribedUserData.getName());
- params.put(APIUtils.MAKE_FAVORITE_KEY, "false");
- oauthRetrofit.create(RedditAPI.class).favoriteThing(APIUtils.getOAuthHeader(accessToken), params).enqueue(new Callback<String>() {
- @Override
- public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
- if (response.isSuccessful()) {
- InsertSubscribedThings.insertSubscribedThings(executor, handler, redditDataRoomDatabase,
- subscribedUserData, favoriteThingListener::success);
- } else {
- favoriteThingListener.failed();
+ if (accessToken == null) {
+ InsertSubscribedThings.insertSubscribedThings(executor, handler, redditDataRoomDatabase, subscribedUserData,
+ favoriteThingListener::success);
+ } else {
+ Map<String, String> params = new HashMap<>();
+ params.put(APIUtils.SR_NAME_KEY, "u_" + subscribedUserData.getName());
+ params.put(APIUtils.MAKE_FAVORITE_KEY, "false");
+ oauthRetrofit.create(RedditAPI.class).favoriteThing(APIUtils.getOAuthHeader(accessToken), params).enqueue(new Callback<String>() {
+ @Override
+ public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
+ if (response.isSuccessful()) {
+ InsertSubscribedThings.insertSubscribedThings(executor, handler, redditDataRoomDatabase,
+ subscribedUserData, favoriteThingListener::success);
+ } else {
+ favoriteThingListener.failed();
+ }
}
- }
- @Override
- public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
- favoriteThingListener.failed();
- }
- });
+ @Override
+ public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
+ favoriteThingListener.failed();
+ }
+ });
+ }
}
public interface FavoriteThingListener {