예제 #1
0
 private async void Biometric_Clicked(object sender, EventArgs e)
 {
     if (DoOnce())
     {
         await _vm.PromptBiometricAsync();
     }
 }
예제 #2
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            if (_appeared)
            {
                return;
            }

            _appeared            = true;
            _mainContent.Content = _mainLayout;

            _accountAvatar?.OnAppearing();

            _vm.AvatarImageSource = await GetAvatarImageSourceAsync();

            await _vm.InitAsync();

            if (!_vm.BiometricLock)
            {
                if (_vm.PinLock)
                {
                    RequestFocus(PinEntry);
                }
                else
                {
                    RequestFocus(MasterPasswordEntry);
                }
            }
            else
            {
                if (_vm.UsingKeyConnector && !_vm.PinLock)
                {
                    _passwordGrid.IsVisible = false;
                    _unlockButton.IsVisible = false;
                }
                if (_autoPromptBiometric)
                {
                    var tasks = Task.Run(async() =>
                    {
                        await Task.Delay(500);
                        Device.BeginInvokeOnMainThread(async() => await _vm.PromptBiometricAsync());
                    });
                }
            }
        }
예제 #3
0
        public async Task PromptBiometricAfterResumeAsync()
        {
            if (_vm.BiometricLock)
            {
                await Task.Delay(500);

                if (!_promptedAfterResume)
                {
                    _promptedAfterResume = true;
                    await _vm?.PromptBiometricAsync();
                }
            }
        }