diff --git a/README.md b/README.md
index c926f59ae090d086d10bf592a91aa075c5faa127..d15808c3d3c303115b32ee4d9807c761b13ba7e9 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,6 @@
 
 Aplikasi ini merupakan aplikasi manajemen keuangan sederhana yang memungkinkan pengguna untuk mencatat transaksi, baik pemasukan maupun pengeluaran, serta melihat rangkuman transaksi dalam bentuk grafik. Fitur utama aplikasi meliputi login untuk mengakses fitur-fitur, penambahan, pengubahan, dan penghapusan transaksi, pemindaian nota untuk mencatat transaksi, melihat daftar transaksi yang telah dilakukan, menyimpan daftar transaksi dalam format spreadsheet, dan mengirimkan daftar transaksi melalui email. Aplikasi juga dilengkapi dengan fitur pemantauan jangka waktu token login (JWT), deteksi koneksi internet, dan penerimaan siaran untuk merandomisasi transaksi.
 
-
 ## Library
 
 - **Google Play Services Location**: Mengakses layanan lokasi Google.
@@ -34,43 +33,43 @@ Aplikasi ini merupakan aplikasi manajemen keuangan sederhana yang memungkinkan p
 ## Screenshots
 
 [![Screenshot 1](screenshot/206842_0.jpg)](screenshot/206842_0.jpg)
-*Halaman Login*
+_Halaman Login_
 
 [![Screenshot 2](screenshot/206843_0.jpg)](screenshot/206843_0.jpg)
-*Halaman splash*
+_Halaman splash_
 
 [![Screenshot 3](screenshot/206844_0.jpg)](screenshot/206844_0.jpg)
-*Halaman settings*
+_Halaman settings_
 
 [![Screenshot 4](screenshot/206845_0.jpg)](screenshot/206845_0.jpg)
-*Halaman Penambahan Transaksi*
+_Halaman Penambahan Transaksi_
 
 [![Screenshot 5](screenshot/206846_0.jpg)](screenshot/206846_0.jpg)
-*Halaman Update Transaksi*
+_Halaman Update Transaksi_
 
 [![Screenshot 6](screenshot/206847_0.jpg)](screenshot/206847_0.jpg)
-*Halaman Scan*
+_Halaman Scan_
 
 [![Screenshot 7](screenshot/206849_0.jpg)](screenshot/206849_0.jpg)
-*Halaman Twibbon*
+_Halaman Twibbon_
 
 [![Screenshot 8](screenshot/206850_0.jpg)](screenshot/206850_0.jpg)
-*Halaman Chart*
+_Halaman Chart_
 
 [![Screenshot 9](screenshot/206851.jpg)](screenshot/206851.jpg)
-*Halaman Hasil Scan Nota*
+_Halaman Hasil Scan Nota_
 
 [![Screenshot 10](screenshot/206854.jpg)](screenshot/206854.jpg)
-*Halaman Daftar Transaksi*
+_Halaman Daftar Transaksi_
 
 ## Pembagian Kerja Anggota Kelompok
 
 Anggota kelompok dan pembagian tugas mereka adalah sebagai berikut:
 
-| NIM       | Anggota   | Tugas                                                     | Jam Pengerjaan |
-|-----------|-----------|-----------------------------------------------------------|----------------|
-| 13521080   | Fajar Maulana H | Membuat fitur menambahkan,mengedit,menampilkan,dan menghapus transaksi       | 30 jam         |
-| 13521086   | Ariel Jovananda | Mengimplementasikan fitur autentikasi pengguna,Scan,Twibbon           | 30 jam         |
-| 13521106  | Mohammad Farhan Fahrezy | Halaman Setting, Menyimpan daftar, email, broadcast receiver| 30 jam         |
+| NIM      | Anggota                 | Tugas                                                                  | Jam Pengerjaan |
+| -------- | ----------------------- | ---------------------------------------------------------------------- | -------------- |
+| 13521080 | Fajar Maulana H         | Membuat fitur menambahkan,mengedit,menampilkan,dan menghapus transaksi | 30 jam         |
+| 13521086 | Ariel Jovananda         | Mengimplementasikan fitur autentikasi pengguna,Scan,Twibbon            | 30 jam         |
+| 13521106 | Mohammad Farhan Fahrezy | Halaman Setting, Menyimpan daftar, email, broadcast receiver           | 30 jam         |
 
 Total waktu pengerjaan proyek: 53 jam
diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000000000000000000000000000000000000..14b31727f9ae292412314b3cc639cf984e14cc6a
Binary files /dev/null and b/app/src/main/ic_launcher-playstore.png differ
diff --git a/app/src/main/java/com/example/bondoman/MainActivity.kt b/app/src/main/java/com/example/bondoman/MainActivity.kt
index d4209da82001a39c9828a364f128937c2c39411f..f720d5efe22ad5916bdd500da9ae6b2f967162dc 100644
--- a/app/src/main/java/com/example/bondoman/MainActivity.kt
+++ b/app/src/main/java/com/example/bondoman/MainActivity.kt
@@ -4,6 +4,7 @@ import android.Manifest.permission.ACCESS_COARSE_LOCATION
 import android.Manifest.permission.ACCESS_FINE_LOCATION
 import android.app.AlertDialog
 import android.content.Context
+import android.content.IntentFilter
 import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.os.Handler
@@ -23,9 +24,10 @@ import android.net.NetworkCapabilities
 import android.util.Log.d
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.activity.viewModels
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.room.BondomanDatabase
 import com.example.bondoman.services.LocationDefault
+import com.example.bondoman.services.SettingBroadcastReceiver
 import com.example.bondoman.ui.chart.ChartViewModel
 import com.example.bondoman.ui.nointernet.NoInternetFragment
 import com.example.bondoman.ui.settings.SettingsViewModel
@@ -54,9 +56,14 @@ class MainActivity : AppCompatActivity() {
         SettingsViewModel.provideFactory(db.dao, applicationContext,this)
     }
 
+    private val settingBroadcastReceiver = SettingBroadcastReceiver()
+
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        registerReceiver(settingBroadcastReceiver, IntentFilter("IDUPIN_RANZOMIZER_TRANSAKSI"),
+            RECEIVER_NOT_EXPORTED
+        )
         locationPermission()
         d("OKE",viewModel.state.value.toString())
         d("DONTDELETE",chartViewModel.toString())
