@Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { // Changing the backend url selection (internal, external, etc.) if (StringUtils.equals(key, getString(R.string.preference_key_key_base_url)) || StringUtils.equals(key, getString(R.string.preference_key_value_base_url))) { String keyValue = sharedPreferences.getString(key, ""); Preference keyPreference = findPreference(key); String[] keysTab = getResources().getStringArray(R.array.backend_url_keys); String[] valuesTab = getResources().getStringArray(R.array.backend_url_values); boolean resetBackendEndConnectors = true; if (StringUtils.equals(key, getString(R.string.preference_key_key_base_url))) { int indexKey = ArrayUtils.indexOf(keysTab, keyValue); // Setting the description to the right key keyPreference.setSummary(keyValue); // For custom key don't empty the field if (indexKey < keysTab.length - 1) { // If something changed if (!StringUtils.equals( valuesTab[indexKey], mSharedPreferences.getString( getString(R.string.preference_key_value_base_url), ""))) { Preference prefValueBackendUrl = findPreference(getString(R.string.preference_key_value_base_url)); prefValueBackendUrl.setSummary(valuesTab[indexKey]); ((EditTextPreference) prefValueBackendUrl).setText(valuesTab[indexKey]); // Saving the value on the settings SharedPreferences.Editor editor = mSharedPreferences.edit(); editor.putString( getString(R.string.preference_key_value_base_url), valuesTab[indexKey]); editor.commit(); } else { resetBackendEndConnectors = false; } } } // Changing the backend url value else { // Updating the description (Or custom if no value found) Preference prefKeyBackendUrl = findPreference(getString(R.string.preference_key_key_base_url)); prefKeyBackendUrl.setSummary(keysTab[ArrayUtils.indexOf(valuesTab, keyValue)]); keyPreference.setSummary(keyValue); } // Update the url of the backend if (resetBackendEndConnectors) { B2BApplication.updateUrl( mSharedPreferences.getString(getString(R.string.preference_key_value_base_url), "")); } } }
/** * 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); } } }