diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils/zxing/IntentResult.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/utils/zxing/IntentResult.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/zxing/IntentResult.java b/src/main/java/de/pixart/messenger/utils/zxing/IntentResult.java new file mode 100644 index 000000000..e238ef397 --- /dev/null +++ b/src/main/java/de/pixart/messenger/utils/zxing/IntentResult.java @@ -0,0 +1,93 @@ +/* + * Copyright 2009 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.pixart.messenger.utils.zxing; + +/** + * <p>Encapsulates the result of a barcode scan invoked through {@link IntentIntegrator}.</p> + * + * @author Sean Owen + */ +public final class IntentResult { + + private final String contents; + private final String formatName; + private final byte[] rawBytes; + private final Integer orientation; + private final String errorCorrectionLevel; + + IntentResult() { + this(null, null, null, null, null); + } + + IntentResult(String contents, + String formatName, + byte[] rawBytes, + Integer orientation, + String errorCorrectionLevel) { + this.contents = contents; + this.formatName = formatName; + this.rawBytes = rawBytes; + this.orientation = orientation; + this.errorCorrectionLevel = errorCorrectionLevel; + } + + /** + * @return raw content of barcode + */ + public String getContents() { + return contents; + } + + /** + * @return name of format, like "QR_CODE", "UPC_A". See {@code BarcodeFormat} for more format names. + */ + public String getFormatName() { + return formatName; + } + + /** + * @return raw bytes of the barcode content, if applicable, or null otherwise + */ + public byte[] getRawBytes() { + return rawBytes; + } + + /** + * @return rotation of the image, in degrees, which resulted in a successful scan. May be null. + */ + public Integer getOrientation() { + return orientation; + } + + /** + * @return name of the error correction level used in the barcode, if applicable + */ + public String getErrorCorrectionLevel() { + return errorCorrectionLevel; + } + + @Override + public String toString() { + int rawBytesLength = rawBytes == null ? 0 : rawBytes.length; + return "Format: " + formatName + '\n' + + "Contents: " + contents + '\n' + + "Raw bytes: (" + rawBytesLength + " bytes)\n" + + "Orientation: " + orientation + '\n' + + "EC level: " + errorCorrectionLevel + '\n'; + } + +} |