mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
Fix challenge issues
This commit is contained in:
parent
68c46757ec
commit
eb999fb32b
13 changed files with 36 additions and 35 deletions
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,18 +55,18 @@ class ChallengeTasksRecyclerViewAdapter(
|
|||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BindableViewHolder<Task> {
|
||||
val viewHolder: BindableViewHolder<Task> = 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))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 ->
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ class ChallengeDetailFragment : BaseMainFragment<FragmentChallengeDetailBinding>
|
|||
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<FragmentChallengeDetailBinding>
|
|||
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<FragmentChallengeDetailBinding>
|
|||
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<FragmentChallengeDetailBinding>
|
|||
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)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import kotlinx.coroutines.withContext
|
|||
abstract class BaseTaskViewHolder(
|
||||
itemView: View,
|
||||
var scoreTaskFunc: ((Task, TaskDirection) -> Unit),
|
||||
var openTaskFunc: ((Pair<Task, View>) -> Unit),
|
||||
var openTaskFunc: ((Task, View) -> Unit),
|
||||
var brokenTaskFunc: ((Task) -> Unit),
|
||||
var assignedTextProvider: GroupPlanInfoProvider?
|
||||
) : BindableViewHolder<Task>(itemView), View.OnTouchListener {
|
||||
|
|
@ -292,7 +292,9 @@ abstract class BaseTaskViewHolder(
|
|||
}
|
||||
}
|
||||
}
|
||||
task?.let { openTaskFunc(Pair(it, mainTaskWrapper)) }
|
||||
task?.let {
|
||||
openTaskFunc(it, mainTaskWrapper)
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ abstract class ChecklistedViewHolder(
|
|||
itemView: View,
|
||||
scoreTaskFunc: ((Task, TaskDirection) -> Unit),
|
||||
var scoreChecklistItemFunc: ((Task, ChecklistItem) -> Unit),
|
||||
openTaskFunc: ((Pair<Task, View>) -> Unit),
|
||||
openTaskFunc: ((Task, View) -> Unit),
|
||||
brokenTaskFunc: ((Task) -> Unit),
|
||||
assignedTextProvider: GroupPlanInfoProvider?
|
||||
) : BaseTaskViewHolder(itemView, scoreTaskFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class DailyViewHolder(
|
|||
itemView: View,
|
||||
scoreTaskFunc: ((Task, TaskDirection) -> Unit),
|
||||
scoreChecklistItemFunc: ((Task, ChecklistItem) -> Unit),
|
||||
openTaskFunc: ((Pair<Task, View>) -> Unit),
|
||||
openTaskFunc: ((Task, View) -> Unit),
|
||||
brokenTaskFunc: ((Task) -> Unit),
|
||||
assignedTextProvider: GroupPlanInfoProvider?
|
||||
) : ChecklistedViewHolder(itemView, scoreTaskFunc, scoreChecklistItemFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import com.habitrpg.shared.habitica.models.responses.TaskDirection
|
|||
class HabitViewHolder(
|
||||
itemView: View,
|
||||
scoreTaskFunc: ((Task, TaskDirection) -> Unit),
|
||||
openTaskFunc: ((Pair<Task, View>) -> Unit),
|
||||
openTaskFunc: ((Task, View) -> Unit),
|
||||
brokenTaskFunc: ((Task) -> Unit),
|
||||
assignedTextProvider: GroupPlanInfoProvider?
|
||||
) : BaseTaskViewHolder(itemView, scoreTaskFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import com.habitrpg.shared.habitica.models.responses.TaskDirection
|
|||
class RewardViewHolder(
|
||||
itemView: View,
|
||||
scoreTaskFunc: ((Task, TaskDirection) -> Unit),
|
||||
openTaskFunc: ((Pair<Task, View>) -> Unit),
|
||||
openTaskFunc: ((Task, View) -> Unit),
|
||||
brokenTaskFunc: ((Task) -> Unit),
|
||||
assignedTextProvider: GroupPlanInfoProvider?
|
||||
) : BaseTaskViewHolder(
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class TodoViewHolder(
|
|||
itemView: View,
|
||||
scoreTaskFunc: ((Task, TaskDirection) -> Unit),
|
||||
scoreChecklistItemFunc: ((Task, ChecklistItem) -> Unit),
|
||||
openTaskFunc: ((Pair<Task, View>) -> Unit),
|
||||
openTaskFunc: ((Task, View) -> Unit),
|
||||
brokenTaskFunc: ((Task) -> Unit),
|
||||
assignedTextProvider: GroupPlanInfoProvider?
|
||||
) : ChecklistedViewHolder(itemView, scoreTaskFunc, scoreChecklistItemFunc, openTaskFunc, brokenTaskFunc, assignedTextProvider) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue