From 67a9fe01a4ed799dd4387b496a735d74791725e0 Mon Sep 17 00:00:00 2001 From: cimenmus Date: Sun, 7 Jan 2018 15:38:14 +0300 Subject: [PATCH] fixes --- .../android/activity/LoginActivity.java | 2 +- .../android/activity/MainActivity.java | 6 +- .../activity/ProductPropertiesActivity.java | 45 +++++++++----- .../adapter/recycler/CartRecyclerAdapter.java | 1 + .../pizzalink/android/api/ApiEndPoints.java | 1 + .../pizzalink/android/api/ApiErrorUtils.java | 21 ++++++- .../pizzalink/android/api/ApiInterface.java | 17 +++++- .../ProductPropertiesBottomSheetDialog.java | 4 +- .../android/helper/SharedPrefsHelper.java | 1 + .../android/model/AddToBasketOptionModel.java | 48 +++++++++++++++ app/src/main/res/layout/activity_main.xml | 3 +- app/src/main/res/values/strings.xml | 58 +++++++++---------- 12 files changed, 154 insertions(+), 53 deletions(-) create mode 100644 app/src/main/java/ch/pizzalink/android/model/AddToBasketOptionModel.java diff --git a/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java b/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java index 6cdf5f2..89b739f 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java @@ -103,7 +103,7 @@ public class LoginActivity extends BaseActivity { } else{ DialogHelper.hideLoadingDialog(); - ApiErrorUtils.parseError(response); + ApiErrorUtils.parseErrorWithoutAuthorizationErrorControl(response); } } diff --git a/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java b/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java index 723b424..914d99f 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java @@ -153,11 +153,11 @@ public class MainActivity extends BaseActivity { openProductsScreen(categoryList.get(2)); } } - private void initBottomNavigationView(){ //bottomNavigationView.enableAnimation(false); bottomNavigationView.enableShiftingMode(false); + bottomNavigationView.setTextSize(10); bottomNavigationView.enableItemShiftingMode(false); bottomNavigationView.setTextVisibility(true); bottomNavigationView.setIconSize(24, 24); @@ -413,12 +413,12 @@ public class MainActivity extends BaseActivity { } public void setCartItemCount(){ - addBadgeAt(1, SharedPrefsHelper.getCartItemCount()); + addBadgeAt(2, SharedPrefsHelper.getCartItemCount()); } public void reopenCartFragment(){ currentFragmentName = ""; - bottomNavigationView.setCurrentItem(1); + bottomNavigationView.setCurrentItem(2); } /* diff --git a/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java b/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java index dbb6521..bc6bd71 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java @@ -5,13 +5,23 @@ import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; +import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + import java.util.ArrayList; import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; import butterknife.BindString; import butterknife.BindView; @@ -31,10 +41,15 @@ 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.AddToBasketOptionModel; +import ch.pizzalink.android.model.ZoneModel; 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 okhttp3.FormBody; +import okhttp3.MediaType; +import okhttp3.RequestBody; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -256,6 +271,7 @@ public class ProductPropertiesActivity extends BaseActivity { } private void addProductToCart(){ + DialogHelper.showLoadingDialog(); Call> call = ApiService.apiInterface.addProductsToBasket( @@ -286,38 +302,37 @@ public class ProductPropertiesActivity extends BaseActivity { } - private HashMap getAddToCartRequestParams(){ + private RequestBody getAddToCartRequestParams(){ - HashMap params = new HashMap<>(); - params.put("product_id", menuProductModel.getId()); - params.put("quantity", productCount); + FormBody.Builder formBodyBuilder = new FormBody.Builder(); + formBodyBuilder.add("product_id", menuProductModel.getId()); + formBodyBuilder.add("quantity", String.valueOf(productCount)); for(MenuProductOptionModel productOptionModel : menuProductModel.getProductOptionList()){ - ArrayList selectedCheckboxOptionList = new ArrayList<>(); - for(MenuProductOptionValueModel productOptionValueModel : productOptionModel.getOptionValueModelList()){ - if(productOptionValueModel.isSelected()){ - - if(productOptionModel.getType().equals("checkbox")){ + if(productOptionModel.getType().toLowerCase().equals("checkbox")){ selectedCheckboxOptionList.add(productOptionValueModel.getProductOptionValueId()); } else { - params.put("option[" + productOptionModel.getProductOptionId() + "]", productOptionValueModel.getProductOptionValueId()); + String key = "option[" + productOptionModel.getProductOptionId() + "]"; + formBodyBuilder.add(key, productOptionValueModel.getProductOptionValueId()); } } } - - if(productOptionModel.getType().equals("checkbox")){ - params.put("option[" + productOptionModel.getProductOptionId() + "]", selectedCheckboxOptionList); + if(productOptionModel.getType().toLowerCase().equals("checkbox")){ + for(int i = 0; i < selectedCheckboxOptionList.size(); i++){ + String key = "option[" + productOptionModel.getProductOptionId() + "][" + String.valueOf(i) + "]"; + formBodyBuilder.add(key, selectedCheckboxOptionList.get(i)); + } } - } - return params; + return formBodyBuilder.build(); } + private void getCartItemCount(){ Call> call = ApiService.apiInterface.getCartProducts( SessionHelper.getCustomerToken().getToken()); diff --git a/app/src/main/java/ch/pizzalink/android/adapter/recycler/CartRecyclerAdapter.java b/app/src/main/java/ch/pizzalink/android/adapter/recycler/CartRecyclerAdapter.java index c11c7c9..5e7a713 100644 --- a/app/src/main/java/ch/pizzalink/android/adapter/recycler/CartRecyclerAdapter.java +++ b/app/src/main/java/ch/pizzalink/android/adapter/recycler/CartRecyclerAdapter.java @@ -140,6 +140,7 @@ public class CartRecyclerAdapter extends RecyclerView.Adapter> addProductsToBasket(@Url String url, - @FieldMap HashMap body); + @Body RequestBody body); + @GET(ApiEndPoints.API_GET_SHIPPING_METHODS) Call> getShippingMethods(@Query("token") String token); diff --git a/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java b/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java index 2133678..57e4fe6 100644 --- a/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java +++ b/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java @@ -120,7 +120,7 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen break; case R.id.addToCartButton: if(checkFields()) - addProductToCart(); + //addProductToCart(); break; } } @@ -269,6 +269,7 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen } } + /* private void addProductToCart(){ DialogHelper.showLoadingDialog(); Call> call = @@ -299,6 +300,7 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen }); } + */ private HashMap getAddToCartRequestParams(){ diff --git a/app/src/main/java/ch/pizzalink/android/helper/SharedPrefsHelper.java b/app/src/main/java/ch/pizzalink/android/helper/SharedPrefsHelper.java index 9f90c12..510523a 100644 --- a/app/src/main/java/ch/pizzalink/android/helper/SharedPrefsHelper.java +++ b/app/src/main/java/ch/pizzalink/android/helper/SharedPrefsHelper.java @@ -77,6 +77,7 @@ public class SharedPrefsHelper { editor.remove(PREF_KEY_USER); editor.remove(PREF_KEY_CUSTOMER_TOKEN); editor.remove(PREF_KEY_CART_ITEM_COUNT); + editor.remove(PREF_KEY_CART_TOTAL_PRICE); editor.apply(); } diff --git a/app/src/main/java/ch/pizzalink/android/model/AddToBasketOptionModel.java b/app/src/main/java/ch/pizzalink/android/model/AddToBasketOptionModel.java new file mode 100644 index 0000000..29aa4c8 --- /dev/null +++ b/app/src/main/java/ch/pizzalink/android/model/AddToBasketOptionModel.java @@ -0,0 +1,48 @@ +package ch.pizzalink.android.model; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.ArrayList; + +/** + * Created by cimenmus on 29.11.2017. + */ + +public class AddToBasketOptionModel{ + + @SerializedName("optionId") + @Expose + private String optionId; + @SerializedName("selectedOptionValues") + @Expose + private ArrayList selectedOptionValues; + + public AddToBasketOptionModel(String optionId, ArrayList selectedOptionValues) { + this.optionId = optionId; + this.selectedOptionValues = selectedOptionValues; + } + + public AddToBasketOptionModel(String optionId, String selectedOptionValue) { + this.optionId = optionId; + this.selectedOptionValues = new ArrayList<>(); + selectedOptionValues.add(selectedOptionValue); + } + + public String getOptionId() { + return optionId; + } + + public void setOptionId(String optionId) { + this.optionId = optionId; + } + + public ArrayList getSelectedOptionValueList() { + return selectedOptionValues; + } + + public void setSelectedOptionValueList(ArrayList selectedOptionValues) { + this.selectedOptionValues = selectedOptionValues; + } +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d4d8691..11bfcfe 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -128,6 +128,7 @@ android:id="@+id/shoppingCartImageView" android:layout_width="24dp" android:layout_height="24dp" + android:layout_gravity="center_horizontal" android:src="@drawable/ic_bottom_nav_item_cart_white"/> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a94daa4..31b5f65 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -73,17 +73,17 @@      Menu     - Cart     - History     - Profile     + Warenkorb     + Bestellungshistorie     + Mein Konto     Info ZWISHENSUMME      IN DEN WARENKORB LEGEN     - Count     - is not selected. + Betrag     + wurde nicht ausgewählt.      @@ -96,33 +96,33 @@ - Total :     - Date     + Gesamtbetrag :     + Datum     Status - Order Details     - CREATE DATE     + Bestellungsdetail     + BESTELLUNGSDATUM     STATUS     - SHIPPING TIME     + VERSANDZEIT     ZWISHENSUMME     - PAYMENT METHOD     - FULLNAME     - SHIPPING METHOD     - SHIPPING ADDRESS      + ZAHLUNGSWEISE     + VOLLNAME     + LIEFERUNGSMETHODE     + LIEFERUNGSADRESSE      NACHRICHT    Bestellen     - NEXT     - PREVIOUS     - APPROVE     - DONE     + NÄCHSTE     + VORHERIGE     + BESTÄTIGEN     + FERTIG     - Versandart - Versandadresse         + Lieferungsart + Lieferungadresseadresse         Bezahlverfahren Nachricht         Betrag     @@ -130,11 +130,11 @@      - Lütfen bir teslimat yöntemi seçiniz. + Bitte wählen Sie eine Lieferungsmethode      - Bitte wählen Sie eine Versandadresse aus oder fügen Sie eine neue Versandadresse hinzu. + Bitte wählen Sie eine Lieferungsadresse aus oder fügen Sie eine neue Lieferungsadresse hinzu. @@ -146,11 +146,11 @@      - TO     - SHIPPING METHOD     - SHIPPING ADDRESS     - PAYMENT METHOD     - TOTAL + AN     + LIEFERUNGSMETHODE     + LIEFERUNGSADRESSE     + ZAHLUNGSWEISE     + ZWISCHENSUMME NACHRICHT @@ -164,8 +164,8 @@ TELEFONNUMMER     E-MAIL-ADRESSE     Meine Adressen     - Profil aktualisieren     - Passwort aktualisieren     + Profil Aktualisieren     + Passwort Aktualisieren     Abmelden     Möchten Sie sich abmelden?