From 58a8cd5f6a8f73af93b00fa91dd3d8846fcea3c4 Mon Sep 17 00:00:00 2001 From: Gilbert Kimutai Date: Tue, 16 Apr 2019 05:17:28 +0300 Subject: [PATCH] Added loading state on product page and empty state on cart page --- .../wc/adapter/viewholder/CartViewHolder.kt | 4 +- .../me/gilo/wc/ui/product/CartActivity.kt | 10 ++- .../me/gilo/wc/ui/product/ProductActivity.kt | 7 +- .../drawable/rect_grey_bg_dotted_stroke.xml | 17 ++++ app/src/main/res/layout/activity_cart.xml | 2 + app/src/main/res/layout/activity_product.xml | 17 ++++ app/src/main/res/layout/content_product.xml | 80 ++++++++++--------- .../main/res/layout/single_product_image.xml | 2 +- app/src/main/res/layout/state_empty.xml | 78 ++++++++++++++++++ app/src/main/res/layout/state_error.xml | 77 ++++++++++++++++++ 10 files changed, 249 insertions(+), 45 deletions(-) create mode 100644 app/src/main/res/drawable/rect_grey_bg_dotted_stroke.xml create mode 100644 app/src/main/res/layout/state_empty.xml create mode 100644 app/src/main/res/layout/state_error.xml diff --git a/app/src/main/java/me/gilo/wc/adapter/viewholder/CartViewHolder.kt b/app/src/main/java/me/gilo/wc/adapter/viewholder/CartViewHolder.kt index 7e81d13..09ce27f 100644 --- a/app/src/main/java/me/gilo/wc/adapter/viewholder/CartViewHolder.kt +++ b/app/src/main/java/me/gilo/wc/adapter/viewholder/CartViewHolder.kt @@ -56,9 +56,9 @@ class CartViewHolder(val context: Context, itemView: View) : val salePrice = product.sale_price if (product.isOn_sale) { - tvPrice.text = SpannableString("$$salePrice") + tvPrice.text = SpannableString("Ksh$salePrice") }else{ - tvPrice.text = SpannableString("$$regularPrice") + tvPrice.text = SpannableString("Ksh$regularPrice") } diff --git a/app/src/main/java/me/gilo/wc/ui/product/CartActivity.kt b/app/src/main/java/me/gilo/wc/ui/product/CartActivity.kt index ad906d6..432ee77 100644 --- a/app/src/main/java/me/gilo/wc/ui/product/CartActivity.kt +++ b/app/src/main/java/me/gilo/wc/ui/product/CartActivity.kt @@ -4,10 +4,13 @@ import android.content.Context import android.os.Bundle import android.support.v7.widget.LinearLayoutManager import android.text.SpannableString +import android.view.View +import com.google.common.primitives.UnsignedBytes.toInt import io.github.inflationx.viewpump.ViewPumpContextWrapper import kotlinx.android.synthetic.main.activity_cart.* import kotlinx.android.synthetic.main.content_cart.* import kotlinx.android.synthetic.main.single_cart_item.* +import kotlinx.android.synthetic.main.state_empty.* import me.gilo.wc.R import me.gilo.wc.adapter.CartAdapter import me.gilo.wc.common.Status @@ -53,6 +56,7 @@ class CartActivity : WooDroidActivity() { cart() + llEmptyState_layout.visibility = View.GONE } @@ -84,6 +88,8 @@ class CartActivity : WooDroidActivity() { Status.EMPTY -> { stopShowingLoading() + + llEmptyState_layout.visibility = View.VISIBLE } } @@ -97,9 +103,9 @@ class CartActivity : WooDroidActivity() { for (cartitem in cartItems){ var price = if (cartitem.product.isOn_sale) { - cartitem.product.sale_price.toInt() + cartitem.product.sale_price.replace(",","").toInt() }else{ - cartitem.product.regular_price.toInt() + cartitem.product.regular_price.replace(",","").toInt() } var qty = cartitem.quantity diff --git a/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt b/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt index f5b2b4f..c9c67da 100644 --- a/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt +++ b/app/src/main/java/me/gilo/wc/ui/product/ProductActivity.kt @@ -114,14 +114,14 @@ class ProductActivity : BaseActivity() { viewModel.product(productId).observe(this, android.arch.lifecycle.Observer { response -> when (response!!.status()) { Status.LOADING -> { - + flLoading.visibility = View.VISIBLE } Status.SUCCESS -> { val product = response.data() setUpPage(product) //similarProducts(product) - + flLoading.visibility = View.GONE EventBus.getDefault().post(ProductEvent(product)) @@ -129,11 +129,10 @@ class ProductActivity : BaseActivity() { } Status.ERROR -> { - + flLoading.visibility = View.GONE } Status.EMPTY -> { - } } diff --git a/app/src/main/res/drawable/rect_grey_bg_dotted_stroke.xml b/app/src/main/res/drawable/rect_grey_bg_dotted_stroke.xml new file mode 100644 index 0000000..4b2a4f5 --- /dev/null +++ b/app/src/main/res/drawable/rect_grey_bg_dotted_stroke.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_cart.xml b/app/src/main/res/layout/activity_cart.xml index 58389cc..6045bad 100644 --- a/app/src/main/res/layout/activity_cart.xml +++ b/app/src/main/res/layout/activity_cart.xml @@ -23,6 +23,8 @@ + + + + + + + + - - > - - + android:layout_height="280dp" + > - + - - + + + + + + + + + android:id="@+id/fRelatedProducts" + android:layout_width="match_parent" + android:layout_height="wrap_content"/> - - + android:layout_height="wrap_content"/> diff --git a/app/src/main/res/layout/single_product_image.xml b/app/src/main/res/layout/single_product_image.xml index e23ac29..85a7638 100644 --- a/app/src/main/res/layout/single_product_image.xml +++ b/app/src/main/res/layout/single_product_image.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="32dp" + android:padding="16dp" android:background="#ffffff" android:id="@+id/ivImage" android:scaleType="center"/> \ No newline at end of file diff --git a/app/src/main/res/layout/state_empty.xml b/app/src/main/res/layout/state_empty.xml new file mode 100644 index 0000000..2d157db --- /dev/null +++ b/app/src/main/res/layout/state_empty.xml @@ -0,0 +1,78 @@ + + + + + + + + + +