/** * Add/Update an item to the cart. * * @param activity The activity that calls the method * @param requestId Identifier for the call * @param onAddToCart Listener for success/error after update * @param isUpdate Flag for update * @param productCode The code of the product to add * @param entryNumber The entry number to update on the cart * @param quantity The quantity to add * @param viewsToDisable Views to disable/enable before/after the request * @param onRequestListener Request listener for before/after call actions */ private static void addOrUpdateToCart( final Activity activity, final String requestId, final OnAddToCart onAddToCart, final boolean isUpdate, final String productCode, final int entryNumber, final int quantity, final List<View> viewsToDisable, final OnRequestListener onRequestListener) { if (quantity > 0) { UIUtils.showLoadingActionBar(activity, true); QueryCart queryCart = new QueryCart(); queryCart.setQuantity(quantity); // Update if (isUpdate) { queryCart.setProduct(entryNumber + ""); B2BApplication.getContentServiceHelper() .updateCartEntry( new ResponseReceiver<ProductAdded>() { @Override public void onResponse(Response<ProductAdded> response) { onReceiveAddToCartResponse(activity, requestId, onAddToCart, response); } @Override public void onError(Response<DataError> response) { UIUtils.showLoadingActionBar(activity, false); UIUtils.showError(response, activity); // Update the cart SessionHelper.updateCart(activity, requestId, false); } }, requestId, queryCart, false, viewsToDisable, onRequestListener); } // Add else { queryCart.setProduct(productCode); B2BApplication.getContentServiceHelper() .addProductToCart( new ResponseReceiver<ProductAdded>() { @Override public void onResponse(Response<ProductAdded> response) { onReceiveAddToCartResponse(activity, requestId, onAddToCart, response); } @Override public void onError(Response<DataError> response) { UIUtils.showLoadingActionBar(activity, false); UIUtils.showError(response, activity); // Update the cart SessionHelper.updateCart(activity, requestId, false); } }, requestId, queryCart, false, viewsToDisable, onRequestListener); } } }