From 2aaffe71cf9f915c35c47803ae9e06d5f61240cf Mon Sep 17 00:00:00 2001 From: David Britch Date: Thu, 22 Feb 2018 11:09:34 +0000 Subject: [PATCH] Removed lazy creation of PermissionsService on iOS and Android. --- .../eShopOnContainers.Droid/Activities/MainActivity.cs | 2 +- .../Services/LocationServiceImplementation.cs | 4 ++-- .../Services/PermissionsService.cs | 3 +-- .../Services/LocationServiceImplementation.cs | 8 ++++---- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Activities/MainActivity.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Activities/MainActivity.cs index c6f49b090..4b823bbd0 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Activities/MainActivity.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Activities/MainActivity.cs @@ -57,7 +57,7 @@ namespace eShopOnContainers.Droid.Activities public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) { base.OnRequestPermissionsResult(requestCode, permissions, grantResults); - ((PermissionsService)PermissionsService.Current.Value).OnRequestPermissionResult(requestCode, permissions, grantResults); + ((PermissionsService)PermissionsService.Instance).OnRequestPermissionResult(requestCode, permissions, grantResults); } } } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/LocationServiceImplementation.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/LocationServiceImplementation.cs index 7d6f5f40f..df3b4f34c 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/LocationServiceImplementation.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/LocationServiceImplementation.cs @@ -44,12 +44,12 @@ namespace eShopOnContainers.Droid.Services async Task CheckPermissionsAsync() { - var status = await PermissionsService.Current.Value.CheckPermissionStatusAsync(Permission.Location); + var status = await PermissionsService.Instance.CheckPermissionStatusAsync(Permission.Location); if (status != PermissionStatus.Granted) { Console.WriteLine("Currently do not have Location permissions, requesting permissions."); - var request = await PermissionsService.Current.Value.RequestPermissionsAsync(Permission.Location); + var request = await PermissionsService.Instance.RequestPermissionsAsync(Permission.Location); if (request[Permission.Location] != PermissionStatus.Granted) { Console.WriteLine("Location permission denied."); diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/PermissionsService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/PermissionsService.cs index c1fbd2f98..e8be858ad 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/PermissionsService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Services/PermissionsService.cs @@ -8,7 +8,6 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; -using System.Threading; using System.Threading.Tasks; namespace eShopOnContainers.Droid.Services @@ -21,7 +20,7 @@ namespace eShopOnContainers.Droid.Services Dictionary _results; IList _requestedPermissions; - public static Lazy Current = new Lazy(() => new PermissionsService(), LazyThreadSafetyMode.PublicationOnly); + public static IPermissionsService Instance = new PermissionsService(); #region Internal Implementation diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Services/LocationServiceImplementation.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Services/LocationServiceImplementation.cs index ee7aabed4..7b8a6f0ff 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Services/LocationServiceImplementation.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Services/LocationServiceImplementation.cs @@ -15,24 +15,24 @@ namespace eShopOnContainers.iOS.Services { public class LocationServiceImplementation : ILocationServiceImplementation { - Lazy _permissionsService; + IPermissionsService _permissionsService; public LocationServiceImplementation() { DesiredAccuracy = 100; - _permissionsService = new Lazy(() => new PermissionsService(), LazyThreadSafetyMode.PublicationOnly); + _permissionsService = new PermissionsService(); } #region Internal Implementation async Task CheckPermissions(Permission permission) { - var status = await _permissionsService.Value.CheckPermissionStatusAsync(permission); + var status = await _permissionsService.CheckPermissionStatusAsync(permission); if (status != PermissionStatus.Granted) { Console.WriteLine("Currently do not have Location permissions, requesting permissions"); - var request = await _permissionsService.Value.RequestPermissionsAsync(permission); + var request = await _permissionsService.RequestPermissionsAsync(permission); if (request[permission] != PermissionStatus.Granted) { Console.WriteLine("Location permission denied, can not get positions async.");