From b43525691101b0a93e52e83e1469a0a34ad32297 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Fri, 17 Feb 2017 23:03:54 -0500 Subject: [PATCH] handle locked status better. once locked, stay locked. --- src/App/App.cs | 16 ++++++++++------ src/App/Pages/Settings/SettingsPage.cs | 1 - src/App/Services/AuthService.cs | 2 ++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/App/App.cs b/src/App/App.cs index 6b6e7b578..89f71fc3d 100644 --- a/src/App/App.cs +++ b/src/App/App.cs @@ -221,20 +221,18 @@ namespace Bit.App { _authService.LogOut(); + var deviceApiRepository = Resolver.Resolve(); + var appIdService = Resolver.Resolve(); + await Task.Run(() => deviceApiRepository.PutClearTokenAsync(appIdService.AppId)).ConfigureAwait(false); + _googleAnalyticsService.TrackAppEvent("LoggedOut"); _googleAnalyticsService.RefreshUserId(); - Device.BeginInvokeOnMainThread(() => Current.MainPage = new ExtendedNavigationPage(new HomePage())); if(!string.IsNullOrWhiteSpace(logoutMessage)) { _userDialogs.Toast(logoutMessage); } - - var deviceApiRepository = Resolver.Resolve(); - var appIdService = Resolver.Resolve(); - _settings.Remove(Constants.PushLastRegistrationDate); - await Task.Run(() => deviceApiRepository.PutClearTokenAsync(appIdService.AppId)).ConfigureAwait(false); } private async Task CheckLockAsync(bool forceLock) @@ -246,6 +244,12 @@ namespace Bit.App } var lockType = _lockService.GetLockType(forceLock); + if(lockType == Enums.LockType.None) + { + return; + } + + _settings.AddOrUpdateValue(Constants.Locked, true); switch(lockType) { case Enums.LockType.Fingerprint: diff --git a/src/App/Pages/Settings/SettingsPage.cs b/src/App/Pages/Settings/SettingsPage.cs index 3fff0a54a..eebd94b94 100644 --- a/src/App/Pages/Settings/SettingsPage.cs +++ b/src/App/Pages/Settings/SettingsPage.cs @@ -337,7 +337,6 @@ namespace Bit.App.Pages private void LockCell_Tapped(object sender, EventArgs e) { _googleAnalyticsService.TrackAppEvent("Locked"); - _settings.AddOrUpdateValue(Constants.Locked, true); MessagingCenter.Send(Application.Current, "Lock", true); } diff --git a/src/App/Services/AuthService.cs b/src/App/Services/AuthService.cs index cbd590f05..cc084fade 100644 --- a/src/App/Services/AuthService.cs +++ b/src/App/Services/AuthService.cs @@ -187,6 +187,8 @@ namespace Bit.App.Services Email = null; _cryptoService.Key = null; _settings.Remove(Constants.FirstVaultLoad); + _settings.Remove(Constants.PushLastRegistrationDate); + _settings.Remove(Constants.Locked); } public async Task> TokenPostAsync(TokenRequest request)