diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-01-12 21:05:41 +0100 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2017-01-12 12:05:41 -0800 |
commit | b6cb64e4930de9b16309f2d30c6bb0a2177048fd (patch) | |
tree | ae15f36d3e0e60cac6305f90520ad778de9c6ee3 /Xamarin.Forms.Core/Device.cs | |
parent | 3af99cbbe145a876cc9839af0adead83695b5445 (diff) | |
download | xamarin-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.cs | 33 |
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); |