diff --git a/Habitica/res/drawable/teams_title_bg.xml b/Habitica/res/drawable/teams_title_bg.xml
index 2d732c31a..40d3a2a57 100644
--- a/Habitica/res/drawable/teams_title_bg.xml
+++ b/Habitica/res/drawable/teams_title_bg.xml
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index 8a6ddfd35..edcf42eea 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -1268,7 +1268,7 @@
Completed at %s
Assign
Edit assignees
- Assign to...
+ Assign to…
Promote to Manager
Manager
Member List
@@ -1278,7 +1278,7 @@
- You, %d others
- - %d Person
- - %d People
+ - %d person
+ - %d people
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmBaseLocalRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmBaseLocalRepository.kt
index f5d477a4c..705aac13d 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmBaseLocalRepository.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmBaseLocalRepository.kt
@@ -57,7 +57,7 @@ abstract class RealmBaseLocalRepository internal constructor(override var realm:
private fun process() {
if (isClosed) { return }
- realm.executeTransactionAsync {
+ realm.executeTransaction {
while (pendingSaves.isNotEmpty()) {
val pending = pendingSaves.removeFirst()
@Suppress("UNCHECKED_CAST")
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt
index 239cfee26..587597adb 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt
@@ -97,7 +97,7 @@ class RealmTaskLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm),
private fun removeOldChecklists(onlineItems: List) {
val localItems = realm.where(ChecklistItem::class.java).findAll().createSnapshot()
val itemsToDelete = localItems.filterNot { onlineItems.contains(it) }
- executeTransaction {
+ realm.executeTransaction {
for (item in itemsToDelete) {
item.deleteFromRealm()
}
@@ -107,7 +107,7 @@ class RealmTaskLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm),
private fun removeOldReminders(onlineReminders: List) {
val localReminders = realm.where(RemindersItem::class.java).findAll().createSnapshot()
val itemsToDelete = localReminders.filterNot { onlineReminders.contains(it) }
- executeTransaction {
+ realm.executeTransaction {
for (item in itemsToDelete) {
item.deleteFromRealm()
}
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 9b54c937a..46622d089 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
@@ -30,6 +30,7 @@ import androidx.compose.ui.res.colorResource
import androidx.core.os.bundleOf
import androidx.core.view.children
import androidx.core.view.forEachIndexed
+import androidx.core.view.isVisible
import androidx.core.widget.NestedScrollView
import androidx.lifecycle.lifecycleScope
import com.habitrpg.android.habitica.R
@@ -241,6 +242,9 @@ class TaskFormActivity : BaseActivity() {
groupMembers = it
}
}
+
+ binding.tagsTitleView.isVisible = false
+ binding.tagsWrapper.isVisible = false
} else {
binding.assignTitleView.visibility = View.GONE
binding.assignView.visibility = View.GONE
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt
index 88441ed20..7957e3f65 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt
@@ -192,7 +192,7 @@ class TasksFragment : BaseMainFragment(), SearchView.O
private fun showFilterDialog() {
context?.let {
- val dialog = TaskFilterDialog(it, HabiticaBaseApplication.userComponent)
+ val dialog = TaskFilterDialog(it, HabiticaBaseApplication.userComponent, viewModel.isPersonalBoard)
dialog.viewModel = viewModel
// There are some cases where these things might not be correctly set after the app resumes. This is just to catch that as best as possible
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 d9cf2886d..0ff78a2a8 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
@@ -75,7 +75,7 @@ class DailyViewHolder(
override fun configureSpecialTaskTextView(task: Task) {
super.configureSpecialTaskTextView(task)
- if ((task.streak ?: 0) > 0) {
+ if ((task.streak ?: 0) > 0 && !task.isGroupTask) {
this.streakTextView.text = task.streak.toString()
this.streakTextView.visibility = View.VISIBLE
this.streakIconView.visibility = View.VISIBLE
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 b56939f23..a5fcc9ebb 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
@@ -118,7 +118,7 @@ class HabitViewHolder(
}
val streakString = task?.streakString
- if (streakString?.isNotEmpty() == true) {
+ if (streakString?.isNotEmpty() == true && task?.isGroupTask != true) {
streakTextView.text = streakString
streakTextView.visibility = View.VISIBLE
streakIconView.visibility = View.VISIBLE
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt
index 71b6d276a..0999d83ed 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/AppHeaderView.kt
@@ -153,7 +153,7 @@ fun AppHeaderView(
.clickable {
MainNavigationController.navigate(
R.id.guildFragment,
- bundleOf("groupID" to teamPlan?.id)
+ bundleOf("groupID" to teamPlan?.id, "tabToOpen" to 1)
)
}
) {
@@ -168,11 +168,11 @@ fun AppHeaderView(
enter = slideInVertically { animHeight } + fadeIn(),
exit = slideOutVertically { animHeight } + fadeOut()) {
Row(
- horizontalArrangement = Arrangement.spacedBy(14.dp, Alignment.CenterHorizontally),
+ horizontalArrangement = Arrangement.spacedBy(12.dp, Alignment.CenterHorizontally),
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.fillMaxWidth()
- .padding(top = 12.dp)
+ .padding(top = 12.dp, start = 12.dp, end = 12.dp)
.height(40.dp)
.width(72.dp)
.clip(MaterialTheme.shapes.medium)
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/TaskFilterDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/TaskFilterDialog.kt
index eab805918..785c1d1df 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/TaskFilterDialog.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/TaskFilterDialog.kt
@@ -12,6 +12,7 @@ import android.widget.RadioGroup
import androidx.annotation.IdRes
import androidx.appcompat.widget.AppCompatCheckBox
import androidx.core.content.ContextCompat
+import androidx.core.view.isVisible
import androidx.core.widget.CompoundButtonCompat
import androidx.core.widget.TextViewCompat
import androidx.lifecycle.lifecycleScope
@@ -31,7 +32,7 @@ import com.habitrpg.shared.habitica.models.tasks.TaskType
import java.util.UUID
import javax.inject.Inject
-class TaskFilterDialog(context: Context, component: UserComponent?) : HabiticaBottomSheetDialog(context), RadioGroup.OnCheckedChangeListener {
+class TaskFilterDialog(context: Context, component: UserComponent?, private val showTags: Boolean) : HabiticaBottomSheetDialog(context), RadioGroup.OnCheckedChangeListener {
lateinit var viewModel: TasksViewModel
private val binding = DialogTaskFilterBinding.inflate(layoutInflater)
@@ -92,17 +93,21 @@ class TaskFilterDialog(context: Context, component: UserComponent?) : HabiticaBo
setActiveTags(null)
}
- binding.tagEditButton.setOnClickListener { editButtonClicked() }
- }
-
- override fun dismiss() {
- super.dismiss()
+ if (showTags) {
+ binding.tagEditButton.setOnClickListener { editButtonClicked() }
+ } else {
+ binding.tagsList.isVisible = false
+ binding.tagsTitle.isVisible = false
+ binding.tagEditButton.isVisible = false
+ }
}
override fun show() {
- lifecycleScope.launchCatching {
- viewModel.tagRepository.getTags().collect {
- setTags(it)
+ if (showTags) {
+ lifecycleScope.launchCatching {
+ viewModel.tagRepository.getTags().collect {
+ setTags(it)
+ }
}
}
super.show()