Age | Commit message (Collapse) | Author |
|
Change-Id: Ic290a947323184bfd15576a781bceb88258a5dd1
|
|
|
|
|
|
Fewer static imports, better wrangling of generics
(particularly when asserting contains), and, least
of all, better internal support.
|
|
|
|
|
|
|
|
Fixes #171.
|
|
Fixes #216.
|
|
This does not make GifDecoder thread safe in that
it doesn't guarantee that a decoder will decode
a particular frame, but should keep state
consistent and prevent crashes from concurrent
writes to buffers.
Fixes #212.
|
|
Fixes #145.
|
|
|
|
More work toward #212.
|
|
Fixes #205.
|
|
Bug: 18059638
Conflicts:
.gitmodules
library/src/androidTest/java/com/bumptech/glide/BitmapTypeRequestTest.java
library/src/androidTest/java/com/bumptech/glide/DrawableTypeRequestTest.java
library/src/androidTest/java/com/bumptech/glide/GenericRequestBuilderTest.java
library/src/androidTest/java/com/bumptech/glide/GenericTranscodeRequestTest.java
library/src/androidTest/java/com/bumptech/glide/GlideTest.java
library/src/androidTest/java/com/bumptech/glide/ListPreloaderTest.java
library/src/androidTest/java/com/bumptech/glide/RequestManagerTest.java
library/src/androidTest/java/com/bumptech/glide/load/MultiTransformationTest.java
library/src/androidTest/java/com/bumptech/glide/load/data/LocalUriFetcherTest.java
library/src/androidTest/java/com/bumptech/glide/load/data/MediaStoreThumbFetcherTest.java
library/src/androidTest/java/com/bumptech/glide/load/data/ThumbnailStreamOpenerFactoryTest.java
library/src/androidTest/java/com/bumptech/glide/load/data/ThumbnailStreamOpenerTest.java
library/src/androidTest/java/com/bumptech/glide/load/data/resource/ByteArrayFetcherTest.java
library/src/androidTest/java/com/bumptech/glide/load/data/resource/FileDescriptorLocalUriFetcherTest.java
library/src/androidTest/java/com/bumptech/glide/load/data/resource/StreamLocalUriFetcherTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/CacheLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/EngineTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/bitmap_recycle/AttributeStrategyTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPoolTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/cache/DiskLruCacheWrapperTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/cache/LruCacheTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/cache/LruResourceCacheTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/cache/MemorySizeCalculatorTest.java
library/src/androidTest/java/com/bumptech/glide/load/engine/executor/FifoPriorityThreadPoolExecutorTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/ImageVideoModelLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/ImageVideoWrapperEncoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/StreamEncoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/stream/MediaStoreStreamLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/stream/ResourceLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/stream/StreamByteArrayLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/stream/StringLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/model/stream/UriLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/NullDecoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/UnitTransformationTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/BitmapDrawableResourceTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/BitmapEncoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/BitmapResourceTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/CenterCropTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/DownsamplerTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/FitCenterTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/ImageVideoBitmapDecoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/StreamBitmapDecoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bitmap/VideoBitmapDecoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/bytes/BytesResourceTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gif/GifFrameModelLoaderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gif/GifFrameResourceDecoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gifbitmap/GifBitmapResourceEncoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gifbitmap/GifBitmapStreamResourceDecoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gifbitmap/GifBitmapWrapperResourceEncoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gifbitmap/GifBitmapWrapperResourceTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gifbitmap/GifBitmapWrapperStreamResourceDecoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gifbitmap/GifBitmapWrapperTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/gifbitmap/GifBitmapWrapperTransformationTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/transcode/BitmapBytesTranscoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/transcode/GifBitmapWrapperDrawableTranscoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/transcode/GlideBitmapDrawableTranscoderTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/transcode/TranscoderRegistryTest.java
library/src/androidTest/java/com/bumptech/glide/load/resource/transcode/UnitTranscoderTest.java
library/src/androidTest/java/com/bumptech/glide/manager/ConnectivityMonitorFactoryTest.java
library/src/androidTest/java/com/bumptech/glide/manager/DefaultConnectivityMonitorTest.java
library/src/androidTest/java/com/bumptech/glide/manager/RequestManagerFragmentTest.java
library/src/androidTest/java/com/bumptech/glide/manager/RequestManagerRetrieverTest.java
library/src/androidTest/java/com/bumptech/glide/provider/ChildLoadProviderTest.java
library/src/androidTest/java/com/bumptech/glide/provider/DataLoadProviderRegistryTest.java
library/src/androidTest/java/com/bumptech/glide/request/target/ViewTargetTest.java
library/src/androidTest/java/com/bumptech/glide/resize/load/ExifTest.java
library/src/androidTest/java/com/bumptech/glide/tests/ContentResolverShadow.java
library/src/androidTest/java/com/bumptech/glide/tests/GlideShadowLooper.java
library/src/androidTest/java/com/bumptech/glide/util/ByteArrayPoolTest.java
library/src/androidTest/resources/org.robolectric.Config.properties
library/src/main/java/com/bumptech/glide/BitmapRequestBuilder.java
library/src/main/java/com/bumptech/glide/GenericRequestBuilder.java
library/src/main/java/com/bumptech/glide/load/engine/Engine.java
library/src/main/java/com/bumptech/glide/load/resource/bitmap/FileDescriptorBitmapDecoder.java
library/src/main/java/com/bumptech/glide/load/resource/bitmap/StreamBitmapDecoder.java
library/src/main/java/com/bumptech/glide/load/resource/bitmap/TransformationUtils.java
library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java
library/src/main/java/com/bumptech/glide/load/resource/transcode/TranscoderFactory.java
library/src/main/java/com/bumptech/glide/provider/DataLoadProviderFactory.java
library/src/main/java/com/bumptech/glide/request/ThumbnailRequestCoordinator.java
samples/flickr/build.gradle
samples/flickr/src/main/AndroidManifest.xml
samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrModelLoader.java
samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoGrid.java
samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrPhotoList.java
samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrSearchActivity.java
samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/PhotoViewer.java
samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/api/Api.java
samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/api/Photo.java
samples/flickr/src/main/res/anim/fade_in.xml
samples/flickr/src/main/res/drawable-hdpi/ic_launcher.png
samples/flickr/src/main/res/drawable-ldpi/ic_launcher.png
samples/flickr/src/main/res/drawable-mdpi/ic_launcher.png
samples/flickr/src/main/res/drawable-xhdpi/ic_launcher.png
samples/flickr/src/main/res/layout/flickr_photo_grid.xml
samples/flickr/src/main/res/layout/flickr_photo_grid_item.xml
samples/flickr/src/main/res/layout/flickr_photo_list.xml
samples/flickr/src/main/res/layout/flickr_photo_list_item.xml
samples/flickr/src/main/res/layout/flickr_search_activity.xml
samples/flickr/src/main/res/values/colors.xml
samples/flickr/src/main/res/values/dimens.xml
samples/flickr/src/main/res/values/strings.xml
samples/svg/src/main/res/drawable-xhdpi/ic_launcher.png
Change-Id: I27376c117937c6a308b1015313a91eedbf0e95b8
|
|
Each time we call get() on a drawable resource, we
get a new Drawable. We call get() repeatedly on
resources when they are retrieved from either the
set of active resources or the in memory cache.
Each time we create a new GifDrawable it holds on
to one or two temporary Bitmaps outside it's
shared state to render the current frame and obey
the dispose_previous method. This change means we
more aggressively cleanup those resources when
we think each Drawable is no longer being used.
The side affect is that we may reset back to
the beginning of the Drawable in some
circumstances.
Cleanup in in memory resources makes it less
likely that frames would be retrieved from
in memory, so this also works toward #207.
|
|
Fixes #207.
|
|
|
|
Fixes #204.
|
|
Fixes #203
|
|
Fixes #201.
|
|
|
|
|
|
Fixes #177.
|
|
|
|
Fixes #159.
|
|
The GCE is an optional extension that may or may
not be included per frame (it's slightly more
complicated than this), we shouldn't throw if it
isn't present.
Fixes #134.
|
|
|
|
|
|
{@link}s, - converted some multi-line comments to single-line/javadocs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We get a GifHeader object, but it has 0 frames
which eventually causes a divide by zero
exception. Since the real problem is that we
couldn't decode the gif, we check in the decoder
if the decode failed and then simply return null.
|
|
This allows the intrinsic width and height to be
constant which plays more nicely with the android
framework.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gif decoder is being built as a sub project while other dependencies are acquired via maven.
|
|
|
|
|
|
|