mirror of
https://github.com/bitwarden/mobile.git
synced 2024-09-27 03:52:57 +02:00
c71deb5051
* enhanced autofill settings * cleanup
75 lines
2.0 KiB
C#
75 lines
2.0 KiB
C#
using System;
|
|
using Xamarin.Forms;
|
|
|
|
namespace Bit.App.Pages
|
|
{
|
|
public partial class AutofillServicesPage : BaseContentPage
|
|
{
|
|
private readonly AutofillServicesPageViewModel _vm;
|
|
private readonly SettingsPage _settingsPage;
|
|
private DateTime? _timerStarted = null;
|
|
private TimeSpan _timerMaxLength = TimeSpan.FromMinutes(5);
|
|
|
|
public AutofillServicesPage(SettingsPage settingsPage)
|
|
{
|
|
InitializeComponent();
|
|
_vm = BindingContext as AutofillServicesPageViewModel;
|
|
_vm.Page = this;
|
|
_settingsPage = settingsPage;
|
|
}
|
|
|
|
protected async override void OnAppearing()
|
|
{
|
|
await _vm.InitAsync();
|
|
_vm.UpdateEnabled();
|
|
_timerStarted = DateTime.UtcNow;
|
|
Device.StartTimer(new TimeSpan(0, 0, 0, 0, 500), () =>
|
|
{
|
|
if (_timerStarted == null || (DateTime.UtcNow - _timerStarted) > _timerMaxLength)
|
|
{
|
|
return false;
|
|
}
|
|
_vm.UpdateEnabled();
|
|
return true;
|
|
});
|
|
base.OnAppearing();
|
|
}
|
|
|
|
protected override void OnDisappearing()
|
|
{
|
|
_timerStarted = null;
|
|
_settingsPage.BuildList();
|
|
base.OnDisappearing();
|
|
}
|
|
|
|
private void ToggleAutofillService(object sender, EventArgs e)
|
|
{
|
|
if (DoOnce())
|
|
{
|
|
_vm.ToggleAutofillService();
|
|
}
|
|
}
|
|
|
|
private void ToggleInlineAutofill(object sender, EventArgs e)
|
|
{
|
|
_vm.ToggleInlineAutofill();
|
|
}
|
|
|
|
private void ToggleAccessibility(object sender, EventArgs e)
|
|
{
|
|
if (DoOnce())
|
|
{
|
|
_vm.ToggleAccessibility();
|
|
}
|
|
}
|
|
|
|
private void ToggleDrawOver(object sender, EventArgs e)
|
|
{
|
|
if (DoOnce())
|
|
{
|
|
_vm.ToggleDrawOver();
|
|
}
|
|
}
|
|
}
|
|
}
|