Clean up and add location permissions in windows phone project
This commit is contained in:
		
							parent
							
								
									1d3cad9e67
								
							
						
					
					
						commit
						d75f48035f
					
				@ -3,6 +3,8 @@ using eShopOnContainers.Core.Helpers;
 | 
				
			|||||||
using eShopOnContainers.Services;
 | 
					using eShopOnContainers.Services;
 | 
				
			||||||
using eShopOnContainers.Core.ViewModels.Base;
 | 
					using eShopOnContainers.Core.ViewModels.Base;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using eShopOnContainers.Core.Models.Location;
 | 
				
			||||||
 | 
					using eShopOnContainers.Core.Services.Location;
 | 
				
			||||||
using Plugin.Geolocator;
 | 
					using Plugin.Geolocator;
 | 
				
			||||||
using Xamarin.Forms;
 | 
					using Xamarin.Forms;
 | 
				
			||||||
using Xamarin.Forms.Xaml;
 | 
					using Xamarin.Forms.Xaml;
 | 
				
			||||||
@ -52,6 +54,13 @@ namespace eShopOnContainers
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                await GetRealLocation();
 | 
					                await GetRealLocation();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!Settings.UseMocks && !string.IsNullOrEmpty(Settings.UserId))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                await SendCurrentLocation();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            base.OnResume();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected override void OnSleep()
 | 
					        protected override void OnSleep()
 | 
				
			||||||
@ -59,14 +68,10 @@ namespace eShopOnContainers
 | 
				
			|||||||
            // Handle when your app sleeps
 | 
					            // Handle when your app sleeps
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected override void OnResume()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            // Handle when your app resumes
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private async Task GetRealLocation()
 | 
					        private async Task GetRealLocation()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var locator = CrossGeolocator.Current;
 | 
					            var locator = CrossGeolocator.Current;
 | 
				
			||||||
 | 
					            locator.AllowsBackgroundUpdates = true;
 | 
				
			||||||
            locator.DesiredAccuracy = 50;
 | 
					            locator.DesiredAccuracy = 50;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var position = await locator.GetPositionAsync(20000);
 | 
					            var position = await locator.GetPositionAsync(20000);
 | 
				
			||||||
@ -74,5 +79,18 @@ namespace eShopOnContainers
 | 
				
			|||||||
            Settings.Latitude = position.Latitude;
 | 
					            Settings.Latitude = position.Latitude;
 | 
				
			||||||
            Settings.Longitude = position.Longitude;
 | 
					            Settings.Longitude = position.Longitude;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private async Task SendCurrentLocation()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var location = new Location
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Latitude = Settings.Latitude,
 | 
				
			||||||
 | 
					                Longitude = Settings.Longitude
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var locationService = ViewModelLocator.Resolve<ILocationService>();
 | 
				
			||||||
 | 
					            await locationService.UpdateUserLocation(location,
 | 
				
			||||||
 | 
					                Settings.AuthAccessToken);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -25,5 +25,6 @@
 | 
				
			|||||||
  <Capabilities>
 | 
					  <Capabilities>
 | 
				
			||||||
    <Capability Name="internetClient" />
 | 
					    <Capability Name="internetClient" />
 | 
				
			||||||
    <Capability Name="privateNetworkClientServer" />
 | 
					    <Capability Name="privateNetworkClientServer" />
 | 
				
			||||||
 | 
					    <DeviceCapability Name="location" />
 | 
				
			||||||
  </Capabilities>
 | 
					  </Capabilities>
 | 
				
			||||||
</Package>
 | 
					</Package>
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user