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