@@ -2,11 +2,12 @@ package com.marknkamau.justjava.ui.cart
22
33import android.content.Intent
44import android.os.Bundle
5- import androidx.recyclerview.widget.DividerItemDecoration
6- import androidx.recyclerview.widget.LinearLayoutManager
75import android.view.View
86import android.widget.LinearLayout
97import android.widget.Toast
8+ import androidx.recyclerview.widget.DividerItemDecoration
9+ import androidx.recyclerview.widget.LinearLayoutManager
10+ import androidx.recyclerview.widget.RecyclerView
1011import com.marknkamau.justjava.JustJavaApp
1112import com.marknkamau.justjava.R
1213import com.marknkamau.justjava.data.models.CartItem
@@ -17,42 +18,42 @@ import kotlinx.android.synthetic.main.activity_cart.*
1718class CartActivity : BaseActivity (), CartView {
1819 private lateinit var presenter: CartPresenter
1920 private lateinit var adapter: CartAdapter
21+ private val cartDao by lazy { (application as JustJavaApp ).cartDatabase.cartDao() }
2022
2123 override fun onCreate (savedInstanceState : Bundle ? ) {
2224 super .onCreate(savedInstanceState)
2325 setContentView(R .layout.activity_cart)
2426
25- val cartDao = (application as JustJavaApp ).cartDatabase.cartDao()
26-
2727 presenter = CartPresenter (this , cartDao)
2828 presenter.loadItems()
2929
30- val editCartDialog = EditCartDialog ()
31- editCartDialog.cartDao = cartDao
32- editCartDialog.onComplete = { editType, cartItem ->
33- editCartDialog.dismiss()
34- if (editType == EditCartDialog .EditType .DELETE ) {
35- presenter.deleteItem(cartItem)
36- } else {
37- presenter.updateItem(cartItem)
30+ val editCartDialog = EditCartDialog ().apply {
31+ cartDao = this @CartActivity.cartDao
32+ onComplete = { editType, cartItem ->
33+ dismiss()
34+ if (editType == EditCartDialog .EditType .DELETE ) {
35+ presenter.deleteItem(cartItem)
36+ } else {
37+ presenter.updateItem(cartItem)
38+ }
3839 }
3940 }
4041
4142 adapter = CartAdapter (this ) { cartItem ->
42- val args = Bundle ()
43- args. putParcelable(EditCartDialog .CART_ITEM , cartItem)
44- editCartDialog.arguments = args
43+ editCartDialog.arguments = Bundle (). apply {
44+ putParcelable(EditCartDialog .CART_ITEM , cartItem)
45+ }
4546 editCartDialog.show(supportFragmentManager, " edit_cart_dialog" )
4647 }
47- rvCart.layoutManager = androidx.recyclerview.widget. LinearLayoutManager (this , androidx.recyclerview.widget. LinearLayoutManager .VERTICAL , false )
48- rvCart .addItemDecoration(androidx.recyclerview.widget. DividerItemDecoration (this , LinearLayout .VERTICAL ))
48+ rvCart.layoutManager = LinearLayoutManager (this , RecyclerView .VERTICAL , false )
49+ rvCart.addItemDecoration(DividerItemDecoration (this , LinearLayout .VERTICAL ))
4950 rvCart.adapter = adapter
5051
51- btnClearCart.setOnClickListener{
52+ btnClearCart.setOnClickListener {
5253 presenter.clearCart()
5354 }
5455
55- btnCheckout.setOnClickListener{
56+ btnCheckout.setOnClickListener {
5657 startActivity(Intent (this @CartActivity, CheckoutActivity ::class .java))
5758 }
5859 }
0 commit comments