From 693b6916e842792bbdef7d9374a2c6b8943f6a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Maia?= Date: Fri, 15 May 2020 17:49:06 -0300 Subject: [PATCH] create order detail screen --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 21 ++--- .../sdk/adapter/OrderRecyclerViewAdapter.java | 9 ++ .../sdk/sample/DetailOrderActivity.java | 34 ++++++++ .../sdk/sample/ListOrdersActivity.java | 14 +++- .../main/res/layout/activity_detail_order.xml | 82 +++++++++++++++++++ 6 files changed, 149 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/com/cielo/ordermanager/sdk/sample/DetailOrderActivity.java create mode 100644 app/src/main/res/layout/activity_detail_order.xml diff --git a/app/build.gradle b/app/build.gradle index a89df0f..fed7665 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,7 +17,7 @@ android { } - lintOptions{ + lintOptions { abortOnError false } @@ -56,7 +56,7 @@ dependencies { implementation 'com.cielo.lio:order-manager:1.4.0' // --------------------------------------------------------------------------- // - implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:6.7.1') { + implementation('com.mapbox.mapboxsdk:mapbox-android-sdk:6.7.1') { exclude group: 'com.android.support' exclude module: 'appcompat-v7' exclude module: 'support-v4' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a2d348e..8f23bff 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,9 +2,9 @@ - - - + + + + + @@ -28,18 +31,16 @@ - - - - + + + + - - + - \ No newline at end of file diff --git a/app/src/main/java/com/cielo/ordermanager/sdk/adapter/OrderRecyclerViewAdapter.java b/app/src/main/java/com/cielo/ordermanager/sdk/adapter/OrderRecyclerViewAdapter.java index 965051c..ed1d45a 100644 --- a/app/src/main/java/com/cielo/ordermanager/sdk/adapter/OrderRecyclerViewAdapter.java +++ b/app/src/main/java/com/cielo/ordermanager/sdk/adapter/OrderRecyclerViewAdapter.java @@ -13,6 +13,7 @@ public class OrderRecyclerViewAdapter extends RecyclerView.Adapter { private List orderItemList; + public OnItemClickListener onItemClickListener; static class OrderViewHolder extends RecyclerView.ViewHolder { TextView title; @@ -51,6 +52,8 @@ public void onBindViewHolder(OrderViewHolder holder, int position) { if(order.getReleaseDate() != null) holder.title.setText(order.getReleaseDate().toString()); holder.summary.setText(product + "R$ " +order.getPrice()); + + holder.itemView.setOnClickListener(view -> onItemClickListener.onItemClick(order)); } } @@ -58,4 +61,10 @@ public void onBindViewHolder(OrderViewHolder holder, int position) { public int getItemCount() { return (null != orderItemList ? orderItemList.size() : 0); } + + public interface OnItemClickListener { + void onItemClick(Order order); + } } + + diff --git a/app/src/main/java/com/cielo/ordermanager/sdk/sample/DetailOrderActivity.java b/app/src/main/java/com/cielo/ordermanager/sdk/sample/DetailOrderActivity.java new file mode 100644 index 0000000..869e940 --- /dev/null +++ b/app/src/main/java/com/cielo/ordermanager/sdk/sample/DetailOrderActivity.java @@ -0,0 +1,34 @@ +package com.cielo.ordermanager.sdk.sample; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.widget.Button; +import android.widget.TextView; + +import com.cielo.ordermanager.sdk.R; + +import cielo.orders.domain.Order; + +public class DetailOrderActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_detail_order); + getSupportActionBar().setTitle("Ordem Detalhada"); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + Order order = (Order) getIntent().getSerializableExtra("order"); + TextView idOrdem = findViewById(R.id.idOrdem); + TextView transactionValue = findViewById(R.id.transactionValue); + Button orderButton = findViewById(R.id.orderButton); + + idOrdem.setText(order.getId()); + transactionValue.setText("R$ " + String.valueOf(order.getPrice())); + + orderButton.setOnClickListener(view -> { + finish(); + }); + } + +} diff --git a/app/src/main/java/com/cielo/ordermanager/sdk/sample/ListOrdersActivity.java b/app/src/main/java/com/cielo/ordermanager/sdk/sample/ListOrdersActivity.java index ae330d3..9236ad8 100644 --- a/app/src/main/java/com/cielo/ordermanager/sdk/sample/ListOrdersActivity.java +++ b/app/src/main/java/com/cielo/ordermanager/sdk/sample/ListOrdersActivity.java @@ -1,6 +1,7 @@ package com.cielo.ordermanager.sdk.sample; +import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; @@ -20,6 +21,8 @@ import com.cielo.ordermanager.sdk.R; import com.cielo.ordermanager.sdk.adapter.OrderRecyclerViewAdapter; +import com.cielo.ordermanager.sdk.listener.RecyclerItemClickListener; + import cielo.orders.domain.Credentials; import cielo.orders.domain.Order; import cielo.orders.domain.ResultOrders; @@ -68,7 +71,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } public void configSDK() { - Credentials credentials = new Credentials( "clientID", "accessToken"); + Credentials credentials = new Credentials("clientID", "accessToken"); orderManager = new OrderManager(credentials, this); orderManager.bind(this, new ServiceBindListener() { @Override @@ -100,8 +103,13 @@ private void listOrders() { final List orderList = resultOrders.getResults(); - recyclerView.setAdapter( - new OrderRecyclerViewAdapter(orderList)); + OrderRecyclerViewAdapter orderRecyclerViewAdapter = new OrderRecyclerViewAdapter(orderList); + recyclerView.setAdapter(orderRecyclerViewAdapter); + orderRecyclerViewAdapter.onItemClickListener = order -> { + Intent intent = new Intent(this, DetailOrderActivity.class); + intent.putExtra("order", order); + startActivity(intent); + }; Log.i(TAG, "orders: " + orderList); for (Order or : orderList) { diff --git a/app/src/main/res/layout/activity_detail_order.xml b/app/src/main/res/layout/activity_detail_order.xml new file mode 100644 index 0000000..f3a58c4 --- /dev/null +++ b/app/src/main/res/layout/activity_detail_order.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + +