From 6d689c6c0806d6fa8041579a17ade602e321bf8a Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Thu, 1 Oct 2015 11:04:14 -0700 Subject: [PATCH 1/3] Support for decoding images in lists --- packages/flutter/lib/src/services/asset_bundle.dart | 3 ++- packages/flutter/lib/src/services/image_cache.dart | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/flutter/lib/src/services/asset_bundle.dart b/packages/flutter/lib/src/services/asset_bundle.dart index 87d6e55c18..f55ed94a4e 100644 --- a/packages/flutter/lib/src/services/asset_bundle.dart +++ b/packages/flutter/lib/src/services/asset_bundle.dart @@ -70,7 +70,8 @@ class MojoAssetBundle extends AssetBundle { return _imageCache.putIfAbsent(key, () { Completer completer = new Completer(); load(key).then((assetData) { - new sky.ImageDecoder(assetData.handle.h, completer.complete); + new sky.ImageDecoder(completer.complete) + ..initWithConsumer(assetData.handle.h); }); return new ImageResource(completer.future); }); diff --git a/packages/flutter/lib/src/services/image_cache.dart b/packages/flutter/lib/src/services/image_cache.dart index fd55b08e06..8c3ce28d08 100644 --- a/packages/flutter/lib/src/services/image_cache.dart +++ b/packages/flutter/lib/src/services/image_cache.dart @@ -23,7 +23,8 @@ class _ImageCache { print("Failed (${response.statusCode}) to load image ${url}"); completer.complete(null); } else { - new sky.ImageDecoder(response.body.handle.h, completer.complete); + new sky.ImageDecoder(completer.complete) + ..initWithConsumer(response.body.handle.h); } }); return new ImageResource(completer.future); From 3a912de95834c3c5fc4657fcb2a447a8cc075264 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Thu, 1 Oct 2015 13:13:22 -0700 Subject: [PATCH 2/3] Use PrivateDart for ImageDecoder constructors --- packages/flutter/lib/src/services/asset_bundle.dart | 3 +-- packages/flutter/lib/src/services/image_cache.dart | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/flutter/lib/src/services/asset_bundle.dart b/packages/flutter/lib/src/services/asset_bundle.dart index f55ed94a4e..aecc48a53b 100644 --- a/packages/flutter/lib/src/services/asset_bundle.dart +++ b/packages/flutter/lib/src/services/asset_bundle.dart @@ -70,8 +70,7 @@ class MojoAssetBundle extends AssetBundle { return _imageCache.putIfAbsent(key, () { Completer completer = new Completer(); load(key).then((assetData) { - new sky.ImageDecoder(completer.complete) - ..initWithConsumer(assetData.handle.h); + new sky.ImageDecoder.consume(assetData.handle.h, completer.complete); }); return new ImageResource(completer.future); }); diff --git a/packages/flutter/lib/src/services/image_cache.dart b/packages/flutter/lib/src/services/image_cache.dart index 8c3ce28d08..fdc7e37bd5 100644 --- a/packages/flutter/lib/src/services/image_cache.dart +++ b/packages/flutter/lib/src/services/image_cache.dart @@ -23,8 +23,7 @@ class _ImageCache { print("Failed (${response.statusCode}) to load image ${url}"); completer.complete(null); } else { - new sky.ImageDecoder(completer.complete) - ..initWithConsumer(response.body.handle.h); + new sky.ImageDecoder.consume(response.body.handle.h, completer.complete); } }); return new ImageResource(completer.future); From a995092c0a2a54f1fd7357801fab52e7bb90fb72 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Thu, 1 Oct 2015 13:16:53 -0700 Subject: [PATCH 3/3] Fix spinning_image URL to one that works --- examples/raw/spinning_image.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/raw/spinning_image.dart b/examples/raw/spinning_image.dart index b2610a3fea..abd999beac 100644 --- a/examples/raw/spinning_image.dart +++ b/examples/raw/spinning_image.dart @@ -11,7 +11,7 @@ import 'package:sky/services.dart'; double timeBase = null; sky.Image image = null; -String url1 = "https://www.dartlang.org/logos/dart-logo.png"; +String url1 = "https://raw.githubusercontent.com/dart-lang/logos/master/logos_and_wordmarks/dart-logo.png"; String url2 = "http://i2.kym-cdn.com/photos/images/facebook/000/581/296/c09.jpg"; sky.Picture paint(sky.Rect paintBounds, double delta) {