diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index b27415d983e652133d2a97e1589f5466b2f0139c..1121e4ea78df542ef5edbb42ab0a8284fdfefa78 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -132,4 +132,7 @@ dependencies {
     implementation("androidx.camera:camera-video:$cameraxVersion")
     implementation("androidx.camera:camera-view:$cameraxVersion")
     implementation("androidx.camera:camera-extensions:$cameraxVersion")
+
+    implementation("com.google.android.gms:play-services-location:17.0.0")
+
 }
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bfce828dde64304855a8f45c60ee8ad4be8fce21..dd0109049113a2495ced8eb1ae9dce4735bb56e5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -6,6 +6,9 @@
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
         android:maxSdkVersion="28" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
+
     <application
         android:allowBackup="true"
         android:dataExtractionRules="@xml/data_extraction_rules"
diff --git a/app/src/main/java/com/example/bondoman/activities/AddTransaction.kt b/app/src/main/java/com/example/bondoman/activities/AddTransaction.kt
index 64d11bd16dfd86e5b8e6763f5c8163da21134719..1d3779673f07b82b4a606adf69711f9114ecebbc 100644
--- a/app/src/main/java/com/example/bondoman/activities/AddTransaction.kt
+++ b/app/src/main/java/com/example/bondoman/activities/AddTransaction.kt
@@ -1,40 +1,46 @@
 package com.example.bondoman.activities
 
+import android.Manifest
 import android.app.Activity
-import android.app.DatePickerDialog
+import android.content.Intent
+import android.os.Bundle
 import android.content.BroadcastReceiver
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
-import android.graphics.Color
+import android.content.pm.PackageManager
+import android.location.Geocoder
+import android.location.Location
 import android.os.Bundle
 import android.text.TextUtils
 import android.util.Log
-import android.view.View
 import android.widget.ArrayAdapter
 import android.widget.Button
-import android.widget.DatePicker
 import android.widget.EditText
+import android.widget.Spinner
 import androidx.appcompat.app.AppCompatActivity
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
 import com.example.bondoman.R
-import android.widget.Spinner
-import com.example.bondoman.adapter.RecyclerViewAdapter
-import com.example.bondoman.entities.Transaction
 import com.example.bondoman.services.TokenCheckService
-import com.example.bondoman.viewModels.TransactionsViewModel
-import java.util.Calendar
-import java.util.Date
+import com.google.android.gms.location.FusedLocationProviderClient
+import com.google.android.gms.location.LocationServices
+import java.io.IOException
+import java.util.Locale
 
 
 class AddTransaction : AppCompatActivity() {
     private lateinit var tokenExpiredReceiver: BroadcastReceiver
     private lateinit var tokenServiceIntent : Intent
     private var isReceiverRegistered = false
+    private lateinit var fusedLocationClient: FusedLocationProviderClient
+    private lateinit var locationText : EditText
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_add_transaksi)
         tokenServiceIntent= Intent(this, TokenCheckService::class.java)
         startService(tokenServiceIntent)
