From 1a4d62d46a06c15adc4dd7cd156b2eb5eddf2e20 Mon Sep 17 00:00:00 2001 From: cettareswara <13521133@std.stei.itb.ac.id> Date: Fri, 5 Apr 2024 16:58:48 +0700 Subject: [PATCH] update: external permission --- .../com/example/bondoman/fragment_settings.kt | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/bondoman/fragment_settings.kt b/app/src/main/java/com/example/bondoman/fragment_settings.kt index 927c5e4..3ec4fa6 100644 --- a/app/src/main/java/com/example/bondoman/fragment_settings.kt +++ b/app/src/main/java/com/example/bondoman/fragment_settings.kt @@ -41,6 +41,8 @@ class SettingsFragment : Fragment() { btnSaveTransaction.setOnClickListener { saveTransactionData() } btnSendTransaction.setOnClickListener { sendTransactionData() } + checkAndRequestPermissions() + return view } @@ -48,7 +50,25 @@ class SettingsFragment : Fragment() { if (ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(requireActivity(), arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), WRITE_EXTERNAL_STORAGE_REQUEST_CODE) } - m + } + + override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults) + if (requestCode == WRITE_EXTERNAL_STORAGE_REQUEST_CODE) { + if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // Permission granted, proceed with file saving + } else { + // Permission denied + Toast.makeText(requireContext(), "Write external storage permission denied", Toast.LENGTH_SHORT).show() + } + } else if (requestCode == SEND_EMAIL_REQUEST_CODE) { + if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // Permission granted, proceed with sending email + } else { + // Permission denied + Toast.makeText(requireContext(), "Send email permission denied", Toast.LENGTH_SHORT).show() + } + } } private fun saveTransactionData() { -- GitLab