From cdf90b6d5cfa80f98c928f90bc53768c4c93aa40 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Thu, 24 Aug 2023 18:03:07 +0200 Subject: [PATCH] Revert "Remove TargetIdiom (#13090)" This reverts commit 50602daeea9d4de609cb0ad2ad929c36d800a0a8. --- src/Controls/src/Core/Device.cs | 21 ++++++++++++++++++ .../net-android/PublicAPI.Unshipped.txt | 8 ------- .../PublicAPI/net-ios/PublicAPI.Unshipped.txt | 8 ------- .../net-maccatalyst/PublicAPI.Unshipped.txt | 8 ------- .../net-tizen/PublicAPI.Unshipped.txt | 8 ------- .../net-windows/PublicAPI.Unshipped.txt | 8 ------- .../PublicAPI/net/PublicAPI.Unshipped.txt | 8 ------- .../netstandard/PublicAPI.Unshipped.txt | 8 ------- src/Controls/src/Core/TargetIdiom.cs | 22 +++++++++++++++++++ 9 files changed, 43 insertions(+), 56 deletions(-) create mode 100644 src/Controls/src/Core/TargetIdiom.cs diff --git a/src/Controls/src/Core/Device.cs b/src/Controls/src/Core/Device.cs index 2bea4df3c3a4..2e5783525627 100644 --- a/src/Controls/src/Core/Device.cs +++ b/src/Controls/src/Core/Device.cs @@ -48,6 +48,27 @@ public static class Device [Obsolete("Use Microsoft.Maui.Devices.DevicePlatform.tvOS instead.")] public const string tvOS = "tvOS"; + /// + [Obsolete("Use Microsoft.Maui.Devices.DeviceInfo.Idiom instead.")] + public static TargetIdiom Idiom + { + get + { + var idiom = DeviceInfo.Idiom; + if (idiom == DeviceIdiom.Tablet) + return TargetIdiom.Tablet; + if (idiom == DeviceIdiom.Phone) + return TargetIdiom.Phone; + if (idiom == DeviceIdiom.Desktop) + return TargetIdiom.Desktop; + if (idiom == DeviceIdiom.TV) + return TargetIdiom.TV; + if (idiom == DeviceIdiom.Watch) + return TargetIdiom.Watch; + return TargetIdiom.Unsupported; + } + } + /// [Obsolete("Use Microsoft.Maui.Devices.DeviceInfo.Platform instead.")] public static string RuntimePlatform => DeviceInfo.Platform.ToString(); diff --git a/src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Unshipped.txt index 9f3d9f0df743..5a87af4d4209 100644 --- a/src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Unshipped.txt @@ -86,14 +86,6 @@ override Microsoft.Maui.Controls.SearchBar.IsEnabledCore.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.set -> void *REMOVED*Microsoft.Maui.Controls.OpenGLView.OpenGLView() -> void -*REMOVED*Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Desktop = 3 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Phone = 1 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Tablet = 2 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.TV = 4 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Unsupported = 0 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Watch = 5 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*static Microsoft.Maui.Controls.Device.Idiom.get -> Microsoft.Maui.Controls.TargetIdiom *REMOVED*Microsoft.Maui.Controls.Application.SavePropertiesAsync() -> System.Threading.Tasks.Task! *REMOVED*Microsoft.Maui.Controls.Application.Properties.get -> System.Collections.Generic.IDictionary! Microsoft.Maui.Controls.IValueConverter.Convert(object? value, System.Type! targetType, object? parameter, System.Globalization.CultureInfo! culture) -> object? diff --git a/src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Unshipped.txt index c10bbe8779f3..30c534e15449 100644 --- a/src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -95,14 +95,6 @@ override Microsoft.Maui.Controls.SearchBar.IsEnabledCore.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.set -> void *REMOVED*Microsoft.Maui.Controls.OpenGLView.OpenGLView() -> void -*REMOVED*Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Desktop = 3 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Phone = 1 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Tablet = 2 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.TV = 4 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Unsupported = 0 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Watch = 5 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*static Microsoft.Maui.Controls.Device.Idiom.get -> Microsoft.Maui.Controls.TargetIdiom *REMOVED*Microsoft.Maui.Controls.Application.SavePropertiesAsync() -> System.Threading.Tasks.Task! *REMOVED*Microsoft.Maui.Controls.Application.Properties.get -> System.Collections.Generic.IDictionary! Microsoft.Maui.Controls.IValueConverter.Convert(object? value, System.Type! targetType, object? parameter, System.Globalization.CultureInfo! culture) -> object? diff --git a/src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt index 6bd526baa8e8..630114f1260e 100644 --- a/src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt @@ -91,14 +91,6 @@ override Microsoft.Maui.Controls.SearchBar.IsEnabledCore.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.set -> void *REMOVED*Microsoft.Maui.Controls.OpenGLView.OpenGLView() -> void -*REMOVED*Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Desktop = 3 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Phone = 1 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Tablet = 2 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.TV = 4 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Unsupported = 0 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Watch = 5 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*static Microsoft.Maui.Controls.Device.Idiom.get -> Microsoft.Maui.Controls.TargetIdiom *REMOVED*Microsoft.Maui.Controls.Application.SavePropertiesAsync() -> System.Threading.Tasks.Task! *REMOVED*Microsoft.Maui.Controls.Application.Properties.get -> System.Collections.Generic.IDictionary! Microsoft.Maui.Controls.IValueConverter.Convert(object? value, System.Type! targetType, object? parameter, System.Globalization.CultureInfo! culture) -> object? diff --git a/src/Controls/src/Core/PublicAPI/net-tizen/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/net-tizen/PublicAPI.Unshipped.txt index 0540ba269a4e..60f1cb942963 100644 --- a/src/Controls/src/Core/PublicAPI/net-tizen/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/net-tizen/PublicAPI.Unshipped.txt @@ -70,14 +70,6 @@ override Microsoft.Maui.Controls.SearchBar.IsEnabledCore.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.set -> void *REMOVED*Microsoft.Maui.Controls.OpenGLView.OpenGLView() -> void -*REMOVED*Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Desktop = 3 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Phone = 1 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Tablet = 2 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.TV = 4 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Unsupported = 0 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Watch = 5 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*static Microsoft.Maui.Controls.Device.Idiom.get -> Microsoft.Maui.Controls.TargetIdiom *REMOVED*Microsoft.Maui.Controls.Application.SavePropertiesAsync() -> System.Threading.Tasks.Task! *REMOVED*Microsoft.Maui.Controls.Application.Properties.get -> System.Collections.Generic.IDictionary! Microsoft.Maui.Controls.IValueConverter.Convert(object? value, System.Type! targetType, object? parameter, System.Globalization.CultureInfo! culture) -> object? diff --git a/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt index 33530dd0cf59..0eede34ba74b 100644 --- a/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -95,14 +95,6 @@ override Microsoft.Maui.Controls.SearchBar.IsEnabledCore.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.set -> void *REMOVED*Microsoft.Maui.Controls.OpenGLView.OpenGLView() -> void -*REMOVED*Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Desktop = 3 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Phone = 1 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Tablet = 2 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.TV = 4 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Unsupported = 0 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Watch = 5 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*static Microsoft.Maui.Controls.Device.Idiom.get -> Microsoft.Maui.Controls.TargetIdiom *REMOVED*Microsoft.Maui.Controls.Application.SavePropertiesAsync() -> System.Threading.Tasks.Task! *REMOVED*Microsoft.Maui.Controls.Application.Properties.get -> System.Collections.Generic.IDictionary! Microsoft.Maui.Controls.IValueConverter.Convert(object? value, System.Type! targetType, object? parameter, System.Globalization.CultureInfo! culture) -> object? diff --git a/src/Controls/src/Core/PublicAPI/net/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/net/PublicAPI.Unshipped.txt index 035034a777dc..e8cdbef822d1 100644 --- a/src/Controls/src/Core/PublicAPI/net/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/net/PublicAPI.Unshipped.txt @@ -77,14 +77,6 @@ override Microsoft.Maui.Controls.SearchBar.IsEnabledCore.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.set -> void *REMOVED*Microsoft.Maui.Controls.OpenGLView.OpenGLView() -> void -*REMOVED*Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Desktop = 3 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Phone = 1 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Tablet = 2 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.TV = 4 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Unsupported = 0 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Watch = 5 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*static Microsoft.Maui.Controls.Device.Idiom.get -> Microsoft.Maui.Controls.TargetIdiom *REMOVED*Microsoft.Maui.Controls.Application.SavePropertiesAsync() -> System.Threading.Tasks.Task! *REMOVED*Microsoft.Maui.Controls.Application.Properties.get -> System.Collections.Generic.IDictionary! Microsoft.Maui.Controls.IValueConverter.Convert(object? value, System.Type! targetType, object? parameter, System.Globalization.CultureInfo! culture) -> object? diff --git a/src/Controls/src/Core/PublicAPI/netstandard/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/netstandard/PublicAPI.Unshipped.txt index deb9e75a4ce2..9b068ca684b0 100644 --- a/src/Controls/src/Core/PublicAPI/netstandard/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/netstandard/PublicAPI.Unshipped.txt @@ -100,14 +100,6 @@ override Microsoft.Maui.Controls.SearchBar.IsEnabledCore.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.get -> bool *REMOVED*Microsoft.Maui.Controls.OpenGLView.HasRenderLoop.set -> void *REMOVED*Microsoft.Maui.Controls.OpenGLView.OpenGLView() -> void -*REMOVED*Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Desktop = 3 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Phone = 1 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Tablet = 2 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.TV = 4 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Unsupported = 0 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*Microsoft.Maui.Controls.TargetIdiom.Watch = 5 -> Microsoft.Maui.Controls.TargetIdiom -*REMOVED*static Microsoft.Maui.Controls.Device.Idiom.get -> Microsoft.Maui.Controls.TargetIdiom *REMOVED*Microsoft.Maui.Controls.Application.SavePropertiesAsync() -> System.Threading.Tasks.Task! *REMOVED*Microsoft.Maui.Controls.Application.Properties.get -> System.Collections.Generic.IDictionary! Microsoft.Maui.Controls.IValueConverter.Convert(object? value, System.Type! targetType, object? parameter, System.Globalization.CultureInfo! culture) -> object? diff --git a/src/Controls/src/Core/TargetIdiom.cs b/src/Controls/src/Core/TargetIdiom.cs new file mode 100644 index 000000000000..9e8e2e581d84 --- /dev/null +++ b/src/Controls/src/Core/TargetIdiom.cs @@ -0,0 +1,22 @@ +using System; + +namespace Microsoft.Maui.Controls +{ + /// + [Obsolete("Use Microsoft.Maui.Devices.DeviceIdiom instead.")] + public enum TargetIdiom + { + /// + Unsupported, + /// + Phone, + /// + Tablet, + /// + Desktop, + /// + TV, + /// + Watch + } +}