summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Android/Renderers
diff options
context:
space:
mode:
authorAdrian Knight <adrianknight89@outlook.com>2016-11-27 14:17:24 -0600
committerRui Marinho <me@ruimarinho.net>2017-02-22 11:30:19 +0000
commit31eada25bd1fe732c0970a276f1f4fc0324b02c1 (patch)
treecde2fbf769831beed9a963049def7334a646cb37 /Xamarin.Forms.Platform.Android/Renderers
parent4ba2f0999e581340dc4e577db56a9a4c8f670c4c (diff)
downloadxamarin-forms-31eada25bd1fe732c0970a276f1f4fc0324b02c1.tar.gz
xamarin-forms-31eada25bd1fe732c0970a276f1f4fc0324b02c1.tar.bz2
xamarin-forms-31eada25bd1fe732c0970a276f1f4fc0324b02c1.zip
add support for view cells
Diffstat (limited to 'Xamarin.Forms.Platform.Android/Renderers')
-rw-r--r--Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs37
1 files changed, 15 insertions, 22 deletions
diff --git a/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs
index a50c1814..fe91d588 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs
@@ -68,10 +68,6 @@ namespace Xamarin.Forms.Platform.Android
if (Device.IsInvokeRequired)
throw new InvalidOperationException("Image Bitmap must not be updated from background thread");
- Bitmap bitmap = null;
-
- ImageSource source = Element.Source;
-
if (previous != null && Equals(previous.Source, Element.Source))
return;
@@ -82,27 +78,22 @@ namespace Xamarin.Forms.Platform.Android
Control.SetImageResource(global::Android.Resource.Color.Transparent);
- if (source != null)
+ ImageSource source = Element.Source;
+ Bitmap bitmap = null;
+ IImageSourceHandler handler;
+
+ if (source != null && (handler = Registrar.Registered.GetHandler<IImageSourceHandler>(source.GetType())) != null)
{
- IImageSourceHandler handler;
- if ((handler = Registrar.Registered.GetHandler<IImageSourceHandler>(source.GetType())) != null)
+ try
{
- try
- {
- bitmap = await handler.LoadImageAsync(source, Context);
- }
- catch (TaskCanceledException)
- {
- }
- catch (IOException ex)
- {
- Log.Warning("Xamarin.Forms.Platform.Android.ImageRenderer", "Error updating bitmap: {0}", ex);
- }
+ bitmap = await handler.LoadImageAsync(source, Context);
}
-
- if (bitmap == null && source is FileImageSource)
+ catch (TaskCanceledException)
{
- Control.SetImageResource(ResourceManager.GetDrawableByName(((FileImageSource)Element.Source).File));
+ }
+ catch (IOException ex)
+ {
+ Log.Warning("Xamarin.Forms.Platform.Android.ImageRenderer", "Error updating bitmap: {0}", ex);
}
}
@@ -114,7 +105,9 @@ namespace Xamarin.Forms.Platform.Android
if (!_isDisposed)
{
- if (bitmap != null)
+ if (bitmap == null && source is FileImageSource)
+ Control.SetImageResource(ResourceManager.GetDrawableByName(((FileImageSource)source).File));
+ else
Control.SetImageBitmap(bitmap);
bitmap?.Dispose();