From 423ecce9869f3adf80ba849d8ba40d4f80d1b7db Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Sat, 26 Jul 2025 21:22:51 +0500 Subject: [PATCH] refuse to add existing subscribtion --- .../ui/subscriptions/SubscriptionsFragment.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/sh/sar/gridflow/ui/subscriptions/SubscriptionsFragment.kt b/app/src/main/java/sh/sar/gridflow/ui/subscriptions/SubscriptionsFragment.kt index 6b5a747..acbcba9 100644 --- a/app/src/main/java/sh/sar/gridflow/ui/subscriptions/SubscriptionsFragment.kt +++ b/app/src/main/java/sh/sar/gridflow/ui/subscriptions/SubscriptionsFragment.kt @@ -75,6 +75,12 @@ class SubscriptionsFragment : Fragment() { val billNumber = binding.editBillNumber.text.toString().trim() if (alias.isNotEmpty()) { + // Check if subscription number already exists + if (isSubscriptionNumberExists(subscriptionNumber)) { + Toast.makeText(requireContext(), "Subscription number already added", Toast.LENGTH_SHORT).show() + return@setOnClickListener + } + subscriptionsViewModel.addSubscription( name = alias, subscriptionNumber = subscriptionNumber, @@ -389,6 +395,12 @@ class SubscriptionsFragment : Fragment() { inputMethodManager.hideSoftInputFromWindow(currentFocusView.windowToken, 0) } } + + private fun isSubscriptionNumberExists(subscriptionNumber: String): Boolean { + return subscriptionsViewModel.subscriptions.value?.any { + it.subscription.subscriptionNumber == subscriptionNumber + } ?: false + } override fun onDestroyView() { super.onDestroyView()