This repository has been archived on 2022-08-01. You can view files and clone it, but cannot push or open issues or pull requests.
DEMOS2-Auditor/app/src/main/java/uk/ac/lancaster/auditor/barcode/BarcodeScanActivity.kt

57 lines
2.2 KiB
Kotlin

package uk.ac.lancaster.auditor.barcode
import android.content.Intent
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.widget.Button
import android.widget.TextView
import com.google.android.gms.common.api.CommonStatusCodes
import com.google.android.gms.vision.barcode.Barcode
import uk.ac.lancaster.auditor.BallotVerifyActivity
import uk.ac.lancaster.auditor.MainActivity
import uk.ac.lancaster.auditor.R
class BarcodeScanActivity : AppCompatActivity() {
private lateinit var mResultTextView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_barcode_scan)
mResultTextView = findViewById(R.id.result_textview)
findViewById<Button>(R.id.scan_barcode_button).setOnClickListener {
val intent = Intent(applicationContext, BarcodeCaptureActivity::class.java)
startActivityForResult(intent, BARCODE_READER_REQUEST_CODE)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == BARCODE_READER_REQUEST_CODE) {
if (resultCode == CommonStatusCodes.SUCCESS) {
if (data != null) {
val barcode = data.getParcelableExtra<Barcode>(BarcodeCaptureActivity.BarcodeObject)
val p = barcode.cornerPoints
mResultTextView.text = barcode.displayValue
//if some test of the QR = ballot handle
val intent = Intent(baseContext, BallotVerifyActivity::class.java)
intent.putExtra("ballotHandle", barcode.displayValue)
startActivity(intent)
} else
mResultTextView.setText(R.string.no_barcode_captured)
} else
Log.e(LOG_TAG, String.format(getString(R.string.barcode_error_format),
CommonStatusCodes.getStatusCodeString(resultCode)))
} else
super.onActivityResult(requestCode, resultCode, data)
}
companion object {
private val LOG_TAG = MainActivity::class.java.simpleName
private val BARCODE_READER_REQUEST_CODE = 1
}
}