From b6cb64e4930de9b16309f2d30c6bb0a2177048fd Mon Sep 17 00:00:00 2001 From: Stephane Delcroix Date: Thu, 12 Jan 2017 21:05:41 +0100 Subject: [C] new OnPlatform mechanism (#658) * [C] Obsolete TargetPlatform * [Xaml] support and test the new syntax * blind fix windows platforms --- .../Bugzilla22229.xaml.cs | 17 ++++++++++++----- .../Bugzilla26868.cs | 6 +++--- .../Bugzilla34632.cs | 2 +- .../Bugzilla42069.cs | 15 ++++++++++----- .../DefaultColorToggleTest.cs | 6 +++--- .../ImageLoadingErrorHandling.cs | 2 +- .../Xamarin.Forms.Controls.Issues.Shared/Issue1075.cs | 2 +- .../Xamarin.Forms.Controls.Issues.Shared/Issue1461.cs | 2 +- .../Xamarin.Forms.Controls.Issues.Shared/Issue1769.cs | 2 +- .../Xamarin.Forms.Controls.Issues.Shared/Issue194.cs | 4 ++-- .../Xamarin.Forms.Controls.Issues.Shared/Issue2259.cs | 2 +- .../Issue2357.xaml.cs | 2 +- .../Xamarin.Forms.Controls.Issues.Shared/Issue2597.cs | 3 +-- .../Xamarin.Forms.Controls.Issues.Shared/Issue2634.cs | 10 ++++------ .../Xamarin.Forms.Controls.Issues.Shared/Issue2961.cs | 2 +- .../Xamarin.Forms.Controls.Issues.Shared/Issue2976.cs | 16 ++++++++-------- .../Xamarin.Forms.Controls.Issues.Shared/Issue2987.cs | 2 +- .../Xamarin.Forms.Controls.Issues.Shared/Issue773.cs | 4 ++-- 18 files changed, 54 insertions(+), 45 deletions(-) (limited to 'Xamarin.Forms.Controls.Issues') diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22229.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22229.xaml.cs index 1ddf4e4e..f7d8918c 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22229.xaml.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22229.xaml.cs @@ -19,11 +19,18 @@ namespace Xamarin.Forms.Controls public Bugzilla22229() { InitializeComponent(); - _prefix = Device.OnPlatform( - iOS: "Images/", - Android: "", - WinPhone: "Assets/" - ); + switch (Device.RuntimePlatform) { + case Device.iOS: + _prefix = "Images/"; + break; + case Device.Android: + _prefix = ""; + break; + case Device.Windows: + case Device.WinPhone: + _prefix = "Assets/"; + break; + } InitializeActionBar(); } diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla26868.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla26868.cs index 000b30ab..a08799fe 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla26868.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla26868.cs @@ -30,9 +30,9 @@ namespace Xamarin.Forms.Controls var listView = new ListView { IsGroupingEnabled = true, - GroupDisplayBinding = new Binding ("GroupName"), - GroupShortNameBinding = new Binding ("GroupName"), - HasUnevenRows = Device.OnPlatform (Android: true, WinPhone: false, iOS: false), + GroupDisplayBinding = new Binding("GroupName"), + GroupShortNameBinding = new Binding("GroupName"), + HasUnevenRows = Device.RuntimePlatform == Device.Android, ItemTemplate = itemTemplate, GroupHeaderTemplate = groupHeaderTemplate, diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla34632.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla34632.cs index bf26bdb1..30cbc5a8 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla34632.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla34632.cs @@ -16,7 +16,7 @@ namespace Xamarin.Forms.Controls.Issues { protected override void Init () { - if (Device.OS == TargetPlatform.Windows) + if (Device.RuntimePlatform == Device.Windows) MasterBehavior = MasterBehavior.Split; else MasterBehavior = MasterBehavior.SplitOnLandscape; diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla42069.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla42069.cs index 7abfa5d3..d4de5aa3 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla42069.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla42069.cs @@ -19,11 +19,16 @@ namespace Xamarin.Forms.Controls if (!Application.Current.Resources.ContainsKey("SomeSmallImage")) { - var smallImage = new OnPlatform { - Android = ImageSource.FromFile("coffee.png"), - WinPhone = ImageSource.FromFile("bank.png"), - iOS = ImageSource.FromFile("coffee.png") - }; + ImageSource smallImage; + switch (Device.RuntimePlatform) { + default: + smallImage = "coffee.png"; + break; + case Device.WinPhone: + case Device.Windows: + smallImage = "bank.png"; + break; + } Application.Current.Resources.Add("SomeSmallImage", smallImage); } diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DefaultColorToggleTest.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DefaultColorToggleTest.cs index f943f158..7cfbca89 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DefaultColorToggleTest.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/DefaultColorToggleTest.cs @@ -324,7 +324,7 @@ namespace Xamarin.Forms.Controls return new ContentPage { Title = "TimePicker", - Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, Device.OnPlatform(00, 0, 0)), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(0, 20, 0, 0) : new Thickness(0), Content = new StackLayout { VerticalOptions = LayoutOptions.Fill, HorizontalOptions = LayoutOptions.Fill, @@ -389,7 +389,7 @@ namespace Xamarin.Forms.Controls return new ContentPage { Title = "DatePicker", - Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, Device.OnPlatform(00, 0, 0)), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(0, 20, 0, 0) : new Thickness(0), Content = new StackLayout { VerticalOptions = LayoutOptions.Fill, HorizontalOptions = LayoutOptions.Fill, @@ -457,7 +457,7 @@ namespace Xamarin.Forms.Controls return new ContentPage { Title = "Picker", - Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, Device.OnPlatform(00, 0, 0)), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(0, 20, 0, 0) : new Thickness(0), Content = new StackLayout { VerticalOptions = LayoutOptions.Fill, HorizontalOptions = LayoutOptions.Fill, diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/ImageLoadingErrorHandling.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/ImageLoadingErrorHandling.cs index fe1f6356..6abac885 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/ImageLoadingErrorHandling.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/ImageLoadingErrorHandling.cs @@ -31,7 +31,7 @@ namespace Xamarin.Forms.Controls Grid fakeUri = CreateTest(() => image.Source = ImageSource.FromUri(new Uri("http://not.real")), "Non-existent URI", - Device.OS == TargetPlatform.Windows && Device.Idiom == TargetIdiom.Phone + Device.RuntimePlatform == Device.Windows && Device.Idiom == TargetIdiom.Phone ? "Clicking this button should display an alert dialog. The error message should include the text 'NotFound'." : "Clicking this button should display an alert dialog. The error message should include the text 'the server name or address could not be resolved'."); diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1075.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1075.cs index ff1b86d8..2943e680 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1075.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1075.cs @@ -77,7 +77,7 @@ namespace Xamarin.Forms.Controls }; // Accomodate iPhone status bar. - Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 0); + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(10, 20, 10, 0) : new Thickness(10, 0); // Build the page. Content = new StackLayout diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1461.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1461.cs index 6c5bfc35..1cb583ae 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1461.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1461.cs @@ -220,7 +220,7 @@ namespace Xamarin.Forms.Controls.Issues Master = new ContentPage { Title = string.Format ("Master sample for {0}", state), Icon = "bank.png", - Padding = Device.OnPlatform (new Thickness (5, 60, 5, 5), 5, 5), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(5, 60, 5, 5) : new Thickness(5), Content = new StackLayout { Children = { new Label { diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1769.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1769.cs index 3f12a08b..4fa4e6f6 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1769.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1769.cs @@ -63,7 +63,7 @@ namespace Xamarin.Forms.Controls }; // Accomodate iPhone status bar. - Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5); + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(10, 20, 10, 5) : new Thickness(10, 0, 10, 5); // Build the page. Content = new StackLayout diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue194.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue194.cs index a3a75c8a..e7bfaa62 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue194.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue194.cs @@ -47,7 +47,7 @@ namespace Xamarin.Forms.Controls Title = "Page 9" }; - Device.OnPlatform (iOS: () => { + if (Device.RuntimePlatform == Device.iOS) { // Create an overflow amount of tabs depending on device if (Device.Idiom == TargetIdiom.Tablet) { Children.Add (pageOne); @@ -67,7 +67,7 @@ namespace Xamarin.Forms.Controls Children.Add (pageFive); Children.Add (pageSix); } - }); + } } } } diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2259.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2259.cs index d59ef24f..7f129406 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2259.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2259.cs @@ -130,7 +130,7 @@ namespace Xamarin.Forms.Controls.Issues listView.ScrollTo (person, ScrollToPosition.End, true); }; - Padding = new Thickness (10, Device.OnPlatform (20, 0, 0), 10, 5); + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(10, 20, 10, 5) : new Thickness(10, 0, 10, 5); Content = new StackLayout { Orientation = StackOrientation.Vertical, diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2357.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2357.xaml.cs index 1a249f7a..edb609ad 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2357.xaml.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2357.xaml.cs @@ -138,7 +138,7 @@ namespace Xamarin.Forms.Controls static void WebView_OnNavigating (object sender, WebNavigatingEventArgs e) { - Debug.WriteLine ("OS: " + Device.OS + " Current Url: " + GetSourceUrl (((WebView)sender).Source) + "Destination Url: " + e.Url + " " + DateTime.Now); + Debug.WriteLine ("OS: " + Device.RuntimePlatform + " Current Url: " + GetSourceUrl (((WebView)sender).Source) + "Destination Url: " + e.Url + " " + DateTime.Now); if (e.Url.IsValidAbsoluteUrl ()) { var destinationUri = new Uri (e.Url); diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2597.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2597.cs index 4f39c33c..59eccfc5 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2597.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2597.cs @@ -40,8 +40,7 @@ namespace Xamarin.Forms.Controls }; // Accomodate iPhone status bar. - Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, - 5); + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(10, 20, 10, 5) : new Thickness(10, 0, 10, 5); // Build the page. Content = new StackLayout diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2634.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2634.cs index b2cf7390..e6a9b6f9 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2634.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2634.cs @@ -235,12 +235,10 @@ namespace Xamarin.Forms.Controls Forms.Constraint.RelativeToParent ((parent) => parent.Height)); - rl.Children.Add (addFrame, - Forms.Constraint.RelativeToParent ((parent) => - (parent.Width * .25) / 2), - Forms.Constraint.Constant (Device.OnPlatform (60, 40, 40)), - Forms.Constraint.RelativeToParent ((parent) => - parent.Width * .75)); + rl.Children.Add(addFrame, + Forms.Constraint.RelativeToParent((parent) => (parent.Width * .25) / 2), + Forms.Constraint.Constant(Device.RuntimePlatform == Device.iOS ? 60 : 40), + Forms.Constraint.RelativeToParent((parent) => parent.Width * .75)); Content = rl; } diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2961.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2961.cs index a0e2772a..8836d610 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2961.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2961.cs @@ -144,7 +144,7 @@ namespace Xamarin.Forms.Controls.Issues Children = { logoImg } }; - var paddingTop = Device.OnPlatform (40, 2, 2); + var paddingTop = Device.RuntimePlatform == Device.iOS ? 40 : 2; Content = new StackLayout { Spacing = 0, BackgroundColor = Color.FromHex ("1e1e1e"), diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2976.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2976.cs index 7e903141..b145d9de 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2976.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2976.cs @@ -73,15 +73,15 @@ namespace Xamarin.Forms.Controls.Issues // The root page of your application Content = new StackLayout { - Padding = new Thickness (0, Device.OnPlatform(20,0,0), 0, 0), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(0, 20, 0, 0) : new Thickness(0), Children = { new Label { #pragma warning disable 618 XAlign = TextAlignment.Center, #pragma warning restore 618 - Text = Device.OnPlatform("Custom renderer UITableView","Custom renderer ListView","Custom renderer todo") + Text = Device.RuntimePlatform == Device.iOS ? "Custom renderer UITableView" : Device.RuntimePlatform == Device.Android ? "Custom renderer ListView" : "Custom renderer todo" }, - fasterListView + fasterListView } }; } @@ -143,7 +143,7 @@ namespace Xamarin.Forms.Controls.Issues }; Content = new StackLayout { - Padding = new Thickness (5, Device.OnPlatform(20,0,0), 5, 0), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(5, 20, 5, 0) : new Thickness(5,0), Children = { new Label { #pragma warning disable 618 @@ -185,7 +185,7 @@ namespace Xamarin.Forms.Controls.Issues }; Content = new StackLayout { - Padding = new Thickness (0, Device.OnPlatform(20,0,0), 0, 0), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(0, 20, 0, 0) : new Thickness(0), Children = { new Label { #pragma warning disable 618 @@ -250,7 +250,7 @@ namespace Xamarin.Forms.Controls.Issues b.Clicked += (sender, e) => Navigation.PopModalAsync(); Content = new StackLayout { - Padding = new Thickness (0, Device.OnPlatform(20,0,0), 0, 0), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(0, 20, 0, 0) : new Thickness(0), HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Children = { @@ -289,13 +289,13 @@ namespace Xamarin.Forms.Controls.Issues // The root page of your application Content = new StackLayout { - Padding = new Thickness (0, Device.OnPlatform(20,0,0), 0, 0), + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(0, 20, 0, 0) : new Thickness(0), Children = { new Label { #pragma warning disable 618 XAlign = TextAlignment.Center, #pragma warning restore 618 - Text = Device.OnPlatform("Custom UITableView+UICell","Custom ListView+Cell","Custom renderer todo") + Text = Device.RuntimePlatform == Device.iOS ? "Custom UITableView+UICell" : Device.RuntimePlatform == Device.Android ? "Custom ListView+Cell" : "Custom renderer todo" }, nativeListView2 } diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2987.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2987.cs index 785bcda9..8a6ce08f 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2987.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2987.cs @@ -22,7 +22,7 @@ namespace Xamarin.Forms.Controls Debug.WriteLine ("Date changed"); }; - Padding = new Thickness (10, Device.OnPlatform (20, 0, 0), 10, 5); + Padding = Device.RuntimePlatform == Device.iOS ? new Thickness(10, 20, 10, 5) : new Thickness(10, 0, 10, 5); layout = new AbsoluteLayout { VerticalOptions = LayoutOptions.FillAndExpand, diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue773.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue773.cs index f8c22337..63d9cbc1 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue773.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue773.cs @@ -162,10 +162,10 @@ namespace Xamarin.Forms.Controls.Issues layout.Children.Add (label); - layout.Children.Add (new ScrollView { + layout.Children.Add(new ScrollView { BackgroundColor = Color.Aqua, Orientation = ScrollOrientation.Horizontal, - HeightRequest = Device.OnPlatform (44, 44, 80), + HeightRequest = Device.RuntimePlatform == Device.Windows || Device.RuntimePlatform == Device.WinPhone ? 80 : 44, Content = buttonStack }); -- cgit v1.2.3