Untitled
unknown
java
5 months ago
1.3 kB
3
Indexable
abstract class BasePermissionRecordFragment : Fragment() { protected abstract fun startRecording() protected fun requestPermission() { if (PermissionHelper.checkPermissionRecord(requireContext())){ startRecording() }else{ requestPermission.launch(PermissionHelper.getPermissionRecord()) } } private fun showDialogRecordPermission() { RecordPermissionDialog(requireContext()).setListener(object : RecordPermissionDialog.OnDialogRecordPermissionListener{ override fun onGotoSetting() { settingForResult.launch(PermissionHelper.getIntentSettingDetails(requireContext())) } }).show() } private val requestPermission: ActivityResultLauncher<String> = registerForActivityResult( ActivityResultContracts.RequestPermission() ) { _ -> if (PermissionHelper.checkPermissionRecord(requireContext())) { startRecording() }else{ showDialogRecordPermission() } } private val settingForResult: ActivityResultLauncher<Intent> = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { _ -> if (PermissionHelper.checkPermissionRecord(requireContext())) { startRecording() } } }
Editor is loading...
Leave a Comment