From 4a92a2c214dc420a2673f2ef09dc043b0be6426a Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 5 Apr 2017 22:00:07 +0200 Subject: [PATCH] fix notifications for task completion --- Habitica/AndroidManifest.xml | 2 +- .../habitica/interactors/NotifyUserUseCase.java | 8 ++++---- .../android/habitica/ui/activities/MainActivity.java | 11 ++++++++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 7843cd88d..337d119f5 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -2,7 +2,7 @@ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/interactors/NotifyUserUseCase.java b/Habitica/src/main/java/com/habitrpg/android/habitica/interactors/NotifyUserUseCase.java index 72135ef9a..4b05ee563 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/interactors/NotifyUserUseCase.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/interactors/NotifyUserUseCase.java @@ -18,7 +18,7 @@ import rx.functions.Action0; import static com.habitrpg.android.habitica.helpers.MathHelper.round; import static com.habitrpg.android.habitica.ui.helpers.UiUtils.showSnackbar; -public class NotifyUserUseCase extends UseCase { +public class NotifyUserUseCase extends UseCase { public static final int MIN_LEVEL_FOR_SKILLS = 11; private LevelUpUseCase levelUpUseCase; @@ -31,8 +31,8 @@ public class NotifyUserUseCase extends UseCase buildUseCaseObservable(RequestValues r) { - return Observable.from(() -> { + protected Observable buildUseCaseObservable(RequestValues r) { + return Observable.defer(() -> { Stats stats = r.user.getStats(); if (r.lvl > stats.getLvl()) { @@ -49,7 +49,7 @@ public class NotifyUserUseCase extends UseCase, Ha @Override public void onTaskDataReceived(TaskDirectionData data, Task task) { + if (task.type.equals("reward")) { showSnackbar(this, floatingMenuWrapper, getString(R.string.notification_purchase, task.getText()), SnackbarDisplayType.NORMAL); @@ -1288,12 +1289,20 @@ public class MainActivity extends BaseActivity implements Action1, Ha if (user != null) { notifyUserUseCase.observable(new NotifyUserUseCase.RequestValues(this, floatingMenuWrapper, this::retrieveUser, - user, data.getExp(), data.getHp(), data.getGp(), data.getMp(), data.getLvl())); + user, data.getExp(), data.getHp(), data.getGp(), data.getMp(), data.getLvl())) + .subscribe(aVoid -> { + user.getStats().hp = data.getHp(); + user.getStats().exp = data.getExp(); + user.getStats().mp = data.getMp(); + user.getStats().gp = data.getGp(); + setUserData(true); + }, throwable -> {}); } displayItemDropUseCase.observable(new DisplayItemDropUseCase.RequestValues(data, this, floatingMenuWrapper)) .subscribe(aVoid -> {}, throwable -> {}); } + }