From 3646831f4d447306fe9c671cd1802d5768a9bda8 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 15 Jan 2020 18:31:57 +0100 Subject: [PATCH 01/62] Allow guild summary to be searched --- .../ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt index 106016e3d..b6f927827 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.kt @@ -96,7 +96,11 @@ class PublicGuildsRecyclerViewAdapter(data: OrderedRealmCollection?, auto unfilteredData?.let { if (constraint.isNotEmpty()) { updateData(it.where() + .beginGroup() .contains("name", constraint.toString(), Case.INSENSITIVE) + .or() + .contains("summary", constraint.toString(), Case.INSENSITIVE) + .endGroup() .findAll()) } } From 48a99e141268abc3c7926c4b275c8d5d1bf2c10c Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 15 Jan 2020 18:32:17 +0100 Subject: [PATCH 02/62] improve empty task view --- .../layout/fragment_refresh_recyclerview.xml | 16 +---- Habitica/res/values/strings.xml | 7 ++ Habitica/res/values/styles.xml | 2 - .../tasks/TaskRecyclerViewFragment.kt | 67 +++++++++++++------ 4 files changed, 56 insertions(+), 36 deletions(-) diff --git a/Habitica/res/layout/fragment_refresh_recyclerview.xml b/Habitica/res/layout/fragment_refresh_recyclerview.xml index ce1745c57..64d3c0e80 100644 --- a/Habitica/res/layout/fragment_refresh_recyclerview.xml +++ b/Habitica/res/layout/fragment_refresh_recyclerview.xml @@ -25,14 +25,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:layout_marginTop="30dp" - android:gravity="center" + android:layout_marginTop="60dp" android:visibility="gone" - tools:visibility="visible"> - - - diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 97a96591a..b7c231502 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -487,6 +487,13 @@ You don\'t have any To-Dos To-Dos are tasks that only need to be completed once. Add checklists to your To-Dos to increase their value. You don\'t have any Rewards + No Habits + There aren\'t any Habits visible with your current filters. + No Dailies + There aren\'t any Dailies visible with your current filters. + No To-Dos + There aren\'t any To-Dos visible with your current filters. + No Rewards Reset Tutorials Review our Community Guidelines before posting Maintenance diff --git a/Habitica/res/values/styles.xml b/Habitica/res/values/styles.xml index 8e66f75c9..5e78d1f5b 100644 --- a/Habitica/res/values/styles.xml +++ b/Habitica/res/values/styles.xml @@ -310,9 +310,7 @@ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt index adc5213e2..da21c70c5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt @@ -277,26 +277,7 @@ open class TaskRecyclerViewFragment : BaseFragment(), androidx.swiperefreshlayou } }) - if (this.classType != null) { - binding.recyclerView.setEmptyView(binding.emptyView) - when (this.classType) { - Task.TYPE_HABIT -> { - binding.emptyViewTitle.setText(R.string.empty_title_habits) - binding.emptyViewDescription.setText(R.string.empty_description_habits) - } - Task.TYPE_DAILY -> { - binding.emptyViewTitle.setText(R.string.empty_title_dailies) - binding.emptyViewDescription.setText(R.string.empty_description_dailies) - } - Task.TYPE_TODO -> { - binding.emptyViewTitle.setText(R.string.empty_title_todos) - binding.emptyViewDescription.setText(R.string.empty_description_todos) - } - Task.TYPE_REWARD -> { - binding.emptyViewTitle.setText(R.string.empty_title_rewards) - } - } - } + setEmptyLabels() if (Task.TYPE_REWARD == className) { compositeSubscription.add(taskRepository.getTasks(this.className, userID) @@ -304,6 +285,50 @@ open class TaskRecyclerViewFragment : BaseFragment(), androidx.swiperefreshlayou } } + private fun setEmptyLabels() { + if (this.classType != null) { + binding.recyclerView.setEmptyView(binding.emptyView) + if (taskFilterHelper.howMany(classType) > 0) { + when (this.classType) { + Task.TYPE_HABIT -> { + binding.emptyViewTitle.setText(R.string.empty_title_habits_filtered) + binding.emptyViewDescription.setText(R.string.empty_description_habits_filtered) + } + Task.TYPE_DAILY -> { + binding.emptyViewTitle.setText(R.string.empty_title_dailies_filtered) + binding.emptyViewDescription.setText(R.string.empty_description_dailies_filtered) + } + Task.TYPE_TODO -> { + binding.emptyViewTitle.setText(R.string.empty_title_todos_filtered) + binding.emptyViewDescription.setText(R.string.empty_description_todos_filtered) + } + Task.TYPE_REWARD -> { + binding.emptyViewTitle.setText(R.string.empty_title_rewards) + } + } + } else { + when (this.classType) { + Task.TYPE_HABIT -> { + binding.emptyViewTitle.setText(R.string.empty_title_habits) + binding.emptyViewDescription.setText(R.string.empty_description_habits) + } + Task.TYPE_DAILY -> { + binding.emptyViewTitle.setText(R.string.empty_title_dailies) + binding.emptyViewDescription.setText(R.string.empty_description_dailies) + } + Task.TYPE_TODO -> { + binding.emptyViewTitle.setText(R.string.empty_title_todos) + binding.emptyViewDescription.setText(R.string.empty_description_todos) + } + Task.TYPE_REWARD -> { + binding.emptyViewTitle.setText(R.string.empty_title_rewards) + } + } + } + + } + } + private fun scoreTask(task: Task, direction: TaskDirection) { compositeSubscription.add(taskRepository.taskChecked(user, task, direction == TaskDirection.UP, false) { result -> handleTaskResult(result, task.value.toInt()) @@ -330,6 +355,8 @@ open class TaskRecyclerViewFragment : BaseFragment(), androidx.swiperefreshlayou taskFilterHelper.setActiveFilter(classType ?: "", activeFilter) recyclerAdapter?.filter() + setEmptyLabels() + if (activeFilter == Task.FILTER_COMPLETED) { compositeSubscription.add(taskRepository.retrieveCompletedTodos(userID).subscribe(Consumer {}, RxErrorHandler.handleEmptyError())) } From a8914d4b956886798727beef7c0ed1ee8a636a56 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 15 Jan 2020 19:24:06 +0100 Subject: [PATCH 03/62] Improve background handling --- Habitica/res/navigation/navigation.xml | 7 ++++++- Habitica/res/values/styles.xml | 4 ++-- .../ui/adapter/CustomizationRecyclerViewAdapter.kt | 2 +- .../ui/fragments/inventory/shops/ShopsFragment.kt | 7 +++++++ .../android/habitica/ui/views/shops/PurchaseDialog.kt | 8 ++++---- .../habitica/ui/views/shops/PurchaseDialogContent.kt | 6 ++++++ 6 files changed, 26 insertions(+), 8 deletions(-) diff --git a/Habitica/res/navigation/navigation.xml b/Habitica/res/navigation/navigation.xml index 88c24f4ec..4c754d467 100644 --- a/Habitica/res/navigation/navigation.xml +++ b/Habitica/res/navigation/navigation.xml @@ -110,7 +110,12 @@ + android:label="@string/sidebar_shops" > + + + +