Added order detailed page

This commit is contained in:
Gilbert Kimutai 2019-05-21 05:21:28 +03:00
parent 1ec0747e26
commit 31602df99e
9 changed files with 125 additions and 1 deletions

View File

@ -13,6 +13,11 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<activity
android:name=".ui.order.OrderActivity"
android:label="@string/title_activity_order"
android:theme="@style/AppTheme.NoActionBar">
</activity>
<activity
android:name=".ui.onboarding.AnonymousSignInActivity"
android:label="@string/title_activity_anonymous_sign_in"

View File

@ -11,6 +11,7 @@ import me.gilo.wc.ui.customer.BillingAddressActivity
import me.gilo.wc.ui.customer.ShippingAddressActivity
import me.gilo.wc.ui.home.HomeActivity
import me.gilo.wc.ui.onboarding.AnonymousSignInActivity
import me.gilo.wc.ui.order.MyOrdersActivity
import me.gilo.wc.ui.product.ProductActivity
class MainActivity : AppCompatActivity() {
@ -23,7 +24,7 @@ class MainActivity : AppCompatActivity() {
if(FirebaseAuth.getInstance().currentUser != null) {
startActivity(Intent(baseContext, HomeActivity::class.java))
startActivity(Intent(baseContext, MyOrdersActivity::class.java))
}else{
startActivity(Intent(baseContext, AnonymousSignInActivity::class.java))
}

View File

@ -8,6 +8,7 @@ import android.text.SpannableString
import android.view.View
import android.widget.TextView
import me.gilo.wc.R
import me.gilo.wc.ui.order.OrderActivity
import me.gilo.wc.ui.product.ShopActivity
import me.gilo.wc.utils.DateUtils
import me.gilo.wc.utils.StringFormatter
@ -42,6 +43,12 @@ class OrderViewHolder(val context: Context, itemView: View) :
tvDescription.text = description
itemView.setOnClickListener{
var intent = Intent(context, OrderActivity::class.java);
intent.putExtra("orderId", order.id);
context.startActivity(intent);
}
}

View File

@ -13,6 +13,7 @@ import me.gilo.wc.ui.customer.ShippingAddressActivity;
import me.gilo.wc.ui.home.HomeActivity;
import me.gilo.wc.ui.onboarding.AnonymousSignInActivity;
import me.gilo.wc.ui.order.MyOrdersActivity;
import me.gilo.wc.ui.order.OrderActivity;
import me.gilo.wc.ui.product.CartActivity;
import me.gilo.wc.ui.product.ProductActivity;
import me.gilo.wc.ui.product.ShopActivity;
@ -59,4 +60,7 @@ abstract class ActivitiesModule {
@ContributesAndroidInjector
abstract MyOrdersActivity contributesMyOrdersActivity();
@ContributesAndroidInjector
abstract OrderActivity contributesOrderActivity();
}

View File

@ -11,7 +11,9 @@ import android.view.View
import android.widget.FrameLayout
import android.widget.TextView
import android.widget.Toast
import com.google.firebase.auth.FirebaseAuth
import io.github.inflationx.viewpump.ViewPumpContextWrapper
import me.gilo.raison.ui.user.onboarding.SignInActivity
import me.gilo.wc.R
import me.gilo.wc.common.BaseActivity
import me.gilo.wc.common.Status
@ -34,6 +36,11 @@ abstract class WooDroidActivity<T : ViewModel> : BaseActivity() {
override fun onResume() {
super.onResume()
if(FirebaseAuth.getInstance().currentUser == null){
startActivity(Intent(baseContext, SignInActivity::class.java))
finish()
}
cart()
}

View File

@ -0,0 +1,59 @@
package me.gilo.wc.ui.order
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.v7.app.AppCompatActivity
import me.gilo.wc.R
import kotlinx.android.synthetic.main.activity_order.*
import me.gilo.wc.adapter.OrderAdapter
import me.gilo.wc.common.Status
import me.gilo.wc.ui.WooDroidActivity
import me.gilo.wc.viewmodels.OrderViewModel
import me.gilo.woodroid.models.Order
class OrderActivity : WooDroidActivity<OrderViewModel>() {
override lateinit var viewModel: OrderViewModel
var orders: ArrayList<Order> = ArrayList()
lateinit var adapter: OrderAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_order)
setSupportActionBar(toolbar)
viewModel = getViewModel(OrderViewModel::class.java)
title = "Orders"
}
private fun order(orderId : Int) {
viewModel.order(orderId).observe(this, android.arch.lifecycle.Observer { response ->
when (response!!.status()) {
Status.LOADING -> {
showLoading()
}
Status.SUCCESS -> {
stopShowingLoading()
}
Status.ERROR -> {
stopShowingLoading()
}
Status.EMPTY -> {
stopShowingLoading()
}
}
})
}
}

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.order.OrderActivity">
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_order"/>
</android.support.design.widget.CoordinatorLayout>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_order"
tools:context=".ui.order.OrderActivity">
</android.support.constraint.ConstraintLayout>

View File

@ -46,5 +46,6 @@
<string name="title_activity_cart">CartActivity</string>
<string name="title_activity_checkout">CheckoutActivity</string>
<string name="title_activity_anonymous_sign_in">AnonymousSignInActivity</string>
<string name="title_activity_order">OrderActivity</string>
</resources>