From 76d925beab46e8374accdf742969ab420cd13cdf Mon Sep 17 00:00:00 2001
From: yansans <6671259+yansans@users.noreply.github.com>
Date: Mon, 1 Apr 2024 09:25:03 +0700
Subject: [PATCH] refactor: use local broadcast

---
 .../com/example/bondoyap/ui/settings/SettingsFragment.kt  | 8 +++++---
 .../bondoyap/ui/transactions/TransactionsFragment.kt      | 6 +++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt
index 6835e7e..26e124b 100644
--- a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt
@@ -9,6 +9,7 @@ import android.view.ViewGroup
 import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
+import androidx.localbroadcastmanager.content.LocalBroadcastManager
 import com.example.bondoyap.databinding.FragmentSettingsBinding
 import com.example.bondoyap.service.api.Constants.ACTION_RANDOMIZE_TRANSACTIONS
 import com.example.bondoyap.ui.login.LoginActivity
@@ -27,6 +28,7 @@ class SettingsFragment : Fragment() {
         _binding = FragmentSettingsBinding.inflate(inflater, container, false)
         return binding.root
     }
+
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
@@ -65,17 +67,17 @@ class SettingsFragment : Fragment() {
 
             val intent = Intent(ACTION_RANDOMIZE_TRANSACTIONS)
             intent.putExtra("message", "Randomize from setting!")
-            requireContext().sendBroadcast(intent)
+            LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent)
 
             Log.d("BroadcastDebug", "Sending broadcast from SettingsFragment")
         }
 
-        saveButton.setOnClickListener{
+        saveButton.setOnClickListener {
             Toast.makeText(appContext, "Menyimpan transaksi...", Toast.LENGTH_SHORT).show()
             //todo
         }
 
-        sendButton.setOnClickListener{
+        sendButton.setOnClickListener {
             Toast.makeText(appContext, "Mengirimkan transaksi ...", Toast.LENGTH_SHORT).show()
             //todo
         }
diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt
index 29a85c9..96244f4 100644
--- a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsFragment.kt
@@ -9,6 +9,7 @@ import android.view.ViewGroup
 import android.widget.TextView
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
+import androidx.localbroadcastmanager.content.LocalBroadcastManager
 import com.example.bondoyap.databinding.FragmentTransactionsBinding
 import com.example.bondoyap.service.api.Constants.ACTION_RANDOMIZE_TRANSACTIONS
 
@@ -58,12 +59,11 @@ class TransactionsFragment : Fragment() {
 
     private fun registerReceiver() {
         val filter = IntentFilter(ACTION_RANDOMIZE_TRANSACTIONS)
-        requireContext().registerReceiver(receiver, filter)
-    }
+        LocalBroadcastManager.getInstance(requireContext()).registerReceiver(receiver, filter)    }
 
     private fun unregisterReceiver() {
         try {
-            requireContext().unregisterReceiver(receiver)
+            LocalBroadcastManager.getInstance(requireContext()).unregisterReceiver(receiver)
         } catch (e: IllegalArgumentException) {
             Log.d("BroadcastDebug", "Error unregister")
         }
-- 
GitLab