Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / android / CHIPTool / app / src / main / java / com / google / chip / chiptool / setuppayloadscanner / CHIPBarcodeProcessor.kt
1 /*
2  *   Copyright (c) 2020 Project CHIP Authors
3  *   All rights reserved.
4  *
5  *   Licensed under the Apache License, Version 2.0 (the "License");
6  *   you may not use this file except in compliance with the License.
7  *   You may obtain a copy of the License at
8  *
9  *       http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *   Unless required by applicable law or agreed to in writing, software
12  *   distributed under the License is distributed on an "AS IS" BASIS,
13  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *   See the License for the specific language governing permissions and
15  *   limitations under the License.
16  *
17  */
18
19 package com.google.chip.chiptool.setuppayloadscanner
20
21 import com.google.android.gms.vision.Detector
22 import com.google.android.gms.vision.barcode.Barcode
23
24 /** Processes the detected [Barcode]s from a Camera scan. */
25 class CHIPBarcodeProcessor(
26     private val listener: BarcodeDetectionListener
27 ) : Detector.Processor<Barcode> {
28
29     override fun receiveDetections(detections: Detector.Detections<Barcode>) {
30         val detectedItems = detections.detectedItems
31         if (detectedItems.size() <= 0) {
32             return
33         }
34         val barcode = detectedItems.valueAt(0)
35         listener.handleScannedQrCode(barcode)
36     }
37
38     override fun release() {
39
40     }
41
42     /** Interface for receiving the detected QR Code from a Camera scan. */
43     interface BarcodeDetectionListener {
44
45         /** Provides the [Barcode] detected in camera scan to the registered listener. */
46         fun handleScannedQrCode(barcode: Barcode)
47     }
48 }