From 272033723ea275ceb8a288fa605eafd035c79f2d Mon Sep 17 00:00:00 2001 From: "E.Z. Hart" Date: Mon, 18 Jul 2016 17:16:47 -0600 Subject: Windows image loader error handling (#260) * Repros for various image issues * Log image loading errors * Better repro instructions and user interface * Image loading tests now running on WinRT/UWP phone/tablet/desktop * Move FailImageSource into shared project * Move FailImageSource into shared project * Update docs --- .../BrokenImageSourceHandler.cs | 24 ++++++++++++++++++++++ .../Properties/AssemblyInfo.cs | 8 +++++++- .../Xamarin.Forms.ControlGallery.Windows.csproj | 1 + 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 Xamarin.Forms.ControlGallery.Windows/BrokenImageSourceHandler.cs (limited to 'Xamarin.Forms.ControlGallery.Windows') diff --git a/Xamarin.Forms.ControlGallery.Windows/BrokenImageSourceHandler.cs b/Xamarin.Forms.ControlGallery.Windows/BrokenImageSourceHandler.cs new file mode 100644 index 00000000..ffe999ee --- /dev/null +++ b/Xamarin.Forms.ControlGallery.Windows/BrokenImageSourceHandler.cs @@ -0,0 +1,24 @@ +using System; +using System.Threading; +using System.Threading.Tasks; + +using WImageSource = Windows.UI.Xaml.Media.ImageSource; + +#if WINDOWS_UWP +using Xamarin.Forms.Platform.UWP; + +namespace Xamarin.Forms.ControlGallery.WindowsUniversal +#else +using Xamarin.Forms.Platform.WinRT; + +namespace Xamarin.Forms.ControlGallery.WinRT +#endif +{ + public sealed class BrokenImageSourceHandler : IImageSourceHandler + { + public Task LoadImageAsync(ImageSource imagesource, CancellationToken cancellationToken = new CancellationToken()) + { + throw new Exception("Fail"); + } + } +} \ No newline at end of file diff --git a/Xamarin.Forms.ControlGallery.Windows/Properties/AssemblyInfo.cs b/Xamarin.Forms.ControlGallery.Windows/Properties/AssemblyInfo.cs index 89577935..cf2e0174 100644 --- a/Xamarin.Forms.ControlGallery.Windows/Properties/AssemblyInfo.cs +++ b/Xamarin.Forms.ControlGallery.Windows/Properties/AssemblyInfo.cs @@ -1,6 +1,9 @@ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using Xamarin.Forms.ControlGallery.WinRT; +using Xamarin.Forms.Controls; +using Xamarin.Forms.Platform.WinRT; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information @@ -26,4 +29,7 @@ using System.Runtime.InteropServices; // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: ComVisible(false)] \ No newline at end of file +[assembly: ComVisible(false)] + +// Deliberately broken image source and handler so we can test handling of image loading errors +[assembly: ExportImageSourceHandler(typeof(FailImageSource), typeof(BrokenImageSourceHandler))] \ No newline at end of file diff --git a/Xamarin.Forms.ControlGallery.Windows/Xamarin.Forms.ControlGallery.Windows.csproj b/Xamarin.Forms.ControlGallery.Windows/Xamarin.Forms.ControlGallery.Windows.csproj index 6d03d703..c93c45b9 100644 --- a/Xamarin.Forms.ControlGallery.Windows/Xamarin.Forms.ControlGallery.Windows.csproj +++ b/Xamarin.Forms.ControlGallery.Windows/Xamarin.Forms.ControlGallery.Windows.csproj @@ -139,6 +139,7 @@ App.xaml + MainPage.xaml -- cgit v1.2.3