From 98292254b448a35f6d1e32d83224693481a56610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?mustafa=20ic=CC=A7men?= Date: Sat, 14 Oct 2017 22:03:11 +0300 Subject: [PATCH] add to cart dialog --- ...ProductCheckboxOptionsRecyclerAdapter.java | 6 +- .../ProductRadioOptionsRecyclerAdapter.java | 10 +- .../pizzalink/android/api/ApiInterface.java | 24 +++ .../ProductPropertiesBottomSheetDialog.java | 11 +- .../pizzalink/android/helper/PriceHelper.java | 29 +++- .../menu/MenuProductOptionValueModel.java | 2 +- app/src/main/res/layout/fragment_cart.xml | 116 +++++++------ .../main/res/layout/layout_bottomsheet.xml | 154 ++++++++++++------ ...box_option.xml => row_option_checkbox.xml} | 19 ++- ..._radio_option.xml => row_option_radio.xml} | 19 ++- 10 files changed, 268 insertions(+), 122 deletions(-) rename app/src/main/res/layout/{row_checkbox_option.xml => row_option_checkbox.xml} (51%) rename app/src/main/res/layout/{row_radio_option.xml => row_option_radio.xml} (51%) diff --git a/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductCheckboxOptionsRecyclerAdapter.java b/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductCheckboxOptionsRecyclerAdapter.java index b56cd0b..9bc8af3 100644 --- a/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductCheckboxOptionsRecyclerAdapter.java +++ b/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductCheckboxOptionsRecyclerAdapter.java @@ -5,6 +5,7 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import java.util.ArrayList; @@ -12,6 +13,7 @@ import butterknife.BindView; import butterknife.ButterKnife; import ch.pizzalink.android.R; import ch.pizzalink.android.activity.BaseActivity; +import ch.pizzalink.android.helper.PriceHelper; import ch.pizzalink.android.interfaces.RecyclerItemClickListener; import ch.pizzalink.android.model.menu.MenuProductOptionValueModel; @@ -27,6 +29,7 @@ public class ProductCheckboxOptionsRecyclerAdapter extends RecyclerView.Adapter< public static class ViewHolder extends RecyclerView.ViewHolder{ @BindView(R.id.productOptionCheckBox) AppCompatCheckBox productOptionCheckBox; + @BindView(R.id.optionPriceDescriptionTextView) TextView optionPriceDescriptionTextView; public ViewHolder(final View view, final RecyclerItemClickListener recyclerItemClickListener) { super(view); @@ -48,7 +51,7 @@ public class ProductCheckboxOptionsRecyclerAdapter extends RecyclerView.Adapter< @Override public ProductCheckboxOptionsRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { - View root = LayoutInflater.from(BaseActivity.currentActivity).inflate(R.layout.row_checkbox_option, viewGroup, false); + View root = LayoutInflater.from(BaseActivity.currentActivity).inflate(R.layout.row_option_checkbox, viewGroup, false); return new ProductCheckboxOptionsRecyclerAdapter.ViewHolder(root, recyclerItemClickListener); } @@ -56,6 +59,7 @@ public class ProductCheckboxOptionsRecyclerAdapter extends RecyclerView.Adapter< public void onBindViewHolder(ProductCheckboxOptionsRecyclerAdapter.ViewHolder holder, int position) { holder.productOptionCheckBox.setChecked(productOptionValueList.get(position).isSelected()); holder.productOptionCheckBox.setText(productOptionValueList.get(position).getName()); + holder.optionPriceDescriptionTextView.setText(PriceHelper.getProductOptionPriceText(productOptionValueList.get(position))); } @Override diff --git a/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductRadioOptionsRecyclerAdapter.java b/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductRadioOptionsRecyclerAdapter.java index 5f5c87e..d2bbfa2 100644 --- a/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductRadioOptionsRecyclerAdapter.java +++ b/app/src/main/java/ch/pizzalink/android/adapter/recycler/ProductRadioOptionsRecyclerAdapter.java @@ -1,23 +1,20 @@ package ch.pizzalink.android.adapter.recycler; -import android.graphics.drawable.Drawable; import android.support.v7.widget.AppCompatRadioButton; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.ImageView; import android.widget.TextView; import java.util.ArrayList; -import butterknife.BindDrawable; import butterknife.BindView; import butterknife.ButterKnife; import ch.pizzalink.android.R; import ch.pizzalink.android.activity.BaseActivity; +import ch.pizzalink.android.helper.PriceHelper; import ch.pizzalink.android.interfaces.RecyclerItemClickListener; -import ch.pizzalink.android.model.menu.MenuProductOptionModel; import ch.pizzalink.android.model.menu.MenuProductOptionValueModel; /** @@ -32,6 +29,7 @@ public class ProductRadioOptionsRecyclerAdapter extends RecyclerView.Adapter menuProductOptionValueModelList){ - Double productPrice = Double.valueOf(menuProductModel.getPrice()); + Double productPrice = stringToDouble(menuProductModel.getPrice()); for(MenuProductOptionValueModel menuProductOptionValueModel : menuProductOptionValueModelList){ if(menuProductOptionValueModel.isSelected()){ switch (menuProductOptionValueModel.getPrice_prefix()){ case "+": - productPrice += Double.valueOf(menuProductOptionValueModel.getPrice()); + productPrice += stringToDouble(menuProductOptionValueModel.getPrice()); break; case "-": - productPrice -= Double.valueOf(menuProductOptionValueModel.getPrice()); + productPrice -= stringToDouble(menuProductOptionValueModel.getPrice()); break; } } @@ -79,5 +79,20 @@ public class PriceHelper { } + public static String getProductOptionPriceText(MenuProductOptionValueModel productOptionValueModel){ + return new StringBuilder() + //.append(productOptionValueModel.getPrice_prefix()) + .append(" ") + .append(BaseActivity.currentActivity.getString(R.string.chf)) + .append(" ") + .append(productOptionValueModel.getPrice()) + .toString(); + } + + private static Double stringToDouble(String string){ + Double dbl = Double.valueOf(string); + return Math.floor(dbl * 100) / 100; + } + } diff --git a/app/src/main/java/ch/pizzalink/android/model/menu/MenuProductOptionValueModel.java b/app/src/main/java/ch/pizzalink/android/model/menu/MenuProductOptionValueModel.java index a93393a..cc381a0 100644 --- a/app/src/main/java/ch/pizzalink/android/model/menu/MenuProductOptionValueModel.java +++ b/app/src/main/java/ch/pizzalink/android/model/menu/MenuProductOptionValueModel.java @@ -38,7 +38,7 @@ public class MenuProductOptionValueModel implements Serializable{ price = ""; if(price_prefix == null) - price_prefix = ""; + price_prefix = "+"; } public static void checkNull(ArrayList productOptionValueList){ diff --git a/app/src/main/res/layout/fragment_cart.xml b/app/src/main/res/layout/fragment_cart.xml index 98ebcd4..7e9abf7 100644 --- a/app/src/main/res/layout/fragment_cart.xml +++ b/app/src/main/res/layout/fragment_cart.xml @@ -23,79 +23,89 @@ android:id="@+id/cartRecyclerView" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_above="@+id/cartDividerSpace" + android:layout_above="@+id/cartInfoLayout" android:visibility="gone"/> - - - - - + + android:orientation="vertical" + android:paddingTop="12dp" + android:paddingBottom="12dp" + android:paddingLeft="24dp" + android:paddingStart="24dp" + android:paddingRight="24dp" + android:paddingEnd="24dp" + android:background="@color/white"> -