diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt index 628dcf53e..f4aa32721 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt @@ -134,7 +134,7 @@ class ChallengeFormActivity : BaseActivity() { val dialog = HabiticaProgressDialog.show(this, R.string.saving) lifecycleScope.launchCatching({ - dialog?.dismiss() + dialog.dismiss() savingInProgress = false ExceptionHandler.reportError(it) }) { @@ -147,7 +147,7 @@ class ChallengeFormActivity : BaseActivity() { challengeId = challenge?.id challengeRepository.retrieveChallenges(0, true) - dialog?.dismiss() + dialog.dismiss() savingInProgress = false finish() if (!editMode) { @@ -250,6 +250,8 @@ class ChallengeFormActivity : BaseActivity() { if (challengeId != null) { fillControlsByChallenge() + } else { + binding.createChallengePrize.setText("0") } userViewModel.user.observe(this) { user = it } @@ -381,7 +383,6 @@ class ChallengeFormActivity : BaseActivity() { } binding.createChallengePrize.setOnKeyListener { _, _, _ -> checkPrizeAndMinimumForTavern() - false } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt index 2576ea062..53284cae1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt @@ -55,18 +55,18 @@ class ChallengeTasksRecyclerViewAdapter( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BindableViewHolder { val viewHolder: BindableViewHolder = when (viewType) { - TYPE_HABIT -> HabitViewHolder(getContentView(parent, R.layout.habit_item_card), { _, _ -> }, { }, { task -> + TYPE_HABIT -> HabitViewHolder(getContentView(parent, R.layout.habit_item_card), { _, _ -> }, { task, _ -> onTaskOpen?.invoke(task) - }, null) - TYPE_DAILY -> DailyViewHolder(getContentView(parent, R.layout.daily_item_card), { _, _ -> }, { _, _ -> }, { }, { task -> + }, {}, null) + TYPE_DAILY -> DailyViewHolder(getContentView(parent, R.layout.daily_item_card), { _, _ -> }, { _, _ -> }, { task, _ -> onTaskOpen?.invoke(task) - }, null) - TYPE_TODO -> TodoViewHolder(getContentView(parent, R.layout.todo_item_card), { _, _ -> }, { _, _ -> }, { }, { task -> + }, { }, null) + TYPE_TODO -> TodoViewHolder(getContentView(parent, R.layout.todo_item_card), { _, _ -> }, { _, _ -> }, { task, _ -> onTaskOpen?.invoke(task) - }, null) - TYPE_REWARD -> RewardViewHolder(getContentView(parent, R.layout.reward_item_card), { _, _ -> }, { }, { task -> + }, {}, null) + TYPE_REWARD -> RewardViewHolder(getContentView(parent, R.layout.reward_item_card), { _, _ -> }, { task, _ -> onTaskOpen?.invoke(task) - }, null) + }, { }, null) TYPE_ADD_ITEM -> AddItemViewHolder(getContentView(parent, R.layout.challenge_add_task_item), onAddItem) else -> DividerViewHolder(getContentView(parent, R.layout.challenge_task_divider)) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt index 371a6d0fc..17cacdeb1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt @@ -14,8 +14,8 @@ class DailiesRecyclerViewHolder(layoutResource: Int, viewModel: TasksViewModel) { task, direction -> taskScoreEvents?.invoke(task, direction) }, { task, item -> checklistItemScoreEvents?.invoke(task, item) }, { - task -> - taskOpenEvents?.invoke(task.first, task.second) + task, view -> + taskOpenEvents?.invoke(task, view) }, { task -> diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt index 5d52acb5f..c39644f73 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt @@ -12,12 +12,10 @@ class HabitsRecyclerViewAdapter(layoutResource: Int, viewModel: TasksViewModel) HabitViewHolder( getContentView(parent), { task, direction -> taskScoreEvents?.invoke(task, direction) }, - { - task -> - taskOpenEvents?.invoke(task.first, task.second) + { task, view -> + taskOpenEvents?.invoke(task, view) }, - { - task -> + { task -> brokenTaskEvents?.invoke(task) }, viewModel diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt index 5902c9c5c..b04e54dd0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt @@ -74,7 +74,9 @@ class RewardsRecyclerViewAdapter( taskScoreEvents?.invoke(task, direction) } }, - { task -> taskOpenEvents?.invoke(task.first, task.second) }, + { task, view -> + taskOpenEvents?.invoke(task, view) + }, { task -> brokenTaskEvents?.invoke(task) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt index acd982ea1..84465a21d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt @@ -13,12 +13,10 @@ class TodosRecyclerViewAdapter(layoutResource: Int, viewModel: TasksViewModel) : getContentView(parent), { task, direction -> taskScoreEvents?.invoke(task, direction) }, { task, item -> checklistItemScoreEvents?.invoke(task, item) }, - { - task -> - taskOpenEvents?.invoke(task.first, task.second) + { task, view -> + taskOpenEvents?.invoke(task, view) }, - { - task -> + { task -> brokenTaskEvents?.invoke(task) }, viewModel diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt index 8153a3a8c..0d78d7b72 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt @@ -282,7 +282,7 @@ class ChallengeDetailFragment : BaseMainFragment for (i in 0 until habits.size) { val task = habits[i] val entry = groupBinding.tasksLayout.inflate(R.layout.habit_item_card) - val viewHolder = HabitViewHolder(entry, { _, _ -> }, {}, {}, null) + val viewHolder = HabitViewHolder(entry, { _, _ -> }, { _, _ -> }, {}, null) viewHolder.isLocked = true viewHolder.bind(task, i, "normal") groupBinding.tasksLayout.addView(entry) @@ -297,7 +297,7 @@ class ChallengeDetailFragment : BaseMainFragment for (i in 0 until dailies.size) { val task = dailies[i] val entry = groupBinding.tasksLayout.inflate(R.layout.daily_item_card) - val viewHolder = DailyViewHolder(entry, { _, _ -> }, { _, _ -> }, {}, {}, null) + val viewHolder = DailyViewHolder(entry, { _, _ -> }, { _, _ -> }, { _, _ -> }, {}, null) viewHolder.isLocked = true viewHolder.bind(task, i, "normal") groupBinding.tasksLayout.addView(entry) @@ -312,7 +312,7 @@ class ChallengeDetailFragment : BaseMainFragment for (i in 0 until todos.size) { val task = todos[i] val entry = groupBinding.tasksLayout.inflate(R.layout.todo_item_card) - val viewHolder = TodoViewHolder(entry, { _, _ -> }, { _, _ -> }, {}, {}, null) + val viewHolder = TodoViewHolder(entry, { _, _ -> }, { _, _ -> }, { _, _ -> }, {}, null) viewHolder.isLocked = true viewHolder.bind(task, i, "normal") groupBinding.tasksLayout.addView(entry) @@ -327,7 +327,7 @@ class ChallengeDetailFragment : BaseMainFragment for (i in 0 until rewards.size) { val task = rewards[i] val entry = groupBinding.tasksLayout.inflate(R.layout.reward_item_card) - val viewHolder = RewardViewHolder(entry, { _, _ -> }, {}, {}, null) + val viewHolder = RewardViewHolder(entry, { _, _ -> }, { _, _ -> }, {}, null) viewHolder.isLocked = true viewHolder.bind(task, i, true, "normal", null) groupBinding.tasksLayout.addView(entry) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.kt index cc4e6d923..ece2654c0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.kt @@ -30,7 +30,7 @@ import kotlinx.coroutines.withContext abstract class BaseTaskViewHolder( itemView: View, var scoreTaskFunc: ((Task, TaskDirection) -> Unit), - var openTaskFunc: ((Pair) -> Unit), + var openTaskFunc: ((Task, View) -> Unit), var brokenTaskFunc: ((Task) -> Unit), var assignedTextProvider: GroupPlanInfoProvider? ) : BindableViewHolder(itemView), View.OnTouchListener { @@ -292,7 +292,9 @@ abstract class BaseTaskViewHolder( } } } - task?.let { openTaskFunc(Pair(it, mainTaskWrapper)) } + task?.let { + openTaskFunc(it, mainTaskWrapper) + } return true } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.kt index 583c21f55..d5e5d437d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.kt @@ -31,7 +31,7 @@ abstract class ChecklistedViewHolder( itemView: View, scoreTaskFunc: ((Task, TaskDirection) -> Unit), var scoreChecklistItemFunc: ((Task, ChecklistItem) -> Unit), - openTaskFunc: ((Pair) -> Unit), + openTaskFunc: ((Task, View) -> Unit), brokenTaskFunc: ((Task) -> Unit), assignedTextProvider: GroupPlanInfoProvider? ) : BaseTaskViewHolder(itemView, scoreTaskFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.kt index 0ff78a2a8..2f217bbe9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.kt @@ -13,7 +13,7 @@ class DailyViewHolder( itemView: View, scoreTaskFunc: ((Task, TaskDirection) -> Unit), scoreChecklistItemFunc: ((Task, ChecklistItem) -> Unit), - openTaskFunc: ((Pair) -> Unit), + openTaskFunc: ((Task, View) -> Unit), brokenTaskFunc: ((Task) -> Unit), assignedTextProvider: GroupPlanInfoProvider? ) : ChecklistedViewHolder(itemView, scoreTaskFunc, scoreChecklistItemFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.kt index cca29990d..17e1200f5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.kt @@ -14,7 +14,7 @@ import com.habitrpg.shared.habitica.models.responses.TaskDirection class HabitViewHolder( itemView: View, scoreTaskFunc: ((Task, TaskDirection) -> Unit), - openTaskFunc: ((Pair) -> Unit), + openTaskFunc: ((Task, View) -> Unit), brokenTaskFunc: ((Task) -> Unit), assignedTextProvider: GroupPlanInfoProvider? ) : BaseTaskViewHolder(itemView, scoreTaskFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.kt index 7da6558b6..b5919e135 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.kt @@ -16,7 +16,7 @@ import com.habitrpg.shared.habitica.models.responses.TaskDirection class RewardViewHolder( itemView: View, scoreTaskFunc: ((Task, TaskDirection) -> Unit), - openTaskFunc: ((Pair) -> Unit), + openTaskFunc: ((Task, View) -> Unit), brokenTaskFunc: ((Task) -> Unit), assignedTextProvider: GroupPlanInfoProvider? ) : BaseTaskViewHolder( diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.kt index 7880bf03c..2d7f8d444 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.kt @@ -13,7 +13,7 @@ class TodoViewHolder( itemView: View, scoreTaskFunc: ((Task, TaskDirection) -> Unit), scoreChecklistItemFunc: ((Task, ChecklistItem) -> Unit), - openTaskFunc: ((Pair) -> Unit), + openTaskFunc: ((Task, View) -> Unit), brokenTaskFunc: ((Task) -> Unit), assignedTextProvider: GroupPlanInfoProvider? ) : ChecklistedViewHolder(itemView, scoreTaskFunc, scoreChecklistItemFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) {