From 447263c17532a473dee664cfd1adf5f46ef18576 Mon Sep 17 00:00:00 2001 From: Sakib Sami Date: Sun, 25 Sep 2022 15:12:50 +0300 Subject: [PATCH] - order page improvement --- .../ui/activities/OrderDetailsActivity.kt | 21 + .../res/layout/activity_order_details.xml | 664 +++++++++--------- 2 files changed, 356 insertions(+), 329 deletions(-) diff --git a/app/src/main/java/com/shopemaa/android/storefront/ui/activities/OrderDetailsActivity.kt b/app/src/main/java/com/shopemaa/android/storefront/ui/activities/OrderDetailsActivity.kt index ad5fb04..aab753e 100644 --- a/app/src/main/java/com/shopemaa/android/storefront/ui/activities/OrderDetailsActivity.kt +++ b/app/src/main/java/com/shopemaa/android/storefront/ui/activities/OrderDetailsActivity.kt @@ -9,6 +9,7 @@ import android.widget.TextView import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import cn.pedant.SweetAlert.SweetAlertDialog import com.apollographql.apollo3.api.or import com.arellomobile.mvp.presenter.InjectPresenter @@ -57,6 +58,8 @@ class OrderDetailsActivity : BaseActivity(), OrderView { private lateinit var order: OrderByCustomerEmailQuery.OrderByCustomerEmail + private lateinit var swipeLayout: SwipeRefreshLayout + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_order_details) @@ -94,6 +97,21 @@ class OrderDetailsActivity : BaseActivity(), OrderView { } } + swipeLayout = findViewById(R.id.order_details_layout) + swipeLayout.setOnRefreshListener { + if (::order.isInitialized) { + alertDialog.show() + + lifecycleScope.launch { + presenter.requestOrderDetails( + applicationContext, + order.hash, + order.customer.email + ) + } + } + } + orderItems = findViewById(R.id.order_items) orderItemsList = mutableListOf() orderItemsAdapter = OrderItemListAdapter(applicationContext, orderItemsList) @@ -149,6 +167,7 @@ class OrderDetailsActivity : BaseActivity(), OrderView { discount.text = Utils.formatAmount(applicationContext, order.discountedAmount, true) grandTotal.text = Utils.formatAmount(applicationContext, order.grandTotal, true) + orderItemsList.clear() orderItemsList.addAll(order.cart.cartItems) orderItemsAdapter.notifyDataSetChanged() @@ -157,12 +176,14 @@ class OrderDetailsActivity : BaseActivity(), OrderView { } alertDialog.dismiss() + swipeLayout.isRefreshing = false } override fun onOrderDetailsFailure(err: ApiError) { alertDialog.dismiss() showMessage(applicationContext, "Order not found") finish() + swipeLayout.isRefreshing = false } override fun onBackPressed() { diff --git a/app/src/main/res/layout/activity_order_details.xml b/app/src/main/res/layout/activity_order_details.xml index 47d2de1..17f9d86 100644 --- a/app/src/main/res/layout/activity_order_details.xml +++ b/app/src/main/res/layout/activity_order_details.xml @@ -1,448 +1,454 @@ - - - - - + + - + android:layout_alignParentTop="true" + android:layout_marginTop="20dp"> - + - + + + + android:layout_height="match_parent" + android:layout_above="@+id/order_details_overview" + android:layout_below="@id/order_details_layout_top" + android:layout_marginLeft="20dp" + android:layout_marginTop="10dp" + android:layout_marginRight="20dp" + android:scrollbars="none"> - + android:layout_height="wrap_content"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:layout_below="@id/payment_method_divider" + android:layout_marginTop="10dp" + android:layout_marginBottom="100dp" /> + + + + + + + - + android:layout_below="@+id/coupon_code_box" + android:layout_marginLeft="10dp" + android:layout_marginTop="10dp" + android:layout_marginRight="10dp"> - - + android:layout_below="@+id/subtotal_box" + android:layout_marginLeft="10dp" + android:layout_marginTop="5dp" + android:layout_marginRight="10dp"> + + + + + + android:layout_below="@+id/payment_fee_box" + android:layout_marginLeft="10dp" + android:layout_marginTop="5dp" + android:layout_marginRight="10dp"> + android:textSize="14sp" /> - - + + android:layout_marginRight="10dp" + android:layout_marginBottom="10dp"> + android:textSize="18sp" + android:textStyle="bold" /> - - - - + android:layout_height="60dp" + android:layout_below="@+id/grand_total_box" + android:text="Pay Now" + android:textAllCaps="false" + android:textSize="18sp" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +