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

Commit

Permalink
Merge pull request #598 from jamesmontemagno/dev/api-fix-574
Browse files Browse the repository at this point in the history
GH-574: Added Default and set it to Medium
  • Loading branch information
mattleibow authored Nov 2, 2018
2 parents 3219cc6 + 4599c20 commit 7e980ad
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 42 deletions.
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 @@ -221,11 +221,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 @@ -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-uwp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,11 +221,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 @@ -221,11 +221,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>

0 comments on commit 7e980ad

Please sign in to comment.