2019-05-29 15:08:47 +02:00
|
|
|
|
using Bit.App.Abstractions;
|
|
|
|
|
using Bit.App.Resources;
|
2019-05-29 15:36:57 +02:00
|
|
|
|
using Bit.Core;
|
2019-05-29 15:08:47 +02:00
|
|
|
|
using Bit.Core.Abstractions;
|
|
|
|
|
using Bit.Core.Utilities;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Bit.App.Pages
|
|
|
|
|
{
|
|
|
|
|
public class OptionsPageViewModel : BaseViewModel
|
|
|
|
|
{
|
|
|
|
|
private readonly IDeviceActionService _deviceActionService;
|
|
|
|
|
private readonly IPlatformUtilsService _platformUtilsService;
|
2019-05-29 15:36:57 +02:00
|
|
|
|
private readonly IStorageService _storageService;
|
|
|
|
|
private readonly ITotpService _totpService;
|
|
|
|
|
private readonly IStateService _stateService;
|
|
|
|
|
|
|
|
|
|
private bool _disableFavicon;
|
|
|
|
|
private bool _disableAutoTotpCopy;
|
2019-05-29 15:08:47 +02:00
|
|
|
|
|
|
|
|
|
public OptionsPageViewModel()
|
|
|
|
|
{
|
|
|
|
|
_deviceActionService = ServiceContainer.Resolve<IDeviceActionService>("deviceActionService");
|
|
|
|
|
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
|
2019-05-29 15:36:57 +02:00
|
|
|
|
_storageService = ServiceContainer.Resolve<IStorageService>("storageService");
|
|
|
|
|
_totpService = ServiceContainer.Resolve<ITotpService>("totpService");
|
|
|
|
|
_stateService = ServiceContainer.Resolve<IStateService>("stateService");
|
2019-05-29 15:08:47 +02:00
|
|
|
|
|
|
|
|
|
PageTitle = AppResources.Options;
|
|
|
|
|
}
|
2019-05-29 15:36:57 +02:00
|
|
|
|
|
|
|
|
|
public bool DisableFavicon
|
|
|
|
|
{
|
|
|
|
|
get => _disableFavicon;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
if(SetProperty(ref _disableFavicon, value))
|
|
|
|
|
{
|
|
|
|
|
var task = UpdateDisableFaviconAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool DisableAutoTotpCopy
|
|
|
|
|
{
|
|
|
|
|
get => _disableAutoTotpCopy;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
if(SetProperty(ref _disableAutoTotpCopy, value))
|
|
|
|
|
{
|
|
|
|
|
var task = UpdateAutoTotpCopyAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task InitAsync()
|
|
|
|
|
{
|
|
|
|
|
DisableAutoTotpCopy = !(await _totpService.IsAutoCopyEnabledAsync());
|
|
|
|
|
DisableFavicon = await _storageService.GetAsync<bool>(Constants.DisableFaviconKey);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task UpdateAutoTotpCopyAsync()
|
|
|
|
|
{
|
|
|
|
|
await _storageService.SaveAsync(Constants.DisableAutoTotpCopyKey, DisableAutoTotpCopy);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task UpdateDisableFaviconAsync()
|
|
|
|
|
{
|
|
|
|
|
await _storageService.SaveAsync(Constants.DisableFaviconKey, DisableFavicon);
|
|
|
|
|
await _stateService.SaveAsync(Constants.DisableFaviconKey, DisableFavicon);
|
|
|
|
|
}
|
2019-05-29 15:08:47 +02:00
|
|
|
|
}
|
|
|
|
|
}
|