diff --git a/CHANGELOG.md b/CHANGELOG.md index a94a1e1bc9..677750d4a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. ### Added ### Changed ### Removed +* ui/core: Remove everything related to the old deposit return voucher feature ### Fixed ## [0.79.0] diff --git a/core/src/main/java/io/snabble/sdk/Product.java b/core/src/main/java/io/snabble/sdk/Product.java index ffb69c1f80..929d7321f2 100644 --- a/core/src/main/java/io/snabble/sdk/Product.java +++ b/core/src/main/java/io/snabble/sdk/Product.java @@ -43,12 +43,7 @@ public enum Type { * A product that needs to be user weighed. The price from {@link Product#getListPrice()} * is a base price of 1000g */ - UserWeighed(2), - - /** - * A product that is used for deposit return voucher's - */ - DepositReturnVoucher(3); + UserWeighed(2); private final int databaseValue; @@ -656,4 +651,4 @@ public Product build() { return product; } } -} \ No newline at end of file +} diff --git a/core/src/main/java/io/snabble/sdk/ProductApi.java b/core/src/main/java/io/snabble/sdk/ProductApi.java index dcd60affeb..efce52d736 100644 --- a/core/src/main/java/io/snabble/sdk/ProductApi.java +++ b/core/src/main/java/io/snabble/sdk/ProductApi.java @@ -58,9 +58,7 @@ private enum ApiProductType { @SerializedName("weighable") WEIGHABLE, @SerializedName("deposit") - DEPOSIT, - @SerializedName("depositReturnVoucher") - DEPOSIT_RETURN_VOUCHER + DEPOSIT } private static class ApiScannableCode { @@ -281,8 +279,6 @@ private Product toProduct(ApiProduct apiProduct) { } else { builder.setType(Product.Type.PreWeighed); } - } else if (apiProduct.productType == ApiProductType.DEPOSIT_RETURN_VOUCHER) { - builder.setType(Product.Type.DepositReturnVoucher); } else { builder.setType(Product.Type.Article); } @@ -306,4 +302,4 @@ private Product toProduct(ApiProduct apiProduct) { return builder.build(); } -} \ No newline at end of file +} diff --git a/core/src/main/java/io/snabble/sdk/ProductDatabase.java b/core/src/main/java/io/snabble/sdk/ProductDatabase.java index c6721741bc..ee29c24f6b 100644 --- a/core/src/main/java/io/snabble/sdk/ProductDatabase.java +++ b/core/src/main/java/io/snabble/sdk/ProductDatabase.java @@ -1405,7 +1405,6 @@ public Cursor searchByFoldedName(String searchString, CancellationSignal cancell return productQuery("JOIN searchByName ns ON ns.sku = p.sku " + "WHERE ns.foldedName MATCH ? " + "AND p.weighing != " + Product.Type.PreWeighed.getDatabaseValue() + " " + - "AND p.weighing != " + Product.Type.DepositReturnVoucher.getDatabaseValue() + " " + "AND p.isDeposit = 0 " + "AND availability != 2 " + "LIMIT 100", new String[]{ @@ -1439,8 +1438,6 @@ public Cursor searchByCode(String searchString, CancellationSignal cancellationS sb.append(") AND p.weighing != "); sb.append(Product.Type.PreWeighed.getDatabaseValue()); - sb.append(" AND p.weighing != "); - sb.append(Product.Type.DepositReturnVoucher.getDatabaseValue()); sb.append(" AND p.isDeposit = 0 "); sb.append(" AND availability != 2"); diff --git a/core/src/main/java/io/snabble/sdk/checkout/Checkout.kt b/core/src/main/java/io/snabble/sdk/checkout/Checkout.kt index 1478559ffb..63c49a641b 100644 --- a/core/src/main/java/io/snabble/sdk/checkout/Checkout.kt +++ b/core/src/main/java/io/snabble/sdk/checkout/Checkout.kt @@ -307,10 +307,6 @@ class Checkout @JvmOverloads constructor( notifyStateChanged(CheckoutState.NO_PAYMENT_METHOD_AVAILABLE) } - override fun onInvalidDepositReturnVoucher() { - notifyStateChanged(CheckoutState.CONNECTION_ERROR) - } - override fun onUnknownError() { notifyStateChanged(CheckoutState.CONNECTION_ERROR) } diff --git a/core/src/main/java/io/snabble/sdk/checkout/CheckoutApi.kt b/core/src/main/java/io/snabble/sdk/checkout/CheckoutApi.kt index 588897944e..8f757c91df 100644 --- a/core/src/main/java/io/snabble/sdk/checkout/CheckoutApi.kt +++ b/core/src/main/java/io/snabble/sdk/checkout/CheckoutApi.kt @@ -91,7 +91,6 @@ interface CheckoutInfoResult { fun onNoShopFound() fun onInvalidProducts(products: List) fun onNoAvailablePaymentMethodFound() - fun onInvalidDepositReturnVoucher() fun onUnknownError() fun onConnectionError() } diff --git a/core/src/main/java/io/snabble/sdk/checkout/CheckoutRetryer.kt b/core/src/main/java/io/snabble/sdk/checkout/CheckoutRetryer.kt index c68a76ea94..1cfc8dcfc4 100644 --- a/core/src/main/java/io/snabble/sdk/checkout/CheckoutRetryer.kt +++ b/core/src/main/java/io/snabble/sdk/checkout/CheckoutRetryer.kt @@ -147,10 +147,6 @@ internal class CheckoutRetryer(project: Project, fallbackPaymentMethod: PaymentM fail() } - override fun onInvalidDepositReturnVoucher() { - fail() - } - override fun onUnknownError() { fail() } diff --git a/core/src/main/java/io/snabble/sdk/checkout/DefaultCheckoutApi.kt b/core/src/main/java/io/snabble/sdk/checkout/DefaultCheckoutApi.kt index 28bd188a60..11c8c43ef6 100644 --- a/core/src/main/java/io/snabble/sdk/checkout/DefaultCheckoutApi.kt +++ b/core/src/main/java/io/snabble/sdk/checkout/DefaultCheckoutApi.kt @@ -136,7 +136,6 @@ class DefaultCheckoutApi(private val project: Project, } "no_available_method" -> checkoutInfoResult?.onNoAvailablePaymentMethodFound() "bad_shop_id", "shop_not_found" -> checkoutInfoResult?.onNoShopFound() - "invalid_deposit_return_voucher" -> checkoutInfoResult?.onInvalidDepositReturnVoucher() else -> checkoutInfoResult?.onUnknownError() } } catch (e: Exception) { diff --git a/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCart.kt b/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCart.kt index 1ba54f9829..a9bc1e5d84 100644 --- a/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCart.kt +++ b/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCart.kt @@ -324,7 +324,6 @@ class ShoppingCart( fun invalidateOnlinePrices() { data = data.copy( invalidProducts = null, - invalidDepositReturnVoucher = false, onlineTotalPrice = null ) @@ -420,10 +419,6 @@ class ShoppingCart( val isOnlinePrice: Boolean get() = data.onlineTotalPrice != null - fun setInvalidDepositReturnVoucher(invalidDepositReturnVoucher: Boolean) { - data = data.copy(invalidDepositReturnVoucher = invalidDepositReturnVoucher) - } - fun isCouponApplied(coupon: Coupon): Boolean = any { it?.coupon?.id == coupon.id } fun removeCoupon(coupon: Coupon) { @@ -440,8 +435,6 @@ class ShoppingCart( data = data.copy(invalidProducts = invalidProducts) } - fun hasInvalidDepositReturnVoucher(): Boolean = data.invalidDepositReturnVoucher - /** * Returns the total price of the cart. * @@ -943,16 +936,6 @@ class ShoppingCart( quantity = 1 } } - if (scannedCode.hasEmbeddedData() && product.type == Type.DepositReturnVoucher) { - val builder = scannedCode.newBuilder() - if (scannedCode.hasEmbeddedData()) { - builder.setEmbeddedData(scannedCode.embeddedData * -1) - } - if (scannedCode.hasEmbeddedDecimalData()) { - builder.setEmbeddedDecimalData(scannedCode.embeddedDecimalData.multiply(BigDecimal(-1))) - } - this.scannedCode = builder.create() - } } constructor(cart: ShoppingCart, lineItem: LineItem) { diff --git a/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartData.kt b/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartData.kt index 581dc82020..ed3b2b508e 100644 --- a/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartData.kt +++ b/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartData.kt @@ -19,7 +19,6 @@ data class ShoppingCartData @JvmOverloads constructor( val taxation: Taxation = Taxation.UNDECIDED, val hasReachedMaxCheckoutLimit: Boolean = false, val hasReachedMaxOnlinePaymentLimit: Boolean = false, - val invalidDepositReturnVoucher: Boolean = false, val backupTimestamp: Long = 0, ) { diff --git a/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartUpdater.kt b/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartUpdater.kt index e5d1757445..9ddcc87af4 100644 --- a/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartUpdater.kt +++ b/core/src/main/java/io/snabble/sdk/shoppingcart/ShoppingCartUpdater.kt @@ -98,11 +98,6 @@ internal class ShoppingCartUpdater( error(requestSucceeded = true) } - override fun onInvalidDepositReturnVoucher() { - cart.setInvalidDepositReturnVoucher(true) - error(requestSucceeded = true) - } - override fun onUnknownError() { error(requestSucceeded = false) } diff --git a/ui/src/main/java/io/snabble/sdk/ui/cart/deprecated/ShoppingCartView.kt b/ui/src/main/java/io/snabble/sdk/ui/cart/deprecated/ShoppingCartView.kt index c08f411a02..b1d2d940ed 100644 --- a/ui/src/main/java/io/snabble/sdk/ui/cart/deprecated/ShoppingCartView.kt +++ b/ui/src/main/java/io/snabble/sdk/ui/cart/deprecated/ShoppingCartView.kt @@ -207,7 +207,6 @@ class ShoppingCartView : FrameLayout { updateEmptyState() scanForImages() checkSaleStop() - checkDepositReturnVoucher() } } @@ -246,18 +245,6 @@ class ShoppingCartView : FrameLayout { } } - private fun checkDepositReturnVoucher() { - if (cart?.hasInvalidDepositReturnVoucher() == true && !hasAlreadyShownInvalidDeposit) { - AlertDialog.Builder(context) - .setCancelable(false) - .setTitle(getIdentifier(resources, R.string.Snabble_SaleStop_ErrorMsg_title)) - .setMessage(getIdentifier(resources, R.string.Snabble_InvalidDepositVoucher_errorMsg)) - .setPositiveButton(R.string.Snabble_ok, null) - .show() - hasAlreadyShownInvalidDeposit = true - } - } - private fun scanForImages() { val lastHasAnyImages = hasAnyImages diff --git a/ui/src/main/java/io/snabble/sdk/ui/scanner/ProductResolver.kt b/ui/src/main/java/io/snabble/sdk/ui/scanner/ProductResolver.kt index 10416a1b09..cbca15667f 100644 --- a/ui/src/main/java/io/snabble/sdk/ui/scanner/ProductResolver.kt +++ b/ui/src/main/java/io/snabble/sdk/ui/scanner/ProductResolver.kt @@ -309,12 +309,6 @@ class ProductResolver private constructor(private val context: Context, private progressDialog.dismiss() onDismissListener?.onDismiss() } - product.type == Product.Type.DepositReturnVoucher - && project.shoppingCart.containsScannedCode(scannedCode) -> { - onAlreadyScannedListener?.onAlreadyScanned() - progressDialog.dismiss() - onDismissListener?.onDismiss() - } onProductFoundListener != null -> { onProductFoundListener?.onProductFound(product, scannedCode) } diff --git a/ui/src/main/res/values-de/strings.xml b/ui/src/main/res/values-de/strings.xml index e1e5cfa5c3..af2628b45c 100644 --- a/ui/src/main/res/values-de/strings.xml +++ b/ui/src/main/res/values-de/strings.xml @@ -85,7 +85,6 @@ Weiter so! Bitte mache es dem Kassenpersonal leicht und packe deine Artikel nicht direkt in geschlossene Taschen. Danke! Weiter scannen Hinweis von %s - Leergutbons können nur einmal eingelöst werden. Dadurch stellen wir sicher, dass nur du selbst Zugriff auf diese Zahlungsmethode hast Du musst dein Smartphone mit einer Display-Sperre schützen, um diese Zahlungsmethode hinzuzufügen. Bitte entsperre dein Smartphone diff --git a/ui/src/main/res/values-fr-rCH/strings.xml b/ui/src/main/res/values-fr-rCH/strings.xml index 49012bae74..f1f3ad5ca4 100644 --- a/ui/src/main/res/values-fr-rCH/strings.xml +++ b/ui/src/main/res/values-fr-rCH/strings.xml @@ -64,7 +64,6 @@ Continue comme ça ! Merci de faciliter la tâche au personnel de caisse et de ne pas emballer tes articles directement dans des sacs fermés. Merci ! Continuer à scanner Remarque de %s - Les bons des emballages vides ne peuvent être encaissés qu’une seule fois. De cette façon, nous nous assurons que tu es l’unique personne à pouvoir accéder à cette procédure de paiement. Merci de protéger ton smartphone au moyen d’un verrouillage d’écran pour ajouter ce mode de paiement. Merci de déverrouiller ton smartphone diff --git a/ui/src/main/res/values-fr/strings.xml b/ui/src/main/res/values-fr/strings.xml index ff880d438a..d03994545f 100644 --- a/ui/src/main/res/values-fr/strings.xml +++ b/ui/src/main/res/values-fr/strings.xml @@ -74,7 +74,6 @@ Parfait, continuez ! S\'il vous plaît, facilitez la tâche du personnel de caisse et ne déposez pas vos articles directement dans des sacs fermés. Merci ! Continuer à scanner Avis de %s - Les bons pour les emballages vides ne peuvent être échangés qu\'une seule fois. Nous nous assurons ainsi que vous êtes le seul à avoir accès à ce mode de paiement. Vous devez protéger votre smartphone avec un verrouillage d\'écran pour ajouter ce mode de paiement. Veuillez déverrouiller votre smartphone diff --git a/ui/src/main/res/values-hu/strings.xml b/ui/src/main/res/values-hu/strings.xml index bee1ee4bea..a5bf0537f7 100644 --- a/ui/src/main/res/values-hu/strings.xml +++ b/ui/src/main/res/values-hu/strings.xml @@ -83,7 +83,6 @@ Csak így tovább! Kérjük, könnyítsd meg a pénztáros munkáját, és ne csomagold közvetlenül lezárt tasakba a termékedet. Köszönjük! Szkennelés folytatása %s megjegyzése - Az üvegvisszaváltó blokkot csak egyszer lehet beváltani. Ezzel garantálható, hogy csak te férj ehhez a fizetési eljáráshoz E fizetési mód hozzáadásához képernyőzárral kell védened az okostelefonod. Kérlek, oldd fel az okostelefonod képernyőzárát diff --git a/ui/src/main/res/values-it/strings.xml b/ui/src/main/res/values-it/strings.xml index 4a2b479c6e..d7a9719b41 100644 --- a/ui/src/main/res/values-it/strings.xml +++ b/ui/src/main/res/values-it/strings.xml @@ -66,7 +66,6 @@ Continua così! Agevola il compito del personale di cassa ed evita di mettere direttamente gli articoli in borse chiuse. Grazie! Continua la scansione Nota di %s - Gli scontrini dei vuoti possono essere riscattati una sola volta. In questo modo ci assicuriamo che solo tu abbia accesso a questa modalità di pagamento È necessario proteggere il tuo smartphone con un blocco schermo per poter aggiungere questo metodo di pagamento. Sblocca il tuo smartphone diff --git a/ui/src/main/res/values-sk/strings.xml b/ui/src/main/res/values-sk/strings.xml index cdca153309..91200b50ed 100644 --- a/ui/src/main/res/values-sk/strings.xml +++ b/ui/src/main/res/values-sk/strings.xml @@ -90,7 +90,6 @@ Len tak ďalej! Prosím, uľahči prácu pokladníkom a nevkladaj svoje produkty priamo do uzavretých tašiek. Ďakujem! Pokračovať v skenovaní Poznámka od %s - Poukážky za vratné produkty môžu byť uplatnené len jedenkrát. Tým zabezpečíme, že k tomuto spôsobu platby budeš mať prístup len ty sám/sama Aby si mohol/mohla priradiť tento spôsob platby, musíš chrániť svoj smartfón uzamknutím displeja. Prosím, odomknite svoj smartfón diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index 1a6803750b..67c4702686 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -85,7 +85,6 @@ Well done! Please make things easy for the cashier and don\'t store your products in closed bags. Thank you! Continue scanning Info from %s - Deposit return vouchers can be redeemed only once. That\'s how we make sure that only you have access to this payment method You need to secure your smartphone with a screen lock to add this payment method. Please unlock your device