diff --git a/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt b/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt
index f50288fee96eb9402c44e016860eb43c25fa7340..ba96f994db77dc0b492d7ecb3fb7e1c9efc00980 100644
--- a/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt
+++ b/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt
@@ -3,13 +3,10 @@ package com.example.bondoman.services.receivers
 import android.content.BroadcastReceiver
 import android.content.Context
 import android.content.Intent
-import android.content.IntentFilter
 import com.example.bondoman.data.utils.PreferencesManager
 import com.example.bondoman.views.activities.LoginActivity
 
 class ExpiryBroadcastReceiver : BroadcastReceiver() {
-	val filter = IntentFilter("com.example.bondoman.services.LOGOUT_TIMEOUT")
-
 	override fun onReceive(
 		context: Context?,
 		intent: Intent?,
diff --git a/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt b/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt
index c310549c2f5557928d78ae36b3adfdcf4bfc9f9f..f3972da3466f55f3e6e900e1cd09fc2c3126604e 100644
--- a/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt
+++ b/app/src/main/java/com/example/bondoman/services/services/ExpiryService.kt
@@ -4,13 +4,10 @@ import android.app.Service
 import android.content.Intent
 import android.os.IBinder
 import android.util.Log
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
 import androidx.localbroadcastmanager.content.LocalBroadcastManager
 import com.example.bondoman.data.repositories.UserRepository
 import com.example.bondoman.data.utils.PreferencesManager
 import com.example.bondoman.networks.RetrofitClient
-import com.example.bondoman.networks.responses.TokenResponse
 import com.example.bondoman.networks.services.UserService
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
@@ -66,8 +63,12 @@ class ExpiryService : Service() {
 
 	private fun checkTokenJob(token: String) {
 		coroutineScope.launch {
-			val repository = UserRepository(RetrofitClient.getInstanceWithAuth(token).create(
-				UserService::class.java))
+			val repository =
+				UserRepository(
+					RetrofitClient.getInstanceWithAuth(token).create(
+						UserService::class.java,
+					),
+				)
 			val tokenResponse = repository.checkToken()
 
 			// If not success then sendBroadcast
diff --git a/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt b/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt
index 0bd639382eb95d9a2b47042f5a6bbb982f9fd048..43a0d863faf0bdc74aa6c6f6cbecb7fef67e6c96 100644
--- a/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt
+++ b/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt
@@ -20,7 +20,7 @@ import com.google.android.material.textfield.TextInputEditText
 class LoginActivity : AppCompatActivity() {
 	private val viewModel: LoginViewModel by viewModels()
 	private val expiryDuration: Long = 300000L // 5 minutes
-//	private val expiryDuration: Long = 10000L // 10 seconds for testing
+// 	private val expiryDuration: Long = 10000L // 10 seconds for testing
 
 	private lateinit var loginLayout: ConstraintLayout
 	private lateinit var emailInput: TextInputEditText
diff --git a/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt b/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt
index 6fc76766a70600a48564a8e9de3ff627d8082be0..e53ea7d45dfa90338e943eed28ab1e313cd96911 100644
--- a/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt
+++ b/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt
@@ -1,5 +1,9 @@
 package com.example.bondoman.views.activities
 
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.content.IntentFilter
 import android.os.Bundle
 import android.view.View
 import android.view.ViewGroup
@@ -51,6 +55,19 @@ class MainActivity : AppCompatActivity(), ParentActivityService {
 
 	private val expiryReceiver = ExpiryBroadcastReceiver()
 
+	var randomizeNextTransaction: Boolean = false
+	private val randomizeReceiver =
+		object : BroadcastReceiver() {
+			override fun onReceive(
+				context: Context?,
+				intent: Intent?,
+			) {
+				if (intent?.action == "com.example.bondoman.intents.RANDOMIZE_TRANSACTION") {
+					randomizeNextTransaction = true
+				}
+			}
+		}
+
 	override fun addDestinationChangedListener(listener: (Int) -> Unit) {
 		destinationListeners.add(listener)
 	}
@@ -204,6 +221,11 @@ class MainActivity : AppCompatActivity(), ParentActivityService {
 
 	override fun onCreate(savedInstanceState: Bundle?) {
 		super.onCreate(savedInstanceState)
+
+		if (savedInstanceState != null) {
+			randomizeNextTransaction = savedInstanceState.getBoolean("randomizeNextTransaction")
+		}
+
 		binding = ActivityMainBinding.inflate(layoutInflater)
 		setContentView(binding.root)
 
@@ -214,17 +236,29 @@ class MainActivity : AppCompatActivity(), ParentActivityService {
 		// initialize fragment id tracking
 		currentFragmentId = null
 
+		// IntentFilter
+		val expiryReceiverFilter = IntentFilter("com.example.bondoman.services.LOGOUT_TIMEOUT")
+		val randomizeReceiverFilter = IntentFilter("com.example.bondoman.intents.RANDOMIZE_TRANSACTION")
+
 		// Register Expiry Receiver
 		LocalBroadcastManager.getInstance(this)
-			.registerReceiver(expiryReceiver, expiryReceiver.filter)
+			.registerReceiver(expiryReceiver, expiryReceiverFilter)
+		LocalBroadcastManager.getInstance(this)
+			.registerReceiver(randomizeReceiver, randomizeReceiverFilter)
 
 		initializeComponents()
 		configureNavigation()
 	}
 
+	override fun onSaveInstanceState(outState: Bundle) {
+		super.onSaveInstanceState(outState)
+		outState.putBoolean("randomizeNextTransaction", randomizeNextTransaction)
+	}
+
 	override fun onDestroy() {
 		LocalBroadcastManager.getInstance(this)
 			.unregisterReceiver(expiryReceiver)
+		LocalBroadcastManager.getInstance(this).unregisterReceiver(randomizeReceiver)
 		super.onDestroy()
 	}
 }
diff --git a/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt b/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt
index 91f2b5e83b25a8b9bb4586be8b8f34d34b3efb8b..24a41ef4ae2b58e7e30be4d87b9cf3d507fd49bb 100644
--- a/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt
+++ b/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt
@@ -9,6 +9,7 @@ import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProvider
+import androidx.localbroadcastmanager.content.LocalBroadcastManager
 import com.example.bondoman.R
 import com.example.bondoman.data.utils.PreferencesManager
 import com.example.bondoman.data.viewmodels.settings.ExportTransactionResponseContainer
@@ -58,10 +59,10 @@ class SettingsFragment : Fragment() {
 				Observer<ExportTransactionResponseContainer> {
 					when (it.status) {
 						ExportTransactionStatus.SUCCESS -> {
-							Toast.makeText(context, "Export Report Success", Toast.LENGTH_SHORT).show()
+							Toast.makeText(requireActivity(), "Export Report Success", Toast.LENGTH_SHORT).show()
 						}
 						ExportTransactionStatus.FAILED -> {
-							Toast.makeText(context, "Export Report Failed", Toast.LENGTH_SHORT).show()
+							Toast.makeText(requireActivity(), "Export Report Failed", Toast.LENGTH_SHORT).show()
 						}
 					}
 				}
@@ -71,11 +72,13 @@ class SettingsFragment : Fragment() {
 	}
 
 	private fun onSendReportButtonClick() {
-		Toast.makeText(context, "Send Report", Toast.LENGTH_SHORT).show()
+		Toast.makeText(requireActivity(), "Send Report", Toast.LENGTH_SHORT).show()
 	}
 
 	private fun onRandomizeTransactionButtonClick() {
-		Toast.makeText(context, "Randomize Transaction", Toast.LENGTH_SHORT).show()
+		val intent = Intent("com.example.bondoman.intents.RANDOMIZE_TRANSACTION")
+		LocalBroadcastManager.getInstance(requireActivity()).sendBroadcast(intent)
+// 		Toast.makeText(requireActivity(), "Add Transaction Page has been randomized", Toast.LENGTH_SHORT).show()
 	}
 
 	private fun onLogoutButtonClick() {
diff --git a/app/src/main/java/com/example/bondoman/views/fragments/TransactionFormFragment.kt b/app/src/main/java/com/example/bondoman/views/fragments/TransactionFormFragment.kt
index 139b988fd8358b081c54645f5c0020f469f32c91..0118facc90601f8a60b85055a8bb00c8ce1632c6 100644
--- a/app/src/main/java/com/example/bondoman/views/fragments/TransactionFormFragment.kt
+++ b/app/src/main/java/com/example/bondoman/views/fragments/TransactionFormFragment.kt
@@ -25,6 +25,7 @@ import com.example.bondoman.data.models.TransactionCategory
 import com.example.bondoman.data.models.transactionCategoryMap
 import com.example.bondoman.data.utils.TransactionParser
 import com.example.bondoman.databinding.FragmentTransactionFormBinding
+import com.example.bondoman.views.activities.MainActivity
 import com.example.bondoman.views.utils.interfaces.ParentActivityService
 import com.example.bondoman.views.utils.interfaces.SecondaryFragment
 import java.util.Date
@@ -410,6 +411,18 @@ abstract class TransactionFormFragment : Fragment(), SecondaryFragment {
 		return ValidationResult(true, null)
 	}
 
+	private fun randomizeTransaction() {
+		val randomCategory = transactionCategoryMap.keys.random()
+		val randomTitle = "Transaction " + (0..1000).random()
+		val randomAmount = (0..10000).random().times(1000L)
+		val randomLocation = null
+
+		setCategory(transactionCategoryMap[randomCategory]!!)
+		setTitle(randomTitle)
+		setAmount(randomAmount)
+		setLocation(randomLocation)
+	}
+
 	override fun onCreateView(
 		inflater: LayoutInflater,
 		container: ViewGroup?,
@@ -461,4 +474,20 @@ abstract class TransactionFormFragment : Fragment(), SecondaryFragment {
 
 		return view
 	}
+
+	override fun onViewCreated(
+		view: View,
+		savedInstanceState: Bundle?,
+	) {
+		super.onViewCreated(view, savedInstanceState)
+
+		// Randomize Transaction
+		if (activity is MainActivity) {
+			val mainActivity = activity as MainActivity
+			if (mainActivity.randomizeNextTransaction) {
+				randomizeTransaction()
+				mainActivity.randomizeNextTransaction = false
+			}
+		}
+	}
 }