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 051bc95..641e517 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 @@ -1,17 +1,20 @@ package me.gilo.wc.ui.product import android.os.Bundle +import android.support.v7.widget.LinearLayoutManager import android.text.Html import android.view.View import kotlinx.android.synthetic.main.activity_product.* import kotlinx.android.synthetic.main.content_product.* import me.gilo.wc.R +import me.gilo.wc.adapter.HomeProductAdapter import me.gilo.wc.adapter.ImagePagerAdapter import me.gilo.wc.common.BaseActivity import me.gilo.wc.common.Status import me.gilo.wc.ui.state.ProgressDialogFragment import me.gilo.wc.viewmodels.ProductViewModel import me.gilo.woodroid.models.Product +import java.util.ArrayList class ProductActivity : BaseActivity() { @@ -31,12 +34,57 @@ class ProductActivity : BaseActivity() { if (productId != 0){ product(productId) + similarProducts() } fab.setOnClickListener{addToCart(productId)} } + + lateinit var adapter: HomeProductAdapter + private lateinit var products: ArrayList + + //TODO(Use the include product filter to get related products from API) + private fun similarProducts() { + val layoutManager = LinearLayoutManager(baseContext, LinearLayoutManager.HORIZONTAL, false) + rvShop.layoutManager = layoutManager + rvShop.isNestedScrollingEnabled = false + + products = ArrayList() + + adapter = HomeProductAdapter(products) + rvShop.adapter = adapter + + viewModel.products().observe(this, android.arch.lifecycle.Observer { response -> + when (response!!.status()) { + Status.LOADING -> { + + } + + Status.SUCCESS -> { + products.clear() + val productsResponse = response.data() + for (product in productsResponse) { + products.add(product) + } + + adapter.notifyDataSetChanged() + + } + + Status.ERROR -> { + + } + + Status.EMPTY -> { + + } + } + + }) + } + private fun addToCart(productId: Int) { viewModel.addToCart(baseContext, productId).observe(this, android.arch.lifecycle.Observer { response -> when (response!!.status()) { @@ -62,6 +110,7 @@ class ProductActivity : BaseActivity() { }) } + private fun product(productId : Int) { viewModel.product(productId).observe(this, android.arch.lifecycle.Observer { response -> when (response!!.status()) { diff --git a/app/src/main/res/layout/content_product.xml b/app/src/main/res/layout/content_product.xml index 9ffc84a..657464e 100644 --- a/app/src/main/res/layout/content_product.xml +++ b/app/src/main/res/layout/content_product.xml @@ -104,6 +104,27 @@ + + + + + + diff --git a/build.gradle b/build.gradle index 6c040d0..6845d8f 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0-alpha05' + classpath 'com.android.tools.build:gradle:3.5.0-alpha07' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2b2abc7..64553ac 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Mar 01 19:09:10 EAT 2019 +#Mon Mar 18 05:31:54 EAT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip