summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/Device.cs
diff options
context:
space:
mode:
authorStephane Delcroix <stephane@delcroix.org>2017-01-12 21:05:41 +0100
committerJason Smith <jason.smith@xamarin.com>2017-01-12 12:05:41 -0800
commitb6cb64e4930de9b16309f2d30c6bb0a2177048fd (patch)
treeae15f36d3e0e60cac6305f90520ad778de9c6ee3 /Xamarin.Forms.Core/Device.cs
parent3af99cbbe145a876cc9839af0adead83695b5445 (diff)
downloadxamarin-forms-b6cb64e4930de9b16309f2d30c6bb0a2177048fd.tar.gz
xamarin-forms-b6cb64e4930de9b16309f2d30c6bb0a2177048fd.tar.bz2
xamarin-forms-b6cb64e4930de9b16309f2d30c6bb0a2177048fd.zip
[C] new OnPlatform mechanism (#658)
* [C] Obsolete TargetPlatform * [Xaml] support and test the new syntax * blind fix windows platforms
Diffstat (limited to 'Xamarin.Forms.Core/Device.cs')
-rw-r--r--Xamarin.Forms.Core/Device.cs33
1 files changed, 20 insertions, 13 deletions
diff --git a/Xamarin.Forms.Core/Device.cs b/Xamarin.Forms.Core/Device.cs
index 5a02bcea..f18251d2 100644
--- a/Xamarin.Forms.Core/Device.cs
+++ b/Xamarin.Forms.Core/Device.cs
@@ -8,13 +8,30 @@ namespace Xamarin.Forms
{
public static class Device
{
+ public const string iOS = "iOS";
+ public const string Android = "Android";
+ public const string WinPhone = "WinPhone";
+ public const string Windows = "Windows";
+
internal static DeviceInfo info;
static IPlatformServices s_platformServices;
public static TargetIdiom Idiom { get; internal set; }
- public static TargetPlatform OS { get; internal set; }
+ [Obsolete("Use RuntimePlatform instead.")]
+#pragma warning disable 0618
+ public static TargetPlatform OS {
+ get {
+ TargetPlatform platform;
+ if (Enum.TryParse(RuntimePlatform, out platform))
+ return platform;
+ return TargetPlatform.Other;
+ }
+ }
+#pragma warning restore 0618
+
+ public static string RuntimePlatform => PlatformServices.RuntimePlatform;
internal static DeviceInfo Info
{
@@ -58,6 +75,7 @@ namespace Xamarin.Forms
return GetNamedSize(size, targetElementType, false);
}
+ [Obsolete("Use switch(RuntimePlatform) instead.")]
public static void OnPlatform(Action iOS = null, Action Android = null, Action WinPhone = null, Action Default = null)
{
switch (OS)
@@ -88,6 +106,7 @@ namespace Xamarin.Forms
}
}
+ [Obsolete("Use switch(RuntimePlatform) instead.")]
public static T OnPlatform<T>(T iOS, T Android, T WinPhone)
{
switch (OS)
@@ -104,18 +123,6 @@ namespace Xamarin.Forms
return iOS;
}
- public static T OnPlatform<T>(T iOS, T Android, T WinPhone, T Tizen)
- {
- if (OS == TargetPlatform.Tizen)
- {
- return Tizen;
- }
- else
- {
- return OnPlatform<T>(iOS, Android, WinPhone);
- }
- }
-
public static void OpenUri(Uri uri)
{
PlatformServices.OpenUriAction(uri);