ScanQrCodeTool
Decodes a QR code from a still image file (referenced by image_uri) using ML Kit barcode scanning restricted to Barcode.FORMAT_QR_CODE. This reads an existing image — it does NOT open the camera, and the module declares no permissions. image_uri is validated by ImageUriValidator: file:// URIs (or bare absolute paths) are sandboxed to external storage, content:// URIs served by the host app itself are refused, other schemes are rejected. Returns the first QR code found, or found = false when the image decodes but contains none; a decode/scanner failure is an error.
Result keys: raw_value, format (always "QR_CODE" when found), found.