2019-06-03 18:05:18 +02:00
|
|
|
|
using System;
|
|
|
|
|
using Xamarin.Forms;
|
|
|
|
|
|
|
|
|
|
namespace Bit.App.Pages
|
|
|
|
|
{
|
|
|
|
|
public partial class AccessibilityServicePage : BaseContentPage
|
|
|
|
|
{
|
|
|
|
|
private readonly AccessibilityServicePageViewModel _vm;
|
|
|
|
|
private readonly SettingsPage _settingsPage;
|
|
|
|
|
private DateTime? _timerStarted = null;
|
|
|
|
|
private TimeSpan _timerMaxLength = TimeSpan.FromMinutes(5);
|
|
|
|
|
|
|
|
|
|
public AccessibilityServicePage(SettingsPage settingsPage)
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
_vm = BindingContext as AccessibilityServicePageViewModel;
|
|
|
|
|
_vm.Page = this;
|
|
|
|
|
_settingsPage = settingsPage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnAppearing()
|
|
|
|
|
{
|
|
|
|
|
_vm.UpdateEnabled();
|
2020-01-10 16:20:19 +01:00
|
|
|
|
_vm.UpdatePermitted();
|
2019-06-03 18:05:18 +02:00
|
|
|
|
_timerStarted = DateTime.UtcNow;
|
|
|
|
|
Device.StartTimer(new TimeSpan(0, 0, 3), () =>
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (_timerStarted == null || (DateTime.UtcNow - _timerStarted) > _timerMaxLength)
|
2019-06-03 18:05:18 +02:00
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
_vm.UpdateEnabled();
|
2020-01-10 16:20:19 +01:00
|
|
|
|
_vm.UpdatePermitted();
|
2019-06-03 18:05:18 +02:00
|
|
|
|
return true;
|
|
|
|
|
});
|
|
|
|
|
base.OnAppearing();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnDisappearing()
|
|
|
|
|
{
|
|
|
|
|
_timerStarted = null;
|
|
|
|
|
_settingsPage.BuildList();
|
|
|
|
|
base.OnDisappearing();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Settings_Clicked(object sender, EventArgs e)
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (DoOnce())
|
2019-06-03 18:05:18 +02:00
|
|
|
|
{
|
|
|
|
|
_vm.OpenSettings();
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-01-10 16:20:19 +01:00
|
|
|
|
|
|
|
|
|
private void OverlayPermissionSettings_Clicked(object sender, EventArgs e)
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (DoOnce())
|
2020-01-10 16:20:19 +01:00
|
|
|
|
{
|
|
|
|
|
_vm.OpenOverlayPermissionSettings();
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-06-03 18:05:18 +02:00
|
|
|
|
}
|
|
|
|
|
}
|