+        fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
 
         tokenExpiredReceiver = object : BroadcastReceiver(){
             override fun onReceive(context: Context?, intent: Intent?) {
@@ -54,7 +60,10 @@ class AddTransaction : AppCompatActivity() {
         }
         supportActionBar?.title = "Add Transaction"
 
+        val editTextTitle = findViewById<EditText>(R.id.editTextTitle)
         val spinnerCategory : Spinner = findViewById(R.id.spinnerCategory)
+        val editTextAmount = findViewById<EditText>(R.id.editTextAmount)
+        val editTextLocation = findViewById<EditText>(R.id.editTextLocation)
 
         val adapter = ArrayAdapter.createFromResource(
             this,
@@ -62,14 +71,21 @@ class AddTransaction : AppCompatActivity() {
             R.layout.spinner_dropdown
         )
 
+        editTextTitle.setText(intent.getStringExtra("TITLE"))
+        spinnerCategory.setSelection(intent.getIntExtra("TYPE", 0))
+        editTextAmount.setText(intent.getFloatExtra("AMOUNT", 0f).toString())
+
         spinnerCategory.adapter = adapter
 
         val submitButton : Button = findViewById(R.id.buttonSubmit)
+        locationText = findViewById(R.id.editTextLocation)
         submitButton.setOnClickListener {
-            val title = findViewById<EditText>(R.id.editTextTitle).text.toString()
+            val title = editTextTitle.text.toString()
             val category = spinnerCategory.selectedItem.toString()
+            val amount = editTextAmount.text.toString().toFloatOrNull() ?: 0f
+            val location = editTextLocation.text.toString()
             val amount = findViewById<EditText>(R.id.editTextAmount).text.toString().toFloatOrNull() ?: 0f
-            val location = findViewById<EditText>(R.id.editTextLocation).text.toString()
+            val location = locationText.text.toString()
 
             val replyIntent = Intent()
             if (title.isEmpty()) {
@@ -83,7 +99,7 @@ class AddTransaction : AppCompatActivity() {
             }
             finish()
         }
-
+        getLastLocation()
     }
 
     override fun onBackPressed() {
@@ -91,12 +107,6 @@ class AddTransaction : AppCompatActivity() {
         finish()
     }
 
-    companion object {
-        const val TITLE = "TITLE"
-        const val TYPE = "TYPE"
-        const val AMOUNT = "AMOUNT"
-        const val LOCATION = "LOCATION"
-    }
     override fun onStart() {
         super.onStart()
         val filter = IntentFilter("com.example.bondoman.TOKEN_EXPIRED")
@@ -120,4 +130,46 @@ class AddTransaction : AppCompatActivity() {
             isReceiverRegistered = false
         }
     }
+
+    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
+        if (requestCode == REQUEST_LOCATION_PERMISSION) {
+            if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+                getLastLocation()
+            }
+        }
+    }
+    private fun getLastLocation() {
+        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
+            fusedLocationClient.lastLocation.addOnSuccessListener { location: Location? ->
+                location?.let {
+                    updateLocationEditTextWithPlaceName(location.latitude, location.longitude)
+                }
+            }
+        }else {
+            ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), REQUEST_LOCATION_PERMISSION)
+        }
+    }
+    private fun updateLocationEditTextWithPlaceName(latitude: Double, longitude: Double) {
+        val geocoder = Geocoder(this, Locale.getDefault())
+        try {
+            val addresses = geocoder.getFromLocation(latitude, longitude, 1)
+            if (addresses != null && addresses.isNotEmpty()) {
+                val address = addresses[0]
+                locationText.setText(address.getAddressLine(0).toString())
+            } else {
+                locationText.setText("${latitude}, ${longitude}")
+            }
+        } catch (e: IOException) {
+            Log.e("Location", "Service Not Available", e)
+        }
+    }
+    companion object {
+        const val TITLE = "TITLE"
+        const val TYPE = "TYPE"
+        const val AMOUNT = "AMOUNT"
+        const val LOCATION = "LOCATION"
+        const val REQUEST_LOCATION_PERMISSION = 1 // Define the constant here
+
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/activities/EditTransaction.kt b/app/src/main/java/com/example/bondoman/activities/EditTransaction.kt
index 3218e5da3cd1442968e31001f77895541a1bd4f7..ca10024840556fb159f2170f8efe56d482afa613 100644
--- a/app/src/main/java/com/example/bondoman/activities/EditTransaction.kt
+++ b/app/src/main/java/com/example/bondoman/activities/EditTransaction.kt
@@ -1,31 +1,25 @@
 package com.example.bondoman.activities
 
 import android.app.Activity
-import android.app.DatePickerDialog
 import android.content.BroadcastReceiver
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
-import android.graphics.Color
+import android.net.Uri
 import android.os.Bundle
 import android.util.Log
-import android.view.View
-import android.widget.ArrayAdapter
 import android.widget.Button
-import android.widget.DatePicker
 import android.widget.EditText
+import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
 import com.example.bondoman.R
-import android.widget.Spinner
-import android.widget.TextView
 import com.example.bondoman.services.TokenCheckService
-import java.util.Calendar
-
 
 class EditTransaction() : AppCompatActivity() {
     private lateinit var tokenExpiredReceiver: BroadcastReceiver
     private lateinit var tokenServiceIntent : Intent
     private var isReceiverRegistered = false
+    private lateinit var location : EditText
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_edit_transaksi)
@@ -54,8 +48,8 @@ class EditTransaction() : AppCompatActivity() {
         val type : TextView = findViewById(R.id.editTextType)
         val title : EditText = findViewById(R.id.editTextTitle)
         val amount : EditText = findViewById(R.id.editTextAmount)
-        val location : EditText = findViewById(R.id.editTextLocation)
-
+        location = findViewById(R.id.editTextLocation)
+        val seeLocationText : TextView = findViewById(R.id.textViewSeeLocationLabel)
         val intentData = intent
 
         title.setText(intentData?.getStringExtra("title") ?: "")
@@ -92,7 +86,9 @@ class EditTransaction() : AppCompatActivity() {
             }
             finish()
         }
-
+        seeLocationText.setOnClickListener {
+            seeLocation()
+        }
     }
 
     override fun onBackPressed() {
@@ -124,4 +120,11 @@ class EditTransaction() : AppCompatActivity() {
         }
     }
 
