Commit de66a03d authored by Muhammad Suryono's avatar Muhammad Suryono

Add daos service

parents 4891bf7a 9ee3f5b8
package com.yono.messeripos;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.annotation.SuppressLint;
import android.content.Intent;
......@@ -12,6 +16,9 @@ import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Adapter;
import android.widget.ArrayAdapter;
import android.widget.Filter;
import android.widget.ImageButton;
import android.widget.TextView;
......@@ -23,24 +30,23 @@ import com.yono.messeripos.adapter.CartAdapter;
import com.yono.messeripos.models.CartModels;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.ProductCartModels;
import com.yono.messeripos.models.ProductModels;
import java.lang.reflect.Array;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.stream.Collectors;
public class CartActivity extends AppCompatActivity {
ImageButton btMinus, btPlus, btDelete;
TextInputEditText tiQty;
TextView tvQtyView, tvPrice, tvTotal;
MaterialButton btnCheckout;
CartAdapter cartAdapter;
MainViewModelsCart modelsCart;
RecyclerView recyclerView;
public int counter, prices;
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -56,25 +62,26 @@ public class CartActivity extends AppCompatActivity {
getSupportActionBar().setTitle("Checkout");
toolbars.setNavigationOnClickListener(view -> onBackPressed());
recyclerView = findViewById(R.id.rvCart);
LinearLayoutManager llm = new LinearLayoutManager(this);
recyclerView.setLayoutManager(llm);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
recyclerView.addItemDecoration(dividerItemDecoration);
modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class);
modelsCart.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() {
@Override
public void onChanged(List<ProductCartModels> productCartModels) {
cartAdapter = new CartAdapter(CartActivity.this, productCartModels);
if (productCartModels != null){
cartAdapter = new CartAdapter(CartActivity.this, productCartModels);
recyclerView.setAdapter(cartAdapter);
}
}
});
// btMinus = findViewById(R.id.btMinus);
// btPlus = findViewById(R.id.btPlus);
// btDelete = findViewById(R.id.btDelete);
// btnCheckout = findViewById(R.id.btCheckout);
//
// tiQty = findViewById(R.id.etQty);
// tvQtyView = findViewById(R.id.tvQuantity);
// tvPrice = findViewById(R.id.tvPrice);
// tvTotal = findViewById(R.id.tvTotal);
//
// counter = Integer.parseInt(tvQtyView.getText().toString());
// prices = Integer.parseInt(tvPrice.getText().toString());
......
......@@ -67,7 +67,7 @@ public class MainActivity extends AppCompatActivity {
categoryAdapter = new CategoryAdapter();
productAdapter = new ProductAdapter();
mainViewModelsCart = new ViewModelProvider(MainActivity.this).get(MainViewModelsCart.class);
// cartAdapter = new CartAdapter();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
......
......@@ -2,49 +2,80 @@ package com.yono.messeripos.adapter;
import android.content.Context;
import android.util.Log;
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.google.gson.Gson;
import com.yono.messeripos.R;
import com.yono.messeripos.databinding.ItemCartBinding;
import com.yono.messeripos.models.CartModels;
import com.yono.messeripos.models.ProductCartModels;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class CartAdapter extends RecyclerView.Adapter<CartAdapter.MyViewHolder> {
List<ProductCartModels> cartModels;
private List<ProductCartModels> cartModels;
private int price;
Context context;
public CartAdapter(Context context, List<ProductCartModels> cartModels) {
this.cartModels = cartModels;
this.context = context;
String gs = new Gson().toJson(cartModels);
Log.d("CartAdapter: ", gs);
// String gs = new Gson().toJson(cartModels);
// Log.d("CartAdapter: ", gs);
Log.d("CartAdapter: ", String.valueOf(this.cartModels));
notifyDataSetChanged();
}
@NonNull
@Override
public CartAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return null;
ItemCartBinding itemCartBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.getContext()),
R.layout.item_cart,
parent,
false
);
return new MyViewHolder(itemCartBinding);
}
@Override
public void onBindViewHolder(@NonNull CartAdapter.MyViewHolder holder, int position) {
holder.bindData(cartModels.get(position));
}
@Override
public int getItemCount() {
return 0;
return cartModels.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
public MyViewHolder(@NonNull View itemView) {
super(itemView);
private ItemCartBinding binding;
public MyViewHolder(@NonNull ItemCartBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
public void bindData(ProductCartModels cartModels) {
binding.setCarts(cartModels);
// price = binding.getPrice();
}
private NumberFormat setToRp() {
Locale ID = new Locale("in", "ID");
return NumberFormat.getCurrencyInstance(ID);
}
}
}
......@@ -18,6 +18,10 @@ public interface CartDaos {
@Query("SELECT * FROM carts ORDER BY id DESC")
public LiveData<List<ProductCartModels>> getCart();
@Query("SELECT * FROM carts WHERE id = :idCart")
public LiveData<List<ProductCartModels>> getCartById(long idCart);
@Insert(onConflict = OnConflictStrategy.IGNORE)
public void insertProduct(ProductCartModels product);
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:width="128dp"
android:height="128dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group android:scaleX="0.92268676"
......
......@@ -65,11 +65,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
android:padding="12sp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
android:layout_marginHorizontal="5dp"
app:layout_constraintTop_toBottomOf="@id/rvCategory"
tools:listitem="@layout/item_list" />
tools:listitem="@layout/item_list"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
......
......@@ -25,7 +25,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp">
<com.google.android.material.card.MaterialCardView
......
......@@ -24,8 +24,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp">
android:layout_marginHorizontal="5dp"
android:layout_marginVertical="10dp">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
......
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