@@ -193,5 +200,6 @@ class MainActivity : AppCompatActivity() {
     override fun onDestroy() {
         super.onDestroy()
         handler.removeCallbacksAndMessages(null)
+        unregisterReceiver(settingBroadcastReceiver)
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/services/SettingBroadcastReceiver.kt b/app/src/main/java/com/example/bondoman/services/SettingBroadcastReceiver.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e9d1cce15a11850f702bf9ad9b0de2930737963d
--- /dev/null
+++ b/app/src/main/java/com/example/bondoman/services/SettingBroadcastReceiver.kt
@@ -0,0 +1,16 @@
+package com.example.bondoman.services
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.util.Log
+
+
+class SettingBroadcastReceiver() : BroadcastReceiver() {
+
+    override fun onReceive(context: Context?, intent: Intent?) {
+        if(intent?.action == "IDUPIN_RANZOMIZER_TRANSAKSI"){
+            Log.d("BROADCASTBB","Dapet")
+        }
+    }
+}
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt b/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt
index e59deed9739a1930817f047221a3ebf06c1ece81..7ff98711c98623e574ee36b3b9c0043d6ec659ab 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt
@@ -6,12 +6,11 @@ import androidx.fragment.app.FragmentManager
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.R
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
-import com.example.bondoman.ui.cart.EditFragment
+import com.example.bondoman.ui.cart.TransactionViewModel
+import com.example.bondoman.ui.cart.edit.EditFragment
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.launch
 
 class CartAdapter(
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt b/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt
index b5e396b49fefa7fa8c762251e1fe04884442bba4..8947cffed3314e694df9fb29287e2a0ffb9b5e2d 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt
@@ -18,20 +18,14 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.R
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
-import com.example.bondoman.services.TransactionState
+import com.example.bondoman.ui.cart.add.AddFragment
 import com.google.android.gms.location.LocationServices
 import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.MainScope
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.flow.observeOn
 import kotlinx.coroutines.launch
 import java.math.BigDecimal
 import java.time.LocalDate
-import kotlin.coroutines.CoroutineContext
 
 
 private const val ARG_PARAM1 = "param1"
diff --git a/app/src/main/java/com/example/bondoman/services/TransactionEvent.kt b/app/src/main/java/com/example/bondoman/ui/cart/TransactionEvent.kt
similarity index 83%
rename from app/src/main/java/com/example/bondoman/services/TransactionEvent.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/TransactionEvent.kt
index 1f2adf99eb615a005137ee3b6a41f646010ef4c1..9bab3420008cdec0a16aefeba087e705a919fb7d 100644
--- a/app/src/main/java/com/example/bondoman/services/TransactionEvent.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/TransactionEvent.kt
@@ -1,6 +1,5 @@
-package com.example.bondoman.services
+package com.example.bondoman.ui.cart
 
-import android.location.Location
 import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.Transaction.Category
 import java.math.BigDecimal
@@ -16,4 +15,5 @@ sealed interface TransactionEvent {
     data class SetNominal(val Nominal: BigDecimal) : TransactionEvent
     data class SetKategori(val Kategori: Category) : TransactionEvent
     data class SetLokasi(val Lokasi: Transaction.Position) : TransactionEvent
+    data class SetBroadcastStatus(val broadcastStatus: Boolean): TransactionEvent
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/services/TransactionState.kt b/app/src/main/java/com/example/bondoman/ui/cart/TransactionState.kt
similarity index 73%
rename from app/src/main/java/com/example/bondoman/services/TransactionState.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/TransactionState.kt
index a0a38109db558fc31e4cbf0e9ce7d3a7cde305ba..4ae7be10d54051dfa298ba0d74b13a943aab2bee 100644
--- a/app/src/main/java/com/example/bondoman/services/TransactionState.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/TransactionState.kt
@@ -1,7 +1,8 @@
-package com.example.bondoman.services
+package com.example.bondoman.ui.cart
 import android.location.Location
 import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.Transaction.Category
+import com.example.bondoman.ui.settings.SettingsEvent
 import java.math.BigDecimal
 import java.time.LocalDate
 
@@ -12,5 +13,6 @@ data class TransactionState (
     val nominal: BigDecimal = BigDecimal(0),
     val kategori: Category = Category.PEMBELIAN,
     val lokasi: Transaction.Position =  Transaction.Position(0.0,0.0),
-    val tanggal: LocalDate = LocalDate.now()
+    val tanggal: LocalDate = LocalDate.now(),
+    val broadcastStatus: Boolean = false
 )
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/models/TransactionViewModel.kt b/app/src/main/java/com/example/bondoman/ui/cart/TransactionViewModel.kt
similarity index 91%
rename from app/src/main/java/com/example/bondoman/models/TransactionViewModel.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/TransactionViewModel.kt
index 25b6705f84052971218d9ff08672fdc926b38c89..16617757cf9be02f012002ca6b2e8abd994c5e44 100644
--- a/app/src/main/java/com/example/bondoman/models/TransactionViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/TransactionViewModel.kt
@@ -1,4 +1,4 @@
-package com.example.bondoman.models
+package com.example.bondoman.ui.cart
 
 import android.content.Context
 import android.os.Bundle
@@ -9,10 +9,9 @@ import androidx.lifecycle.SavedStateHandle
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
 import androidx.savedstate.SavedStateRegistryOwner
+import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.Transaction.Category
 import com.example.bondoman.room.TransactionDao
-import com.example.bondoman.services.TransactionEvent
-import com.example.bondoman.services.TransactionState
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.stateIn
@@ -23,10 +22,8 @@ import java.time.LocalDate
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
 import kotlinx.coroutines.flow.asStateFlow
-import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.flow.collectLatest
 import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.first
 
 class TransactionViewModel(private  val dao : TransactionDao,private val locationProvider : LocationClient,private val context: Context) : ViewModel() {
 
@@ -45,7 +42,8 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                 nominal = state.nominal,
                 kategori = state.kategori,
                 lokasi = state.lokasi,
-                tanggal = state.tanggal
+                tanggal = state.tanggal,
+                broadcastStatus = state.broadcastStatus
             )
     }.stateIn(viewModelScope, SharingStarted.WhileSubscribed(5000), TransactionState())
 
@@ -93,7 +91,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                     }
 
                     // Check if lokasi is not default and add to updatedFields
-                    if (lokasi != Transaction.Position(0.0,0.0)) {
+                    if (lokasi != Transaction.Position(0.0, 0.0)) {
                         dao.updateLokasi(id,lokasi)
                     }
 
@@ -107,7 +105,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                         judul = "",
                         kategori = Category.PEMBELIAN,
                         nominal = BigDecimal(0),
-                        lokasi = Transaction.Position(0.0,0.0),
+                        lokasi = Transaction.Position(0.0, 0.0),
                         tanggal = LocalDate.now(),
                     )
                 }
@@ -129,7 +127,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                         if(name == null){
                             name = ""
                         }
-                        lokasi = Transaction.Position(location.latitude,location.longitude, name!!)
+                        lokasi = Transaction.Position(location.latitude, location.longitude, name!!)
                     }
                     val transaction = Transaction(
                         judul = judul,
@@ -149,7 +147,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                         judul = "",
                         kategori = Category.PEMBELIAN,
                         nominal = BigDecimal(0),
-                        lokasi = Transaction.Position(0.0,0.0),
+                        lokasi = Transaction.Position(0.0, 0.0),
                         tanggal = LocalDate.now(),
                     )
                 }
@@ -190,6 +188,13 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                 d("EVENT TRANSACTION","${_state.value.nominal.toString()}")
             }
 
+            is TransactionEvent.SetBroadcastStatus -> {
+                _state.update {
+                    it.copy(
+                        broadcastStatus = event.broadcastStatus
+                    )
+                }
+            }
         }
     }
 
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/AddFragment.kt b/app/src/main/java/com/example/bondoman/ui/cart/add/AddFragment.kt
similarity index 95%
rename from app/src/main/java/com/example/bondoman/ui/cart/AddFragment.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/add/AddFragment.kt
index 64ac8a915057c53423d187ed4dafb9eda1bc13e9..d154c5b8637b19503d25cadb4fbdd58ba73d6a9f 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/AddFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/add/AddFragment.kt
@@ -1,8 +1,7 @@
-package com.example.bondoman.ui.cart
+package com.example.bondoman.ui.cart.add
 
 import android.content.Context
 import android.location.Location
-import androidx.lifecycle.ViewModelProvider
 import android.os.Bundle
 import android.util.Log.d
 import androidx.fragment.app.Fragment
@@ -11,16 +10,15 @@ import android.view.View
 import android.view.ViewGroup
 import android.widget.AdapterView
 import android.widget.ArrayAdapter
-import android.widget.Spinner
 import androidx.fragment.app.activityViewModels
 import com.example.bondoman.R
 import com.example.bondoman.databinding.FragmentAddBinding
-import com.example.bondoman.databinding.FragmentLoginBinding
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
-import com.example.bondoman.services.TransactionEvent
+import com.example.bondoman.ui.cart.TransactionEvent
+import com.example.bondoman.ui.cart.CartFragment
 import com.google.android.gms.location.LocationServices
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/EditFragment.kt b/app/src/main/java/com/example/bondoman/ui/cart/edit/EditFragment.kt
similarity index 95%
rename from app/src/main/java/com/example/bondoman/ui/cart/EditFragment.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/edit/EditFragment.kt
index 4bcee319e6903de121c615dca147bae5e15a7ec4..c4fd3aa726715d3a1bd3f4a567f33667ad3d1fa3 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/EditFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/edit/EditFragment.kt
@@ -1,8 +1,7 @@
-package com.example.bondoman.ui.cart
+package com.example.bondoman.ui.cart.edit
 
 import android.content.Context
 import android.location.Location
-import androidx.lifecycle.ViewModelProvider
 import android.os.Bundle
 import android.util.Log.d
 import androidx.fragment.app.Fragment
@@ -11,14 +10,14 @@ import android.view.View
 import android.view.ViewGroup
 import androidx.fragment.app.activityViewModels
 import androidx.lifecycle.Observer
-import androidx.lifecycle.lifecycleScope
 import com.example.bondoman.R
 import com.example.bondoman.databinding.FragmentEditBinding
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
-import com.example.bondoman.services.TransactionEvent
+import com.example.bondoman.ui.cart.TransactionEvent
+import com.example.bondoman.ui.cart.CartFragment
 import com.google.android.gms.location.LocationServices
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
diff --git a/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt b/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt
index 2e491f9107852a62e4c0c9b0903d0d9294977ade..bbe6abf8490ca6e43cc07cf8597e7033b4012920 100644
--- a/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt
@@ -2,7 +2,6 @@ package com.example.bondoman.ui.chart
 
 import android.graphics.Color
 import android.os.Bundle
-import android.util.Log
 import androidx.fragment.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
@@ -11,7 +10,6 @@ import android.widget.Button
 import androidx.fragment.app.activityViewModels
 import com.example.bondoman.R
 import com.example.bondoman.databinding.FragmentChartBinding
-import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.TransactionStats
 import com.github.mikephil.charting.charts.PieChart
 import com.github.mikephil.charting.data.PieData
@@ -19,14 +17,9 @@ import com.github.mikephil.charting.data.PieDataSet
 import com.github.mikephil.charting.data.PieEntry
 import com.github.mikephil.charting.utils.ColorTemplate
 import android.util.Log.d
