Commit 962be717 authored by Wahyu Wibowo's avatar Wahyu Wibowo

mergin with trio

parents 083bfeb8 b566cd2d
......@@ -2,17 +2,33 @@ package com.example.yourcashiertest.activities;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.yourcashiertest.R;
import com.example.yourcashiertest.databinding.ActivityCartBinding;
import com.example.yourcashiertest.databinding.ItemListBinding;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class CartActivity extends AppCompatActivity {
ImageView btnBack;
Button btnCheckout;
ActivityCartBinding binding;
TextView tvName, tvTotalPrice, tvQty, tvPrice, tvItems;
Button btnAdd, btnMin, btnCheckout;
int count = 1;
int pricePerQty;
int totalPrice;
int totalItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -20,6 +36,44 @@ public class CartActivity extends AppCompatActivity {
setContentView(R.layout.activity_cart);
btnCheckout = findViewById(R.id.btnCheckout);
btnBack = findViewById(R.id.ivBtnBack);
tvName = findViewById(R.id.burger_medi);
tvQty = findViewById(R.id.tv_qty);
btnAdd = findViewById(R.id.btn_add);
btnMin = findViewById(R.id.btn_min);
tvPrice = findViewById(R.id.some_id);
tvTotalPrice = findViewById(R.id.tvTotalPrice);
tvItems = findViewById(R.id.items);
int price = 10000;
tvName.setText("Burger KING");
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
count++;
pricePerQty = price * count;
changeOnClick(count, pricePerQty, totalPrice);
}
});
btnMin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
count--;
if (count == 0){
}
pricePerQty = price * count;
changeOnClick(count, pricePerQty, totalPrice);
}
});
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......@@ -34,4 +88,25 @@ public class CartActivity extends AppCompatActivity {
}
});
}
private String changeToCurrency(int totalPrice){
DecimalFormat decimalFormat = (DecimalFormat) DecimalFormat.getCurrencyInstance();
DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols();
formatSymbols.setCurrencySymbol("Rp. ");
formatSymbols.setMonetaryDecimalSeparator(',');
formatSymbols.setGroupingSeparator('.');
String priceRupiah = decimalFormat.format(totalPrice);
return priceRupiah;
}
private void changeOnClick(int count, int pricePerQty, int totalPrice){
tvQty.setText(String.valueOf(count));
tvPrice.setText(changeToCurrency(pricePerQty));
tvTotalPrice.setText(changeToCurrency(totalPrice));
}
}
\ No newline at end of file
package com.example.yourcashiertest.adapters;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView;
import com.example.yourcashiertest.R;
import com.example.yourcashiertest.databinding.CartItemBinding;
import com.example.yourcashiertest.entities.Product;
import java.util.ArrayList;
import java.util.List;
public class CartAdapter extends RecyclerView.Adapter<CartAdapter.ViewHolder> {
private List<Product> productList = new ArrayList<>();
public interface Listener{
void onIncrease();
void onDecrease();
}
public Listener listener;
public CartAdapter(List<Product> productList) {
this.productList = productList;
notifyDataSetChanged();
}
@NonNull
@Override
public CartAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new CartAdapter.ViewHolder(
DataBindingUtil.inflate(
LayoutInflater.from(parent.getContext()),
R.layout.cart_item,
parent,
false
)
);
}
@Override
public void onBindViewHolder(@NonNull CartAdapter.ViewHolder holder, int position) {
holder.bindData(productList.get(position));
}
@Override
public int getItemCount() {
return productList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private CartItemBinding cartItemBinding;
private int price = 10000;
public ViewHolder(@NonNull CartItemBinding cartItemBinding) {
super(cartItemBinding.getRoot());
this.cartItemBinding = cartItemBinding;
}
public void bindData(Product product) {
cartItemBinding.setCartProduct(product);
cartItemBinding.btnAdd.setOnClickListener(view -> listener.onIncrease());
cartItemBinding.btnMin.setOnClickListener(view -> listener.onDecrease());
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<layout
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"
>
<data>
<variable
name="totalPrice"
type="String" />
<variable
name="totalItems"
type="String" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
......@@ -34,35 +46,35 @@
<TextView
android:id="@+id/items"
android:layout_width="68dp"
android:layout_width="60dp"
android:layout_height="21dp"
android:layout_marginStart="32dp"
android:layout_marginStart="50dp"
android:gravity="top"
android:text="@string/items"
android:textAppearance="@style/items"
android:text=""
app:layout_constraintBottom_toBottomOf="@+id/cart"
app:layout_constraintStart_toEndOf="@+id/cart"
app:layout_constraintEnd_toStartOf="@+id/amount"
app:layout_constraintTop_toTopOf="@+id/cart"
app:layout_constraintVertical_bias="0.466" />
<View
android:id="@+id/amount"
android:layout_width="112dp"
android:layout_height="59dp"
android:layout_width="100dp"
android:layout_height="35dp"
android:background="@drawable/rectangle_1"
app:layout_constraintBottom_toBottomOf="@+id/items"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.666"
android:layout_marginTop="65dp"
android:layout_marginEnd="40dp"
app:layout_constraintStart_toEndOf="@+id/items"
app:layout_constraintTop_toTopOf="@+id/items" />
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/some_id"
android:id="@+id/tvTotalPrice"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:gravity="top"
android:textColor="#fff"
android:text="@string/some_id"
android:text=""
android:textAppearance="@style/some_id"
app:layout_constraintBottom_toBottomOf="@+id/amount"
app:layout_constraintEnd_toEndOf="@+id/amount"
......@@ -79,25 +91,26 @@
app:layout_constraintVertical_bias="0.089"
tools:layout_editor_absoluteX="9dp" />
<include
android:id="@+id/include"
layout="@layout/cart_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view"
app:layout_constraintVertical_bias="0.071" />
<Button
android:id="@+id/btnCheckout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/checkout"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/include"
app:layout_constraintTop_toBottomOf="@+id/rvCartList"
app:layout_constraintVertical_bias="1.0"
tools:layout_editor_absoluteX="39dp" />
<include
android:id="@+id/rvCartList"
layout="@layout/cart_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/space_default"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView
<layout
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"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="cartProduct"
type="com.example.yourcashiertest.entities.Product" />
<variable
name="qty"
type="String" />
</data>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="match_parent">
......@@ -48,7 +58,8 @@
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="top"
android:text="@string/some_id"
android:text=""
tools:text="$6000"
android:textAppearance="@style/some_id"
app:layout_constraintBottom_toBottomOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
......@@ -67,6 +78,7 @@
app:layout_constraintBottom_toBottomOf="@+id/some_id"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
android:layout_marginEnd="@dimen/space_default"
app:layout_constraintStart_toEndOf="@+id/some_id"
app:layout_constraintTop_toTopOf="@+id/some_id"
app:layout_constraintVertical_bias="1.0" />
......@@ -97,7 +109,8 @@
android:id="@+id/tv_qty"
android:layout_width="10dp"
android:layout_height="wrap_content"
android:text="2"
android:text="@{qty}"
tools:text="4"
app:layout_constraintBottom_toBottomOf="@+id/v_add"
app:layout_constraintEnd_toStartOf="@+id/btn_add"
app:layout_constraintStart_toEndOf="@+id/btn_min"
......@@ -114,4 +127,5 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
\ No newline at end of file
</com.google.android.material.card.MaterialCardView>
</layout>
\ No newline at end of file
......@@ -29,7 +29,7 @@
<style name="some_id">
<item name="android:textSize">
16sp
13sp
</item>
<item name="android:textColor">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment