<?xml version="1.0" encoding="UTF-8"?>
<!-- Kioskope managed app configuration spec (AppConfig Community schema). Keys: https://kioskope.com/mdm#keys -->
<managedAppConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://www.appconfig.org/assets/images/appconfig-media/appconfigschema.xsd">
  <version>1</version>
  <bundleId>com.kioskope.Kioskope</bundleId>
  <dict>
    <!-- Kiosk -->
    <string keyName="startURL">
      <defaultValue><value></value></defaultValue>
      <constraint nullable="false"/>
    </string>
    <stringArray keyName="allowlist">
    </stringArray>
    <boolean keyName="showChrome">
      <defaultValue><value>true</value></defaultValue>
    </boolean>
    <integer keyName="idleResetSeconds">
      <defaultValue><value>0</value></defaultValue>
      <constraint min="0"/>
    </integer>
    <boolean keyName="clearSessionOnReset">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <boolean keyName="preventSleep">
      <defaultValue><value>true</value></defaultValue>
    </boolean>
    <boolean keyName="asam">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <boolean keyName="trustSelfSigned">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <!-- Scanning -->
    <stringArray keyName="symbologies">
      <defaultValue><value>qr</value><value>pdf417</value><value>code128</value><value>code39</value><value>ean13</value><value>upce</value></defaultValue>
      <constraint><values><value>qr</value><value>microqr</value><value>pdf417</value><value>micropdf417</value><value>aztec</value><value>datamatrix</value><value>code128</value><value>code39</value><value>code93</value><value>ean13</value><value>ean8</value><value>upce</value><value>itf14</value><value>codabar</value><value>gs1databar</value></values></constraint>
    </stringArray>
    <boolean keyName="liveText">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <boolean keyName="continuousScan">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <float keyName="debounceSeconds">
      <defaultValue><value>2.0</value></defaultValue>
      <constraint min="0" max="30"/>
    </float>
    <boolean keyName="beep">
      <defaultValue><value>true</value></defaultValue>
    </boolean>
    <boolean keyName="haptic">
      <defaultValue><value>true</value></defaultValue>
    </boolean>
    <boolean keyName="torch">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <boolean keyName="roi">
      <defaultValue><value>false</value></defaultValue>
    </boolean>
    <!-- Output -->
    <string keyName="scanPrefix">
      <defaultValue><value></value></defaultValue>
    </string>
    <string keyName="scanSuffix">
      <defaultValue><value></value></defaultValue>
    </string>
    <string keyName="terminator">
      <defaultValue><value>none</value></defaultValue>
      <constraint><values><value>none</value><value>tab</value><value>enter</value></values></constraint>
    </string>
    <integer keyName="stripLeading">
      <defaultValue><value>0</value></defaultValue>
      <constraint min="0" max="20"/>
    </integer>
    <integer keyName="stripTrailing">
      <defaultValue><value>0</value></defaultValue>
      <constraint min="0" max="20"/>
    </integer>
    <string keyName="urlTemplate">
      <defaultValue><value></value></defaultValue>
    </string>
    <!-- Security -->
    <string keyName="adminPIN">
      <defaultValue><value></value></defaultValue>
    </string>
  </dict>
  <presentation defaultLocale="en-US">
    <fieldGroup>
      <name><language value="en-US">Kiosk</language></name>
      <field keyName="startURL" type="input">
        <label><language value="en-US">Start URL</language></label>
        <description><language value="en-US">Page to load. Bare hosts get https://; IP addresses, localhost, and .local names get http://. Once set, the setup wizard never appears.</language></description>
      </field>
      <field keyName="allowlist" type="list">
        <label><language value="en-US">Allowed hosts</language></label>
        <description><language value="en-US">Hosts the session may visit, one per entry; *.example.com wildcards work. Empty allows every host. The start URL's host is always allowed.</language></description>
      </field>
      <field keyName="showChrome" type="checkbox">
        <label><language value="en-US">Show navigation bar</language></label>
        <description><language value="en-US">Back, forward, reload, and settings bar.</language></description>
      </field>
      <field keyName="idleResetSeconds" type="input">
        <label><language value="en-US">Idle reset (seconds)</language></label>
        <description><language value="en-US">Seconds of inactivity before returning to the start URL. 0 turns it off.</language></description>
      </field>
      <field keyName="clearSessionOnReset" type="checkbox">
        <label><language value="en-US">Clear session on idle reset</language></label>
        <description><language value="en-US">Also clear cookies and site data when the idle reset fires.</language></description>
      </field>
      <field keyName="preventSleep" type="checkbox">
        <label><language value="en-US">Prevent sleep</language></label>
        <description><language value="en-US">Keep the screen awake.</language></description>
      </field>
      <field keyName="asam" type="checkbox">
        <label><language value="en-US">Autonomous Single App Mode</language></label>
        <description><language value="en-US">Pin the device to Kioskope. Needs a supervised device with com.kioskope.Kioskope allowlisted for autonomous single app mode in a restrictions profile.</language></description>
      </field>
      <field keyName="trustSelfSigned" type="checkbox">
        <label><language value="en-US">Trust self-signed certificates</language></label>
        <description><language value="en-US">Accept self-signed TLS certificates, for allowed hosts only.</language></description>
      </field>
    </fieldGroup>
    <fieldGroup>
      <name><language value="en-US">Scanning</language></name>
      <field keyName="symbologies" type="multiselect">
        <label><language value="en-US">Symbologies</language></label>
        <description><language value="en-US">Barcode types to decode.</language></description>
        <options>
          <option value="qr" selected="true"><language value="en-US">QR</language></option>
          <option value="microqr"><language value="en-US">Micro QR</language></option>
          <option value="pdf417" selected="true"><language value="en-US">PDF417</language></option>
          <option value="micropdf417"><language value="en-US">MicroPDF417</language></option>
          <option value="aztec"><language value="en-US">Aztec</language></option>
          <option value="datamatrix"><language value="en-US">Data Matrix</language></option>
          <option value="code128" selected="true"><language value="en-US">Code 128</language></option>
          <option value="code39" selected="true"><language value="en-US">Code 39</language></option>
          <option value="code93"><language value="en-US">Code 93</language></option>
          <option value="ean13" selected="true"><language value="en-US">EAN-13</language></option>
          <option value="ean8"><language value="en-US">EAN-8</language></option>
          <option value="upce" selected="true"><language value="en-US">UPC-E</language></option>
          <option value="itf14"><language value="en-US">ITF-14</language></option>
          <option value="codabar"><language value="en-US">Codabar</language></option>
          <option value="gs1databar"><language value="en-US">GS1 DataBar</language></option>
        </options>
      </field>
      <field keyName="liveText" type="checkbox">
        <label><language value="en-US">Live Text</language></label>
        <description><language value="en-US">Tap to capture printed text.</language></description>
      </field>
      <field keyName="continuousScan" type="checkbox">
        <label><language value="en-US">Continuous scan</language></label>
        <description><language value="en-US">Keep the scanner open after each scan.</language></description>
      </field>
      <field keyName="debounceSeconds" type="input">
        <label><language value="en-US">Duplicate debounce (seconds)</language></label>
        <description><language value="en-US">Ignore repeats of the same code within this window.</language></description>
      </field>
      <field keyName="beep" type="checkbox">
        <label><language value="en-US">Beep</language></label>
        <description><language value="en-US">Sound on each scan.</language></description>
      </field>
      <field keyName="haptic" type="checkbox">
        <label><language value="en-US">Haptic</language></label>
        <description><language value="en-US">Vibrate on each scan.</language></description>
      </field>
      <field keyName="torch" type="checkbox">
        <label><language value="en-US">Torch on at open</language></label>
        <description><language value="en-US">Turn the torch on when the scanner opens.</language></description>
      </field>
      <field keyName="roi" type="checkbox">
        <label><language value="en-US">Center band only</language></label>
        <description><language value="en-US">Decode only in the center band of the viewfinder.</language></description>
      </field>
    </fieldGroup>
    <fieldGroup>
      <name><language value="en-US">Output</language></name>
      <field keyName="scanPrefix" type="input">
        <label><language value="en-US">Prefix</language></label>
        <description><language value="en-US">Text added before each result.</language></description>
      </field>
      <field keyName="scanSuffix" type="input">
        <label><language value="en-US">Suffix</language></label>
        <description><language value="en-US">Text added after each result.</language></description>
      </field>
      <field keyName="terminator" type="select">
        <label><language value="en-US">Terminator</language></label>
        <description><language value="en-US">Key sent after the result.</language></description>
        <options>
          <option value="none" selected="true"><language value="en-US">None</language></option>
          <option value="tab"><language value="en-US">Tab</language></option>
          <option value="enter"><language value="en-US">Enter</language></option>
        </options>
      </field>
      <field keyName="stripLeading" type="input">
        <label><language value="en-US">Strip leading characters</language></label>
        <description><language value="en-US">Characters removed from the start of each result.</language></description>
      </field>
      <field keyName="stripTrailing" type="input">
        <label><language value="en-US">Strip trailing characters</language></label>
        <description><language value="en-US">Characters removed from the end of each result.</language></description>
      </field>
      <field keyName="urlTemplate" type="input">
        <label><language value="en-US">URL template</language></label>
        <description><language value="en-US">Navigate here on each scan instead of typing; {code} is replaced. Example: https://x/lookup/{code}. Empty keeps the keyboard wedge.</language></description>
      </field>
    </fieldGroup>
    <fieldGroup>
      <name><language value="en-US">Security</language></name>
      <field keyName="adminPIN" type="input">
        <label><language value="en-US">Admin PIN</language></label>
        <description><language value="en-US">PIN for the settings screen behind the gear. Empty leaves it unlocked.</language></description>
      </field>
    </fieldGroup>
  </presentation>
</managedAppConfiguration>
