Skip to content

Commit e56d940

Browse files
committed
Added bool IsFromMockProvider in Location class
1 parent 2c2e6d6 commit e56d940

5 files changed

Lines changed: 14 additions & 23 deletions

File tree

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.xamarin.essentials" android:installLocation="auto">
3-
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="27" />
4-
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
5-
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
6-
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
7-
<uses-permission android:name="android.permission.BATTERY_STATS" />
8-
<uses-permission android:name="android.permission.CAMERA" />
9-
<uses-permission android:name="android.permission.FLASHLIGHT" />
10-
<uses-permission android:name="android.permission.INTERNET" />
11-
<uses-permission android:name="android.permission.VIBRATE" />
12-
<uses-feature android:name="android.hardware.location" android:required="false" />
13-
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
14-
<uses-feature android:name="android.hardware.location.network" android:required="false" />
15-
<application android:label="@string/app_name"
16-
android:icon="@mipmap/ic_launcher"
17-
android:roundIcon="@mipmap/ic_launcher_round"
18-
android:theme="@style/MainTheme"
19-
android:fullBackupContent="@xml/my_backup_rules">
20-
21-
</application>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xamarin.essentials" android:installLocation="auto" android:versionCode="1" android:versionName="1.0">
3+
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="27" />
4+
<uses-feature android:name="android.hardware.location" android:required="false" />
5+
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
6+
<uses-feature android:name="android.hardware.location.network" android:required="false" />
7+
<application android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:fullBackupContent="@xml/my_backup_rules" android:icon="@mipmap/ic_launcher" android:theme="@style/MainTheme"></application>
228
</manifest>

Xamarin.Essentials/Types/Location.shared.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public Location(Location point)
5656

5757
public double? Course { get; set; }
5858

59+
public bool IsFromMockProvider { get; set; }
60+
5961
public static double CalculateDistance(double latitudeStart, double longitudeStart, Location locationEnd, DistanceUnits units) =>
6062
CalculateDistance(latitudeStart, longitudeStart, locationEnd.Latitude, locationEnd.Longitude, units);
6163

Xamarin.Essentials/Types/LocationExtensions.android.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ internal static Location ToLocation(this AndroidLocation location) =>
2929
Timestamp = location.GetTimestamp().ToUniversalTime(),
3030
Accuracy = location.HasAccuracy ? location.Accuracy : default(float?),
3131
Course = location.HasBearing ? location.Bearing : default(double?),
32-
Speed = location.HasSpeed ? location.Speed : default(double?)
32+
Speed = location.HasSpeed ? location.Speed : default(double?),
33+
IsFromMockProvider = !location.IsFromMockProvider
3334
};
3435

3536
static readonly DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

Xamarin.Essentials/Types/LocationExtensions.ios.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ internal static Location ToLocation(this CLLocation location) =>
2929
Accuracy = location.HorizontalAccuracy,
3030
Timestamp = location.Timestamp.ToDateTime(),
3131
Course = location.Course < 0 ? default(double?) : location.Course,
32-
Speed = location.Speed < 0 ? default(double?) : location.Speed
32+
Speed = location.Speed < 0 ? default(double?) : location.Speed,
33+
IsFromMockProvider = DeviceInfo.DeviceType == DeviceType.Virtual
3334
};
3435

3536
internal static DateTimeOffset ToDateTime(this NSDate timestamp)

Xamarin.Essentials/Types/LocationExtensions.uwp.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ internal static Location ToLocation(this Geoposition location) =>
3232
Altitude = location.Coordinate.Point.Position.Altitude,
3333
Accuracy = location.Coordinate.Accuracy,
3434
Speed = (!location.Coordinate.Speed.HasValue || double.IsNaN(location.Coordinate.Speed.Value)) ? default : location.Coordinate.Speed,
35-
Course = (!location.Coordinate.Heading.HasValue || double.IsNaN(location.Coordinate.Heading.Value)) ? default : location.Coordinate.Heading
35+
Course = (!location.Coordinate.Heading.HasValue || double.IsNaN(location.Coordinate.Heading.Value)) ? default : location.Coordinate.Heading,
36+
IsFromMockProvider = false
3637
};
3738

3839
internal static Location ToLocation(this Geocoordinate coordinate) =>

0 commit comments

Comments
 (0)