diff --git a/apps/chanora_flutter/android/app/src/main/kotlin/app/chanora/chanora_flutter/MainActivity.kt b/apps/chanora_flutter/android/app/src/main/kotlin/app/chanora/chanora_flutter/MainActivity.kt index 6e07e7c..1fca899 100644 --- a/apps/chanora_flutter/android/app/src/main/kotlin/app/chanora/chanora_flutter/MainActivity.kt +++ b/apps/chanora_flutter/android/app/src/main/kotlin/app/chanora/chanora_flutter/MainActivity.kt @@ -86,6 +86,14 @@ class MainActivity : FlutterActivity() { // in configureFlutterEngine and cleared in onDestroy after detach(). private var backIntentBridge: BackIntentBridge? = null + private fun permissionStateWireName( + state: AndroidPermissionRequester.PermissionState, + ): String = when (state) { + AndroidPermissionRequester.PermissionState.Granted -> "Granted" + AndroidPermissionRequester.PermissionState.Denied -> "Denied" + AndroidPermissionRequester.PermissionState.PermanentlyDenied -> "PermanentlyDenied" + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) window.navigationBarColor = Color.rgb(255, 251, 254) @@ -125,7 +133,7 @@ class MainActivity : FlutterActivity() { permissionsChannel = channel val requester = AndroidPermissionRequester() requester.stateChangeListener = { permission, state -> - val stateName = state.javaClass.simpleName + val stateName = permissionStateWireName(state) channel.invokeMethod( MethodChannels.METHOD_PERMISSION_STATE_CHANGED, mapOf( @@ -166,7 +174,7 @@ class MainActivity : FlutterActivity() { val r = permissionRequester if (r != null) { r.ensureRecordAudioPermission(this) { state -> - result.success(state.javaClass.simpleName) + result.success(permissionStateWireName(state)) } } else { result.error(