public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { base.OnCreateView(inflater, container, savedInstanceState); InitializePicker(); matrixScanListener = new MatrixScanOverlayListener(Context, BubbleClick, picker); var matrixScan = new MatrixScan(picker, matrixScanListener); var viewBasedOverlay = new ViewBasedMatrixScanOverlay(Context, matrixScan, matrixScanListener); matrixScan.AddOverlay(new SimpleMatrixScanOverlay(Context, matrixScan, matrixScanListener)); matrixScan.AddOverlay(viewBasedOverlay); // You can enable beeping via: matrixScan.BeepOnNewCode = true; matrixScanListener.SetViewBasedMatrixScanOverlay(viewBasedOverlay); var view = inflater.Inflate(Resource.Layout.ShelfManagementFragment, null); pickerContainer = view.FindViewById <FrameLayout>(Resource.Id.picker); pickerContainer.AddView(picker); freezeButton = view.FindViewById <Button>(Resource.Id.freeze_button); freezeButton.Click += (sender, e) => Freeze(); detail = view.FindViewById <TextView>(Resource.Id.detail); detail.Click += (sender, e) => CloseDetail(); return(view); }
public void MatrixScan(MatrixScan matrixScan, Frame didUpdate) { if (didUpdate.TrackedCodes.Count == 0) { return; } IndicatorState indicatorState = CalculateIndicatorState(didUpdate.TrackedCodes); if (lastIndicatorState != indicatorState) { bubbles.Clear(); if (indicatorState != IndicatorState.HIGHLIGHT_ONLY) { foreach (var it in didUpdate.TrackedCodes) { var bubble = bubbleFactory.CreateBubble(indicatorState, it.Value); bubbles.AddOrUpdate( it.Key.LongValue(), bubble, (arg1, arg2) => bubble); viewBasedMatrixScanOverlay.SetOffsetForCode(GetOffsetForCode(it.Value, it.Key.LongValue()), it.Key.LongValue()); viewBasedMatrixScanOverlay.Post(() => { if (bubbles.ContainsKey(it.Key.LongValue())) { viewBasedMatrixScanOverlay.SetViewForCode(GetViewForCode(it.Value, it.Key.LongValue()), it.Key.LongValue()); } }); } } } lastIndicatorState = indicatorState; foreach (var id in didUpdate.AddedIdentifiers) { if (didUpdate.TrackedCodes.ContainsKey(id)) { var bubble = bubbleFactory.CreateBubble(indicatorState, didUpdate.TrackedCodes[id]); bubbles.AddOrUpdate( id.LongValue(), bubble, (arg1, arg2) => bubble); } } foreach (var id in didUpdate.RemovedIdentifiers) { ((IDictionary <long, BaseBubble>)bubbles).Remove(id.LongValue()); } }
public bool ShouldRejectCode(MatrixScan matrixScan, TrackedBarcode barcode) { return(false); }