+    private fun seeLocation(){
+        val locationText = location.text.toString()
+        val gmmIntentUri = Uri.parse("geo:0,0?q=$locationText")
+        val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
+        mapIntent.setPackage("com.google.android.apps.maps")
+        startActivity(mapIntent)
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt b/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt
index 8ed2971de92abec9d984a6786f6fb6fa8089e737..2c8e505e2c9468c16d6986719898abb10f1b2ea9 100644
--- a/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt
+++ b/app/src/main/java/com/example/bondoman/activities/LoginActivity.kt
@@ -5,7 +5,6 @@ import android.app.Dialog
 import android.content.Intent
 import android.graphics.Color
 import android.graphics.drawable.ColorDrawable
-import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.os.Handler
 import android.util.DisplayMetrics
@@ -17,14 +16,12 @@ import android.widget.Button
 import android.widget.EditText
 import android.widget.ImageView
 import android.widget.Toast
+import androidx.appcompat.app.AppCompatActivity
 import androidx.cardview.widget.CardView
 import androidx.lifecycle.lifecycleScope
-import com.airbnb.lottie.LottieAnimationView
 import com.example.bondoman.R
-import com.example.bondoman.apiServices.IAuthService
 import com.example.bondoman.lib.SecurePreferences
 import com.example.bondoman.repositories.AuthRepository
-import com.example.bondoman.retrofits.Retro
 import kotlinx.coroutines.launch
 import kotlin.math.log
 
diff --git a/app/src/main/java/com/example/bondoman/activities/MainActivity.kt b/app/src/main/java/com/example/bondoman/activities/MainActivity.kt
index eb54ef4d61233829b4f8e15f9dd769f6b04e38fb..7f1a1dd95e79abb0dc6fcef13c090de26a390322 100644
--- a/app/src/main/java/com/example/bondoman/activities/MainActivity.kt
+++ b/app/src/main/java/com/example/bondoman/activities/MainActivity.kt
@@ -23,6 +23,7 @@ import com.google.android.material.navigation.NavigationView
 
 class MainActivity : AppCompatActivity() {
     private lateinit var tokenExpiredReceiver: BroadcastReceiver
+    private lateinit var randomizeReceiver: BroadcastReceiver
     private lateinit var tokenServiceIntent : Intent
     private var isReceiverRegistered = false
     private lateinit var bottomNavigationView: BottomNavigationView;
@@ -52,7 +53,17 @@ class MainActivity : AppCompatActivity() {
             }
 
         }
-        bottomNavigationView = findViewById<BottomNavigationView
+
+        randomizeReceiver = object : BroadcastReceiver() {
+            override fun onReceive(context: Context?, intent: Intent?) {
+                if (intent?.action == "com.example.bondoman.RANDOMIZE_TRANSACTION") {
+                    val randomizeIntent = Intent(this@MainActivity, AddTransaction::class.java)
+                    randomizeIntent.putExtras(intent)
+                    startActivity(randomizeIntent)
+                }
+            }
+        }
+        val bottomNavigationView = findViewById<BottomNavigationView
                 >(R.id.bottom_navigation_view)
         val navController = findNavController(R.id.nav_fragment)
         navigationView = findViewById<NavigationView>(R.id.navigation_view)
@@ -109,8 +120,10 @@ class MainActivity : AppCompatActivity() {
 
     override fun onStart() {
         super.onStart()
-        val filter = IntentFilter("com.example.bondoman.TOKEN_EXPIRED")
-        registerReceiver(tokenExpiredReceiver, filter)
+        val tokenIntentFilter = IntentFilter("com.example.bondoman.TOKEN_EXPIRED")
+        registerReceiver(tokenExpiredReceiver, tokenIntentFilter)
+        val randomizeIntentFilter = IntentFilter("com.example.bondoman.RANDOMIZE_TRANSACTION")
+        registerReceiver(randomizeReceiver, randomizeIntentFilter)
         isReceiverRegistered = true
     }
 
diff --git a/app/src/main/java/com/example/bondoman/adapter/RecyclerViewAdapter.kt b/app/src/main/java/com/example/bondoman/adapter/RecyclerViewAdapter.kt
index c579deb752c851a599164a896d57af4ee392a36d..f902d359ea6774fb28232564d0ce48dca4bdd2df 100644
--- a/app/src/main/java/com/example/bondoman/adapter/RecyclerViewAdapter.kt
+++ b/app/src/main/java/com/example/bondoman/adapter/RecyclerViewAdapter.kt
@@ -4,10 +4,7 @@ import android.content.Intent
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
-import android.widget.Button
-import android.widget.TextView
 import androidx.cardview.widget.CardView
-import androidx.core.content.ContextCompat.startActivity
 import androidx.lifecycle.LiveData
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.R
diff --git a/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt b/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt
index b0ba205fba51770a6adc4809d3bc5390729123a1..81dbe187d02afcea8788ffa240d159765a87f347 100644
--- a/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt
+++ b/app/src/main/java/com/example/bondoman/adapter/TransactionListAdapter.kt
@@ -6,7 +6,6 @@ import android.view.View
 import android.view.ViewGroup
 import android.widget.TextView
 import androidx.cardview.widget.CardView
-import androidx.lifecycle.LiveData
 import androidx.recyclerview.widget.DiffUtil
 import androidx.recyclerview.widget.ListAdapter
 import androidx.recyclerview.widget.RecyclerView
@@ -15,7 +14,6 @@ import com.example.bondoman.activities.EditTransaction
 import com.example.bondoman.entities.Transaction
 import com.example.bondoman.lib.SecurePreferences
 import com.example.bondoman.viewModels.TransactionsViewModel
-import java.text.SimpleDateFormat
 import java.time.LocalDate
 import java.time.format.DateTimeFormatter
 import java.util.Locale
diff --git a/app/src/main/java/com/example/bondoman/apiServices/IAuthService.kt b/app/src/main/java/com/example/bondoman/apiServices/IAuthService.kt
index 9112f0914cc5e33a9a6c2572a9499121eacdbf37..172847f50a5d6a714e14a4476d4b1e2dc0a53c27 100644
--- a/app/src/main/java/com/example/bondoman/apiServices/IAuthService.kt
+++ b/app/src/main/java/com/example/bondoman/apiServices/IAuthService.kt
@@ -1,6 +1,5 @@
 package com.example.bondoman.apiServices
 
-import retrofit2.Call
 import retrofit2.http.Body
 import retrofit2.http.Header
 import retrofit2.http.POST
diff --git a/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt b/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt
index 02b177ade5dfae0e5362742d42830177ffc67b20..b3fef09cf849add6a337c936ecb780d8c9d94ef6 100644
--- a/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt
+++ b/app/src/main/java/com/example/bondoman/fragments/SettingsFragment.kt
@@ -42,6 +42,7 @@ import java.io.FileOutputStream
 import java.text.SimpleDateFormat
 import java.util.Date
 import java.util.Locale
+import kotlin.random.Random
 
 class SettingsFragment : Fragment() {
     private var _binding: FragmentSettingsBinding? = null
@@ -95,6 +96,8 @@ class SettingsFragment : Fragment() {
         binding.sendButton.setOnClickListener {
             handleSendButtonClick()
         }
+        binding.randomizeButton.setOnClickListener {
+            broadcastRandomizeTransaction()
         binding.logoutButton.setOnClickListener{
             lifecycleScope.launch {
                 showLoading()
@@ -228,4 +231,39 @@ class SettingsFragment : Fragment() {
             FileProvider.getUriForFile(context, context.applicationContext.packageName + ".provider", file)
         )
     }
+
+    private fun broadcastRandomizeTransaction() {
+        val randomizeIntent = Intent()
+        randomizeIntent.action = "com.example.bondoman.RANDOMIZE_TRANSACTION"
+
+        val title = titleChoices.random()
+        val category = categoryChoices.random()
+        val amount = Random.nextInt(1, 1001)
+
+        randomizeIntent.putExtra("TITLE", title)
+        randomizeIntent.putExtra("TYPE", category)
+        randomizeIntent.putExtra("AMOUNT", amount)
+
+        requireActivity().sendBroadcast(randomizeIntent)
+    }
+
+    companion object {
+        private val titleChoices = arrayOf(
+            "Grocery Mart Purchase",
+            "Spring Wardrobe Update",
+            "Restaurant Dinner",
+            "Gas Station Refill",
+            "New Gadgets",
+            "Electricity Bill Payment",
+            "Local Farmer's Market Haul",
+            "Fitness Studio Membership Renewal",
+            "Home Essentials Restock",
+            "Coffee Shop Treat",
+        )
+
+        private val categoryChoices = arrayOf(
+            0,
+            1
+        )
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt b/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt
index 637784ae3200acad88f00fc414faf1387aa73ded..c62887fd669ca369a7933b385c8d784adc43ade0 100644
--- a/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt
+++ b/app/src/main/java/com/example/bondoman/fragments/TransaksiFragment.kt
@@ -7,14 +7,12 @@ import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
-import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.R
 import com.example.bondoman.activities.AddTransaction
-import com.example.bondoman.activities.EditTransaction
 import com.example.bondoman.adapter.TransactionListAdapter
 import com.example.bondoman.database.TransactionDatabase
 import com.example.bondoman.entities.Transaction
@@ -47,14 +45,11 @@ class TransaksiFragment : Fragment() {
         securePreferences = SecurePreferences(requireContext())
     }
 
-
     override fun onCreateView(
         inflater: LayoutInflater, container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
         val view = inflater.inflate(R.layout.fragment_transaksi, container, false)
-
-
         val recyclerView: RecyclerView = view.findViewById(R.id.recycler_view)
         adapter = TransactionListAdapter(wordViewModel, ::itemEditRequest, securePreferences)
         recyclerView.layoutManager = LinearLayoutManager(requireContext())
@@ -79,8 +74,6 @@ class TransaksiFragment : Fragment() {
     override fun onActivityResult(requestCode: Int, resultCode: Int, intentData: Intent?) {
         super.onActivityResult(requestCode, resultCode, intentData)
 
-        Log.i("Masuk", "Masuk")
-
         if (requestCode == newTransactionRequestCode && resultCode == Activity.RESULT_OK) {
             val title = intentData?.getStringExtra(AddTransaction.TITLE) ?: ""
             val amount = intentData?.getFloatExtra(AddTransaction.AMOUNT, 0.0f) ?: 0.0f
diff --git a/app/src/main/java/com/example/bondoman/fragments/TwibbonFragment.kt b/app/src/main/java/com/example/bondoman/fragments/TwibbonFragment.kt
index d3bea777cb6c5294354d6a937dd1182cd63d2660..a69442a1dce9773f2d8a187dc44c084ad07dfa2c 100644
--- a/app/src/main/java/com/example/bondoman/fragments/TwibbonFragment.kt
+++ b/app/src/main/java/com/example/bondoman/fragments/TwibbonFragment.kt
@@ -4,10 +4,7 @@ import android.Manifest
 import android.content.pm.PackageManager
 import android.graphics.Bitmap
 import android.graphics.BitmapFactory
-import android.graphics.ImageFormat
 import android.graphics.Matrix
-import android.graphics.Rect
-import android.graphics.YuvImage
 import android.hardware.camera2.CameraCharacteristics
 import android.media.ExifInterface
 import android.media.Image
@@ -34,7 +31,6 @@ import androidx.core.content.ContextCompat
 import androidx.fragment.app.Fragment
 import com.example.bondoman.R
 import java.io.ByteArrayInputStream
-import java.io.ByteArrayOutputStream
 import java.util.concurrent.ExecutorService
 import java.util.concurrent.Executors
 
diff --git a/app/src/main/java/com/example/bondoman/receivers/RandomizeReceiver.kt b/app/src/main/java/com/example/bondoman/receivers/RandomizeReceiver.kt
new file mode 100644
index 0000000000000000000000000000000000000000..20118bfa498be80ceae4fed38015ef05aa389b22
--- /dev/null
+++ b/app/src/main/java/com/example/bondoman/receivers/RandomizeReceiver.kt
@@ -0,0 +1,14 @@
+package com.example.bondoman.receivers
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.util.Log
+
+class RandomizeReceiver: BroadcastReceiver() {
+    override fun onReceive(context: Context?, intent: Intent?) {
+        if (intent?.action == "com.example.bondoman.RANDOMIZE_TRANSACTION") {
+            Log.d("AddTransaction", "Received")
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/repositories/AuthRepository.kt b/app/src/main/java/com/example/bondoman/repositories/AuthRepository.kt
index 430b7e15aa1dc4dae782800832ea6045e7740219..5192451aed57d31f4e931e2d2897d8ba7a52de2d 100644
--- a/app/src/main/java/com/example/bondoman/repositories/AuthRepository.kt
+++ b/app/src/main/java/com/example/bondoman/repositories/AuthRepository.kt
@@ -2,7 +2,6 @@ package com.example.bondoman.repositories
 
 import android.util.Log
 import com.example.bondoman.apiServices.IAuthService
-import com.example.bondoman.apiServices.IScanService
 import com.example.bondoman.apiServices.LoginRequest
 import com.example.bondoman.lib.SecurePreferences
 import com.example.bondoman.retrofits.Retro
diff --git a/app/src/main/res/drawable-hdpi/ic_randomize.png b/app/src/main/res/drawable-hdpi/ic_randomize.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a4557d24aee299cb5034a713107cb498af72805
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_randomize.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_randomize.png b/app/src/main/res/drawable-mdpi/ic_randomize.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6be20a40c785f0ac8642edd924bcd052cda2bce
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_randomize.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_randomize.png b/app/src/main/res/drawable-xhdpi/ic_randomize.png
new file mode 100644
index 0000000000000000000000000000000000000000..14c8a161763dac7ceed252db918f5754b575dc71
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_randomize.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_randomize.png b/app/src/main/res/drawable-xxhdpi/ic_randomize.png
new file mode 100644
index 0000000000000000000000000000000000000000..2bc6d51a60a40548ae9895c3b7eabb9ca547b204
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_randomize.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_randomize.png b/app/src/main/res/drawable-xxxhdpi/ic_randomize.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c17bb1ddc59cf28bde6489e0de7007abf1e5bf1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_randomize.png differ
diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d52a85d7b663e9a892310ff7faccf2bd6157f31e
--- /dev/null
+++ b/app/src/main/res/drawable/ic_search.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="#000000"
+        android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zm-6,0C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
+</vector>
diff --git a/app/src/main/res/drawable/icon_randomize.png b/app/src/main/res/drawable/icon_randomize.png
new file mode 100644
index 0000000000000000000000000000000000000000..29c662674a66ae5dc44f9ceab1efccb67e160e63
Binary files /dev/null and b/app/src/main/res/drawable/icon_randomize.png differ
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 9e4852d26aebf883e0b805a90eb9872388fb3fa6..71114062d9e7c68054898799c702edb0300df9da 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -12,8 +12,9 @@
         android:layout_height="match_parent">
 
         <LinearLayout
+            android:id="@+id/settings_linear_layout"
             android:layout_width="329dp"
-            android:layout_height="452dp"
+            android:layout_height="wrap_content"
             android:orientation="vertical"
             android:background="@color/bg_color"
             app:layout_constraintBottom_toBottomOf="parent"
@@ -55,6 +56,22 @@
                 android:textSize="17sp"
                 android:textStyle="bold" />
 
+            <Button
+                android:id="@+id/randomize_button"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="24dp"
+                android:background="@drawable/button_background"
+                android:drawableStart="@drawable/ic_randomize"
+                android:drawablePadding="16dp"
+                android:paddingHorizontal="16dp"
+                android:paddingVertical="16dp"
+                android:text="Generate Random Transaction"
+                android:textAlignment="viewStart"
+                android:textAllCaps="false"
+                android:textSize="17sp"
+                android:textStyle="bold" />
+
             <Button
                 android:id="@+id/logout_button"
                 android:layout_width="match_parent"
@@ -70,19 +87,15 @@
                 android:textAllCaps="false"
                 android:textSize="17sp"
                 android:textStyle="bold" />
-        </LinearLayout>
 
-        <com.airbnb.lottie.LottieAnimationView
-            android:id="@+id/loadingAnimation"
-            android:layout_width="335dp"
-            android:layout_height="95dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:lottie_autoPlay="true"
-            app:lottie_loop="true"
-            app:lottie_rawRes="@raw/loading" />
+            <com.airbnb.lottie.LottieAnimationView
+                android:id="@+id/loadingAnimation"
+                android:layout_width="335dp"
+                android:layout_height="95dp"
+                app:lottie_autoPlay="true"
+                app:lottie_loop="true"
+                app:lottie_rawRes="@raw/loading" />
+        </LinearLayout>
 
         <androidx.coordinatorlayout.widget.CoordinatorLayout
             android:id="@+id/snackbarContainer"
@@ -91,9 +104,8 @@
             android:orientation="vertical"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.495"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/loadingAnimation"
-            app:layout_constraintVertical_bias="0.818" />
+            app:layout_constraintTop_toBottomOf="@id/settings_linear_layout"
+            app:layout_constraintVertical_bias="0.421" />
     </androidx.constraintlayout.widget.ConstraintLayout>
 </FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0c3615a7a97471191cf041487b84eed409abb9cf..f76093b3d5e56939e774a24951dd146886cec5b6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,10 +2,10 @@
     <string name="app_name">BondoMan</string>
     <!-- TODO: Remove or change this placeholder text -->
     <string name="hello_blank_fragment">Hello blank fragment</string>
-    <string name="save_button_text">Simpan daftar transaksi</string>
-    <string name="send_button_text">Kirim daftar transaksi</string>
-    <string name="logout_button_text">Keluar</string>
-    <string name="data_transaksi_title">Data Transaksi</string>
-    <string name="randomize_buton_text">Randomize transaksi</string>
+    <string name="save_button_text">Export transaction list</string>
+    <string name="send_button_text">Send transaction to email</string>
+    <string name="logout_button_text">Logout</string>
+    <string name="data_transaksi_title">Transaction Data</string>
+    <string name="randomize_buton_text">Randomize transaction</string>
     <string name="items">Items</string>
 </resources>
\ No newline at end of file