-import androidx.lifecycle.lifecycleScope
-import com.example.bondoman.models.TransactionViewModel
-import com.example.bondoman.services.TransactionEvent
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.collect
 
 class ChartFragment : Fragment() {
 
diff --git a/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt b/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt
index 9f5a8e19d6287e72109e540ae4e1fd8e23d01848..54ee8a7def91d059a45692a85ab48b3d9eae90c5 100644
--- a/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt
@@ -5,22 +5,11 @@ import android.os.Bundle
 import androidx.lifecycle.AbstractSavedStateViewModelFactory
 import androidx.lifecycle.SavedStateHandle
 import androidx.lifecycle.ViewModel
-import androidx.lifecycle.viewModelScope
 import androidx.savedstate.SavedStateRegistryOwner
-import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionStats
 import com.example.bondoman.room.TransactionDao
-import com.example.bondoman.services.LocationClient
-import com.example.bondoman.services.TransactionState
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.asStateFlow
-import kotlinx.coroutines.flow.collect
-import kotlinx.coroutines.flow.collectLatest
-import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.flatMapLatest
-import kotlinx.coroutines.flow.stateIn
 
 @OptIn(ExperimentalCoroutinesApi::class)
 class ChartViewModel(private val dao: TransactionDao, private val context: Context): ViewModel() {
diff --git a/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt b/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt
index 68805815283216d6f1264e2ee029475e294c1034..0a1fe35548c36b653218abeea6aace948d2d8053 100644
--- a/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt
@@ -1,7 +1,6 @@
 package com.example.bondoman.ui.scan
 
 import android.Manifest
-import android.annotation.SuppressLint
 import android.app.Activity
 import android.app.AlertDialog
 import android.content.pm.PackageManager
@@ -19,8 +18,6 @@ import java.util.concurrent.Executors
 import android.content.Context
 import android.content.Intent
 import android.graphics.BitmapFactory
-import android.location.Location
-import android.provider.MediaStore
 import android.widget.Toast
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.camera.lifecycle.ProcessCameraProvider
@@ -35,9 +32,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.models.Item
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.services.RetrofitClient
-import com.example.bondoman.services.TransactionEvent
+import com.example.bondoman.ui.cart.TransactionEvent
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt
index 346b5b69e7d7fadb564593d29ac85e09c2d36dca..17f864a41d8accf474cc9c98b75c53b5c519abe4 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt
@@ -2,4 +2,5 @@ package com.example.bondoman.ui.settings
 
 sealed interface SettingsEvent {
     data class SetFileType(val fileType: ExcelExtension): SettingsEvent
+    data class SetBroadcastStatus(val broadcastStatus: Boolean): SettingsEvent
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt
index 1aa503e86a3714f7cd652e629469f4c3050e428d..2d1688903eb7aa26276125b0309426f477e58ded 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt
@@ -1,6 +1,7 @@
 package com.example.bondoman.ui.settings
 
 import android.Manifest
+import android.annotation.SuppressLint
 import android.content.Context
 import android.content.Context.STORAGE_SERVICE
 import android.content.Intent
@@ -51,6 +52,7 @@ class SettingsFragment : Fragment() {
     private lateinit var logoutButton: Button
     private lateinit var xlsxButton: CheckBox
     private lateinit var xlsButton: CheckBox
+    private lateinit var broadcastButton : Button
 
 
 
@@ -67,6 +69,7 @@ class SettingsFragment : Fragment() {
         return inflater.inflate(R.layout.fragment_settings, container, false)
     }
 
+    @SuppressLint("ResourceAsColor")
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
@@ -77,11 +80,17 @@ class SettingsFragment : Fragment() {
         logoutButton = binding.settingsLogoutButton
         xlsxButton = binding.SettingsXlsxCheckbox
         xlsButton = binding.SettingsXlsCheckbox
+        broadcastButton = binding.settingBroadcastButton
 
         CoroutineScope(Dispatchers.Main).launch {
             settingsViewModel.state.collect{ state ->
                 xlsxButton.isChecked = state.fileType == ExcelExtension.XLSX
                 xlsButton.isChecked = state.fileType == ExcelExtension.XLS
+                if(state.isBroadcastOn){
+                    broadcastButton.setText(R.string.settings_broadcast_button_on_title)
+                } else {
+                    broadcastButton.setText(R.string.settings_broadcast_button_off_title)
+                }
             }
         }
 
@@ -110,6 +119,12 @@ class SettingsFragment : Fragment() {
                 xlsxButton.isChecked = false
             }
         }
+        broadcastButton.setOnClickListener {
+            settingsViewModel._onEvent(SettingsEvent.SetBroadcastStatus(!settingsViewModel.state.value.isBroadcastOn))
+            val intent = Intent()
+            intent.setAction("IDUPIN_RANZOMIZER_TRANSAKSI")
+            requireActivity().sendBroadcast(intent)
+        }
 
     }
 
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt
index e54664fc7ecbe4b395f569ffce96ba2fe94d2d93..748fef3da6dbe3cfdedf55b2b71ce8d6a4819d0d 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt
@@ -2,4 +2,5 @@ package com.example.bondoman.ui.settings
 
 data class SettingsState(
     val fileType : ExcelExtension = ExcelExtension.XLSX,
+    val isBroadcastOn : Boolean = false
 )
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt
index 6c3c7ab5d44e702edc47f32d32143a2412fbd908..c665834fdbac19f8db40bccb85b42e187feb64a3 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt
@@ -8,7 +8,6 @@ import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
 import androidx.savedstate.SavedStateRegistryOwner
 import com.example.bondoman.room.TransactionDao
-import com.example.bondoman.services.TransactionState
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.asStateFlow
@@ -30,6 +29,13 @@ class SettingsViewModel(private val dao: TransactionDao, private val context: Co
                     )
                 }
             }
+            is SettingsEvent.SetBroadcastStatus -> {
+                _state.update {
+                    it.copy(
+                        isBroadcastOn = event.broadcastStatus
+                    )
+                }
+            }
         }
     }
 
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index 07d5da9cbf141911847041df5d7b87f0dd5ef9d4..ca3826a46ce070f906d0d3fbe6987df882134381 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -1,170 +1,74 @@
 <?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="108dp"
+<vector
     android:height="108dp"
+    android:width="108dp"
+    android:viewportHeight="108"
     android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path
-        android:fillColor="#3DDC84"
-        android:pathData="M0,0h108v108h-108z" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M9,0L9,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,0L19,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,0L29,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,0L39,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,0L49,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,0L59,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,0L69,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,0L79,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M89,0L89,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M99,0L99,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,9L108,9"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,19L108,19"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,29L108,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,39L108,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,49L108,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,59L108,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,69L108,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,79L108,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,89L108,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,99L108,99"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,29L89,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,39L89,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,49L89,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,59L89,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,69L89,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,79L89,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,19L29,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,19L39,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,19L49,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,19L59,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,19L69,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,19L79,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
+    xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="#3DDC84"
+          android:pathData="M0,0h108v108h-108z"/>
+    <path android:fillColor="#00000000" android:pathData="M9,0L9,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M19,0L19,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M29,0L29,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M39,0L39,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M49,0L49,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M59,0L59,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M69,0L69,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M79,0L79,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M89,0L89,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M99,0L99,108"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,9L108,9"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,19L108,19"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,29L108,29"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,39L108,39"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,49L108,49"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,59L108,59"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,69L108,69"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,79L108,79"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,89L108,89"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M0,99L108,99"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M19,29L89,29"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M19,39L89,39"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M19,49L89,49"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M19,59L89,59"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M19,69L89,69"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M19,79L89,79"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M29,19L29,89"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M39,19L39,89"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M49,19L49,89"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M59,19L59,89"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M69,19L69,89"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
+    <path android:fillColor="#00000000" android:pathData="M79,19L79,89"
+          android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
 </vector>
diff --git a/app/src/main/res/layout/fragment_add.xml b/app/src/main/res/layout/fragment_add.xml
index ca10141c8e2d0d4fc3b0e7df5999883e6fba1e9c..6b471a960be88aaeceef7144f0f95cc7eb927a9e 100644
--- a/app/src/main/res/layout/fragment_add.xml
+++ b/app/src/main/res/layout/fragment_add.xml
@@ -3,7 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".ui.cart.AddFragment">
+    tools:context=".ui.cart.add.AddFragment">
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -13,9 +13,10 @@
         <EditText
             android:id="@+id/judulTransaksiInput"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Judul Transaksi"
+            android:hint="Judul Transaksi"
+            android:padding="8dp"
         />
 
         <Spinner
@@ -27,17 +28,20 @@
         <EditText
             android:id="@+id/nominalTransaksiInput"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Nominal"
+            android:hint="Nominal"
+            android:padding="8dp"
         />
 
         <EditText
             android:id="@+id/lokasiInput"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
             android:text="Lokasi"
+            android:hint="Lokasi"
+            android:padding="8dp"
         />
         <Button
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_edit.xml b/app/src/main/res/layout/fragment_edit.xml
index 36be833a23b0be2f1a8c64377527cf7cedf80961..8d1e5fc2b95046e1766b093447654b3d1f4c9273 100644
--- a/app/src/main/res/layout/fragment_edit.xml
+++ b/app/src/main/res/layout/fragment_edit.xml
@@ -3,7 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".ui.cart.EditFragment">
+    tools:context=".ui.cart.edit.EditFragment">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -14,25 +14,29 @@
         <EditText
             android:id="@+id/judulTransaksiInputEdit"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Judul Transaksi"
