diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt b/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt index 89e29428e0af1bb97df6e1609e06bbcf8d8ddc36..a08a30123d13b93559d6e2467412bfddb0f08f80 100644 --- a/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt +++ b/app/src/main/java/com/example/if3210_2024_android_aab/ScanFragment.kt @@ -274,7 +274,8 @@ class ScanFragment : Fragment() { judul = item.name, isPemasukan = false, nominal = item.price, - lokasi = "Institut Teknologi Bandung" + lokasi = "Institut Teknologi Bandung", + email = SharedPreference.getEmail(requireContext()) ) transactionViewModel.insert(tr) // val replyIntent = Intent() diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt b/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt index 3f544bc87710be478616b5f21533c307df0767d7..d7314dffecc48b475ed376314f40e247639baba0 100644 --- a/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt +++ b/app/src/main/java/com/example/if3210_2024_android_aab/Transaction.kt @@ -18,7 +18,9 @@ data class Transaction(@PrimaryKey(autoGenerate = true) private val id:Int? = nu @ColumnInfo(name = "isPemasukan") private var isPemasukan:Boolean?, @ColumnInfo(name = "nominal") private var nominal:Double?, @ColumnInfo(name = "lokasi") private var lokasi:String?, - @ColumnInfo(name = "date") private var date:String? = LocalDate.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy")) + @ColumnInfo(name = "email") private var email:String?, + @ColumnInfo(name = "date") private var date:String? = LocalDate.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy") + ) ) { // companion object{ @@ -59,6 +61,14 @@ data class Transaction(@PrimaryKey(autoGenerate = true) private val id:Int? = nu this.isPemasukan = _isPemasukan } + public fun getEmail():String?{ + return this.email + } + + public fun setEmail(_email:String?){ + this.email = _email + } + public fun getLokasi():String?{ return this.lokasi } diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt index fbe4d3bbbce2e9e895317b24d95641fbbe95f1df..40e696fa438166651cefba4f637ad891c94e3906 100644 --- a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt +++ b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionDB.kt @@ -47,12 +47,12 @@ public abstract class TransactionDB : RoomDatabase() { } suspend fun populateDB(transactionDao: TransactionDao){ - transactionDao.deleteAll() +// transactionDao.deleteAll() - var transaction = Transaction(1,"Gaji",true,1000000.0,"Kantor") +// var transaction = Transaction(1,"Gaji",true,1000000.0,"Kantor",email = null) // transactionDao.insert(transaction) // transaction = Transaction(2,"Makan",false,20000,"Kantin") - transactionDao.insert(transaction) +// transactionDao.insert(transaction) } } diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt index 0dd652a7fb912129163c04cc5398539a4901be96..3d244899c8bb01687d97dd8e2b2599054424cd03 100644 --- a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt +++ b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionFragment.kt @@ -37,11 +37,17 @@ class TransactionFragment : Fragment() { transactionViewModel.allTransactions.observe(viewLifecycleOwner) { transactions -> transactions?.let { + var userTransaction: MutableList<Transaction> = ArrayList<Transaction>() + for (transaction in it) { + if (!transaction.getEmail()!!.isNullOrBlank() && !SharedPreference.getEmail(requireContext()).isNullOrBlank() && transaction.getEmail()!! == SharedPreference.getEmail(requireContext())) { + userTransaction.add(transaction) + } + } // Log.d("TransactionFragment", "Transaction List: "+it.toString()) // it.forEach{ // Log.d("TransactionFragment", "Transaction ID: "+it.getId().toString()) // } - adapter.submitList(it) } + adapter.submitList(userTransaction) } } adapter.setOnClickListener(object : TransactionListAdapter.OnClickListener { @@ -88,7 +94,7 @@ class TransactionFragment : Fragment() { val lokasi = data?.getStringExtra(NewTransactionActivity.EXTRA_LOKASI) val isPemasukan = data?.getBooleanExtra(NewTransactionActivity.EXTRA_ISPEMASUKAN, false) Log.d("TransactionFragment", "judul: $judul nominal: $nominal lokasi: $lokasi isPemasukan: $isPemasukan") - val tr = Transaction( judul = judul, isPemasukan = isPemasukan, nominal = nominal, lokasi = lokasi) + val tr = Transaction( judul = judul, isPemasukan = isPemasukan, nominal = nominal, lokasi = lokasi, email = SharedPreference.getEmail(requireContext())) Log.d("TransactionFragment",tr.toString()) transactionViewModel.insert(tr) @@ -116,7 +122,7 @@ class TransactionFragment : Fragment() { val randomLokasi = "Location ${Random.nextInt(10)}" val randomIsPemasukan = Random.nextBoolean() - val transaction = Transaction(judul = randomJudul, isPemasukan = randomIsPemasukan, nominal = randomNominal, lokasi = randomLokasi) + val transaction = Transaction(judul = randomJudul, isPemasukan = randomIsPemasukan, nominal = randomNominal, lokasi = randomLokasi, email = SharedPreference.getEmail(requireContext())) transactionViewModel.insert(transaction) Log.d("TransactionFragment", "Inserted random transaction: $transaction") diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt index 44bedf09c87bc40a7683149226b18f9957bb8ecd..cbbb9910d613123eb64d7d6f8c4e3cbbba811a62 100644 --- a/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt +++ b/app/src/main/java/com/example/if3210_2024_android_aab/TransactionListAdapter.kt @@ -37,14 +37,23 @@ class TransactionListAdapter(val context: Context) : ListAdapter<Transaction, Tr override fun onBindViewHolder(holder: TransactionViewHolder, position: Int) { val current = getItem(position) - holder.bindNominal(current.getNominal().toString()) - holder.bindJudul(current.getJudul()) - holder.bindLokasi(current.getLokasi()) - holder.bindDate(current.getDate()) - holder.bindId(current.getId().toString()) +// Log.d("TransactionListAdapter",SharedPreference.getEmail(context)!!) + if (current.getEmail()!=null &&SharedPreference.getEmail(context)!=null && current.getEmail()!!.equals(SharedPreference.getEmail(context))){ + holder.bindNominal(current.getNominal().toString()) + holder.bindJudul(current.getJudul()) + holder.bindLokasi(current.getLokasi()) + holder.bindDate(current.getDate()) + holder.bindId(current.getId().toString()) + holder.transactionMenuButton.setOnClickListener{ + if (onClickListener != null){ + onClickListener!!.onClick(current) + } + } + } + // Log.d("TransactionListAdapter", "Transaction ID: "+current.getId().toString()) // holder.setTransactionMenuButtonOnClickListener() - holder.transactionMenuButton.setOnClickListener{ +// holder.transactionMenuButton.setOnClickListener{ // val popupMenu = PopupMenu(holder.transactionMenuButton.context, holder.transactionMenuButton) // popupMenu.inflate(R.menu.transaction_popup_menu) // popupMenu.setOnMenuItemClickListener { item -> @@ -72,10 +81,10 @@ class TransactionListAdapter(val context: Context) : ListAdapter<Transaction, Tr // else -> false // } // } - if (onClickListener != null){ - onClickListener!!.onClick(current) - } - } +// if (onClickListener != null){ +// onClickListener!!.onClick(current) +// } +// } holder.openMapButton.setOnClickListener{ // if (onClickMapListener != null){