Class CodeScannerOptions

java.lang.Object
com.codename1.ai.vision.CodeScannerOptions

public final class CodeScannerOptions extends Object

Configuration for CodeScanner.scan(CodeScannerOptions). Every setting has a working default, so an application usually changes only the wording and the accepted symbologies.

CodeScanner.scan(new CodeScannerOptions()
        .title("Scan the ticket")
        .hint("Hold the QR code inside the frame")
        .formats(BarcodeFormat.QR_CODE, BarcodeFormat.AZTEC))
    .ready(code -> {
        if (code == null) {
            return;              // the user pressed back
        }
        admit(code.getValue());
    })
    .except(error -> Log.e(error));
  • Constructor Details

    • CodeScannerOptions

      public CodeScannerOptions()
  • Method Details

    • title

      public CodeScannerOptions title(String value)
      Sets the scanner form's title.
      Parameters:
      value - the title, or null for no title
      Returns:
      this options object
    • hint

      public CodeScannerOptions hint(String value)
      Sets the instruction shown below the preview.
      Parameters:
      value - the instruction, or null to show none
      Returns:
      this options object
    • formats

      public CodeScannerOptions formats(String... values)

      Restricts which symbologies are accepted, using the BarcodeFormat constants. A code in any other format is ignored and scanning continues, which is what an application that expects a specific kind of code wants: a stray product barcode in the frame does not end the scan. The default accepts every format the backend decodes.

      This filters results rather than configuring the detector, so it does not make scanning faster.

      Parameters:
      values - accepted format constants; empty or null accepts every format
      Returns:
      this options object
    • facing

      public CodeScannerOptions facing(CameraFacing value)
      Selects which camera the scanner opens.
      Parameters:
      value - the camera to use, or null for the back camera
      Returns:
      this options object
    • torchButton

      public CodeScannerOptions torchButton(boolean value)
      Whether to offer a torch toggle. The button appears only when the open camera actually has a flash, so leaving this enabled is safe. The default is true.
      Parameters:
      value - whether the toggle may be shown
      Returns:
      this options object
    • visionOptions

      public CodeScannerOptions visionOptions(VisionOptions value)
      Passes analyzer options through to the underlying BarcodeScanner, which is how an iOS build selects VisionBackends.mlKitBarcodeScanning() instead of Apple Vision.
      Parameters:
      value - analyzer configuration, or null for the defaults
      Returns:
      this options object
    • getTitle

      public String getTitle()
      Returns:
      the scanner form's title, possibly null
    • getHint

      public String getHint()
      Returns:
      the instruction shown below the preview, possibly null
    • getFormats

      public String[] getFormats()
      Returns:
      defensive copy of the accepted formats; empty accepts all
    • getFacing

      public CameraFacing getFacing()
      Returns:
      the camera the scanner opens
    • isTorchButton

      public boolean isTorchButton()
      Returns:
      whether a torch toggle may be shown
    • getVisionOptions

      public VisionOptions getVisionOptions()
      Returns:
      the analyzer configuration, or null for the defaults