protected override async void OnAppearing() { base.OnAppearing(); if (!checkedForPermission) { checkedForPermission = true; var waitBox = new WaitOnPredicateBox(Navigation, () => speechService.IsPermitted != PermissionRequest.Pending, 100, "Waiting on speech..."); speechService.RequestPemission(); readPermission = await waitBox.ShowModal(); } if (readPermission && speechService.IsPermitted == PermissionRequest.Allowed) { Record.IsEnabled = true; } }