From 55bc825092dd722f18a5b5d8b4a8700ec539f336 Mon Sep 17 00:00:00 2001 From: Nicolas Charpentier Date: Sun, 31 Jul 2016 07:58:56 -0700 Subject: [PATCH] Add GIF and WebP support specification with Fresco 0.11 Summary: Motivation #8455 Fixes #8501 With a bonus fix typo ! ![screen shot 2016-07-25 at 14 16 01](https://cloud.githubusercontent.com/assets/7189823/17112118/9f06fe04-5272-11e6-83e9-ddf11573aa5e.png) Closes https://github.com/facebook/react-native/pull/8951 Differential Revision: D3647816 Pulled By: mkonicek fbshipit-source-id: e0349275045cae2922b4bb43bcb99af4c6ef1170 --- Libraries/Image/Image.ios.js | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/Libraries/Image/Image.ios.js b/Libraries/Image/Image.ios.js index 71da2e384..279c571cc 100644 --- a/Libraries/Image/Image.ios.js +++ b/Libraries/Image/Image.ios.js @@ -34,7 +34,7 @@ const ImageViewManager = NativeModules.ImageViewManager; * including network images, static resources, temporary local images, and * images from local disk, such as the camera roll. * - * This exmaples shows both fetching and displaying an image from local storage as well as on from + * This example shows both fetching and displaying an image from local storage as well as on from * network. * * ```ReactNativeWebPlayer @@ -73,7 +73,7 @@ const ImageViewManager = NativeModules.ImageViewManager; * } * }); * - *class DisplayAnImageWithStyle extends Component { + * class DisplayAnImageWithStyle extends Component { * render() { * return ( * @@ -92,6 +92,37 @@ const ImageViewManager = NativeModules.ImageViewManager; * () => DisplayAnImageWithStyle * ); * ``` + * + * ### GIF and WebP support on Android + * + * By default, GIF and WebP are not supported on Android. + * + * You will need to add some optional modules in `android/app/build.gradle`, depending on the needs of your app. + * + * ``` + * dependencies { + * // If your app supports Android versions before Ice Cream Sandwich (API level 14) + * compile 'com.facebook.fresco:animated-base-support:0.11.0' + * + * // For animated GIF support + * compile 'com.facebook.fresco:animated-gif:0.11.0' + * + * // For WebP support, including animated WebP + * compile 'com.facebook.fresco:animated-webp:0.11.0' + * compile 'com.facebook.fresco:webpsupport:0.11.0' + * + * // For WebP support, without animations + * compile 'com.facebook.fresco:webpsupport:0.11.0' + * } + * ``` + * + * Also, if you use GIF with ProGuard, you will need to add this rule in `proguard-rules.pro` : + * ``` + * -keep class com.facebook.imagepipeline.animated.factory.AnimatedFactoryImpl { + * public AnimatedFactoryImpl(com.facebook.imagepipeline.bitmaps.PlatformBitmapFactory, com.facebook.imagepipeline.core.ExecutorSupplier); + * } + * ``` + * */ const Image = React.createClass({ propTypes: {