Skip to content

Instantly share code, notes, and snippets.

View Younes-Charfaoui's full-sized avatar
🎨
Focusing

Younes Charfaoui Younes-Charfaoui

🎨
Focusing
View GitHub Profile
private lateinit var sensorManager: SensorManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// initializing the sensor manager
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
// getting the list of all the availabale sensors in the current device
class MainActivity : AppCompatActivity() {
private lateinit var fotoapparat: Fotoapparat
private lateinit var barcodeScanner: BarcodeScanner
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initializeBarcodeScanner()
private fun scanImageForBarcode(it: BitmapPhoto) {
val inputImage = InputImage.fromBitmap(it.bitmap, it.rotationDegrees)
val task = barcodeScanner.process(inputImage)
task.addOnSuccessListener { barCodesList ->
for (barcodeObject in barCodesList) {
val barcodeValue = barcodeObject.rawValue
Log.d("Barcode", "The code %s".format(barcodeValue))
}
}
task.addOnFailureListener {
private lateinit var barcodeScanner: BarcodeScanner
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val options = BarcodeScannerOptions.Builder()
.setBarcodeFormats(
Barcode.FORMAT_EAN_13,
Barcode.FORMAT_QR_CODE
private fun takeImage() {
fotoapparat.takePicture()
.toBitmap()
.whenAvailable { picture ->
scanImageForBarcode(picture!!)
}
}
private fun scanImageForBarcode(picture: Bitmap){
// handle and scan the picture for barcode
private lateinit var fotoapparat: Fotoapparat
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
fotoapparat = Fotoapparat.with(this)
.into(cameraView)
.previewScaleType(ScaleType.CenterCrop)
.build()
<io.fotoapparat.view.CameraView
android:id="@+id/cameraView"
android:layout_width="match_parent"
android:layout_height="400dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
override fun onStart() {
super.onStart()
fotoapparat.start()
}
override fun onStop() {
super.onStop()
fotoapparat.stop()
}
private val CAMEREA_REQUEST_ID = 1144
private fun isCameraPermissionGranted(): Boolean {
return (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
== PackageManager.PERMISSION_GRANTED)
}
private fun requestCameraPermission() {
ActivityCompat.requestPermissions(
this,
dependencies {
/* other dependencies
.....*/
//ml kit barcode
implementation 'com.google.mlkit:barcode-scanning:16.0.1'
// fotoapparat library
implementation 'io.fotoapparat:fotoapparat:2.7.0'
}