Commit 0899a17e authored by Alfansyah Fadlian's avatar Alfansyah Fadlian

fix color all transaction

parents e2af30a2 d720eb45
...@@ -15,10 +15,14 @@ import android.widget.EditText; ...@@ -15,10 +15,14 @@ import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProvider;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.yono.messeripos.adapter.ProductAdapter;
import com.yono.messeripos.api.client.Client; import com.yono.messeripos.api.client.Client;
import com.yono.messeripos.api.service.PaymentService; import com.yono.messeripos.api.service.PaymentService;
import com.yono.messeripos.models.PaymentsModels; import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.ProductModels;
import com.yono.messeripos.response.DataResponse; import com.yono.messeripos.response.DataResponse;
import com.yono.messeripos.utils.Utils; import com.yono.messeripos.utils.Utils;
...@@ -27,6 +31,9 @@ import retrofit2.Call; ...@@ -27,6 +31,9 @@ import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
import static com.yono.messeripos.MainActivity.CHECKOUT;
import static com.yono.messeripos.MainActivity.orderId;
public class BottomSheets extends BottomSheetDialogFragment { public class BottomSheets extends BottomSheetDialogFragment {
EditText inputAmount; EditText inputAmount;
...@@ -42,6 +49,16 @@ public class BottomSheets extends BottomSheetDialogFragment { ...@@ -42,6 +49,16 @@ public class BottomSheets extends BottomSheetDialogFragment {
this.paymentsModels = paymentsModels; this.paymentsModels = paymentsModels;
} }
public interface CashListener {
void onCash(PaymentsModels paymentsModels);
}
private CashListener listener;
public void setListener(CashListener listener) {
this.listener = listener;
}
@Override @Override
public View onCreateView(LayoutInflater inflater, @Nullable public View onCreateView(LayoutInflater inflater, @Nullable
ViewGroup container, @Nullable Bundle savedInstanceState) ViewGroup container, @Nullable Bundle savedInstanceState)
...@@ -73,7 +90,7 @@ public class BottomSheets extends BottomSheetDialogFragment { ...@@ -73,7 +90,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
grossAmount = paymentsModels.getGrossAmount(); grossAmount = paymentsModels.getGrossAmount();
long input = Long.parseLong(inputAmount.getText().toString()); long input = Long.parseLong(inputAmount.getText().toString());
long result = grossAmount - input; long result = input-grossAmount;
hargaChange.setText(utils.convertPrice("Rp.", result)); hargaChange.setText(utils.convertPrice("Rp.", result));
...@@ -85,12 +102,12 @@ public class BottomSheets extends BottomSheetDialogFragment { ...@@ -85,12 +102,12 @@ public class BottomSheets extends BottomSheetDialogFragment {
} }
}); });
btnCash.setOnClickListener(view -> bayar()); btnCash.setOnClickListener(view -> bayar(view));
return v; return v;
} }
private void bayar() { private void bayar(View view) {
// String orderId, String paymentType, String bank, long grossAmount // String orderId, String paymentType, String bank, long grossAmount
PaymentsModels paymentsModels = new PaymentsModels( PaymentsModels paymentsModels = new PaymentsModels(
MainActivity.orderId, MainActivity.orderId,
...@@ -104,7 +121,13 @@ public class BottomSheets extends BottomSheetDialogFragment { ...@@ -104,7 +121,13 @@ public class BottomSheets extends BottomSheetDialogFragment {
@Override @Override
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) { public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
if (response.body() != null){ if (response.body() != null){
SharedPreferences.Editor editor = PaymentActivity.sharedPreferences.edit();
editor.putBoolean(CHECKOUT, false);
editor.putString(orderId, "");
if (editor.commit()){
Intent i = new Intent(getActivity(), MainActivity.class);
view.getContext().startActivity(i);
}
} }
} }
......
...@@ -13,10 +13,12 @@ import android.view.View; ...@@ -13,10 +13,12 @@ import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import androidx.lifecycle.Observer; import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.DividerItemDecoration;
...@@ -55,20 +57,35 @@ public class CartActivity extends AppCompatActivity { ...@@ -55,20 +57,35 @@ public class CartActivity extends AppCompatActivity {
List<ProductCartModels> dataCart = null; List<ProductCartModels> dataCart = null;
public static Boolean statusPost; public static Boolean statusPost;
SharedPreferences sharedPreferences; SharedPreferences sharedPreferences;
ImageView cartEmptyImage;
MaterialTextView cartEmptyText;
public static MaterialTextView grandToral; public static MaterialTextView grandToral;
Utils utils = new Utils(); Utils utils = new Utils();
public static long GrandTotal = 0;
MaterialButton btnSaveCart; MaterialButton btnSaveCart;
Button btnBayar; Button btnCheckout;
CardView cardView;
@RequiresApi(api = Build.VERSION_CODES.N) @RequiresApi(api = Build.VERSION_CODES.N)
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart); setContentView(R.layout.activity_cart);
Button btnCheckout;
grandToral = findViewById(R.id.tvHarga); grandToral = findViewById(R.id.tvHarga);
btnSaveCart = findViewById(R.id.btSave); btnSaveCart = findViewById(R.id.btSave);
cartEmptyImage = findViewById(R.id.cartEmpty);
cartEmptyText = findViewById(R.id.cartEmptyText);
recyclerView = findViewById(R.id.rvCart);
btnCheckout = findViewById(R.id.btCheckout);
cardView = findViewById(R.id.cardviews);
// set visibility gone for cartEmpty
cartEmptyImage.bringToFront();
cartEmptyText.bringToFront();
cartEmptyImage.setVisibility(View.GONE);
cartEmptyText.setVisibility(View.GONE);
modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class); modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class);
...@@ -82,11 +99,13 @@ public class CartActivity extends AppCompatActivity { ...@@ -82,11 +99,13 @@ public class CartActivity extends AppCompatActivity {
Log.i("Id Order on acart", "onCreate: "+orderId); Log.i("Id Order on acart", "onCreate: "+orderId);
if (orderId.isEmpty()){ if (orderId.isEmpty()){
SharedPreferences.Editor editor = sharedPreferences.edit(); SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, "MES-ORDER"+utils.timeStamp()); editor.putString(ORDER_ID, "MES-ORDER"+orderId);
if (editor.commit()){ if (editor.commit()){
Toast.makeText(CartActivity.this, orderId, Toast.LENGTH_LONG).show(); Toast.makeText(CartActivity.this, orderId, Toast.LENGTH_LONG).show();
} }
} }
// Toolbars // Toolbars
MaterialToolbar toolbars = findViewById(R.id.cAppBar); MaterialToolbar toolbars = findViewById(R.id.cAppBar);
setSupportActionBar(toolbars); setSupportActionBar(toolbars);
...@@ -95,8 +114,6 @@ public class CartActivity extends AppCompatActivity { ...@@ -95,8 +114,6 @@ public class CartActivity extends AppCompatActivity {
getSupportActionBar().setTitle("Cart"); getSupportActionBar().setTitle("Cart");
toolbars.setNavigationOnClickListener(view -> onBackPressed()); toolbars.setNavigationOnClickListener(view -> onBackPressed());
recyclerView = findViewById(R.id.rvCart);
btnCheckout = findViewById(R.id.btCheckout);
cartAdapter = new CartAdapter(); cartAdapter = new CartAdapter();
LinearLayoutManager llm = new LinearLayoutManager(this); LinearLayoutManager llm = new LinearLayoutManager(this);
...@@ -107,13 +124,19 @@ public class CartActivity extends AppCompatActivity { ...@@ -107,13 +124,19 @@ public class CartActivity extends AppCompatActivity {
modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class); modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class);
// show to cart
modelsCart.getCartById(orderId).observe(this, new Observer<List<ProductCartModels>>() { modelsCart.getCartById(orderId).observe(this, new Observer<List<ProductCartModels>>() {
@Override @Override
public void onChanged(List<ProductCartModels> productCartModels) { public void onChanged(List<ProductCartModels> productCartModels) {
if (productCartModels != null) { if (!productCartModels.isEmpty()) {
dataCart = productCartModels; dataCart = productCartModels;
cartAdapter.setCartAdapter(CartActivity.this, productCartModels); cartAdapter.setCartAdapter(CartActivity.this, productCartModels);
recyclerView.setAdapter(cartAdapter); recyclerView.setAdapter(cartAdapter);
}else {
cartEmptyText.setVisibility(View.VISIBLE);
cartEmptyImage.setVisibility(View.VISIBLE);
cardView.setVisibility(View.GONE);
recyclerView.setVisibility(View.GONE);
} }
} }
}); });
...@@ -178,6 +201,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -178,6 +201,7 @@ public class CartActivity extends AppCompatActivity {
} }
private void actionSaveCart() { private void actionSaveCart() {
Client client = new Client(); Client client = new Client();
modelsCart.getCartById(orderId).observe(this, new Observer<List<ProductCartModels>>() { modelsCart.getCartById(orderId).observe(this, new Observer<List<ProductCartModels>>() {
@Override @Override
...@@ -189,7 +213,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -189,7 +213,7 @@ public class CartActivity extends AppCompatActivity {
grossAmount = grossAmount + (pd.getQuantity_orders()*pd.getPrice_orders()); grossAmount = grossAmount + (pd.getQuantity_orders()*pd.getPrice_orders());
paymentsModels.setGrossAmount(grossAmount); paymentsModels.setGrossAmount(grossAmount);
} }
paymentsModels.setBank("none"); paymentsModels.setBank("");
paymentsModels.setPaymentType("pending"); paymentsModels.setPaymentType("pending");
paymentsModels.setOrderId(orderId); paymentsModels.setOrderId(orderId);
paymentsModels.setTransactionStatus("pending"); paymentsModels.setTransactionStatus("pending");
......
...@@ -10,8 +10,10 @@ import android.content.Intent; ...@@ -10,8 +10,10 @@ import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.ProgressBar;
import com.google.android.material.appbar.MaterialToolbar; import com.google.android.material.appbar.MaterialToolbar;
import com.yono.messeripos.adapter.TransactionAdapter; import com.yono.messeripos.adapter.TransactionAdapter;
...@@ -31,6 +33,7 @@ public class HistoryActivity extends AppCompatActivity { ...@@ -31,6 +33,7 @@ public class HistoryActivity extends AppCompatActivity {
MainViewModels mainViewModels; MainViewModels mainViewModels;
RecyclerView recyclerView; RecyclerView recyclerView;
Utils utils = new Utils(); Utils utils = new Utils();
ProgressBar loading;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -44,6 +47,9 @@ public class HistoryActivity extends AppCompatActivity { ...@@ -44,6 +47,9 @@ public class HistoryActivity extends AppCompatActivity {
MaterialToolbar toolbars = findViewById(R.id.cAppBar); MaterialToolbar toolbars = findViewById(R.id.cAppBar);
recyclerView = findViewById(R.id.rvHistory); recyclerView = findViewById(R.id.rvHistory);
loading = findViewById(R.id.loading);
loading.setVisibility(View.VISIBLE);
recyclerView.addItemDecoration(utils.dividerItemDecoration(HistoryActivity.this)); recyclerView.addItemDecoration(utils.dividerItemDecoration(HistoryActivity.this));
transactionAdapter = new TransactionAdapter(); transactionAdapter = new TransactionAdapter();
mainViewModels = new ViewModelProvider(this).get(MainViewModels.class); mainViewModels = new ViewModelProvider(this).get(MainViewModels.class);
...@@ -75,6 +81,8 @@ public class HistoryActivity extends AppCompatActivity { ...@@ -75,6 +81,8 @@ public class HistoryActivity extends AppCompatActivity {
* SILAHKAN PINDAH KE ACTIVITY SELANJUTNYA PADA ON..... * SILAHKAN PINDAH KE ACTIVITY SELANJUTNYA PADA ON.....
* */ * */
loading.setVisibility(View.GONE);
recyclerView.setLayoutManager(new LinearLayoutManager(HistoryActivity.this,RecyclerView.VERTICAL,false)); recyclerView.setLayoutManager(new LinearLayoutManager(HistoryActivity.this,RecyclerView.VERTICAL,false));
recyclerView.setAdapter(transactionAdapter); recyclerView.setAdapter(transactionAdapter);
} }
......
...@@ -7,9 +7,11 @@ import android.content.Intent; ...@@ -7,9 +7,11 @@ import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.service.controls.actions.ModeAction;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.util.Log; import android.util.Log;
import android.view.ActionMode;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
...@@ -29,6 +31,7 @@ import androidx.recyclerview.widget.GridLayoutManager; ...@@ -29,6 +31,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import com.google.android.material.appbar.MaterialToolbar; import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.snackbar.Snackbar;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.yono.messeripos.adapter.CategoryAdapter; import com.yono.messeripos.adapter.CategoryAdapter;
import com.yono.messeripos.adapter.ProductAdapter; import com.yono.messeripos.adapter.ProductAdapter;
...@@ -70,6 +73,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -70,6 +73,7 @@ public class MainActivity extends AppCompatActivity {
public static ArrayList<ProductModels> productModelsArrayList = new ArrayList<>(); public static ArrayList<ProductModels> productModelsArrayList = new ArrayList<>();
public static final String DATA_PRODUCT = "DATA_PRODUCT"; public static final String DATA_PRODUCT = "DATA_PRODUCT";
ProgressDialog progressDialog; ProgressDialog progressDialog;
public static Boolean cartOpen;
@SuppressLint("LongLogTag") @SuppressLint("LongLogTag")
@Override @Override
...@@ -239,6 +243,10 @@ public class MainActivity extends AppCompatActivity { ...@@ -239,6 +243,10 @@ public class MainActivity extends AppCompatActivity {
binding.rvProduct.setAdapter(productAdapter); binding.rvProduct.setAdapter(productAdapter);
} }
} else {
showLoading(false);
binding.imgEmpty.setVisibility(View.VISIBLE);
binding.imgEmpty.bringToFront();
} }
} }
}); });
...@@ -287,10 +295,10 @@ public class MainActivity extends AppCompatActivity { ...@@ -287,10 +295,10 @@ public class MainActivity extends AppCompatActivity {
0 0
)); ));
Log.d("order_id_create", "onChanged: "+orderId); // Log.d("order_id_create", "onChanged: "+orderId);
cartIsEmpty = false; cartIsEmpty = false;
Log.i("Add data cart", "onChanged: Berhasil ditambahkan"); // Log.i("Add data cart", "onChanged: Berhasil ditambahkan");
}else { }else {
if (cartIsEmpty){ if (cartIsEmpty){
startActivity(new Intent(MainActivity.this, CartActivity.class)); startActivity(new Intent(MainActivity.this, CartActivity.class));
...@@ -301,6 +309,11 @@ public class MainActivity extends AppCompatActivity { ...@@ -301,6 +309,11 @@ public class MainActivity extends AppCompatActivity {
} }
}); });
} }
@Override
public void redirect() {
startActivity(new Intent(MainActivity.this, CartActivity.class));
}
}); });
} }
...@@ -399,7 +412,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -399,7 +412,7 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.home, menu); getMenuInflater().inflate(R.menu.update, menu);
return true; return true;
} }
...@@ -407,8 +420,8 @@ public class MainActivity extends AppCompatActivity { ...@@ -407,8 +420,8 @@ public class MainActivity extends AppCompatActivity {
public boolean onOptionsItemSelected(@NonNull MenuItem item) { public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId(); int id = item.getItemId();
if (id == R.id.menu_cart){ if (id == R.id.menu_cart){
Toast.makeText(MainActivity.this, "dfjhgkjdfgkdfg" + startActivity(new Intent(MainActivity.this, MainActivity.class));
"", Toast.LENGTH_LONG).show(); finish();
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
......
...@@ -8,6 +8,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; ...@@ -8,6 +8,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
...@@ -41,6 +42,7 @@ import retrofit2.Call; ...@@ -41,6 +42,7 @@ import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
import static com.yono.messeripos.BottomSheets.grossAmount;
import static com.yono.messeripos.MainActivity.CHECKOUT; import static com.yono.messeripos.MainActivity.CHECKOUT;
import static com.yono.messeripos.MainActivity.ORDER_ID; import static com.yono.messeripos.MainActivity.ORDER_ID;
import static com.yono.messeripos.MainActivity.checkout; import static com.yono.messeripos.MainActivity.checkout;
...@@ -61,6 +63,7 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -61,6 +63,7 @@ public class PaymentActivity extends AppCompatActivity {
public static BottomSheets bottomSheet; public static BottomSheets bottomSheet;
public static SharedPreferences sharedPreferences; public static SharedPreferences sharedPreferences;
Button cashBtn; Button cashBtn;
ProgressDialog progressDialog;
...@@ -80,6 +83,9 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -80,6 +83,9 @@ public class PaymentActivity extends AppCompatActivity {
checkoutAdapter = new CheckoutAdapter(); checkoutAdapter = new CheckoutAdapter();
recyclerView = findViewById(R.id.rvItem); recyclerView = findViewById(R.id.rvItem);
grandTotal = findViewById(R.id.grand_total); grandTotal = findViewById(R.id.grand_total);
progressDialog = new ProgressDialog(PaymentActivity.this);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
MaterialToolbar toolbars = findViewById(R.id.appbar); MaterialToolbar toolbars = findViewById(R.id.appbar);
setSupportActionBar(toolbars); setSupportActionBar(toolbars);
...@@ -106,6 +112,8 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -106,6 +112,8 @@ public class PaymentActivity extends AppCompatActivity {
} }
}); });
bottomSheet = new BottomSheets(paymentsModels);
RecyclerView rvPayment = findViewById(R.id.rvPayment); RecyclerView rvPayment = findViewById(R.id.rvPayment);
...@@ -138,6 +146,7 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -138,6 +146,7 @@ public class PaymentActivity extends AppCompatActivity {
bottomSheet.show(getSupportFragmentManager(), bottomSheet.show(getSupportFragmentManager(),
"ModalBottomSheet"); "ModalBottomSheet");
}else{ }else{
progressDialog.show();
Client client = new Client(); Client client = new Client();
paymentsModels.setPaymentType("bank_transfer"); paymentsModels.setPaymentType("bank_transfer");
paymentsModels.setBank(methodPay); paymentsModels.setBank(methodPay);
...@@ -152,11 +161,13 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -152,11 +161,13 @@ public class PaymentActivity extends AppCompatActivity {
SharedPreferences.Editor editor = sharedPreferences.edit(); SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, ""); editor.putString(ORDER_ID, "");
editor.putBoolean(CHECKOUT, false); editor.putBoolean(CHECKOUT, false);
progressDialog.dismiss();
if (editor.commit()){ if (editor.commit()){
startActivity(new Intent(PaymentActivity.this, MainActivity.class)); startActivity(new Intent(PaymentActivity.this, MainActivity.class));
finish(); finish();
} }
}else{ }else{
progressDialog.dismiss();
new AlertDialog.Builder(PaymentActivity.this) new AlertDialog.Builder(PaymentActivity.this)
.setTitle("Payment Order") .setTitle("Payment Order")
.setMessage("Erorr save!").show(); .setMessage("Erorr save!").show();
...@@ -165,6 +176,7 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -165,6 +176,7 @@ public class PaymentActivity extends AppCompatActivity {
@Override @Override
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) { public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
progressDialog.dismiss();
new AlertDialog.Builder(PaymentActivity.this) new AlertDialog.Builder(PaymentActivity.this)
.setCancelable(false) .setCancelable(false)
.setTitle("Payment Order") .setTitle("Payment Order")
...@@ -177,6 +189,41 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -177,6 +189,41 @@ public class PaymentActivity extends AppCompatActivity {
} }
}); });
bottomSheet.setListener(new BottomSheets.CashListener() {
@Override
public void onCash(PaymentsModels paymentsModels) {
progressDialog.show();
Client client = new Client();
PaymentsModels paymentsModels1 = new PaymentsModels(
MainActivity.orderId,
"cash",
"none",
grossAmount
);
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels1).enqueue(new Callback<DataResponse<PaymentsModels>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
if (response.body() != null){
progressDialog.dismiss();
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(CHECKOUT, false);
editor.putString(orderId, "");
if (editor.commit()){
startActivity(new Intent(PaymentActivity.this, MainActivity.class));
}
}
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
}
});
}
});
} }
@Override @Override
......
...@@ -8,6 +8,7 @@ import android.view.View; ...@@ -8,6 +8,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Filter; import android.widget.Filter;
import android.widget.Filterable; import android.widget.Filterable;
import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
...@@ -15,6 +16,7 @@ import androidx.fragment.app.FragmentActivity; ...@@ -15,6 +16,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelProviders; import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.snackbar.Snackbar;
import com.yono.messeripos.MainActivity; import com.yono.messeripos.MainActivity;
import com.yono.messeripos.R; import com.yono.messeripos.R;
import com.yono.messeripos.databinding.ItemListBinding; import com.yono.messeripos.databinding.ItemListBinding;
...@@ -36,6 +38,8 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo ...@@ -36,6 +38,8 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
void onDelete(ProductModels product, int position); void onDelete(ProductModels product, int position);
void onAddCart(ProductModels product); void onAddCart(ProductModels product);
void redirect();
} }
private ProductListener listener; private ProductListener listener;
...@@ -147,6 +151,14 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo ...@@ -147,6 +151,14 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
public void onClick(View view) { public void onClick(View view) {
listener.onAddCart(products); listener.onAddCart(products);
MainActivity.cartIsEmpty = true; MainActivity.cartIsEmpty = true;
Snackbar.make(view, products.getProductName()+" berhasil ditambahkan", Snackbar.LENGTH_SHORT)
.setAction(R.string.open_cart, new View.OnClickListener() {
@Override
public void onClick(View view) {
listener.redirect();
}
})
.show();
} }
}); });
......
...@@ -82,18 +82,17 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter. ...@@ -82,18 +82,17 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter.
itemHistoryBinding.setDate(utils.convertDate(paymentsModels.getUpdatedAt())); itemHistoryBinding.setDate(utils.convertDate(paymentsModels.getUpdatedAt()));
itemHistoryBinding.cvHistory.setOnClickListener(view -> listener.onShowDetail(paymentsModels)); itemHistoryBinding.cvHistory.setOnClickListener(view -> listener.onShowDetail(paymentsModels));
itemHistoryBinding.getTransactionStatus().equals("settlements".toLowerCase());
statusTransaction = "Success";
itemHistoryBinding.tvHistory.setBackgroundColor(0xFF12FF45);
itemHistoryBinding.getTransactionStatus().equals("pending".toLowerCase()); if (paymentsModels.getTransactionStatus().equals("Settlement".toLowerCase())) {
statusTransaction = "Settlement";
itemHistoryBinding.tvHistory.setBackgroundColor(0x550000FF);
} else if (paymentsModels.getTransactionStatus().equals("Pending".toLowerCase())) {
statusTransaction = "Pending"; statusTransaction = "Pending";
itemHistoryBinding.tvHistory.setBackgroundColor(0x55FF0000); itemHistoryBinding.tvHistory.setBackgroundColor(0x55FF0000);
}else if (paymentsModels.getTransactionStatus().equals("Success".toLowerCase())) {
itemHistoryBinding.getTransactionStatus().equals("success".toLowerCase());
statusTransaction = "Success"; statusTransaction = "Success";
itemHistoryBinding.tvHistory.setBackgroundColor(0xFF12FF45); itemHistoryBinding.tvHistory.setBackgroundColor(0xFF12FF45);
}
} }
} }
} }
...@@ -88,13 +88,13 @@ public class Utils { ...@@ -88,13 +88,13 @@ public class Utils {
public String convertImageBase64File(String pathname){ public String convertImageBase64File(String pathname){
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
BitmapFactory.Options options = new BitmapFactory.Options(); // BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true; // options.inJustDecodeBounds = true;
options.inSampleSize = 3; // options.inSampleSize = 3;
// options.inSampleSize = calculateInSampleSize(options, 20,20); // options.inSampleSize = calculateInSampleSize(options, 20,20);
Bitmap bitmap = BitmapFactory.decodeFile(pathname,options); Bitmap bitmap = BitmapFactory.decodeFile(pathname);
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos); bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos);
byte[] b = baos.toByteArray(); byte[] b = baos.toByteArray();
String encodeImage = Base64.encodeToString(b, Base64.DEFAULT); String encodeImage = Base64.encodeToString(b, Base64.DEFAULT);
......
<vector android:height="24dp" android:tint="#4DFF42"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/>
</vector>
...@@ -11,18 +11,36 @@ ...@@ -11,18 +11,36 @@
android:id="@+id/cAppBar" android:id="@+id/cAppBar"
layout="@layout/app_bar"/> layout="@layout/app_bar"/>
<ImageView
android:id="@+id/cartEmpty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/emptycart"/>
<com.google.android.material.textview.MaterialTextView
android:id="@+id/cartEmptyText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cart is empty!"
android:layout_below="@id/cartEmpty"
android:layout_centerInParent="true"
android:textSize="30dp"
android:textColor="#61333333"
/>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvCart" android:id="@+id/rvCart"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_above="@id/cardview" android:layout_above="@id/cardviews"
android:layout_below="@id/cAppBar" android:layout_below="@id/cAppBar"
android:overScrollMode="never" android:overScrollMode="never"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
tools:listitem="@layout/item_cart" /> tools:listitem="@layout/item_cart" />
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardview" android:id="@+id/cardviews"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardElevation="0dp" app:cardElevation="0dp"
......
...@@ -10,15 +10,23 @@ ...@@ -10,15 +10,23 @@
android:id="@+id/cAppBar" android:id="@+id/cAppBar"
layout="@layout/app_bar" /> layout="@layout/app_bar" />
<ProgressBar
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:elevation="1dp"/>
<ScrollView <ScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="600dp" android:layout_height="0dp"
android:layout_alignParentBottom="true"
android:layout_below="@+id/cAppBar"> android:layout_below="@+id/cAppBar">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvHistory" android:id="@+id/rvHistory"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_below="@id/cAppBar" android:layout_below="@id/cAppBar"
tools:listitem="@layout/item_history" /> tools:listitem="@layout/item_history" />
</ScrollView> </ScrollView>
......
...@@ -86,8 +86,9 @@ ...@@ -86,8 +86,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/title_product" app:layout_constraintTop_toBottomOf="@id/title_product"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/materialBtnAddCart"
tools:text="@tools:sample/full_names" tools:text="@tools:sample/full_names"
android:textColor="@android:color/black" android:textColor="#5E101010"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginTop="5dp" android:layout_marginTop="5dp"
android:textSize="18sp" android:textSize="18sp"
...@@ -99,20 +100,18 @@ ...@@ -99,20 +100,18 @@
android:id="@+id/status" android:id="@+id/status"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/title_product" app:layout_constraintBottom_toBottomOf="@id/price"
app:layout_constraintTop_toTopOf="@id/price"
app:layout_constraintStart_toEndOf="@id/price" app:layout_constraintStart_toEndOf="@id/price"
tools:text="@tools:sample/full_names" tools:text="@tools:sample/full_names"
android:textColor="@android:color/black" android:textColor="@android:color/black"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
android:textSize="10sp" android:textSize="10sp"
android:lines="1" android:lines="1"
android:textAllCaps="true" android:textAllCaps="true"
android:text="@{status}" android:text="@{status}"
android:maxLength="25"/> android:maxLength="25"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/materialBtnAddCart" android:id="@+id/materialBtnAddCart"
android:padding="1dp" android:padding="1dp"
...@@ -121,7 +120,12 @@ ...@@ -121,7 +120,12 @@
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:text="Add To Cart"/> android:text="Add To Cart"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
</menu>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_cart"
app:showAsAction="always"
android:icon="@drawable/ic_baseline_shopping_cart_24"
android:actionLayout="@layout/custome_action_badge"
android:title="Cart" />
</menu>
\ No newline at end of file
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
<string name="title_success">Success</string> <string name="title_success">Success</string>
<string name="hint_pay">cash</string> <string name="hint_pay">cash</string>
<string name="title_next">next</string> <string name="title_next">next</string>
<string name="open_cart">Open Cart</string>
<string-array name="planets_array"> <string-array name="planets_array">
<item>Mercury</item> <item>Mercury</item>
......
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