diff --git a/app/src/main/java/com/github/libretube/ui/sheets/EditChannelGroupSheet.kt b/app/src/main/java/com/github/libretube/ui/sheets/EditChannelGroupSheet.kt
index 728f6a59a..89fe182a6 100644
--- a/app/src/main/java/com/github/libretube/ui/sheets/EditChannelGroupSheet.kt
+++ b/app/src/main/java/com/github/libretube/ui/sheets/EditChannelGroupSheet.kt
@@ -9,6 +9,7 @@ import androidx.core.widget.addTextChangedListener
import androidx.fragment.app.activityViewModels
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
+import com.github.libretube.R
import com.github.libretube.api.SubscriptionHelper
import com.github.libretube.api.obj.Subscription
import com.github.libretube.databinding.DialogEditChannelGroupBinding
@@ -38,6 +39,10 @@ class EditChannelGroupSheet(
binding.channelsRV.layoutManager = LinearLayoutManager(context)
fetchSubscriptions()
+ binding.groupName.addTextChangedListener {
+ updateConfirmStatus()
+ }
+
binding.searchInput.addTextChangedListener {
showChannels(channels, it?.toString())
}
@@ -46,6 +51,7 @@ class EditChannelGroupSheet(
dismiss()
}
+ updateConfirmStatus()
binding.confirm.setOnClickListener {
group.name = binding.groupName.text.toString()
if (group.name.isBlank()) return@setOnClickListener
@@ -78,8 +84,23 @@ class EditChannelGroupSheet(
group
) {
group = it
+ updateConfirmStatus()
}
binding.subscriptionsContainer.isVisible = true
binding.progress.isVisible = false
}
+
+ private fun updateConfirmStatus() {
+ with(binding) {
+ val isGroupNameBlank = groupName.text?.isBlank() == true
+
+ groupName.error = if (isGroupNameBlank) {
+ requireContext().getString(R.string.group_name_error)
+ } else {
+ null
+ }
+
+ confirm.isEnabled = !isGroupNameBlank && group.channels.isNotEmpty()
+ }
+ }
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 816454555..a440d178e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -406,6 +406,7 @@
Channel groups
New
Group name
+ Please enter a name
Edit group
Play automatically
Start playing video automatically when selecting