Untitled
unknown
java
a year ago
1.3 kB
4
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