+            android:hint="Judul Transaksi"
+            android:padding="10dp"
             />
 
         <EditText
             android:id="@+id/nominalTransaksiInputEdit"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Nominal"
+            android:hint="Nominal"
+            android:padding="10dp"
             />
 
         <EditText
             android:id="@+id/lokasiInputEdit"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
             android:text="Lokasi"
+            android:hint="Lokasi"
+            android:padding="10dp"
             />
         <Button
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml
index 59ea9ec8220a21035f59a68b8e446cdf4a311471..134c9f5740c1b9ac286a3be6af4e20ed1e4221f0 100644
--- a/app/src/main/res/layout/fragment_login.xml
+++ b/app/src/main/res/layout/fragment_login.xml
@@ -13,11 +13,13 @@
     <EditText
         android:id="@+id/passwordInput"
         android:layout_width="276dp"
-        android:layout_height="31dp"
+        android:layout_height="wrap_content"
         android:background="@drawable/rounded_div"
         android:ems="10"
         android:inputType="textPassword"
-        android:text="password_13521086"
+        android:text="password_13521106"
+        android:hint="Password"
+        android:padding="10dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.496"
@@ -56,11 +58,13 @@
     <EditText
         android:id="@+id/emailInput"
         android:layout_width="276dp"
-        android:layout_height="31dp"
+        android:layout_height="wrap_content"
         android:background="@drawable/rounded_div"
         android:ems="10"
         android:inputType="textEmailSubject"
-        android:text="13521086@std.stei.itb.ac.id"
+        android:text="13521106@std.stei.itb.ac.id"
+        android:hint="Email"
+        android:padding="10dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.503"
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index e804de014b2e569e1d6e5ad45944d13f86d113e0..290a1abb37784dab20060a36a0234d49b778a7a4 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -67,18 +67,42 @@
 
     </LinearLayout>
 
+    <LinearLayout
+        android:id="@+id/linearLayout2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="11dp"
+        android:gravity="center"
+        android:orientation="vertical"
+        app:layout_constraintTop_toBottomOf="@+id/linearLayout"
+        tools:layout_editor_absoluteX="10dp">
+
+        <TextView
+            android:id="@+id/settingBroadcastTitle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/broadcast_status_title" />
+
+        <Button
+            android:id="@+id/settingBroadcastButton"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:backgroundTint="@color/yellow.700"
+            android:text="@string/settings_broadcast_button_off_title" />
+    </LinearLayout>
+
     <Button
         android:id="@+id/settingsLogoutButton"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginTop="56dp"
+        android:layout_marginTop="98dp"
         android:backgroundTint="@color/red.200"
         android:text="@string/settings_logout_button_title"
         android:textColor="@color/white"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.0"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/linearLayout" />
+        app:layout_constraintTop_toBottomOf="@+id/linearLayout2" />
 
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 56%
rename from app/src/main/res/mipmap-anydpi/ic_launcher.xml
rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index 6f3b755bf50c6b03d8714a9c6184705e6a08389f..c4a603d4cce78b2fbd8094bd0224d4778bc8c976 100644
--- a/app/src/main/res/mipmap-anydpi/ic_launcher.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-    <monochrome android:drawable="@drawable/ic_launcher_foreground" />
+    <background android:drawable="@drawable/ic_launcher_background"/>
+    <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
 </adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
similarity index 56%
rename from app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
index 6f3b755bf50c6b03d8714a9c6184705e6a08389f..c4a603d4cce78b2fbd8094bd0224d4778bc8c976 100644
--- a/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-    <monochrome android:drawable="@drawable/ic_launcher_foreground" />
+    <background android:drawable="@drawable/ic_launcher_background"/>
+    <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
 </adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
