remove product from basket
This commit is contained in:
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -37,7 +37,7 @@
|
||||
<ConfirmationsSetting value="0" id="Add" />
|
||||
<ConfirmationsSetting value="0" id="Remove" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ch.pizzalink.android.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.design.widget.BottomNavigationView;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
@@ -12,6 +13,7 @@ import android.support.v7.widget.RecyclerView;
|
||||
import android.view.Gravity;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -79,12 +81,20 @@ public class MainActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
initBadgeView();
|
||||
initNavigationDrawer();
|
||||
initBottomNavigationView();
|
||||
showStartScreen();
|
||||
setCartItemCount();
|
||||
}
|
||||
|
||||
private void initBadgeView(){
|
||||
badge = new QBadgeView(this)
|
||||
.setBadgeBackgroundColor(redColor)
|
||||
.setBadgeTextColor(whiteColor)
|
||||
.setBadgeGravity(Gravity.TOP | Gravity.END);
|
||||
}
|
||||
|
||||
private void showStartScreen(){
|
||||
fragmentManager = getSupportFragmentManager();
|
||||
if(isStartWithOrderHistory){
|
||||
@@ -306,16 +316,14 @@ public class MainActivity extends BaseActivity {
|
||||
addBadgeAt(1, SharedPrefsHelper.getCartItemCount());
|
||||
}
|
||||
|
||||
private void addBadgeAt(int position, int number) {
|
||||
// add badge
|
||||
badge = new QBadgeView(this)
|
||||
.setBadgeNumber(number)
|
||||
.setBadgeBackgroundColor(redColor)
|
||||
.setBadgeTextColor(whiteColor)
|
||||
.setBadgeGravity(Gravity.TOP | Gravity.END)
|
||||
.bindTarget(bottomNavigationView.getBottomNavigationItemView(position));
|
||||
|
||||
if(number == 0)
|
||||
badge.hide(true);
|
||||
public void reopenCartFragment(){
|
||||
currentFragmentName = "";
|
||||
bottomNavigationView.setCurrentItem(1);
|
||||
}
|
||||
|
||||
private void addBadgeAt(int position, int number) {
|
||||
badge.setBadgeNumber(number);
|
||||
badge.bindTarget(bottomNavigationView.getBottomNavigationItemView(position));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public class UpdateProfileActivity extends BaseActivity {
|
||||
public void onResponse(Call<ResponseObject<UserModel>> call, final Response<ResponseObject<UserModel>> response) {
|
||||
DialogHelper.hideLoadingDialog();
|
||||
if(response.isSuccessful() &&
|
||||
response.body() != null &&
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
SessionHelper.saveCustomer(response.body().getData());
|
||||
DialogHelper.showOneButtonDialogWithCallback(profileUpdatedText, new MaterialDialog.SingleButtonCallback() {
|
||||
|
||||
@@ -27,4 +27,5 @@ public class ApiEndPoints {
|
||||
public static final String API_UPDATE_PASSWORD = PREFIX + "passwordUpdate" + SUFFIX + "&token=";
|
||||
public static final String API_DELETE_ADDRESS = PREFIX + "deleteAddress" + SUFFIX + "&token=";
|
||||
public static final String API_UPDATE_PROFILE = PREFIX + "updateCustomerInfo" + SUFFIX + "&token=";
|
||||
public static final String API_REMOVE_RPODUCT_FORM_CART = PREFIX + "removeProductFromBasket" + SUFFIX + "&token=";
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import ch.pizzalink.android.model.CountryModel;
|
||||
import ch.pizzalink.android.model.DeleteAddressResponseModel;
|
||||
import ch.pizzalink.android.model.PaymentMethodModel;
|
||||
import ch.pizzalink.android.model.PaymentMethodsResponseModel;
|
||||
import ch.pizzalink.android.model.RemoveProductFromCartResponseModel;
|
||||
import ch.pizzalink.android.model.ShippingMethodModel;
|
||||
import ch.pizzalink.android.model.ShippingMethodsResponseModel;
|
||||
import ch.pizzalink.android.model.ZoneModel;
|
||||
@@ -129,4 +130,9 @@ public interface ApiInterface {
|
||||
@POST
|
||||
Call<ResponseObject<UserModel>> updateProfile(@Url String url, @FieldMap HashMap<String, Object> body);
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST
|
||||
Call<ResponseObject<RemoveProductFromCartResponseModel>> removeProductFromCart(@Url String url,
|
||||
@FieldMap HashMap<String, Object> body);
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.afollestad.materialdialogs.DialogAction;
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import butterknife.BindColor;
|
||||
import butterknife.BindString;
|
||||
@@ -28,6 +29,7 @@ import ch.pizzalink.android.activity.BaseActivity;
|
||||
import ch.pizzalink.android.activity.MainActivity;
|
||||
import ch.pizzalink.android.activity.OrderActivity;
|
||||
import ch.pizzalink.android.adapter.recycler.CartRecyclerAdapter;
|
||||
import ch.pizzalink.android.api.ApiEndPoints;
|
||||
import ch.pizzalink.android.api.ApiErrorUtils;
|
||||
import ch.pizzalink.android.api.ApiService;
|
||||
import ch.pizzalink.android.api.ResponseObject;
|
||||
@@ -35,6 +37,7 @@ import ch.pizzalink.android.helper.DialogHelper;
|
||||
import ch.pizzalink.android.helper.SessionHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
|
||||
import ch.pizzalink.android.model.RemoveProductFromCartResponseModel;
|
||||
import ch.pizzalink.android.model.cart.CartInfoModel;
|
||||
import ch.pizzalink.android.model.cart.CartProductModel;
|
||||
import ch.pizzalink.android.model.cart.CartTotalModel;
|
||||
@@ -58,6 +61,8 @@ public class CartFragment extends BaseFragment {
|
||||
@BindView(R.id.clearCartButton) Button clearCartButton;
|
||||
|
||||
@BindString(R.string.bottom_nav_menu_item_cart) String fragmentTitle;
|
||||
@BindString(R.string.alert_remove_prdocut_from_cart) String removeProdcutFromCartAlert;
|
||||
@BindString(R.string.product_removed_from_cart) String productRemovedFromCartText;
|
||||
@BindString(R.string.alert_clear_cart) String clearCartAlertText;
|
||||
|
||||
|
||||
@@ -192,8 +197,20 @@ public class CartFragment extends BaseFragment {
|
||||
private void initRecyclerView(){
|
||||
cartRecyclerAdapter = new CartRecyclerAdapter(cartProductList, new RecyclerItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(View view, int position) {
|
||||
|
||||
public void onItemClick(View view, final int position) {
|
||||
DialogHelper.showTwoButtonsDialog(BaseActivity.currentActivity, removeProdcutFromCartAlert,
|
||||
new MaterialDialog.SingleButtonCallback() {
|
||||
@Override
|
||||
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||
dialog.dismiss();
|
||||
removeProductFromCart(position);
|
||||
}
|
||||
}, new MaterialDialog.SingleButtonCallback() {
|
||||
@Override
|
||||
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
LinearLayoutManager layoutManager = new LinearLayoutManager(BaseActivity.currentActivity);
|
||||
@@ -215,4 +232,47 @@ public class CartFragment extends BaseFragment {
|
||||
noProductsOnCartTextView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
private void removeProductFromCart(final int position){
|
||||
DialogHelper.showLoadingDialog();
|
||||
Call<ResponseObject<RemoveProductFromCartResponseModel>> call =
|
||||
ApiService.apiInterface.removeProductFromCart(
|
||||
ApiEndPoints.API_REMOVE_RPODUCT_FORM_CART + SessionHelper.getCustomerToken().getToken(),
|
||||
getRemoveProductFromCartRequestParams(cartProductList.get(position).getCartId()));
|
||||
call.enqueue(new Callback<ResponseObject<RemoveProductFromCartResponseModel>>() {
|
||||
@Override
|
||||
public void onResponse(Call<ResponseObject<RemoveProductFromCartResponseModel>> call, Response<ResponseObject<RemoveProductFromCartResponseModel>> response) {
|
||||
DialogHelper.hideLoadingDialog();
|
||||
if(response.isSuccessful() &&
|
||||
response.body().getData() != null &&
|
||||
response.body().isSuccess()){
|
||||
cartProductList.remove(position);
|
||||
DialogHelper.showOneButtonDialogWithCallback(productRemovedFromCartText, new MaterialDialog.SingleButtonCallback() {
|
||||
@Override
|
||||
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||
SharedPrefsHelper.setCartItemCount(cartProductList.size());
|
||||
MainActivity mainActivity = (MainActivity) getActivity();
|
||||
mainActivity.setCartItemCount();
|
||||
mainActivity.reopenCartFragment();
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
ApiErrorUtils.parseError(response);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ResponseObject<RemoveProductFromCartResponseModel>> call, Throwable t) {
|
||||
DialogHelper.hideLoadingDialog();
|
||||
DialogHelper.showFailedDialog();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private HashMap<String, Object> getRemoveProductFromCartRequestParams(String cartProductId){
|
||||
HashMap<String, Object> params = new HashMap<>();
|
||||
params.put("key", cartProductId);
|
||||
return params;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package ch.pizzalink.android.model;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 25.10.2017.
|
||||
*/
|
||||
|
||||
public class RemoveProductFromCartResponseModel {
|
||||
|
||||
@Expose @SerializedName("cart_id") private String cartId;
|
||||
|
||||
public String getCartId() {
|
||||
return cartId;
|
||||
}
|
||||
|
||||
public void setCartId(String cartId) {
|
||||
this.cartId = cartId;
|
||||
}
|
||||
}
|
||||
@@ -86,6 +86,8 @@
|
||||
<string name="continue_cart">DEVAM</string>
|
||||
<string name="clear_cart">TEMİZLE</string>
|
||||
<string name="no_product_on_cart">Sepetinizde ürün bulunmamaktadır.</string>
|
||||
<string name="alert_remove_prdocut_from_cart">Bu ürünü sepetinizden silmek istediğinize emin misiniz?</string>
|
||||
<string name="product_removed_from_cart">Ürün sepetinizden silindi.</string>
|
||||
<!-- CartFragment-->
|
||||
|
||||
<string name="something_went_wrong">Bir hata oluştu.</string>
|
||||
|
||||
Reference in New Issue
Block a user