public async Task InitializeAsync()

in src/Covi.iOS/Features/Bluetooth/PlatformInitializer.cs [33:67]


        public async Task<InitializationResult> InitializeAsync()
        {
            var status = await Xamarin.Essentials.Permissions.CheckStatusAsync<BluetoothCentralPermissions>();
            if (status != PermissionStatus.Granted)
            {
                status = await Xamarin.Essentials.Permissions.RequestAsync<BluetoothCentralPermissions>();
                if (status != PermissionStatus.Granted)
                {
                    return new InitializationResult()
                    {
                        PermissionStatus = status,
                        Success = status == PermissionStatus.Granted
                    };
                }
            }

            var peripheralStatus = await Xamarin.Essentials.Permissions.CheckStatusAsync<BluetoothPeripheralPermissions>();
            if (peripheralStatus != PermissionStatus.Granted)
            {
                peripheralStatus = await Xamarin.Essentials.Permissions.RequestAsync<BluetoothPeripheralPermissions>();
                return new InitializationResult()
                {
                    PermissionStatus = peripheralStatus,
                    Success = status == PermissionStatus.Granted
                };
            }

            var result = new InitializationResult()
            {
                PermissionStatus = peripheralStatus,
                Success = status == PermissionStatus.Granted
            };

            return result;
        }