index c209e78ecd372343283f4157dcfd918ec5165bb3..33cee646f5fabd70b6dbcfdc772231ab70a3222c 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000000000000000000000000000000000..46a50233d0e7b073e5cbabe7b56217afd0ef53e3
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
index b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9..79a4d5b1b4bd97e8d108c99234542e559de55d47 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
index 4f0f1d64e58ba64d180ce43ee13bf9a17835fbca..1bebb0885d0067f1503a4146d415c80b6afd3ace 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000000000000000000000000000000000..5a61e7c63a7760b140b817bd8a22bd02766cb643
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
index 62b611da081676d42f6c3f78a2c91e7bcedddedb..73b6c5d9e34ca41b28577b186d495ab7a5b7a064 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
index 948a3070fe34c611c42c0d3ad3013a0dce358be0..8ffb4cc5bee39e0edf3e21485f1fdd7deda38367 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000000000000000000000000000000000..7e823c8753f572a34b7ca10e828cad4552e904bc
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
index 1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f..ee0e406928d37b08880eef572eaee1577cf309f7 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
index 28d4b77f9f036a47549d47db79c16788749dca10..326610eca60cebcb22ed867c834a22c5a83ecfba 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000000000000000000000000000000000..c68fea8c20f6be9206e2bd7714388f7dff8faa85
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
index 9287f5083623b375139afb391af71cc533a7dd37..89e1ef8232714ceb53d42f955232045a11ad6d2d 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
index aa7d6427e6fa1074b79ccd52ef67ac15c5637e85..5deddeb5ab802d5ae635e67a2ad923ce00cb1948 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000000000000000000000000000000000..539a6e1415278642efae0a57e1ce024c8af55186
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
index 9126ae37cbc3587421d6889eadd1d91fbf1994d4..28e943da3eddbfe329aef27c5fa42fe8f6b6aa3d 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 08f60c953cbf8e9fc908c3bfa5ddcafcb209a42c..2cf20b6b60bea41384fb8dc83d6b5b1119844a3e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -2,8 +2,10 @@
 <resources>
     <color name="black">#FF000000</color>
     <color name="white">#FFFFFFFF</color>
+    <color name="green.700">#388E3C</color>
     <color name="green.500">#4CAF50</color>
     <color name="green.200">#A5D6A7</color>
     <color name="red.500">#F44336</color>
     <color name="red.200">#EF9A9A</color>
+    <color name="yellow.700">#FBC02D</color>
 </resources>
\ 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 8792f197e94818af8ec0c3dab7175102b22d098a..349a756a6f29855d0caefd901d33fa9027e48542 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -19,4 +19,7 @@
     <string name="settings_select_extension_title">Select file extension</string>
     <string name="settings_xlsx_checkbox_title">.xlsx</string>
     <string name="settings_xls_checkbox_title">.xls</string>
+    <string name="broadcast_status_title">Broadcast Status</string>
+    <string name="settings_broadcast_button_off_title">Off</string>
+    <string name="settings_broadcast_button_on_title">On</string>
 </resources>
\ No newline at end of file
diff --git a/screenshot/BondoMan.png b/screenshot/BondoMan.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac3e81e314ee8b5897bcaa953130dac7f237091c
Binary files /dev/null and b/screenshot/BondoMan.png differ
diff --git a/screenshot/Grafik.jpg b/screenshot/Grafik.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7b5a89397712187ffbb7f6a6400166dae3fc6593
Binary files /dev/null and b/screenshot/Grafik.jpg differ
diff --git a/screenshot/Keranjang-Add.jpg b/screenshot/Keranjang-Add.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..06df5852c00a5ebac3d9f59ecae996fd7ebd176a
Binary files /dev/null and b/screenshot/Keranjang-Add.jpg differ
diff --git a/screenshot/Keranjang-Edit Delet.jpg b/screenshot/Keranjang-Edit Delet.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..23581afbf299c085fa3b25b6c6c71c5f3db62d18
Binary files /dev/null and b/screenshot/Keranjang-Edit Delet.jpg differ
diff --git a/screenshot/Keranjang-List.jpg b/screenshot/Keranjang-List.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b9bce36fce4d15186e294016e5d4a7cadbc52236
Binary files /dev/null and b/screenshot/Keranjang-List.jpg differ
diff --git a/screenshot/Login.jpg b/screenshot/Login.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5a5b82ab917026bf172e0a9e8a16cfd322136870
Binary files /dev/null and b/screenshot/Login.jpg differ
diff --git a/screenshot/Scan.png b/screenshot/Scan.png
new file mode 100644
index 0000000000000000000000000000000000000000..3855de4f35d71977c5664fc12ee9f1e37e820b52
Binary files /dev/null and b/screenshot/Scan.png differ
diff --git a/screenshot/Setting.jpg b/screenshot/Setting.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..10ee85bf2ef2a5e700ff6a36e0650edd77ce0e73
Binary files /dev/null and b/screenshot/Setting.jpg differ
diff --git a/screenshot/SplashScreen.jpg b/screenshot/SplashScreen.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..650b2209244c31276a83eb17ca97b2778c00d866
Binary files /dev/null and b/screenshot/SplashScreen.jpg differ
diff --git a/screenshot/Twibbon.jpg b/screenshot/Twibbon.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1d720e893558aac720125ae49e76b9c085feab0a
Binary files /dev/null and b/screenshot/Twibbon.jpg differ