Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package norweska.dolina.android.menu.checkout
- import android.arch.lifecycle.ViewModelProviders
- import android.os.Bundle
- import android.support.v4.app.Fragment
- import android.support.v7.app.AlertDialog
- import android.support.v7.widget.LinearLayoutManager
- import android.util.Log
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import io.reactivex.disposables.CompositeDisposable
- import kotlinx.android.synthetic.main.checkout_fragment.*
- import norweska.dolina.android.R
- import norweska.dolina.android.dialogs.ErrorDialog
- import norweska.dolina.android.dialogs.ProductPaymentDialog
- import norweska.dolina.android.managers.DictionaryManager
- import norweska.dolina.android.menu.cartutils.CartSum
- import timber.log.Timber
- import java.util.*
- class CheckoutFragment : Fragment() {
- private lateinit var checkoutListAdapter: CheckoutListAdapter
- private lateinit var checkoutViewModel: CheckoutViewModel
- private val compositeDisposable: CompositeDisposable = CompositeDisposable()
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- checkoutViewModel = ViewModelProviders.of(activity).get(CheckoutViewModel::class.java)
- checkoutListAdapter = CheckoutListAdapter(activity)
- }
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?)
- : View = inflater.inflate(R.layout.checkout_fragment, container, false)
- override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- compositeDisposable.add(checkoutViewModel.cartCountObservable.subscribe({
- val cartSumCart = CartSum.getCartSumCart(it)
- Log.d("getCartPriceCount", "price: " + cartSumCart)
- cartSummaryTextView.text = String.format(Locale.getDefault(), " %.02f zł", cartSumCart)
- checkoutListAdapter.setCartList(it)
- }, {
- it.printStackTrace()
- Log.d("getCartPriceCount", "error: " + it.message)
- }))
- productRecyclerView.isMotionEventSplittingEnabled = false
- productRecyclerView.layoutManager = LinearLayoutManager(activity)
- productRecyclerView.adapter = checkoutListAdapter
- continueShoppingButton.setOnClickListener { activity.finish() }
- clearCartButton.setOnClickListener { clearCart() }
- checkoutButton.setOnClickListener { showPaymentDialog() }
- }
- private var alertDialog: AlertDialog? = null
- private fun showPaymentDialog() {
- if (checkoutListAdapter.itemCount > 0) {
- val cartItems = checkoutListAdapter.getCartItems()
- val cartSumCart = CartSum.getCartSumCart(cartItems)
- object : ProductPaymentDialog(activity, cartItems, cartSumCart) {
- override fun showNoInternetConnectionDialog() {
- this@CheckoutFragment.showNoInternetConnectionDialog()
- }
- }.show()
- } else {
- ErrorDialog(activity, DictionaryManager.getInstance(activity).getTranslation("83")).show()
- }
- }
- private fun showNoInternetConnectionDialog() {
- try {
- alertDialog = AlertDialog.Builder(activity)
- .setTitle(DictionaryManager.getInstance(activity).getTranslation("88"))
- .setMessage(DictionaryManager.getInstance(activity).getTranslation("72"))
- .setPositiveButton("OK") { dialog, _ -> dialog.dismiss() }
- .show()
- } catch (e: Exception) {
- e.printStackTrace()
- }
- }
- private fun clearCart() {
- object : ClearCartDialog(activity) {
- override fun onClearCart() {
- compositeDisposable.add(checkoutViewModel.clearCart()
- .subscribe({ activity.finish() }, { Timber.d("error") }))
- }
- }.show()
- }
- override fun onPause() {
- super.onPause()
- alertDialog?.dismiss()
- }
- override fun onDestroy() {
- super.onDestroy()
- compositeDisposable.clear()
- }
- }
Add Comment
Please, Sign In to add comment