Skip to content

Commit 94d2d0c

Browse files
committed
Fixed products with embeddedData == 0 not showing "scanned shelf code"
1 parent 7aab4f8 commit 94d2d0c

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

ui/src/main/java/io/snabble/sdk/ui/scanner/ProductResolver.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public class ProductResolver {
2424
private Context context;
2525
private OnShowListener onShowListener;
2626
private OnDismissListener onDismissListener;
27+
private OnShelfCodeScannedListener onShelfCodeScannedListener;
2728
private OnProductNotFoundListener onProductNotFoundListener;
2829
private OnNetworkErrorListener onNetworkErrorListener;
2930
private BarcodeFormat barcodeFormat;
@@ -127,13 +128,16 @@ private void handleProductAvailable(Product product, boolean wasOnlineProduct, S
127128
if(product.getBundleProducts().length > 0){
128129
showBundleDialog(product);
129130
} else {
130-
if (product.getType() == Product.Type.PreWeighed && !scannedCode.hasEmbeddedData()) {
131-
Toast.makeText(context,
132-
R.string.Snabble_Scanner_scannedShelfCode,
133-
Toast.LENGTH_LONG)
134-
.show();
131+
if (product.getType() == Product.Type.PreWeighed && (!scannedCode.hasEmbeddedData() || scannedCode.getEmbeddedData() == 0)) {
132+
if (onShelfCodeScannedListener != null) {
133+
onShelfCodeScannedListener.onShelfCodeScanned();
134+
}
135135

136136
progressDialog.dismiss();
137+
138+
if (onDismissListener != null) {
139+
onDismissListener.onDismiss();
140+
}
137141
} else {
138142
showProduct(product, scannedCode);
139143

@@ -220,6 +224,10 @@ public interface OnDismissListener {
220224
void onDismiss();
221225
}
222226

227+
public interface OnShelfCodeScannedListener {
228+
void onShelfCodeScanned();
229+
}
230+
223231
public interface OnProductNotFoundListener {
224232
void onProductNotFound();
225233
}
@@ -265,6 +273,11 @@ public Builder setOnNetworkErrorListener(OnNetworkErrorListener listener) {
265273
return this;
266274
}
267275

276+
public Builder setOnShelfCodeScannedListener(OnShelfCodeScannedListener listener) {
277+
productResolver.onShelfCodeScannedListener = listener;
278+
return this;
279+
}
280+
268281
public ProductResolver create() {
269282
return productResolver;
270283
}

ui/src/main/java/io/snabble/sdk/ui/scanner/SelfScanningView.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import io.snabble.sdk.BarcodeFormat;
2929
import io.snabble.sdk.Checkout;
30-
import io.snabble.sdk.OnProductAvailableListener;
3130
import io.snabble.sdk.Product;
3231
import io.snabble.sdk.ProductDatabase;
3332
import io.snabble.sdk.Project;
@@ -40,7 +39,6 @@
4039
import io.snabble.sdk.ui.telemetry.Telemetry;
4140
import io.snabble.sdk.ui.utils.DelayedProgressDialog;
4241
import io.snabble.sdk.ui.utils.UIUtils;
43-
import io.snabble.sdk.utils.IntRange;
4442
import io.snabble.sdk.utils.SimpleActivityLifecycleCallbacks;
4543
import io.snabble.sdk.utils.Utils;
4644

@@ -181,6 +179,12 @@ public void onNetworkError() {
181179
showInfo(R.string.Snabble_Scanner_networkError);
182180
}
183181
})
182+
.setOnShelfCodeScannedListener(new ProductResolver.OnShelfCodeScannedListener() {
183+
@Override
184+
public void onShelfCodeScanned() {
185+
showInfo(R.string.Snabble_Scanner_scannedShelfCode);
186+
}
187+
})
184188
.create()
185189
.show();
186190
}

0 commit comments

Comments
 (0)