Commit 92911f53 authored by Ahmad Abi Mulya's avatar Ahmad Abi Mulya

fix conflicts

parents 57c631b0 c90ed98c
...@@ -30,6 +30,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -30,6 +30,7 @@ public class CartActivity extends AppCompatActivity {
public static String PRICE = "price"; public static String PRICE = "price";
Product product; Product product;
TransaksiViewModel transaksiViewModel; TransaksiViewModel transaksiViewModel;
CartViewModel cartViewModel;
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
@Override @Override
...@@ -45,7 +46,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -45,7 +46,7 @@ public class CartActivity extends AppCompatActivity {
transaksiViewModel = new ViewModelProvider(this).get(TransaksiViewModel.class); transaksiViewModel = new ViewModelProvider(this).get(TransaksiViewModel.class);
CartViewModel cartViewModel = new ViewModelProvider(this).get(CartViewModel.class); cartViewModel = new ViewModelProvider(this).get(CartViewModel.class);
cartViewModel.getCarts().observe(this, carts -> adapter.setCartList(carts)); cartViewModel.getCarts().observe(this, carts -> adapter.setCartList(carts));
cartViewModel.getCarts().observe(this, carts -> { cartViewModel.getCarts().observe(this, carts -> {
...@@ -54,7 +55,10 @@ public class CartActivity extends AppCompatActivity { ...@@ -54,7 +55,10 @@ public class CartActivity extends AppCompatActivity {
for (int i = 0; i < carts.size(); i++){ for (int i = 0; i < carts.size(); i++){
count += carts.get(i).getPrice(); count += carts.get(i).getPrice();
} }
}else binding.btnCheckout.setEnabled(false); }else{
binding.btnCheckout.setEnabled(false);
binding.saveOrder.setEnabled(false);
}
SUM = count; SUM = count;
binding.tvTotalPrice.setText(Convert.changeToCurrency(SUM)); binding.tvTotalPrice.setText(Convert.changeToCurrency(SUM));
binding.items.setText(carts.size() + " items"); binding.items.setText(carts.size() + " items");
...@@ -94,12 +98,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -94,12 +98,7 @@ public class CartActivity extends AppCompatActivity {
startActivity(new Intent(CartActivity.this, PaymentActivity.class).putExtra(PRICE, SUM)); startActivity(new Intent(CartActivity.this, PaymentActivity.class).putExtra(PRICE, SUM));
finish(); finish();
}); });
binding.saveOrder.setOnClickListener(new View.OnClickListener() { binding.saveOrder.setOnClickListener(view -> saveTransaction(SUM));
@Override
public void onClick(View view) {
saveTransaction(SUM);
}
});
} }
private void saveTransaction(int amount) { private void saveTransaction(int amount) {
...@@ -107,6 +106,9 @@ public class CartActivity extends AppCompatActivity { ...@@ -107,6 +106,9 @@ public class CartActivity extends AppCompatActivity {
transaksi.setAmount(amount); transaksi.setAmount(amount);
transaksi.setStatus("Pending"); transaksi.setStatus("Pending");
transaksiViewModel.insertTransaksi(transaksi); transaksiViewModel.insertTransaksi(transaksi);
cartViewModel.clear();
startActivity(new Intent(CartActivity.this, OrderActivity.class));
Toast.makeText(getApplicationContext(), "Please Continue Payment", Toast.LENGTH_LONG).show();
} }
@Override @Override
......
...@@ -76,6 +76,9 @@ public class LoginActivity extends AppCompatActivity { ...@@ -76,6 +76,9 @@ public class LoginActivity extends AppCompatActivity {
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
prefManager.setDataUser(response.body().getData().getFullName()); prefManager.setDataUser(response.body().getData().getFullName());
finish(); finish();
} else if (response.code() == 302){
Toast.makeText(getApplicationContext(), "Please verify your account!", Toast.LENGTH_LONG).show();
binding.setLoading(false);
}else{ }else{
Toast.makeText(getApplicationContext(), response.body().getMessages(), Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(), response.body().getMessages(), Toast.LENGTH_LONG).show();
binding.setLoading(false); binding.setLoading(false);
......
...@@ -20,6 +20,7 @@ import android.text.Editable; ...@@ -20,6 +20,7 @@ import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.view.View; import android.view.View;
import android.util.Log;
import android.widget.PopupMenu; import android.widget.PopupMenu;
import android.widget.Toast; import android.widget.Toast;
...@@ -30,6 +31,7 @@ import com.example.yourcashiertest.databases.DBHelper; ...@@ -30,6 +31,7 @@ import com.example.yourcashiertest.databases.DBHelper;
import com.example.yourcashiertest.databinding.ActivityMainBinding; import com.example.yourcashiertest.databinding.ActivityMainBinding;
import com.example.yourcashiertest.entities.Cart; import com.example.yourcashiertest.entities.Cart;
import com.example.yourcashiertest.entities.Product; import com.example.yourcashiertest.entities.Product;
import com.example.yourcashiertest.entities.Transaksi;
import com.example.yourcashiertest.viewmodels.CartViewModel; import com.example.yourcashiertest.viewmodels.CartViewModel;
import com.example.yourcashiertest.viewmodels.ProductViewModel; import com.example.yourcashiertest.viewmodels.ProductViewModel;
...@@ -104,7 +106,6 @@ public class MainActivity extends AppCompatActivity { ...@@ -104,7 +106,6 @@ public class MainActivity extends AppCompatActivity {
return true; return true;
case R.id.item_three: case R.id.item_three:
startActivity(new Intent(MainActivity.this, OrderActivity.class)); startActivity(new Intent(MainActivity.this, OrderActivity.class));
finish();
break; break;
case R.id.item_four: case R.id.item_four:
prefManager.removeLoginSession(); prefManager.removeLoginSession();
...@@ -175,6 +176,12 @@ public class MainActivity extends AppCompatActivity { ...@@ -175,6 +176,12 @@ public class MainActivity extends AppCompatActivity {
} }
}); });
binding.setViewModel(viewModel); binding.setViewModel(viewModel);
// just checking data
List<Transaksi> list = DBHelper.getAllTransaksi(getApplicationContext());
for (int i = 0; i < list.size(); i++){
Log.d("transaction", String.valueOf(list.get(i).getStatus()));
}
} }
......
...@@ -6,10 +6,12 @@ import androidx.lifecycle.Observer; ...@@ -6,10 +6,12 @@ import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import com.example.yourcashiertest.R; import com.example.yourcashiertest.R;
import com.example.yourcashiertest.adapters.OrderAdapter; import com.example.yourcashiertest.adapters.OrderAdapter;
import com.example.yourcashiertest.databases.DBHelper;
import com.example.yourcashiertest.databinding.ActivityOrderBinding; import com.example.yourcashiertest.databinding.ActivityOrderBinding;
import com.example.yourcashiertest.entities.Transaksi; import com.example.yourcashiertest.entities.Transaksi;
import com.example.yourcashiertest.viewmodels.TransaksiViewModel; import com.example.yourcashiertest.viewmodels.TransaksiViewModel;
...@@ -27,21 +29,24 @@ public class OrderActivity extends AppCompatActivity { ...@@ -27,21 +29,24 @@ public class OrderActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_order); binding = DataBindingUtil.setContentView(this, R.layout.activity_order);
adapter = new OrderAdapter();
viewModel = new ViewModelProvider(this).get(TransaksiViewModel.class); viewModel = new ViewModelProvider(this).get(TransaksiViewModel.class);
binding.rvListOrder.setLayoutManager(new LinearLayoutManager(this)); binding.rvListOrder.setLayoutManager(new LinearLayoutManager(this));
binding.rvListOrder.setAdapter(adapter); binding.rvListOrder.setAdapter(adapter);
viewModel.getList().observe(this, transaksi -> adapter.setTransaksiList(transaksi)); viewModel.getList().observe(this, transaksi -> adapter.setTransaksiList(transaksi));
// adapter.setListener(new OrderAdapter.TransaksiListener() { adapter.setListener(new OrderAdapter.TransaksiListener() {
// @Override @Override
// public void onCancel(Transaksi transaksi) { public void onCancel(Transaksi transaksi) {
// viewModel.deleteTransaksi(transaksi);
// } }
//
// @Override @Override
// public void onContinue(Transaksi transaksi) { public void onContinue(Transaksi transaksi) {
// startActivity(new Intent(OrderActivity.this, PaymentActivity.class)
// } .putExtra(PaymentActivity.DATA_PENDING, transaksi));
// }); }
});
} }
} }
\ No newline at end of file
...@@ -13,6 +13,8 @@ import android.os.Bundle; ...@@ -13,6 +13,8 @@ import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Toast;
import com.example.yourcashiertest.R; import com.example.yourcashiertest.R;
import com.example.yourcashiertest.adapters.PaymentAdapter; import com.example.yourcashiertest.adapters.PaymentAdapter;
import com.example.yourcashiertest.databases.DBHelper; import com.example.yourcashiertest.databases.DBHelper;
...@@ -42,6 +44,8 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -42,6 +44,8 @@ public class PaymentActivity extends AppCompatActivity {
TransaksiViewModel payViewModel; TransaksiViewModel payViewModel;
public static final String PAY_WITH = "pay_with"; public static final String PAY_WITH = "pay_with";
private ArrayList<ResponsePayment> responsePayments = new ArrayList<>(); private ArrayList<ResponsePayment> responsePayments = new ArrayList<>();
static final String DATA_PENDING = "data_pending";
Transaksi data_pending;
@SuppressLint("ResourceAsColor") @SuppressLint("ResourceAsColor")
@RequiresApi(api = Build.VERSION_CODES.N) @RequiresApi(api = Build.VERSION_CODES.N)
...@@ -54,7 +58,6 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -54,7 +58,6 @@ public class PaymentActivity extends AppCompatActivity {
cartViewModel = new ViewModelProvider(this).get(CartViewModel.class); cartViewModel = new ViewModelProvider(this).get(CartViewModel.class);
viewModel = new ViewModelProvider(this).get(ProductViewModel.class); viewModel = new ViewModelProvider(this).get(ProductViewModel.class);
amount = getIntent().getIntExtra(CartActivity.PRICE, 0); amount = getIntent().getIntExtra(CartActivity.PRICE, 0);
binding.setAmount(Convert.changeToCurrency(amount));
responsePayments.add(new ResponsePayment("https://i.ibb.co/yfcFMHc/undraw-wallet-aym5.png", "Cash")); responsePayments.add(new ResponsePayment("https://i.ibb.co/yfcFMHc/undraw-wallet-aym5.png", "Cash"));
responsePayments.add(new ResponsePayment("https://i.ibb.co/qNnKh5n/undraw-Credit-card-re-blml.png", "Card")); responsePayments.add(new ResponsePayment("https://i.ibb.co/qNnKh5n/undraw-Credit-card-re-blml.png", "Card"));
...@@ -65,6 +68,12 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -65,6 +68,12 @@ public class PaymentActivity extends AppCompatActivity {
paymentMethod = responsePayments.getBank(); paymentMethod = responsePayments.getBank();
binding.btnPay.setEnabled(true); binding.btnPay.setEnabled(true);
}); });
data_pending = getIntent().getParcelableExtra(DATA_PENDING);
if (data_pending != null){
amount = (int) data_pending.getAmount();
}
binding.setAmount(Convert.changeToCurrency(amount));
} }
public void btnPay(View view) { public void btnPay(View view) {
...@@ -78,8 +87,13 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -78,8 +87,13 @@ public class PaymentActivity extends AppCompatActivity {
ViewUtil.showMessage(view, "AmountPaid doesn't less than total price"); ViewUtil.showMessage(view, "AmountPaid doesn't less than total price");
} else { } else {
refund = amountPaid - amount; refund = amountPaid - amount;
if (data_pending != null) continueTransaksi(data_pending);
else createTransaksi(amount);
updateDataProduct(); updateDataProduct();
startActivity(new Intent(PaymentActivity.this, StatusPayment.class).putExtra(REFUND, refund).putExtra(PAY_WITH, paymentMethod)); startActivity(new Intent(PaymentActivity.this, StatusPayment.class)
.putExtra(REFUND, refund).putExtra(PAY_WITH, paymentMethod));
cartViewModel.clear(); cartViewModel.clear();
finish(); finish();
} }
...@@ -90,14 +104,6 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -90,14 +104,6 @@ public class PaymentActivity extends AppCompatActivity {
List<Product> products = DBHelper.getAllProduct(getApplicationContext()); List<Product> products = DBHelper.getAllProduct(getApplicationContext());
List<Cart> carts = DBHelper.getAllCart(getApplicationContext()); List<Cart> carts = DBHelper.getAllCart(getApplicationContext());
// just checking data
List<Transaksi> list = DBHelper.getAllTransaksi(getApplicationContext());
for (int i = 0; i < list.size(); i++){
Log.d("transaction", String.valueOf(list.get(i).getOrderId()));
}
createTransaksi(amount);
for (int c = 0; c < carts.size(); c++){ for (int c = 0; c < carts.size(); c++){
for (int p = 0; p < products.size(); p++){ for (int p = 0; p < products.size(); p++){
if (carts.get(c).getIdProduct() == products.get(p).getId()){ if (carts.get(c).getIdProduct() == products.get(p).getId()){
...@@ -111,6 +117,14 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -111,6 +117,14 @@ public class PaymentActivity extends AppCompatActivity {
} }
} }
private void continueTransaksi(Transaksi transaksi){
Log.d("status transaksi", transaksi.getStatus());
if (transaksi.getStatus().equals("Pending")){
transaksi.setStatus("Success");
payViewModel.updateTransaksi(transaksi);
}
}
private void createTransaksi(int amount) { private void createTransaksi(int amount) {
Transaksi transaksi = new Transaksi(0, ""); Transaksi transaksi = new Transaksi(0, "");
transaksi.setAmount(amount); transaksi.setAmount(amount);
......
...@@ -46,7 +46,8 @@ public class RegisterActivity extends AppCompatActivity { ...@@ -46,7 +46,8 @@ public class RegisterActivity extends AppCompatActivity {
user.setPassword(binding.etPassword.getText().toString()); user.setPassword(binding.etPassword.getText().toString());
user.setPhoneNumber(binding.etPhoneNumber.getText().toString()); user.setPhoneNumber(binding.etPhoneNumber.getText().toString());
viewModel.registrasi(user); viewModel.registrasi(user);
Toast.makeText(getApplicationContext(), "Register Was Successful", Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), viewModel.getMessages(), Toast.LENGTH_LONG).show();
startActivity(new Intent(getApplicationContext(), LoginActivity.class)); startActivity(new Intent(getApplicationContext(), LoginActivity.class));
finish(); finish();
} }
......
...@@ -7,6 +7,7 @@ import android.content.Intent; ...@@ -7,6 +7,7 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Toast;
import com.example.yourcashiertest.R; import com.example.yourcashiertest.R;
import com.example.yourcashiertest.databinding.ActivityStatusPaymentBinding; import com.example.yourcashiertest.databinding.ActivityStatusPaymentBinding;
...@@ -31,6 +32,7 @@ public class StatusPayment extends AppCompatActivity { ...@@ -31,6 +32,7 @@ public class StatusPayment extends AppCompatActivity {
public void btnFinish(View view) { public void btnFinish(View view) {
startActivity(new Intent(StatusPayment.this, MainActivity.class)); startActivity(new Intent(StatusPayment.this, MainActivity.class));
Toast.makeText(getApplicationContext(), "Payment Success", Toast.LENGTH_LONG).show();
finish(); finish();
} }
......
...@@ -72,6 +72,10 @@ public class OrderAdapter extends RecyclerView.Adapter<OrderAdapter.ViewHolder> ...@@ -72,6 +72,10 @@ public class OrderAdapter extends RecyclerView.Adapter<OrderAdapter.ViewHolder>
public void bindData(Transaksi transaksi, TransaksiListener listener){ public void bindData(Transaksi transaksi, TransaksiListener listener){
binding.setTransaction(transaksi); binding.setTransaction(transaksi);
binding.setAmount(Convert.changeToCurrency(transaksi.getAmount())); binding.setAmount(Convert.changeToCurrency(transaksi.getAmount()));
if (transaksi.getStatus().equals("Success")){
binding.setVisibility(false);
}else binding.setVisibility(true);
binding.btnCancel.setOnClickListener(view -> listener.onCancel(transaksi)); binding.btnCancel.setOnClickListener(view -> listener.onCancel(transaksi));
binding.btnContinue.setOnClickListener(view -> listener.onContinue(transaksi)); binding.btnContinue.setOnClickListener(view -> listener.onContinue(transaksi));
} }
......
...@@ -20,8 +20,8 @@ public interface ProductDao { ...@@ -20,8 +20,8 @@ public interface ProductDao {
@Query("SELECT * FROM products") @Query("SELECT * FROM products")
public List<Product> getAll(); public List<Product> getAll();
// @Query("SELECT category FROM products") @Query("SELECT * FROM products WHERE id =:id")
// public List<Product> getAllCategory(); public Product getProductById(int id);
@Query("SELECT * FROM products WHERE name LIKE :query OR category LIKE:query ORDER BY id DESC") @Query("SELECT * FROM products WHERE name LIKE :query OR category LIKE:query ORDER BY id DESC")
public LiveData<List<Product>> getFilteredProducts(String query); public LiveData<List<Product>> getFilteredProducts(String query);
......
...@@ -18,7 +18,7 @@ public interface TransaksiDao { ...@@ -18,7 +18,7 @@ public interface TransaksiDao {
@Query("SELECT * FROM Transaksi") @Query("SELECT * FROM Transaksi")
List<Transaksi> getTransaksi(); List<Transaksi> getTransaksi();
@Query("SELECT * FROM Transaksi ORDER BY orderId DESC") @Query("SELECT * FROM Transaksi ORDER BY orderId ASC")
LiveData<List<Transaksi>> getAll(); LiveData<List<Transaksi>> getAll();
@Insert(onConflict = OnConflictStrategy.IGNORE) @Insert(onConflict = OnConflictStrategy.IGNORE)
......
...@@ -19,6 +19,12 @@ public class DBHelper { ...@@ -19,6 +19,12 @@ public class DBHelper {
return list; return list;
} }
public static Product getProductById(Context context, int id){
LocalDatabase db = LocalDatabase.getDatabase(context);
Product data = db.productDao().getProductById(id);
return data;
}
public static List<Cart> getAllCart(Context context){ public static List<Cart> getAllCart(Context context){
List<Cart> list; List<Cart> list;
LocalDatabase db = LocalDatabase.getDatabase(context); LocalDatabase db = LocalDatabase.getDatabase(context);
......
...@@ -22,6 +22,13 @@ public class User implements Parcelable { ...@@ -22,6 +22,13 @@ public class User implements Parcelable {
@SerializedName("email") @SerializedName("email")
private String email; private String email;
@SerializedName("token")
private String token;
@SerializedName("status")
private int status;
public User(Parcel in) { public User(Parcel in) {
id = in.readInt(); id = in.readInt();
password = in.readString(); password = in.readString();
...@@ -85,6 +92,22 @@ public class User implements Parcelable { ...@@ -85,6 +92,22 @@ public class User implements Parcelable {
public String getEmail(){ public String getEmail(){
return email; return email;
} }
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
@Override @Override
public int describeContents() { public int describeContents() {
......
...@@ -30,6 +30,7 @@ public class TransaksiViewModel extends AndroidViewModel { ...@@ -30,6 +30,7 @@ public class TransaksiViewModel extends AndroidViewModel {
repository.insert(transaksi); repository.insert(transaksi);
} }
public void updateTransaksi(Transaksi transaksi){ public void updateTransaksi(Transaksi transaksi){
repository.update(transaksi); repository.update(transaksi);
} }
......
package com.example.yourcashiertest.viewmodels; package com.example.yourcashiertest.viewmodels;
import android.util.Log; import android.util.Log;
import android.widget.Toast;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
import com.example.yourcashiertest.activities.RegisterActivity;
import com.example.yourcashiertest.clients.ApiClient; import com.example.yourcashiertest.clients.ApiClient;
import com.example.yourcashiertest.models.Login; import com.example.yourcashiertest.models.Login;
import com.example.yourcashiertest.models.Password; import com.example.yourcashiertest.models.Password;
...@@ -12,6 +14,7 @@ import com.example.yourcashiertest.models.ResponseUser; ...@@ -12,6 +14,7 @@ import com.example.yourcashiertest.models.ResponseUser;
import com.example.yourcashiertest.models.User; import com.example.yourcashiertest.models.User;
import com.example.yourcashiertest.services.UserService; import com.example.yourcashiertest.services.UserService;
import java.util.Collections;
import java.util.List; import java.util.List;
import retrofit2.Call; import retrofit2.Call;
...@@ -27,13 +30,11 @@ public class UserViewModel extends ViewModel { ...@@ -27,13 +30,11 @@ public class UserViewModel extends ViewModel {
public MutableLiveData<List<User>> getListUser(){ public MutableLiveData<List<User>> getListUser(){
return this.listUser; return this.listUser;
} }
public void registrasi(User user){ public void registrasi(User user){
ApiClient.client(UserService.class, BASE_URL).registerUser(user) ApiClient.client(UserService.class, BASE_URL).registerUser(user)
.enqueue(new Callback<User>() { .enqueue(new Callback<User>() {
@Override @Override
public void onResponse(Call<User> call, Response<User> response) { public void onResponse(Call<User> call, Response<User> response) {
} }
@Override @Override
...@@ -43,6 +44,7 @@ public class UserViewModel extends ViewModel { ...@@ -43,6 +44,7 @@ public class UserViewModel extends ViewModel {
}); });
} }
public void setListUser(){ public void setListUser(){
ApiClient.client(UserService.class, BASE_URL).getAllUser().enqueue(new Callback<ResponseUser>() { ApiClient.client(UserService.class, BASE_URL).getAllUser().enqueue(new Callback<ResponseUser>() {
@Override @Override
......
...@@ -120,7 +120,8 @@ ...@@ -120,7 +120,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="save" android:text="save"
android:backgroundTint="#0D2EE1" android:textColor="@color/white"
android:backgroundTint="@color/blue"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/btnCheckout" /> app:layout_constraintTop_toTopOf="@+id/btnCheckout" />
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="android.view.View"/>
<variable <variable
name="transaction" name="transaction"
type="com.example.yourcashiertest.entities.Transaksi" /> type="com.example.yourcashiertest.entities.Transaksi" />
...@@ -12,6 +13,10 @@ ...@@ -12,6 +13,10 @@
name="amount" name="amount"
type="String" /> type="String" />
<variable
name="visibility"
type="boolean" />
</data> </data>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -82,36 +87,43 @@ ...@@ -82,36 +87,43 @@
<TextView <TextView
android:id="@+id/tvStatus" android:id="@+id/tvStatus"
android:layout_width="136dp" android:layout_width="0dp"
android:layout_height="41dp" android:layout_height="41dp"
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:gravity="center" android:gravity="center"
android:textColor="@{visibility ? @color/colorPending : @color/colorPrimary}"
android:text="@{transaction.status}" android:text="@{transaction.status}"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnContinue"
app:layout_constraintTop_toBottomOf="@+id/tvTotal" /> app:layout_constraintTop_toBottomOf="@+id/tvTotal" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnContinue" android:id="@+id/btnContinue"
android:layout_width="90dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="10dp"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:visibility="@{visibility ? View.VISIBLE : View.GONE}"
android:text="CONTINUE" android:text="CONTINUE"
android:textSize="10dp" android:textSize="10dp"
app:layout_constraintStart_toEndOf="@id/tvStatus" app:layout_constraintStart_toEndOf="@id/tvStatus"
app:layout_constraintEnd_toStartOf="@+id/btnCancel"
app:layout_constraintTop_toBottomOf="@id/tvAmount" /> app:layout_constraintTop_toBottomOf="@id/tvAmount" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnCancel" android:id="@+id/btnCancel"
android:layout_width="90dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="20dp" android:layout_marginStart="10dp"
android:layout_marginEnd="7dp"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:visibility="@{visibility ? View.VISIBLE : View.GONE}"
android:text="CANCEL" android:text="CANCEL"
android:textSize="10dp" android:textSize="10dp"
app:backgroundTint="@color/colorDanger" app:backgroundTint="@color/colorDanger"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btnContinue" app:layout_constraintStart_toEndOf="@id/btnContinue"
app:layout_constraintTop_toBottomOf="@id/tvAmount" /> app:layout_constraintTop_toBottomOf="@id/tvAmount" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
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