11/*
22 * --------------------------------------------------------------------------------
33 * <copyright company="Aspose">
4- * Copyright (c) 2022 Aspose.BarCode for Cloud
4+ * Copyright (c) 2023 Aspose.BarCode for Cloud
55 * </copyright>
66 * <summary>
77 * Permission is hereby granted, free of charge, to any person obtaining a copy
2525 * --------------------------------------------------------------------------------
2626 */
2727
28- package com.example.asposebarcodecloud
28+ package com.aspose.barcode.cloud.demo_app
2929
3030import android.Manifest
3131import android.app.Activity
@@ -56,6 +56,7 @@ import java.io.File
5656import java.io.FileOutputStream
5757import kotlin.math.floor
5858
59+
5960class MainActivity : AppCompatActivity () {
6061 companion object {
6162 const val PERMISSION_REQUEST_CALLBACK_CODE = 1
@@ -150,11 +151,12 @@ class MainActivity : AppCompatActivity() {
150151 requestCode : Int ,
151152 permissions : Array <String >, grantResults : IntArray
152153 ) {
154+ super .onRequestPermissionsResult(requestCode, permissions, grantResults)
153155 when (requestCode) {
154156 PERMISSION_REQUEST_CALLBACK_CODE -> {
155157 // If request is cancelled, the result arrays are empty.
156158 if ((grantResults.isNotEmpty() &&
157- grantResults[0 ] == PackageManager .PERMISSION_GRANTED )
159+ grantResults[0 ] == PackageManager .PERMISSION_GRANTED )
158160 ) {
159161 // Permission is granted. Continue the action or workflow
160162 // in your app.
@@ -178,6 +180,7 @@ class MainActivity : AppCompatActivity() {
178180 }
179181 }
180182
183+
181184 override fun onActivityResult (requestCode : Int , resultCode : Int , data : Intent ? ) {
182185 super .onActivityResult(requestCode, resultCode, data)
183186
@@ -194,15 +197,16 @@ class MainActivity : AppCompatActivity() {
194197 if (resultCode == RESULT_OK ) {
195198 val bmpImage = data?.extras?.get(" data" ) as Bitmap
196199 recognizeBarcode(bmpImage)
200+ }
197201 }
198- }
199202
200203 else -> {
201204 showErrorMessage(" No file selected" )
202205 }
203206 }
204207 }
205208
209+
206210 private fun recognizeBarcode (image : Bitmap ) {
207211 try {
208212 val smallerBmp = reduceBitmapSize(image)
@@ -312,8 +316,12 @@ class MainActivity : AppCompatActivity() {
312316 private fun pickFile () {
313317 val getContentIntent = Intent (Intent .ACTION_GET_CONTENT )
314318 getContentIntent.type = " image/*"
315- if (getContentIntent.resolveActivity(packageManager) != null ) {
316- startActivityForResult(getContentIntent, ACTION_GET_CONTENT_CALLBACK_CODE )
319+ getContentIntent.addCategory(Intent .CATEGORY_OPENABLE )
320+ try {
321+ startActivityForResult(Intent .createChooser(getContentIntent, " Select an Image to Recognize" ), ACTION_GET_CONTENT_CALLBACK_CODE )
322+ } catch (ex: java.lang.Exception ) {
323+ showErrorMessage(" Unable to start file selector" )
317324 }
325+
318326 }
319327}
0 commit comments