From ed97d8f5028c215eb75c6ca07d3458ba54e0d840 Mon Sep 17 00:00:00 2001 From: jjbillings Date: Fri, 19 Aug 2016 14:28:38 -0500 Subject: [PATCH] Fix deleted tags still being used to filter. Also fix TaskForm checkboxes not synchronizing with edited/deleted tags --- .../events/commands/RefreshUserCommand.java | 8 ++++++++ .../ui/fragments/tasks/TasksFragment.java | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/RefreshUserCommand.java diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/RefreshUserCommand.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/RefreshUserCommand.java new file mode 100644 index 000000000..dacea6b20 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/RefreshUserCommand.java @@ -0,0 +1,8 @@ +package com.habitrpg.android.habitica.events.commands; + +/** + * Created by jbillz on 8/19/16. + */ +public class RefreshUserCommand { + +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java index 545add29a..069900afd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java @@ -20,6 +20,7 @@ import com.habitrpg.android.habitica.events.commands.CreateTagCommand; import com.habitrpg.android.habitica.events.commands.DeleteTagCommand; import com.habitrpg.android.habitica.events.commands.EditTagCommand; import com.habitrpg.android.habitica.events.commands.FilterTasksByTagsCommand; +import com.habitrpg.android.habitica.events.commands.RefreshUserCommand; import com.habitrpg.android.habitica.events.commands.TaskCheckedCommand; import com.habitrpg.android.habitica.events.commands.UpdateTagCommand; import com.habitrpg.android.habitica.helpers.TagsHelper; @@ -344,7 +345,10 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi apiHelper.apiService.deleteTag(t.getId()) .compose(apiHelper.configureApiCallObserver()) .subscribe(tag -> { + tagFilterMap.remove(t.getId()); + filterChangedHandler.hit(); removeTagFilterDrawerItem(t); + EventBus.getDefault().post(new RefreshUserCommand()); }, throwable -> { UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), "Error: " + throwable.getMessage(), UiUtils.SnackbarDisplayType.FAILURE); }); @@ -366,12 +370,25 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi .subscribe(tag -> { UiUtils.dismissKeyboard(this.activity); updateTagFilterDrawerItem(tag); + EventBus.getDefault().post(new RefreshUserCommand()); }, throwable -> { UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), "Error: " + throwable.getMessage(), UiUtils.SnackbarDisplayType.FAILURE); }); } } + @Subscribe + public void onEvent(RefreshUserCommand event) { + if (apiHelper != null) { + apiHelper.retrieveUser(true) + .compose(apiHelper.configureApiCallObserver()) + .subscribe( + new HabitRPGUserCallback(activity), + throwable -> stopAnimatingRefreshItem() + ); + } + } + @Subscribe public void onEvent(TaskTappedEvent event) { if (this.displayingTaskForm) {