Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

GH-574: Added Default and set it to Medium #598

Merged
merged 1 commit into from
Nov 2, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Samples/Samples/ViewModel/GeolocationViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class GeolocationViewModel : BaseViewModel
string notAvailable = "not available";
string lastLocation;
string currentLocation;
int accuracy = (int)GeolocationAccuracy.Medium;
int accuracy = (int)GeolocationAccuracy.Default;
CancellationTokenSource cts;

public GeolocationViewModel()
Expand Down
1 change: 1 addition & 0 deletions Xamarin.Essentials/Geolocation/Geolocation.android.cs
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ void RemoveUpdates()
criteria.PowerRequirement = LocationPower.Low;
accuracyDistance = 500;
break;
case GeolocationAccuracy.Default:
case GeolocationAccuracy.Medium:
criteria.Accuracy = Accuracy.Coarse;
criteria.HorizontalAccuracy = Accuracy.Medium;
Expand Down
1 change: 1 addition & 0 deletions Xamarin.Essentials/Geolocation/GeolocationRequest.ios.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ internal double PlatformDesiredAccuracy
return CLLocation.AccuracyThreeKilometers;
case GeolocationAccuracy.Low:
return CLLocation.AccuracyKilometer;
case GeolocationAccuracy.Default:
case GeolocationAccuracy.Medium:
return CLLocation.AccuracyHundredMeters;
case GeolocationAccuracy.High:
Expand Down
15 changes: 9 additions & 6 deletions Xamarin.Essentials/Geolocation/GeolocationRequest.shared.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,41 @@ namespace Xamarin.Essentials
{
public enum GeolocationAccuracy
{
// Default is Medium
Default = 0,

// iOS: ThreeKilometers (3000m)
// Android: ACCURACY_LOW, POWER_LOW (500m)
// UWP: 3000 (1000-5000m)
Lowest,
Lowest = 1,

// iOS: Kilometer (1000m)
// Android: ACCURACY_LOW, POWER_MED (500m)
// UWP: 1000 (300-3000m)
Low,
Low = 2,

// iOS: HundredMeters (100m)
// Android: ACCURACY_MED, POWER_MED (100-500m)
// UWP: 100 (30-500m)
Medium,
Medium = 3,

// iOS: NearestTenMeters (10m)
// Android: ACCURACY_HI, POWER_MED (0-100m)
// UWP: High (<=10m)
High,
High = 4,

// iOS: Best (0m)
// Android: ACCURACY_HI, POWER_HI (0-100m)
// UWP: High (<=10m)
Best
Best = 5
}

public partial class GeolocationRequest
{
public GeolocationRequest()
{
Timeout = TimeSpan.Zero;
DesiredAccuracy = GeolocationAccuracy.Medium;
DesiredAccuracy = GeolocationAccuracy.Default;
}

public GeolocationRequest(GeolocationAccuracy accuracy)
Expand Down
1 change: 1 addition & 0 deletions Xamarin.Essentials/Geolocation/GeolocationRequest.uwp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ internal uint PlatformDesiredAccuracy
return 3000;
case GeolocationAccuracy.Low:
return 1000;
case GeolocationAccuracy.Default:
case GeolocationAccuracy.Medium:
return 100;
case GeolocationAccuracy.High:
Expand Down
5 changes: 3 additions & 2 deletions docs/en/FrameworksIndex/xamarin-essentials-android.xml
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,12 @@
<Member Id="M:Xamarin.Essentials.Geolocation.GetLocationAsync(Xamarin.Essentials.GeolocationRequest,System.Threading.CancellationToken)" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationAccuracy" Id="T:Xamarin.Essentials.GeolocationAccuracy">
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Default" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Low" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Lowest" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Medium" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationRequest" Id="T:Xamarin.Essentials.GeolocationRequest">
<Member Id="M:Xamarin.Essentials.GeolocationRequest.#ctor" />
Expand Down
5 changes: 3 additions & 2 deletions docs/en/FrameworksIndex/xamarin-essentials-ios.xml
Original file line number Diff line number Diff line change
Expand Up @@ -223,11 +223,12 @@
<Member Id="M:Xamarin.Essentials.Geolocation.GetLocationAsync(Xamarin.Essentials.GeolocationRequest,System.Threading.CancellationToken)" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationAccuracy" Id="T:Xamarin.Essentials.GeolocationAccuracy">
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Default" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Low" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Lowest" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Medium" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationRequest" Id="T:Xamarin.Essentials.GeolocationRequest">
<Member Id="M:Xamarin.Essentials.GeolocationRequest.#ctor" />
Expand Down
5 changes: 3 additions & 2 deletions docs/en/FrameworksIndex/xamarin-essentials-uwp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,12 @@
<Member Id="M:Xamarin.Essentials.Geolocation.GetLocationAsync(Xamarin.Essentials.GeolocationRequest,System.Threading.CancellationToken)" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationAccuracy" Id="T:Xamarin.Essentials.GeolocationAccuracy">
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Default" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Low" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Lowest" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Medium" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationRequest" Id="T:Xamarin.Essentials.GeolocationRequest">
<Member Id="M:Xamarin.Essentials.GeolocationRequest.#ctor" />
Expand Down
5 changes: 3 additions & 2 deletions docs/en/FrameworksIndex/xamarin-essentials.xml
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,12 @@
<Member Id="M:Xamarin.Essentials.Geolocation.GetLocationAsync(Xamarin.Essentials.GeolocationRequest,System.Threading.CancellationToken)" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationAccuracy" Id="T:Xamarin.Essentials.GeolocationAccuracy">
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Default" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Low" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Lowest" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Medium" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<Member Id="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
</Type>
<Type Name="Xamarin.Essentials.GeolocationRequest" Id="T:Xamarin.Essentials.GeolocationRequest">
<Member Id="M:Xamarin.Essentials.GeolocationRequest.#ctor" />
Expand Down
71 changes: 44 additions & 27 deletions docs/en/Xamarin.Essentials/GeolocationAccuracy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
<remarks></remarks>
</Docs>
<Members>
<Member MemberName="Best">
<MemberSignature Language="C#" Value="Best" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy Best = int32(4)" />
<MemberSignature Language="DocId" Value="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
<Member MemberName="Default">
<MemberSignature Language="C#" Value="Default" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy Default = int32(0)" />
<MemberSignature Language="DocId" Value="F:Xamarin.Essentials.GeolocationAccuracy.Default" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
Expand All @@ -26,26 +26,9 @@
<ReturnValue>
<ReturnType>Xamarin.Essentials.GeolocationAccuracy</ReturnType>
</ReturnValue>
<MemberValue>4</MemberValue>
<Docs>
<summary>Represents the best accuracy, using the most power to obtain and typically within 10 meters.</summary>
</Docs>
</Member>
<Member MemberName="High">
<MemberSignature Language="C#" Value="High" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy High = int32(3)" />
<MemberSignature Language="DocId" Value="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.Essentials</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Essentials.GeolocationAccuracy</ReturnType>
</ReturnValue>
<MemberValue>3</MemberValue>
<MemberValue>0</MemberValue>
<Docs>
<summary>Represents high accuracy, typically within 10-100 meters.</summary>
<summary>Represents default accuracy (Medium), typically within 30-500 meters.</summary>
</Docs>
</Member>
<Member MemberName="Low">
Expand All @@ -67,7 +50,7 @@
</Member>
<Member MemberName="Lowest">
<MemberSignature Language="C#" Value="Lowest" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy Lowest = int32(0)" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy Lowest = int32(2)" />
<MemberSignature Language="DocId" Value="F:Xamarin.Essentials.GeolocationAccuracy.Lowest" />
<MemberType>Field</MemberType>
<AssemblyInfo>
Expand All @@ -77,14 +60,14 @@
<ReturnValue>
<ReturnType>Xamarin.Essentials.GeolocationAccuracy</ReturnType>
</ReturnValue>
<MemberValue>0</MemberValue>
<MemberValue>2</MemberValue>
<Docs>
<summary>Represents the lowest accuracy, using the least power to obtain and typically within 1000-5000 meters.</summary>
</Docs>
</Member>
<Member MemberName="Medium">
<MemberSignature Language="C#" Value="Medium" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy Medium = int32(2)" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy Medium = int32(3)" />
<MemberSignature Language="DocId" Value="F:Xamarin.Essentials.GeolocationAccuracy.Medium" />
<MemberType>Field</MemberType>
<AssemblyInfo>
Expand All @@ -94,10 +77,44 @@
<ReturnValue>
<ReturnType>Xamarin.Essentials.GeolocationAccuracy</ReturnType>
</ReturnValue>
<MemberValue>2</MemberValue>
<MemberValue>3</MemberValue>
<Docs>
<summary>Represents medium accuracy, typically within 30-500 meters.</summary>
</Docs>
</Member>
<Member MemberName="High">
<MemberSignature Language="C#" Value="High" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy High = int32(4)" />
<MemberSignature Language="DocId" Value="F:Xamarin.Essentials.GeolocationAccuracy.High" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.Essentials</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Essentials.GeolocationAccuracy</ReturnType>
</ReturnValue>
<MemberValue>4</MemberValue>
<Docs>
<summary>Represents high accuracy, typically within 10-100 meters.</summary>
</Docs>
</Member>
<Member MemberName="Best">
<MemberSignature Language="C#" Value="Best" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Essentials.GeolocationAccuracy Best = int32(5)" />
<MemberSignature Language="DocId" Value="F:Xamarin.Essentials.GeolocationAccuracy.Best" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<AssemblyName>Xamarin.Essentials</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Essentials.GeolocationAccuracy</ReturnType>
</ReturnValue>
<MemberValue>5</MemberValue>
<Docs>
<summary>Represents the best accuracy, using the most power to obtain and typically within 10 meters.</summary>
</Docs>
</Member>
</Members>
</Type>