diff --git a/src/Android/MainActivity.cs b/src/Android/MainActivity.cs index a5f87f2bb..91b17141f 100644 --- a/src/Android/MainActivity.cs +++ b/src/Android/MainActivity.cs @@ -28,6 +28,7 @@ namespace Bit.Android private Java.Util.Regex.Pattern _otpPattern = Java.Util.Regex.Pattern.Compile("^.*?([cbdefghijklnrtuv]{32,64})$"); private IDeviceActionService _deviceActionService; private IDeviceInfoService _deviceInfoService; + private IAppSettingsService _appSettingsService; private ISettings _settings; private AppOptions _appOptions; @@ -71,6 +72,7 @@ namespace Bit.Android _deviceActionService = Resolver.Resolve(); _deviceInfoService = Resolver.Resolve(); + _appSettingsService = Resolver.Resolve(); _settings = Resolver.Resolve(); _appOptions = GetOptions(); LoadApplication(new App.App( @@ -83,7 +85,7 @@ namespace Bit.Android Resolver.Resolve(), Resolver.Resolve(), Resolver.Resolve(), - Resolver.Resolve(), + _appSettingsService, _deviceActionService)); if(_appOptions?.Uri == null) @@ -147,6 +149,11 @@ namespace Bit.Android System.Diagnostics.Debug.WriteLine(e); } } + + if(_appSettingsService.Locked) + { + MessagingCenter.Send(Xamarin.Forms.Application.Current, "Resumed", false); + } } protected override void OnNewIntent(Intent intent) diff --git a/src/App/App.cs b/src/App/App.cs index c020547af..69e1b6718 100644 --- a/src/App/App.cs +++ b/src/App/App.cs @@ -78,14 +78,14 @@ namespace Bit.App MainPage = new ExtendedNavigationPage(new HomePage()); } - if(Device.RuntimePlatform == Device.iOS) + MessagingCenter.Subscribe(Current, "Resumed", async (sender, forceLock) => { - MessagingCenter.Subscribe(Current, "Resumed", async (sender, forceLock) => + Device.BeginInvokeOnMainThread(async () => await _lockService.CheckLockAsync(forceLock)); + if(Device.RuntimePlatform == Device.iOS) { - Device.BeginInvokeOnMainThread(async () => await _lockService.CheckLockAsync(forceLock)); await Task.Run(() => FullSyncAsync()).ConfigureAwait(false); - }); - } + } + }); } protected async override void OnStart()