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