|
@ -4,10 +4,17 @@ import android.Manifest |
|
|
import android.annotation.SuppressLint |
|
|
import android.annotation.SuppressLint |
|
|
import android.app.ActionBar.LayoutParams |
|
|
import android.app.ActionBar.LayoutParams |
|
|
import android.app.Dialog |
|
|
import android.app.Dialog |
|
|
|
|
|
import android.content.Intent |
|
|
import android.content.pm.PackageManager |
|
|
import android.content.pm.PackageManager |
|
|
import android.database.Cursor |
|
|
import android.database.Cursor |
|
|
|
|
|
import android.graphics.Bitmap |
|
|
|
|
|
import android.graphics.BitmapRegionDecoder |
|
|
|
|
|
import android.graphics.ImageDecoder |
|
|
|
|
|
import android.graphics.Rect |
|
|
import android.net.Uri |
|
|
import android.net.Uri |
|
|
|
|
|
import android.os.Build |
|
|
import android.os.Bundle |
|
|
import android.os.Bundle |
|
|
|
|
|
import android.provider.MediaStore |
|
|
import android.provider.OpenableColumns |
|
|
import android.provider.OpenableColumns |
|
|
import android.util.Base64 |
|
|
import android.util.Base64 |
|
|
import android.util.Log |
|
|
import android.util.Log |
|
@ -17,6 +24,7 @@ import android.view.ViewGroup |
|
|
import android.widget.* |
|
|
import android.widget.* |
|
|
import androidx.activity.result.ActivityResultLauncher |
|
|
import androidx.activity.result.ActivityResultLauncher |
|
|
import androidx.activity.result.contract.ActivityResultContracts |
|
|
import androidx.activity.result.contract.ActivityResultContracts |
|
|
|
|
|
import androidx.annotation.RequiresApi |
|
|
import androidx.core.content.ContextCompat |
|
|
import androidx.core.content.ContextCompat |
|
|
import androidx.core.content.FileProvider |
|
|
import androidx.core.content.FileProvider |
|
|
import androidx.lifecycle.ViewModelProvider |
|
|
import androidx.lifecycle.ViewModelProvider |
|
@ -39,6 +47,7 @@ import java.io.FileInputStream |
|
|
import java.io.IOException |
|
|
import java.io.IOException |
|
|
import java.io.InputStream |
|
|
import java.io.InputStream |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class StepThreeBajajFDFragment : BaseFragment() { |
|
|
class StepThreeBajajFDFragment : BaseFragment() { |
|
|
|
|
|
|
|
|
private var latestTmpUri: Uri? = null |
|
|
private var latestTmpUri: Uri? = null |
|
@ -52,6 +61,7 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
private lateinit var dialog: Dialog |
|
|
private lateinit var dialog: Dialog |
|
|
private var takeImageResult: ActivityResultLauncher<Uri>? = null |
|
|
private var takeImageResult: ActivityResultLauncher<Uri>? = null |
|
|
private var selectImageIntent: ActivityResultLauncher<String>? = null |
|
|
private var selectImageIntent: ActivityResultLauncher<String>? = null |
|
|
|
|
|
private var launcher:ActivityResultLauncher<Intent>? = null |
|
|
|
|
|
|
|
|
private var panString: String = "" |
|
|
private var panString: String = "" |
|
|
private var photoString: String = "" |
|
|
private var photoString: String = "" |
|
@ -95,6 +105,7 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
return binding.root |
|
|
return binding.root |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@RequiresApi(Build.VERSION_CODES.P) |
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
super.onViewCreated(view, savedInstanceState) |
|
|
super.onViewCreated(view, savedInstanceState) |
|
|
stepThreeBajajFDViewModel = ViewModelProvider( |
|
|
stepThreeBajajFDViewModel = ViewModelProvider( |
|
@ -105,7 +116,14 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) |
|
|
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) |
|
|
{ uri: Uri? -> |
|
|
{ uri: Uri? -> |
|
|
if (uri != null) { |
|
|
if (uri != null) { |
|
|
uploadDocument(uri) |
|
|
|
|
|
|
|
|
val source = ImageDecoder.createSource(requireActivity().contentResolver, uri) |
|
|
|
|
|
val bitmap = ImageDecoder.decodeBitmap(source) |
|
|
|
|
|
|
|
|
|
|
|
// External sdcard location |
|
|
|
|
|
// val mediaStorageDir = File( |
|
|
|
|
|
// requireActivity().cacheDir, |
|
|
|
|
|
// ) |
|
|
|
|
|
// uploadDocument(uri) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -118,6 +136,22 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
|
|
|
// launcher = registerForActivityResult( |
|
|
|
|
|
// ActivityResultContracts.StartActivityForResult() |
|
|
|
|
|
// ) { result: ActivityResult -> |
|
|
|
|
|
// if (result.resultCode == Activity.RESULT_OK |
|
|
|
|
|
// && result.data != null |
|
|
|
|
|
// ) { |
|
|
|
|
|
// val photoUri = result.data!!.data |
|
|
|
|
|
// if (photoUri != null) { |
|
|
|
|
|
// uploadDocument(photoUri) |
|
|
|
|
|
// } |
|
|
|
|
|
////use photoUri here |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
|
|
|
binding.btnNext.setOnClickListener { |
|
|
binding.btnNext.setOnClickListener { |
|
|
if (validate()) { |
|
|
if (validate()) { |
|
|
uploadDocApi( |
|
|
uploadDocApi( |
|
@ -208,6 +242,9 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
Manifest.permission.READ_EXTERNAL_STORAGE |
|
|
Manifest.permission.READ_EXTERNAL_STORAGE |
|
|
) |
|
|
) |
|
|
if (permission == PackageManager.PERMISSION_GRANTED) { |
|
|
if (permission == PackageManager.PERMISSION_GRANTED) { |
|
|
|
|
|
// val intent = |
|
|
|
|
|
// Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI) |
|
|
|
|
|
// launcher?.launch(intent) |
|
|
selectImageIntent?.launch("image/*") |
|
|
selectImageIntent?.launch("image/*") |
|
|
} else { |
|
|
} else { |
|
|
requestPermission.launch( |
|
|
requestPermission.launch( |
|
|