diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt index 4a52b5d7e..c5feab3eb 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt @@ -143,7 +143,7 @@ class TaskFormActivity : BaseActivity() { private var taskType: TaskType = TaskType.HABIT private var tags = listOf() private var groupID: String? = null - private var groupMembers = listOf() + private var groupMembers = mutableStateListOf() private var assignedIDs = mutableStateListOf() private var taskCompletedMap = mutableStateMapOf() private var preselectedTags: ArrayList? = null @@ -249,40 +249,6 @@ class TaskFormActivity : BaseActivity() { } } - if (groupID != null) { - binding.assignView.setContent { - HabiticaTheme { - AssignedView( - groupMembers.filter { assignedIDs.contains(it.id) }, - taskCompletedMap, - HabiticaTheme.colors.windowBackgroundFor(task), - HabiticaTheme.colors.textPrimaryFor(task), - { - showAssignDialog() - }, - { - taskCompletedMap.remove(it) - lifecycleScope.launch(Dispatchers.Main) { - task?.let { it1 -> taskRepository.markTaskNeedsWork(it1, it) } - } - }, - showEditButton = true - ) - } - } - - lifecycleScope.launch(Dispatchers.Main) { - socialRepository.getGroupMembers(groupID ?: "").collect { - groupMembers = it - } - } - - binding.tagsTitleView.isVisible = false - binding.tagsWrapper.isVisible = false - } else { - binding.assignTitleView.visibility = View.GONE - binding.assignView.visibility = View.GONE - } title = "" when { @@ -333,6 +299,42 @@ class TaskFormActivity : BaseActivity() { } } + if (groupID != null) { + binding.assignView.setContent { + HabiticaTheme { + AssignedView( + groupMembers.filter { assignedIDs.contains(it.id) }, + taskCompletedMap, + HabiticaTheme.colors.windowBackgroundFor(task), + HabiticaTheme.colors.textPrimaryFor(task), + { + showAssignDialog() + }, + { + taskCompletedMap.remove(it) + lifecycleScope.launch(Dispatchers.Main) { + task?.let { it1 -> taskRepository.markTaskNeedsWork(it1, it) } + } + }, + showEditButton = true + ) + } + } + + lifecycleScope.launch(Dispatchers.Main) { + socialRepository.getGroupMembers(groupID ?: "").collect { + groupMembers.clear() + groupMembers.addAll(it) + } + } + + binding.tagsTitleView.isVisible = false + binding.tagsWrapper.isVisible = false + } else { + binding.assignTitleView.visibility = View.GONE + binding.assignView.visibility = View.GONE + } + binding.taskDifficultyButtons.setContent { HabiticaTheme { TaskDifficultySelector(