cart total layout on main activity
This commit is contained in:
@@ -125,6 +125,7 @@ public class CreateOrderActivity extends BaseActivity {
|
||||
mainActivityIntent.putExtra("isStartWithOrderHistory", true);
|
||||
startActivity(mainActivityIntent);
|
||||
SharedPrefsHelper.setCartItemCount(0);
|
||||
SharedPrefsHelper.setCartTotalPrice("0");
|
||||
finishAffinity();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import ch.pizzalink.android.api.ApiErrorUtils;
|
||||
import ch.pizzalink.android.api.ApiService;
|
||||
import ch.pizzalink.android.api.ResponseObject;
|
||||
import ch.pizzalink.android.helper.DialogHelper;
|
||||
import ch.pizzalink.android.helper.PriceHelper;
|
||||
import ch.pizzalink.android.helper.SessionHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.helper.ViewHelper;
|
||||
@@ -125,6 +126,7 @@ public class LoginActivity extends BaseActivity {
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size());
|
||||
SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText()));
|
||||
startActivity(new Intent(LoginActivity.this, MainActivity.class));
|
||||
finishAffinity();
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import android.view.View;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -37,6 +38,7 @@ import ch.pizzalink.android.fragment.HistoryFragment;
|
||||
import ch.pizzalink.android.fragment.MenuFragment;
|
||||
import ch.pizzalink.android.fragment.ProductFragment;
|
||||
import ch.pizzalink.android.fragment.ProfileFragment;
|
||||
import ch.pizzalink.android.helper.PriceHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.model.CategoryModel;
|
||||
import ch.pizzalink.android.view.PizzalinkToolbar;
|
||||
@@ -51,6 +53,8 @@ public class MainActivity extends BaseActivity {
|
||||
@BindView(R.id.drawerLayout) DrawerLayout drawerLayout;
|
||||
@BindView(R.id.navigationMenuRecyclerView) RecyclerView navigationMenuRecyclerView;
|
||||
@BindView(R.id.pizzalinkToolbar) PizzalinkToolbar pizzalinkToolbar;
|
||||
@BindView(R.id.cartTotalRelativeLayout) RelativeLayout cartTotalRelativeLayout;
|
||||
@BindView(R.id.cartTotalTextView) TextView cartTotalTextView;
|
||||
@BindView(R.id.bottomNavigationView) BottomNavigationViewEx bottomNavigationView;
|
||||
|
||||
@BindView(R.id.badgeLayout) RelativeLayout badgeLayout;
|
||||
@@ -176,6 +180,13 @@ public class MainActivity extends BaseActivity {
|
||||
shoppingCartImageView.setImageDrawable(whiteCartDrawable);
|
||||
shoppingCartTextView.setTextColor(whiteColor);
|
||||
|
||||
if(!SharedPrefsHelper.getCartTotalPrice().equals("0") &&
|
||||
!SharedPrefsHelper.getCartTotalPrice().equals("0.0") &&
|
||||
!SharedPrefsHelper.getCartTotalPrice().equals("0.00")){
|
||||
cartTotalTextView.setText(PriceHelper.getPriceWithCurreny(SharedPrefsHelper.getCartTotalPrice()));
|
||||
cartTotalRelativeLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
case R.id.action_empty:
|
||||
@@ -186,6 +197,7 @@ public class MainActivity extends BaseActivity {
|
||||
|
||||
currentCategoryId = -1;
|
||||
|
||||
cartTotalRelativeLayout.setVisibility(View.GONE);
|
||||
shoppingCartImageView.setImageDrawable(redCartDrawable);
|
||||
shoppingCartTextView.setTextColor(redColor);
|
||||
|
||||
@@ -199,6 +211,7 @@ public class MainActivity extends BaseActivity {
|
||||
|
||||
currentCategoryId = -1;
|
||||
|
||||
cartTotalRelativeLayout.setVisibility(View.GONE);
|
||||
shoppingCartImageView.setImageDrawable(whiteCartDrawable);
|
||||
shoppingCartTextView.setTextColor(whiteColor);
|
||||
|
||||
@@ -212,6 +225,7 @@ public class MainActivity extends BaseActivity {
|
||||
|
||||
currentCategoryId = -1;
|
||||
|
||||
cartTotalRelativeLayout.setVisibility(View.GONE);
|
||||
shoppingCartImageView.setImageDrawable(whiteCartDrawable);
|
||||
shoppingCartTextView.setTextColor(whiteColor);
|
||||
|
||||
@@ -225,6 +239,7 @@ public class MainActivity extends BaseActivity {
|
||||
|
||||
currentCategoryId = -1;
|
||||
|
||||
cartTotalRelativeLayout.setVisibility(View.GONE);
|
||||
shoppingCartImageView.setImageDrawable(whiteCartDrawable);
|
||||
shoppingCartTextView.setTextColor(whiteColor);
|
||||
|
||||
@@ -418,13 +433,26 @@ public class MainActivity extends BaseActivity {
|
||||
*/
|
||||
|
||||
private void addBadgeAt(int position, int number) {
|
||||
|
||||
badgeTextView.setText(String.valueOf(number));
|
||||
|
||||
if(number <= 0){
|
||||
badgeLayout.setVisibility(View.GONE);
|
||||
}
|
||||
else {
|
||||
badgeLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
if(SharedPrefsHelper.getCartTotalPrice().equals("0") ||
|
||||
SharedPrefsHelper.getCartTotalPrice().equals("0.0") ||
|
||||
SharedPrefsHelper.getCartTotalPrice().equals("0.00")){
|
||||
cartTotalRelativeLayout.setVisibility(View.GONE);
|
||||
}
|
||||
else {
|
||||
cartTotalTextView.setText(PriceHelper.getPriceWithCurreny(SharedPrefsHelper.getCartTotalPrice()));
|
||||
cartTotalRelativeLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,380 @@
|
||||
package ch.pizzalink.android.activity;
|
||||
|
||||
import android.support.design.widget.BottomSheetBehavior;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
import ch.pizzalink.android.R;
|
||||
import ch.pizzalink.android.adapter.recycler.ProductCheckboxOptionsRecyclerAdapter;
|
||||
import ch.pizzalink.android.adapter.recycler.ProductRadioOptionsRecyclerAdapter;
|
||||
import ch.pizzalink.android.api.ApiEndPoints;
|
||||
import ch.pizzalink.android.api.ApiErrorUtils;
|
||||
import ch.pizzalink.android.api.ApiService;
|
||||
import ch.pizzalink.android.api.ResponseObject;
|
||||
import ch.pizzalink.android.helper.DialogHelper;
|
||||
import ch.pizzalink.android.helper.ImageLoadHelper;
|
||||
import ch.pizzalink.android.helper.PriceHelper;
|
||||
import ch.pizzalink.android.helper.SessionHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
|
||||
import ch.pizzalink.android.model.AddProductToBasketResponseModel;
|
||||
import ch.pizzalink.android.model.cart.CartInfoModel;
|
||||
import ch.pizzalink.android.model.menu.MenuProductModel;
|
||||
import ch.pizzalink.android.model.menu.MenuProductOptionModel;
|
||||
import ch.pizzalink.android.model.menu.MenuProductOptionValueModel;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
public class ProductPropertiesActivity extends BaseActivity {
|
||||
|
||||
@BindView(R.id.closeImageView) ImageView closeImageView;
|
||||
@BindView(R.id.productImageView) ImageView productImageView;
|
||||
@BindView(R.id.productNameTextView) TextView productNameTextView;
|
||||
@BindView(R.id.productPriceTextView) TextView productPriceTextView;
|
||||
@BindView(R.id.addToCartButton) Button addToCartButton;
|
||||
@BindView(R.id.radioRecyclerHeaderTextView) TextView radioRecyclerHeaderTextView;
|
||||
@BindView(R.id.radioRecyclerView) RecyclerView radioRecyclerView;
|
||||
@BindView(R.id.checkboxRecyclerHeaderTextView) TextView checkboxRecyclerHeaderTextView;
|
||||
@BindView(R.id.checkboxRecyclerView) RecyclerView checkboxRecyclerView;
|
||||
@BindView(R.id.increaseProductCountImageView) ImageView increaseProductCountImageView;
|
||||
@BindView(R.id.deccreaseProductCountImageView) ImageView deccreaseProductCountImageView;
|
||||
@BindView(R.id.productCountTextView) TextView productCountTextView;
|
||||
|
||||
@BindString(R.string.no_options_selected_part) String noOptionsSelectedText;
|
||||
|
||||
private int productCount = 1;
|
||||
|
||||
private MenuProductModel menuProductModel;
|
||||
|
||||
private ArrayList<MenuProductOptionValueModel> productRadioOptionValueList = new ArrayList<>();
|
||||
private ArrayList<MenuProductOptionValueModel> productCheckboxOptionValueList = new ArrayList<>();
|
||||
private ProductRadioOptionsRecyclerAdapter productRadioOptionsRecyclerAdapter;
|
||||
private ProductCheckboxOptionsRecyclerAdapter productCheckboxOptionsRecyclerAdapter;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_product_properties);
|
||||
}
|
||||
|
||||
@OnClick({R.id.closeImageView,
|
||||
R.id.increaseProductCountImageView,
|
||||
R.id.deccreaseProductCountImageView,
|
||||
R.id.addToCartButton})
|
||||
public void onCLick(View view){
|
||||
switch (view.getId()){
|
||||
case R.id.closeImageView:
|
||||
finish();
|
||||
break;
|
||||
case R.id.increaseProductCountImageView:
|
||||
productCount++;
|
||||
productCountTextView.setText(String.valueOf(productCount));
|
||||
productPriceTextView.setText(
|
||||
PriceHelper.calculatePriceAfterCountChanged(
|
||||
productPriceTextView.getText().toString(), productCount - 1, productCount));
|
||||
break;
|
||||
case R.id.deccreaseProductCountImageView:
|
||||
if(productCount == 1)
|
||||
break;
|
||||
productCount--;
|
||||
productCountTextView.setText(String.valueOf(productCount));
|
||||
productPriceTextView.setText(
|
||||
PriceHelper.calculatePriceAfterCountChanged(
|
||||
productPriceTextView.getText().toString(), productCount + 1, productCount));
|
||||
break;
|
||||
case R.id.addToCartButton:
|
||||
if(checkFields())
|
||||
addProductToCart();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
for(MenuProductOptionModel menuProductOptionModel : menuProductModel.getProductOptionList()){
|
||||
for(MenuProductOptionValueModel menuProductOptionValueModel : menuProductOptionModel.getOptionValueModelList()){
|
||||
menuProductOptionValueModel.setSelected(false);
|
||||
}
|
||||
}
|
||||
|
||||
for(MenuProductOptionModel menuProductOptionModel : menuProductModel.getProductOptionList()){
|
||||
for(MenuProductOptionValueModel menuProductOptionValueModel : menuProductOptionModel.getOptionValueModelList()){
|
||||
if(menuProductOptionValueModel.getPrice().equals("0") || menuProductOptionValueModel.getPrice().equals("0.00")){
|
||||
|
||||
//checkbox
|
||||
if(!(menuProductOptionModel.getType().toLowerCase().equals("radio") ||
|
||||
menuProductOptionModel.getType().toLowerCase().equals("select"))){
|
||||
menuProductOptionValueModel.setSelected(true);
|
||||
}
|
||||
|
||||
//radio
|
||||
else if(!isAnyOptionValueSelected(menuProductOptionModel.getOptionValueModelList())){
|
||||
menuProductOptionValueModel.setSelected(true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
setFields();
|
||||
fillRadioAndCheckboxOptionLists();
|
||||
switch (menuProductModel.getProductOptionType()){
|
||||
case RADIO_AND_CHECKBOX:
|
||||
radioRecyclerView.setVisibility(View.VISIBLE);
|
||||
checkboxRecyclerView.setVisibility(View.VISIBLE);
|
||||
radioRecyclerHeaderTextView.setVisibility(View.VISIBLE);
|
||||
checkboxRecyclerHeaderTextView.setVisibility(View.VISIBLE);
|
||||
initRadioRecyclerView();
|
||||
initCheckboxRecyclerView();
|
||||
break;
|
||||
case RADIO:
|
||||
radioRecyclerHeaderTextView.setVisibility(View.VISIBLE);
|
||||
radioRecyclerView.setVisibility(View.VISIBLE);
|
||||
checkboxRecyclerView.setVisibility(View.GONE);
|
||||
checkboxRecyclerHeaderTextView.setVisibility(View.GONE);
|
||||
initRadioRecyclerView();
|
||||
break;
|
||||
case CHECKBOX:
|
||||
radioRecyclerHeaderTextView.setVisibility(View.GONE);
|
||||
radioRecyclerView.setVisibility(View.GONE);
|
||||
checkboxRecyclerHeaderTextView.setVisibility(View.VISIBLE);
|
||||
checkboxRecyclerView.setVisibility(View.VISIBLE);
|
||||
initCheckboxRecyclerView();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void setMenuProductModel(MenuProductModel menuProductModel){
|
||||
this.menuProductModel = menuProductModel;
|
||||
}
|
||||
|
||||
private void initRadioRecyclerView(){
|
||||
radioRecyclerView.setNestedScrollingEnabled(false);
|
||||
GridLayoutManager gridLayoutManager = new GridLayoutManager(BaseActivity.currentActivity, 1);
|
||||
radioRecyclerView.setLayoutManager(gridLayoutManager);
|
||||
productRadioOptionsRecyclerAdapter = new ProductRadioOptionsRecyclerAdapter(productRadioOptionValueList, new RecyclerItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(View view, int position) {
|
||||
if(!productRadioOptionValueList.get(position).isSelected()){
|
||||
for(MenuProductOptionValueModel menuProductOptionValueModel : productRadioOptionValueList){
|
||||
menuProductOptionValueModel.setSelected(false);
|
||||
}
|
||||
productRadioOptionValueList.get(position).setSelected(true);
|
||||
productRadioOptionsRecyclerAdapter.notifyDataSetChanged();
|
||||
productPriceTextView.setText(PriceHelper.calculatePriceAfterRadioOptionValueChanged(
|
||||
productCount, menuProductModel, productRadioOptionValueList.get(position)));
|
||||
}
|
||||
}
|
||||
});
|
||||
radioRecyclerView.setAdapter(productRadioOptionsRecyclerAdapter);
|
||||
}
|
||||
|
||||
private void initCheckboxRecyclerView(){
|
||||
checkboxRecyclerView.setNestedScrollingEnabled(false);
|
||||
GridLayoutManager gridLayoutManager = new GridLayoutManager(BaseActivity.currentActivity, 1);
|
||||
checkboxRecyclerView.setLayoutManager(gridLayoutManager);
|
||||
productCheckboxOptionsRecyclerAdapter = new ProductCheckboxOptionsRecyclerAdapter(productCheckboxOptionValueList, new RecyclerItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(View view, int position) {
|
||||
productCheckboxOptionValueList.get(position).setSelected(
|
||||
!productCheckboxOptionValueList.get(position).isSelected());
|
||||
productCheckboxOptionsRecyclerAdapter.notifyItemChanged(position);
|
||||
productPriceTextView.setText(
|
||||
PriceHelper.calculatePriceAfterCheckboxOptionValueChanged(
|
||||
productCount, menuProductModel, productCheckboxOptionValueList));
|
||||
}
|
||||
});
|
||||
checkboxRecyclerView.setAdapter(productCheckboxOptionsRecyclerAdapter);
|
||||
}
|
||||
|
||||
private void setFields(){
|
||||
ImageLoadHelper.loadImage(productImageView, menuProductModel.getImageURL());
|
||||
productNameTextView.setText(menuProductModel.getName());
|
||||
productPriceTextView.setText(PriceHelper.getPriceWithCurreny(menuProductModel.getPrice()));
|
||||
productPriceTextView.setText(PriceHelper.getPriceWithCurreny(menuProductModel.getPrice()));
|
||||
}
|
||||
|
||||
private void fillRadioAndCheckboxOptionLists(){
|
||||
for(MenuProductOptionModel menuProductOptionModel : menuProductModel.getProductOptionList()){
|
||||
setSelectedPriceShowingOptions(menuProductOptionModel);
|
||||
|
||||
if(menuProductOptionModel.getType().toLowerCase().equals("radio") ||
|
||||
menuProductOptionModel.getType().toLowerCase().equals("select")){
|
||||
radioRecyclerHeaderTextView.setText(menuProductOptionModel.getName());
|
||||
productRadioOptionValueList.addAll(menuProductOptionModel.getOptionValueModelList());
|
||||
}
|
||||
else{
|
||||
checkboxRecyclerHeaderTextView.setText(menuProductOptionModel.getName());
|
||||
productCheckboxOptionValueList.addAll(menuProductOptionModel.getOptionValueModelList());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setSelectedPriceShowingOptions(MenuProductOptionModel menuProductOptionModel){
|
||||
for(MenuProductOptionValueModel menuProductOptionValueModel : menuProductOptionModel.getOptionValueModelList()){
|
||||
if(menuProductOptionValueModel.getPrice().equals("0") || menuProductOptionValueModel.getPrice().equals("0.00")){
|
||||
|
||||
//checkbox
|
||||
if(!(menuProductOptionModel.getType().toLowerCase().equals("radio") ||
|
||||
menuProductOptionModel.getType().toLowerCase().equals("select"))){
|
||||
menuProductOptionValueModel.setSelected(true);
|
||||
}
|
||||
|
||||
//radio
|
||||
else if(!isAnyOptionValueSelected(menuProductOptionModel.getOptionValueModelList())){
|
||||
menuProductOptionValueModel.setSelected(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addProductToCart(){
|
||||
DialogHelper.showLoadingDialog();
|
||||
Call<ResponseObject<AddProductToBasketResponseModel>> call =
|
||||
ApiService.apiInterface.addProductsToBasket(
|
||||
ApiEndPoints.API_ADD_PRODUCTS_TO_BASKET + SessionHelper.getCustomerToken().getToken(),
|
||||
getAddToCartRequestParams());
|
||||
call.enqueue(new Callback<ResponseObject<AddProductToBasketResponseModel>>() {
|
||||
@Override
|
||||
public void onResponse(Call<ResponseObject<AddProductToBasketResponseModel>> call, Response<ResponseObject<AddProductToBasketResponseModel>> response) {
|
||||
DialogHelper.hideLoadingDialog();
|
||||
if(response.isSuccessful() && response.body().getData() != null){
|
||||
if(response.body().isSuccess()){
|
||||
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, response.body().getData().getSuccessMessage());
|
||||
getCartItemCount();
|
||||
}
|
||||
else
|
||||
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, response.body().getData().getErrorMessage());
|
||||
}
|
||||
else
|
||||
ApiErrorUtils.parseError(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ResponseObject<AddProductToBasketResponseModel>> call, Throwable t) {
|
||||
DialogHelper.hideLoadingDialog();
|
||||
DialogHelper.showFailedDialog();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private HashMap<String, Object> getAddToCartRequestParams(){
|
||||
|
||||
HashMap<String, Object> params = new HashMap<>();
|
||||
params.put("product_id", menuProductModel.getId());
|
||||
params.put("quantity", productCount);
|
||||
|
||||
for(MenuProductOptionModel productOptionModel : menuProductModel.getProductOptionList()){
|
||||
|
||||
ArrayList<String> selectedCheckboxOptionList = new ArrayList<>();
|
||||
|
||||
for(MenuProductOptionValueModel productOptionValueModel : productOptionModel.getOptionValueModelList()){
|
||||
|
||||
if(productOptionValueModel.isSelected()){
|
||||
|
||||
if(productOptionModel.getType().equals("checkbox")){
|
||||
selectedCheckboxOptionList.add(productOptionValueModel.getProductOptionValueId());
|
||||
}
|
||||
else {
|
||||
params.put("option[" + productOptionModel.getProductOptionId() + "]", productOptionValueModel.getProductOptionValueId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(productOptionModel.getType().equals("checkbox")){
|
||||
params.put("option[" + productOptionModel.getProductOptionId() + "]", selectedCheckboxOptionList);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
private void getCartItemCount(){
|
||||
Call<ResponseObject<CartInfoModel>> call = ApiService.apiInterface.getCartProducts(
|
||||
SessionHelper.getCustomerToken().getToken());
|
||||
call.enqueue(new Callback<ResponseObject<CartInfoModel>>() {
|
||||
@Override
|
||||
public void onResponse(Call<ResponseObject<CartInfoModel>> call, Response<ResponseObject<CartInfoModel>> response) {
|
||||
DialogHelper.hideLoadingDialog();
|
||||
if(response.isSuccessful() &&
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size());
|
||||
SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText()));
|
||||
/*
|
||||
MainActivity mainActivity = (MainActivity) getActivity();
|
||||
mainActivity.setCartItemCount();
|
||||
*/
|
||||
finish();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ResponseObject<CartInfoModel>> call, Throwable t) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private boolean checkFields(){
|
||||
|
||||
if(radioRecyclerView.getVisibility() == View.VISIBLE &&
|
||||
!isSelectedAtLeastOne(productRadioOptionValueList)){
|
||||
DialogHelper.showAlertDialog(BaseActivity.currentActivity,
|
||||
radioRecyclerHeaderTextView.getText().toString() + " " + noOptionsSelectedText);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(checkboxRecyclerView.getVisibility() == View.VISIBLE &&
|
||||
!isSelectedAtLeastOne(productCheckboxOptionValueList)){
|
||||
DialogHelper.showAlertDialog(BaseActivity.currentActivity,
|
||||
checkboxRecyclerHeaderTextView.getText().toString() + " " + noOptionsSelectedText);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isSelectedAtLeastOne(ArrayList<MenuProductOptionValueModel> menuProductOptionValueModels){
|
||||
for(MenuProductOptionValueModel menuProductOptionValueModel : menuProductOptionValueModels){
|
||||
if(menuProductOptionValueModel.isSelected()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean isAnyOptionValueSelected(ArrayList<MenuProductOptionValueModel> menuProductOptionValueModels){
|
||||
for (MenuProductOptionValueModel menuProductOptionValueModel : menuProductOptionValueModels){
|
||||
if(menuProductOptionValueModel.isSelected()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import ch.pizzalink.android.api.ResponseObject;
|
||||
import ch.pizzalink.android.helper.DialogHelper;
|
||||
import ch.pizzalink.android.helper.DisplayHelper;
|
||||
import ch.pizzalink.android.helper.NetworkHelper;
|
||||
import ch.pizzalink.android.helper.PriceHelper;
|
||||
import ch.pizzalink.android.helper.SessionHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.model.AppVersionModel;
|
||||
@@ -208,6 +209,7 @@ public class SplashActivity extends BaseActivity {
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size());
|
||||
SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText()));
|
||||
openActivity(MainActivity.class);
|
||||
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ import ch.pizzalink.android.helper.SessionHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
|
||||
import ch.pizzalink.android.model.AddProductToBasketResponseModel;
|
||||
import ch.pizzalink.android.model.cart.CartInfoModel;
|
||||
import ch.pizzalink.android.model.menu.MenuProductModel;
|
||||
import ch.pizzalink.android.model.menu.MenuProductOptionModel;
|
||||
import ch.pizzalink.android.model.menu.MenuProductOptionValueModel;
|
||||
@@ -280,13 +281,8 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen
|
||||
DialogHelper.hideLoadingDialog();
|
||||
if(response.isSuccessful() && response.body().getData() != null){
|
||||
if(response.body().isSuccess()){
|
||||
dismiss();
|
||||
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, response.body().getData().getSuccessMessage());
|
||||
SharedPrefsHelper.setCartItemCount(SharedPrefsHelper.getCartItemCount() + 1);
|
||||
MainActivity mainActivity = (MainActivity) getActivity();
|
||||
mainActivity.setCartItemCount();
|
||||
|
||||
|
||||
getCartItemCount();
|
||||
}
|
||||
else
|
||||
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, response.body().getData().getErrorMessage());
|
||||
@@ -336,6 +332,30 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen
|
||||
return params;
|
||||
}
|
||||
|
||||
private void getCartItemCount(){
|
||||
Call<ResponseObject<CartInfoModel>> call = ApiService.apiInterface.getCartProducts(
|
||||
SessionHelper.getCustomerToken().getToken());
|
||||
call.enqueue(new Callback<ResponseObject<CartInfoModel>>() {
|
||||
@Override
|
||||
public void onResponse(Call<ResponseObject<CartInfoModel>> call, Response<ResponseObject<CartInfoModel>> response) {
|
||||
if(response.isSuccessful() &&
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size());
|
||||
SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText()));
|
||||
MainActivity mainActivity = (MainActivity) getActivity();
|
||||
mainActivity.setCartItemCount();
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ResponseObject<CartInfoModel>> call, Throwable t) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private boolean checkFields(){
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ import ch.pizzalink.android.api.ApiErrorUtils;
|
||||
import ch.pizzalink.android.api.ApiService;
|
||||
import ch.pizzalink.android.api.ResponseObject;
|
||||
import ch.pizzalink.android.helper.DialogHelper;
|
||||
import ch.pizzalink.android.helper.PriceHelper;
|
||||
import ch.pizzalink.android.helper.SessionHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
|
||||
@@ -165,6 +166,7 @@ public class CartFragment extends BaseFragment {
|
||||
cartRecyclerAdapter.notifyDataSetChanged();
|
||||
setCartLayoutsVisibility();
|
||||
SharedPrefsHelper.setCartItemCount(0);
|
||||
SharedPrefsHelper.setCartTotalPrice("0");
|
||||
MainActivity mainActivity = (MainActivity) getActivity();
|
||||
mainActivity.setCartItemCount();
|
||||
}
|
||||
@@ -247,6 +249,8 @@ public class CartFragment extends BaseFragment {
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
cartProductList.remove(position);
|
||||
getCartItemCount();
|
||||
/*
|
||||
DialogHelper.showOneButtonDialogWithCallback(productRemovedFromCartText, new MaterialDialog.SingleButtonCallback() {
|
||||
@Override
|
||||
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||
@@ -256,6 +260,7 @@ public class CartFragment extends BaseFragment {
|
||||
mainActivity.reopenCartFragment();
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
else {
|
||||
ApiErrorUtils.parseError(response);
|
||||
@@ -275,4 +280,37 @@ public class CartFragment extends BaseFragment {
|
||||
params.put("key", cartProductId);
|
||||
return params;
|
||||
}
|
||||
|
||||
private void getCartItemCount(){
|
||||
Call<ResponseObject<CartInfoModel>> call = ApiService.apiInterface.getCartProducts(
|
||||
SessionHelper.getCustomerToken().getToken());
|
||||
call.enqueue(new Callback<ResponseObject<CartInfoModel>>() {
|
||||
@Override
|
||||
public void onResponse(Call<ResponseObject<CartInfoModel>> call, final Response<ResponseObject<CartInfoModel>> response) {
|
||||
DialogHelper.hideLoadingDialog();
|
||||
if(response.isSuccessful() &&
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
|
||||
DialogHelper.showOneButtonDialogWithCallback(productRemovedFromCartText, new MaterialDialog.SingleButtonCallback() {
|
||||
@Override
|
||||
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||
SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size());
|
||||
SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText()));
|
||||
MainActivity mainActivity = (MainActivity) getActivity();
|
||||
mainActivity.setCartItemCount();
|
||||
mainActivity.reopenCartFragment();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ResponseObject<CartInfoModel>> call, Throwable t) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ public class CreateOrderResultFragment extends CreateOrderBaseFragment {
|
||||
|
||||
private void initViews(){
|
||||
SharedPrefsHelper.setCartItemCount(0);
|
||||
SharedPrefsHelper.setCartTotalPrice("0");
|
||||
previousTextView.setVisibility(View.GONE);
|
||||
nextTextView.setText(doneOrderText);
|
||||
}
|
||||
|
||||
@@ -22,12 +22,21 @@ public class PriceHelper {
|
||||
}
|
||||
|
||||
public static String removeCurrencyFromPrice(String priceWithCurreny){
|
||||
/*
|
||||
try {
|
||||
String currencyText = BaseActivity.currentActivity.getString(R.string.chf);
|
||||
return priceWithCurreny.replace(currencyText, "").trim();
|
||||
String priceWithoutCurrency = priceWithCurreny.replace(currencyText, "");
|
||||
priceWithoutCurrency = priceWithoutCurrency.trim();
|
||||
return priceWithoutCurrency;
|
||||
}catch (Exception e){
|
||||
return priceWithCurreny.trim();
|
||||
}
|
||||
*/
|
||||
|
||||
String currencyText = BaseActivity.currentActivity.getString(R.string.chf);
|
||||
String priceWithoutCurrency = priceWithCurreny.replace(currencyText, "");
|
||||
priceWithoutCurrency = priceWithoutCurrency.trim();
|
||||
return priceWithoutCurrency;
|
||||
}
|
||||
|
||||
public static String calculatePriceAfterCountChanged(String oldPriceString, int oldCount, int newCount){
|
||||
|
||||
@@ -32,6 +32,7 @@ public class SharedPrefsHelper {
|
||||
private static final String PREF_KEY_CUSTOMER_TOKEN = SHARED_PREFS_NAME + "customerToken";
|
||||
private static final String PREF_KEY_USER_LOG_IN_STATUS = SHARED_PREFS_NAME + "userLoginStatus";
|
||||
private static final String PREF_KEY_CART_ITEM_COUNT = SHARED_PREFS_NAME + "cartItemCount";
|
||||
private static final String PREF_KEY_CART_TOTAL_PRICE = SHARED_PREFS_NAME + "cartTotalPrice";
|
||||
|
||||
private static SharedPreferences sharedPreferences =
|
||||
BaseActivity.currentActivity
|
||||
@@ -111,6 +112,15 @@ public class SharedPrefsHelper {
|
||||
return sharedPreferences.getInt(PREF_KEY_CART_ITEM_COUNT, 0);
|
||||
}
|
||||
|
||||
public static String getCartTotalPrice(){
|
||||
return sharedPreferences.getString(PREF_KEY_CART_TOTAL_PRICE, "0");
|
||||
}
|
||||
|
||||
public static void setCartTotalPrice(String cartTotalPrice){
|
||||
editor.putString(PREF_KEY_CART_TOTAL_PRICE, cartTotalPrice);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
/*
|
||||
public static void saveCategoryList(ArrayList<Category> cats){
|
||||
|
||||
|
||||
Reference in New Issue
Block a user