├── .github
├── stale.yml
└── workflows
│ ├── build.yml
│ └── gradle-wrapper-validation.yml
├── .gitignore
├── .gitmodules
├── .idea
├── codeStyleSettings.xml
└── inspectionProfiles
│ └── Project_Default.xml
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── README.md
├── annotation
├── .gitignore
├── build.gradle
├── compiler
│ ├── .gitignore
│ ├── build.gradle
│ ├── gradle.properties
│ ├── proguard.pro
│ ├── src
│ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── bumptech
│ │ │ │ └── glide
│ │ │ │ └── annotation
│ │ │ │ └── compiler
│ │ │ │ ├── AppModuleGenerator.java
│ │ │ │ ├── AppModuleProcessor.java
│ │ │ │ ├── ExtensionProcessor.java
│ │ │ │ ├── GlideAnnotationProcessor.java
│ │ │ │ ├── GlideExtensionValidator.java
│ │ │ │ ├── GlideGenerator.java
│ │ │ │ ├── IndexerGenerator.java
│ │ │ │ ├── LibraryModuleProcessor.java
│ │ │ │ ├── ProcessorUtil.java
│ │ │ │ ├── RequestBuilderGenerator.java
│ │ │ │ ├── RequestManagerFactoryGenerator.java
│ │ │ │ ├── RequestManagerGenerator.java
│ │ │ │ ├── RequestOptionsExtensionGenerator.java
│ │ │ │ ├── RequestOptionsGenerator.java
│ │ │ │ └── RequestOptionsOverrideGenerator.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── gradle
│ │ │ └── incremental.annotation.processors
│ └── test
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ └── src
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── annotation
│ │ │ └── compiler
│ │ │ ├── AppGlideModuleWithExcludesTest.java
│ │ │ ├── AppGlideModuleWithLibraryInPackageTest.java
│ │ │ ├── AppGlideModuleWithMultipleExcludesTest.java
│ │ │ ├── EmptyAppAndLibraryGlideModulesTest.java
│ │ │ ├── EmptyAppGlideModuleTest.java
│ │ │ ├── EmptyLibraryGlideModuleTest.java
│ │ │ ├── GlideExtensionOptionsTest.java
│ │ │ ├── GlideExtensionWithOptionTest.java
│ │ │ ├── GlideExtensionWithTypeTest.java
│ │ │ ├── InvalidAppGlideModuleWithExcludesTest.java
│ │ │ ├── InvalidGlideExtensionTest.java
│ │ │ ├── InvalidGlideOptionsExtensionTest.java
│ │ │ ├── InvalidGlideTypeExtensionTest.java
│ │ │ ├── MultipleAppGlideModuleTest.java
│ │ │ ├── MultipleEmptyLibraryGlideModuleTest.java
│ │ │ ├── OverlyLongFileNameTest.java
│ │ │ └── test
│ │ │ ├── CompilationProvider.java
│ │ │ ├── ReferencedResource.java
│ │ │ ├── RegenerateResourcesRule.java
│ │ │ ├── SubDirectory.java
│ │ │ ├── TestDescription.java
│ │ │ └── Util.java
│ │ └── resources
│ │ ├── AppGlideModuleWithExcludesTest
│ │ ├── AppModuleWithExcludes.java
│ │ └── GeneratedAppGlideModuleImpl.java
│ │ ├── AppGlideModuleWithLibraryInPackageTest
│ │ ├── AppModuleWithLibraryInPackage.java
│ │ ├── GeneratedAppGlideModuleImpl.java
│ │ └── LibraryModuleInPackage.java
│ │ ├── AppGlideModuleWithMultipleExcludesTest
│ │ ├── AppModuleWithMultipleExcludes.java
│ │ ├── EmptyLibraryModule1.java
│ │ ├── EmptyLibraryModule2.java
│ │ └── GeneratedAppGlideModuleImpl.java
│ │ ├── EmptyAppAndLibraryGlideModulesTest
│ │ └── GeneratedAppGlideModuleImpl.java
│ │ ├── EmptyAppGlideModuleTest
│ │ ├── EmptyAppModule.java
│ │ ├── GeneratedAppGlideModuleImpl.java
│ │ ├── GeneratedRequestManagerFactory.java
│ │ ├── GlideApp.java
│ │ ├── GlideOptions.java
│ │ ├── GlideRequest.java
│ │ └── GlideRequests.java
│ │ ├── EmptyLibraryGlideModuleTest
│ │ ├── EmptyLibraryModule.java
│ │ └── GlideIndexer_GlideModule_com_bumptech_glide_test_EmptyLibraryModule.java
│ │ ├── GlideExtensionOptionsTest
│ │ ├── MemoizeStaticMethod
│ │ │ ├── Extension.java
│ │ │ ├── GlideOptions.java
│ │ │ └── GlideRequest.java
│ │ ├── OverrideExtend
│ │ │ ├── Extension.java
│ │ │ ├── GlideOptions.java
│ │ │ └── GlideRequest.java
│ │ ├── OverrideExtendMultipleArguments
│ │ │ ├── Extension.java
│ │ │ ├── GlideOptions.java
│ │ │ └── GlideRequest.java
│ │ ├── OverrideReplace
│ │ │ ├── Extension.java
│ │ │ ├── GlideOptions.java
│ │ │ └── GlideRequest.java
│ │ ├── SkipStaticMethod
│ │ │ ├── Extension.java
│ │ │ ├── GlideOptions.java
│ │ │ └── GlideRequest.java
│ │ └── StaticMethodName
│ │ │ ├── Extension.java
│ │ │ ├── GlideOptions.java
│ │ │ └── GlideRequest.java
│ │ ├── GlideExtensionWithOptionTest
│ │ ├── ExtensionWithOption.java
│ │ ├── GlideOptions.java
│ │ └── GlideRequest.java
│ │ ├── GlideExtensionWithTypeTest
│ │ ├── ExtensionWithType.java
│ │ ├── GlideOptions.java
│ │ └── GlideRequests.java
│ │ ├── MultipleAppGlideModuleTest
│ │ ├── EmptyAppModule1.java
│ │ └── EmptyAppModule2.java
│ │ └── MultipleEmptyLibraryGlideModuleTest
│ │ ├── EmptyLibraryModule1.java
│ │ ├── EmptyLibraryModule2.java
│ │ └── GlideIndexer_GlideModule_com_bumptech_glide_test_EmptyLibraryModule1_com_bumptech_glide_test_EmptyLibraryModule2.java
├── gradle.properties
├── ksp
│ ├── build.gradle
│ ├── gradle.properties
│ ├── integrationtest
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── annotation
│ │ │ └── ksp
│ │ │ └── integrationtest
│ │ │ └── IntegrationLibraryGlideModuleTests.kt
│ ├── src
│ │ └── main
│ │ │ └── kotlin
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── annotation
│ │ │ └── ksp
│ │ │ ├── AppGlideModules.kt
│ │ │ ├── GlideSymbolProcessor.kt
│ │ │ ├── GlideSymbolProcessorProvider.kt
│ │ │ ├── LibraryGlideModules.kt
│ │ │ └── ModuleParser.kt
│ └── test
│ │ ├── build.gradle
│ │ └── src
│ │ ├── main
│ │ └── kotlin
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── annotation
│ │ │ └── ksp
│ │ │ └── test
│ │ │ └── SourceTestHelpers.kt
│ │ └── test
│ │ └── kotlin
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── annotation
│ │ └── ksp
│ │ └── test
│ │ ├── LibraryGlideModuleTests.kt
│ │ └── OnlyAppGlideModuleTests.kt
└── src
│ └── main
│ └── java
│ └── com
│ └── bumptech
│ └── glide
│ └── annotation
│ ├── Excludes.java
│ ├── GlideExtension.java
│ ├── GlideModule.java
│ ├── GlideOption.java
│ ├── GlideType.java
│ ├── compiler
│ └── Index.java
│ └── ksp
│ └── Index.java
├── benchmark
├── benchmark-proguard-rules.pro
├── build.gradle
├── gradle.properties
└── src
│ ├── androidTest
│ ├── AndroidManifest.xml
│ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ ├── benchmark
│ │ ├── BenchmarkData.java
│ │ ├── BenchmarkFromCache.java
│ │ ├── BenchmarkMediaStoreData.java
│ │ ├── BenchmarkModels.java
│ │ ├── GlideBenchmarkRule.java
│ │ └── data
│ │ │ └── DataOpener.java
│ │ └── load
│ │ └── resource
│ │ └── bitmap
│ │ └── BenchmarkDownsampler.java
│ └── main
│ └── res
│ └── raw
│ ├── huge_header.jpg
│ ├── pixel3a_exif_rotated.jpg
│ ├── pixel3a_mvimg_exif_rotated.jpg
│ ├── pixel3a_portrait.jpg
│ ├── pixel3a_portrait_mvimg.jpg
│ └── small.jpg
├── build.gradle
├── checkstyle.xml
├── checkstyle_suppressions.xml
├── debug.keystore
├── exifsamples
├── Landscape_0.jpg
├── Landscape_1.jpg
├── Landscape_2.jpg
├── Landscape_3.jpg
├── Landscape_4.jpg
├── Landscape_5.jpg
├── Landscape_6.jpg
├── Landscape_7.jpg
├── Landscape_8.jpg
├── Portrait_0.jpg
├── Portrait_1.jpg
├── Portrait_2.jpg
├── Portrait_3.jpg
├── Portrait_4.jpg
├── Portrait_5.jpg
├── Portrait_6.jpg
├── Portrait_7.jpg
└── Portrait_8.jpg
├── gcloud-bumptech.json.enc
├── gcloud-sjudd.json.enc
├── glide
├── build.gradle
└── gradle.properties
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── instrumentation
├── build.gradle
├── gradle.properties
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ ├── AsBytesTest.java
│ │ ├── AsFileTest.java
│ │ ├── CachingTest.java
│ │ ├── CenterCropRegressionTest.java
│ │ ├── CenterInsideRegressionTest.java
│ │ ├── CircleCropRegressionTest.java
│ │ ├── DarkModeTest.java
│ │ ├── DataUriTest.java
│ │ ├── DownsampleVideoTest.java
│ │ ├── DrawableTransformationTest.java
│ │ ├── ErrorHandlingTest.java
│ │ ├── ExternallyClearedDiskCacheTest.java
│ │ ├── FitCenterRegressionTest.java
│ │ ├── LargeImageTest.java
│ │ ├── LoadAnimatedImageResourceTest.java
│ │ ├── LoadAssetUriTest.java
│ │ ├── LoadBitmapTest.java
│ │ ├── LoadBytesTest.java
│ │ ├── LoadDrawableTest.java
│ │ ├── LoadResourcesWithDownsamplerTest.java
│ │ ├── LoadVideoResourceTest.java
│ │ ├── MultiRequestTest.java
│ │ ├── NonBitmapDrawableResourcesTest.java
│ │ ├── PausedRequestsTest.java
│ │ ├── RequestManagerLifecycleTest.java
│ │ ├── RequestManagerTest.java
│ │ ├── RequestTest.java
│ │ ├── RoundedCornersRegressionTest.java
│ │ ├── WideGamutTest.java
│ │ ├── load
│ │ ├── engine
│ │ │ └── executor
│ │ │ │ └── IdlingGlideRule.java
│ │ └── resource
│ │ │ ├── bitmap
│ │ │ └── DownsamplerEmulatorTest.java
│ │ │ └── gif
│ │ │ └── GifDrawableTest.java
│ │ └── test
│ │ ├── BitmapRegressionTester.java
│ │ ├── CanonicalBitmap.java
│ │ ├── ModelGeneratorRule.java
│ │ ├── RegressionTest.java
│ │ ├── ResourceIds.java
│ │ ├── SplitByCpu.java
│ │ └── SplitBySdk.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ ├── canonical.jpg
│ └── video.mp4
│ ├── java
│ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── test
│ │ ├── DefaultFragmentActivity.java
│ │ ├── ForceDarkOrLightModeActivity.java
│ │ ├── GlideWithAsDifferentSupertypesActivity.java
│ │ ├── GlideWithBeforeSuperOnCreateActivity.java
│ │ └── InstrumentationAppGlideModule.java
│ └── res
│ ├── drawable-night
│ └── dog.jpg
│ ├── drawable
│ ├── bitmap_alias.xml
│ ├── dog.jpg
│ ├── googlelogo_color_120x44dp.9.png
│ ├── shape_drawable.xml
│ ├── state_list_drawable.xml
│ ├── vector_drawable.xml
│ ├── vector_drawable_dark.xml
│ └── vector_drawable_light.xml
│ ├── layout
│ └── default_fragment_activity.xml
│ ├── raw
│ ├── canonical.jpg
│ ├── canonical_large.jpg
│ ├── canonical_png.png
│ ├── canonical_transparent_png.png
│ ├── ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_16_armeabi_v7a.png
│ ├── ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_16_x86.png
│ ├── ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_21_armeabi_v7a.png
│ ├── ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_21_x86.png
│ ├── ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_24_x86.png
│ ├── ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_16_armeabi_v7a.png
│ ├── ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_16_x86.png
│ ├── ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_21_armeabi_v7a.png
│ ├── ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_21_x86.png
│ ├── ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_24_x86.png
│ ├── ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_16_armeabi_v7a.png
│ ├── ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_16_x86.png
│ ├── ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_21_armeabi_v7a.png
│ ├── ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_21_x86.png
│ ├── ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_24_x86.png
│ ├── ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_16_armeabi_v7a.png
│ ├── ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_16_x86.png
│ ├── ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_21_armeabi_v7a.png
│ ├── ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_21_x86.png
│ ├── ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_24_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_16_armeabi_v7a.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_16_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_18_armeabi_v7a.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_18_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_21_armeabi_v7a.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_21_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_23_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_24_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_cropswithin_26_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_18_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_23_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png
│ ├── ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_26_x86.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_18_x86.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_23_x86.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png
│ ├── ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_26_x86.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_16_armeabi_v7a.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_16_x86.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_18_armeabi_v7a.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_18_x86.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_21_armeabi_v7a.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_21_x86.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_23_x86.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_24_x86.png
│ ├── ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_26_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_16_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_18_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_21_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_23_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_24_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_26_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_16_armeabi_v7a.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_16_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_18_armeabi_v7a.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_18_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_21_armeabi_v7a.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_21_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_23_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_24_x86.png
│ ├── ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_26_x86.png
│ ├── cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
│ ├── cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png
│ ├── cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
│ ├── cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png
│ ├── cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png
│ ├── cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
│ ├── cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png
│ ├── cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
│ ├── cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png
│ ├── cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png
│ ├── cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_16_armeabi_v7a.png
│ ├── cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_16_x86.png
│ ├── cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_21_armeabi_v7a.png
│ ├── cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_21_x86.png
│ ├── cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_24_x86.png
│ ├── cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_armeabi_v7a.png
│ ├── cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_x86.png
│ ├── cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_armeabi_v7a.png
│ ├── cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_x86.png
│ ├── cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_24_x86.png
│ ├── dl_world_anim.gif
│ ├── dl_world_anim_avif.avif
│ ├── dl_world_anim_webp.webp
│ ├── dog_dark.jpg
│ ├── dog_light.jpg
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_18_x86.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_19_armeabi_v7a.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_19_x86.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_23_x86.png
│ ├── fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_18_x86.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_19_armeabi_v7a.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_19_x86.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_23_x86.png
│ ├── fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_16_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_16_x86.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_18_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_18_x86.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_19_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_19_x86.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_21_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_21_x86.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_23_x86.png
│ ├── fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_24_x86.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_x86.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_18_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_18_x86.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_19_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_19_x86.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_armeabi_v7a.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_x86.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_23_x86.png
│ ├── fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_24_x86.png
│ ├── interlaced_transparent_gif.gif
│ ├── opaque_gif.gif
│ ├── opaque_interlaced_gif.gif
│ ├── rcrt_testroundedcorners_16_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_16_x86.png
│ ├── rcrt_testroundedcorners_18_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_18_x86.png
│ ├── rcrt_testroundedcorners_19_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_19_x86.png
│ ├── rcrt_testroundedcorners_21_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_21_x86.png
│ ├── rcrt_testroundedcorners_23_x86.png
│ ├── rcrt_testroundedcorners_24_x86.png
│ ├── rcrt_testroundedcorners_26_x86.png
│ ├── rcrt_testroundedcorners_overrounded_16_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_overrounded_16_x86.png
│ ├── rcrt_testroundedcorners_overrounded_18_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_overrounded_18_x86.png
│ ├── rcrt_testroundedcorners_overrounded_19_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_overrounded_19_x86.png
│ ├── rcrt_testroundedcorners_overrounded_21_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_overrounded_21_x86.png
│ ├── rcrt_testroundedcorners_overrounded_23_x86.png
│ ├── rcrt_testroundedcorners_overrounded_24_x86.png
│ ├── rcrt_testroundedcorners_overrounded_26_x86.png
│ ├── rcrt_testroundedcorners_usepool_16_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_usepool_16_x86.png
│ ├── rcrt_testroundedcorners_usepool_18_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_usepool_18_x86.png
│ ├── rcrt_testroundedcorners_usepool_19_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_usepool_19_x86.png
│ ├── rcrt_testroundedcorners_usepool_21_armeabi_v7a.png
│ ├── rcrt_testroundedcorners_usepool_21_x86.png
│ ├── rcrt_testroundedcorners_usepool_23_x86.png
│ ├── rcrt_testroundedcorners_usepool_24_x86.png
│ ├── rcrt_testroundedcorners_usepool_26_x86.png
│ ├── transparent_gif.gif
│ ├── video.mp4
│ └── webkit_logo_p3.png
│ ├── values-night
│ └── colors.xml
│ └── values
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
├── integration
├── avif
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── avif
│ │ ├── AvifByteBufferBitmapDecoder.java
│ │ ├── AvifGlideModule.java
│ │ └── AvifStreamBitmapDecoder.java
├── build.gradle
├── compose
│ ├── api
│ │ └── compose.api
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ │ ├── androidTest
│ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ ├── integration
│ │ │ └── compose
│ │ │ │ ├── GlideImageCustomDrawableTransformationTest.kt
│ │ │ │ ├── GlideImageDefaultTransformationTest.kt
│ │ │ │ ├── GlideImageErrorTest.kt
│ │ │ │ ├── GlideImagePlaceholderTest.kt
│ │ │ │ ├── GlideImageTest.kt
│ │ │ │ ├── RememberGlidePreloadingDataTest.kt
│ │ │ │ └── test
│ │ │ │ ├── GlideComposeRule.kt
│ │ │ │ ├── expectations.kt
│ │ │ │ └── nodes.kt
│ │ │ └── load
│ │ │ └── engine
│ │ │ └── executor
│ │ │ └── GlideIdlingResourceInit.kt
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── integration
│ │ │ └── compose
│ │ │ ├── ExperimentalGlideComposeApi.kt
│ │ │ ├── GlideImage.kt
│ │ │ ├── GlidePainter.kt
│ │ │ ├── Preload.kt
│ │ │ └── Sizes.kt
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── compose
│ │ └── GlideImageTest.kt
├── concurrent
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── integration
│ │ │ └── concurrent
│ │ │ └── GlideFutures.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── concurrent
│ │ └── GlideFuturesTest.java
├── cronet
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── integration
│ │ │ └── cronet
│ │ │ ├── BufferQueue.java
│ │ │ ├── ByteBufferParser.java
│ │ │ ├── ChromiumRequestSerializer.java
│ │ │ ├── ChromiumUrlFetcher.java
│ │ │ ├── ChromiumUrlLoader.java
│ │ │ ├── CronetEngineSingleton.java
│ │ │ ├── CronetGlideModule.java
│ │ │ ├── CronetLibraryGlideModule.java
│ │ │ ├── CronetRequestFactory.java
│ │ │ ├── CronetRequestFactoryImpl.java
│ │ │ └── DataLogger.java
│ │ └── test
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── cronet
│ │ └── ChromiumUrlFetcherTest.java
├── gifencoder
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── integration
│ │ │ └── gifencoder
│ │ │ └── ReEncodingGifResourceEncoder.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── gifencoder
│ │ └── ReEncodingGifResourceEncoderTest.java
├── gradle.properties
├── ktx
│ ├── api
│ │ └── ktx.api
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ ├── GlideIntegration.kt
│ │ │ └── integration
│ │ │ └── ktx
│ │ │ ├── Flows.kt
│ │ │ └── InternalGlideApi.kt
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ ├── integration
│ │ └── ktx
│ │ │ └── FlowsTest.kt
│ │ └── load
│ │ └── engine
│ │ └── executor
│ │ └── GlideIdlingResourceInit.kt
├── okhttp
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── okhttp
│ │ ├── OkHttpGlideModule.java
│ │ ├── OkHttpLibraryGlideModule.java
│ │ ├── OkHttpStreamFetcher.java
│ │ └── OkHttpUrlLoader.java
├── okhttp3
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── okhttp3
│ │ ├── OkHttpGlideModule.java
│ │ ├── OkHttpLibraryGlideModule.java
│ │ ├── OkHttpStreamFetcher.java
│ │ └── OkHttpUrlLoader.java
├── okhttp4
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── okhttp3
│ │ ├── OkHttpLibraryGlideModule.java
│ │ ├── OkHttpStreamFetcher.java
│ │ └── OkHttpUrlLoader.java
├── recyclerview
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── recyclerview
│ │ ├── RecyclerToListViewScrollListener.java
│ │ └── RecyclerViewPreloader.java
├── sqljournaldiskcache
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── integration
│ │ │ └── sqljournaldiskcache
│ │ │ ├── Clock.java
│ │ │ ├── DefaultClock.java
│ │ │ ├── DiskCacheDbHelper.java
│ │ │ ├── EntryCache.java
│ │ │ ├── EvictionManager.java
│ │ │ ├── FileSystem.java
│ │ │ ├── GlideJournaledLruDiskCacheWrapper.java
│ │ │ ├── Journal.java
│ │ │ ├── JournalTable.java
│ │ │ ├── JournaledLruDiskCache.java
│ │ │ ├── MessageIds.java
│ │ │ ├── RecoveryManager.java
│ │ │ ├── SizeJournal.java
│ │ │ ├── SizeTable.java
│ │ │ └── SqliteStatementPool.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── sqljournaldiskcache
│ │ ├── DiskCacheDbHelperUpgradeTest.java
│ │ ├── DiskCacheUtils.java
│ │ ├── JournaledLruDiskCacheTest.java
│ │ └── TestClock.java
└── volley
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ ├── main
│ ├── AndroidManifest.xml
│ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── integration
│ │ └── volley
│ │ ├── VolleyGlideModule.java
│ │ ├── VolleyLibraryGlideModule.java
│ │ ├── VolleyRequestFactory.java
│ │ ├── VolleyStreamFetcher.java
│ │ └── VolleyUrlLoader.java
│ └── test
│ └── java
│ └── com
│ └── bumptech
│ └── glide
│ └── integration
│ └── volley
│ └── VolleyStreamFetcherServerTest.java
├── library
├── build.gradle
├── gradle.properties
├── lint.xml
├── pmd-ruleset.xml
├── pmd
│ └── build.gradle
├── proguard-rules.txt
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── bumptech
│ │ │ │ └── glide
│ │ │ │ ├── GeneratedAppGlideModule.java
│ │ │ │ ├── GenericTransitionOptions.java
│ │ │ │ ├── Glide.java
│ │ │ │ ├── GlideBuilder.java
│ │ │ │ ├── GlideContext.java
│ │ │ │ ├── GlideExperiments.java
│ │ │ │ ├── ListPreloader.java
│ │ │ │ ├── MemoryCategory.java
│ │ │ │ ├── ModelTypes.java
│ │ │ │ ├── Priority.java
│ │ │ │ ├── Registry.java
│ │ │ │ ├── RegistryFactory.java
│ │ │ │ ├── RequestBuilder.java
│ │ │ │ ├── RequestManager.java
│ │ │ │ ├── TransitionOptions.java
│ │ │ │ ├── load
│ │ │ │ ├── DataSource.java
│ │ │ │ ├── DecodeFormat.java
│ │ │ │ ├── EncodeStrategy.java
│ │ │ │ ├── Encoder.java
│ │ │ │ ├── HttpException.java
│ │ │ │ ├── ImageHeaderParser.java
│ │ │ │ ├── ImageHeaderParserUtils.java
│ │ │ │ ├── Key.java
│ │ │ │ ├── MultiTransformation.java
│ │ │ │ ├── Option.java
│ │ │ │ ├── Options.java
│ │ │ │ ├── PreferredColorSpace.java
│ │ │ │ ├── ResourceDecoder.java
│ │ │ │ ├── ResourceEncoder.java
│ │ │ │ ├── Transformation.java
│ │ │ │ ├── data
│ │ │ │ │ ├── AssetFileDescriptorLocalUriFetcher.java
│ │ │ │ │ ├── AssetPathFetcher.java
│ │ │ │ │ ├── BufferedOutputStream.java
│ │ │ │ │ ├── DataFetcher.java
│ │ │ │ │ ├── DataRewinder.java
│ │ │ │ │ ├── DataRewinderRegistry.java
│ │ │ │ │ ├── ExifOrientationStream.java
│ │ │ │ │ ├── FileDescriptorAssetPathFetcher.java
│ │ │ │ │ ├── FileDescriptorLocalUriFetcher.java
│ │ │ │ │ ├── HttpUrlFetcher.java
│ │ │ │ │ ├── InputStreamRewinder.java
│ │ │ │ │ ├── LocalUriFetcher.java
│ │ │ │ │ ├── ParcelFileDescriptorRewinder.java
│ │ │ │ │ ├── StreamAssetPathFetcher.java
│ │ │ │ │ ├── StreamLocalUriFetcher.java
│ │ │ │ │ └── mediastore
│ │ │ │ │ │ ├── FileService.java
│ │ │ │ │ │ ├── MediaStoreUtil.java
│ │ │ │ │ │ ├── ThumbFetcher.java
│ │ │ │ │ │ ├── ThumbnailQuery.java
│ │ │ │ │ │ └── ThumbnailStreamOpener.java
│ │ │ │ ├── engine
│ │ │ │ │ ├── ActiveResources.java
│ │ │ │ │ ├── CallbackException.java
│ │ │ │ │ ├── DataCacheGenerator.java
│ │ │ │ │ ├── DataCacheKey.java
│ │ │ │ │ ├── DataCacheWriter.java
│ │ │ │ │ ├── DataFetcherGenerator.java
│ │ │ │ │ ├── DecodeHelper.java
│ │ │ │ │ ├── DecodeJob.java
│ │ │ │ │ ├── DecodePath.java
│ │ │ │ │ ├── DiskCacheStrategy.java
│ │ │ │ │ ├── Engine.java
│ │ │ │ │ ├── EngineJob.java
│ │ │ │ │ ├── EngineJobListener.java
│ │ │ │ │ ├── EngineKey.java
│ │ │ │ │ ├── EngineKeyFactory.java
│ │ │ │ │ ├── EngineResource.java
│ │ │ │ │ ├── GlideException.java
│ │ │ │ │ ├── Initializable.java
│ │ │ │ │ ├── Jobs.java
│ │ │ │ │ ├── LoadPath.java
│ │ │ │ │ ├── LockedResource.java
│ │ │ │ │ ├── Resource.java
│ │ │ │ │ ├── ResourceCacheGenerator.java
│ │ │ │ │ ├── ResourceCacheKey.java
│ │ │ │ │ ├── ResourceRecycler.java
│ │ │ │ │ ├── SourceGenerator.java
│ │ │ │ │ ├── bitmap_recycle
│ │ │ │ │ │ ├── ArrayAdapterInterface.java
│ │ │ │ │ │ ├── ArrayPool.java
│ │ │ │ │ │ ├── AttributeStrategy.java
│ │ │ │ │ │ ├── BaseKeyPool.java
│ │ │ │ │ │ ├── BitmapPool.java
│ │ │ │ │ │ ├── BitmapPoolAdapter.java
│ │ │ │ │ │ ├── ByteArrayAdapter.java
│ │ │ │ │ │ ├── GroupedLinkedMap.java
│ │ │ │ │ │ ├── IntegerArrayAdapter.java
│ │ │ │ │ │ ├── LruArrayPool.java
│ │ │ │ │ │ ├── LruBitmapPool.java
│ │ │ │ │ │ ├── LruPoolStrategy.java
│ │ │ │ │ │ ├── Poolable.java
│ │ │ │ │ │ ├── PrettyPrintTreeMap.java
│ │ │ │ │ │ ├── SizeConfigStrategy.java
│ │ │ │ │ │ └── SizeStrategy.java
│ │ │ │ │ ├── cache
│ │ │ │ │ │ ├── DiskCache.java
│ │ │ │ │ │ ├── DiskCacheAdapter.java
│ │ │ │ │ │ ├── DiskCacheWriteLocker.java
│ │ │ │ │ │ ├── DiskLruCacheFactory.java
│ │ │ │ │ │ ├── DiskLruCacheWrapper.java
│ │ │ │ │ │ ├── ExternalCacheDiskCacheFactory.java
│ │ │ │ │ │ ├── ExternalPreferredCacheDiskCacheFactory.java
│ │ │ │ │ │ ├── InternalCacheDiskCacheFactory.java
│ │ │ │ │ │ ├── LruResourceCache.java
│ │ │ │ │ │ ├── MemoryCache.java
│ │ │ │ │ │ ├── MemoryCacheAdapter.java
│ │ │ │ │ │ ├── MemorySizeCalculator.java
│ │ │ │ │ │ └── SafeKeyGenerator.java
│ │ │ │ │ ├── executor
│ │ │ │ │ │ ├── GlideExecutor.java
│ │ │ │ │ │ └── RuntimeCompat.java
│ │ │ │ │ └── prefill
│ │ │ │ │ │ ├── BitmapPreFillRunner.java
│ │ │ │ │ │ ├── BitmapPreFiller.java
│ │ │ │ │ │ ├── PreFillQueue.java
│ │ │ │ │ │ └── PreFillType.java
│ │ │ │ ├── model
│ │ │ │ │ ├── AssetUriLoader.java
│ │ │ │ │ ├── ByteArrayLoader.java
│ │ │ │ │ ├── ByteBufferEncoder.java
│ │ │ │ │ ├── ByteBufferFileLoader.java
│ │ │ │ │ ├── DataUrlLoader.java
│ │ │ │ │ ├── DirectResourceLoader.java
│ │ │ │ │ ├── FileLoader.java
│ │ │ │ │ ├── GlideUrl.java
│ │ │ │ │ ├── Headers.java
│ │ │ │ │ ├── LazyHeaderFactory.java
│ │ │ │ │ ├── LazyHeaders.java
│ │ │ │ │ ├── MediaStoreFileLoader.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── ModelCache.java
│ │ │ │ │ ├── ModelLoader.java
│ │ │ │ │ ├── ModelLoaderFactory.java
│ │ │ │ │ ├── ModelLoaderRegistry.java
│ │ │ │ │ ├── MultiModelLoader.java
│ │ │ │ │ ├── MultiModelLoaderFactory.java
│ │ │ │ │ ├── ResourceLoader.java
│ │ │ │ │ ├── ResourceUriLoader.java
│ │ │ │ │ ├── StreamEncoder.java
│ │ │ │ │ ├── StringLoader.java
│ │ │ │ │ ├── UnitModelLoader.java
│ │ │ │ │ ├── UriLoader.java
│ │ │ │ │ ├── UrlUriLoader.java
│ │ │ │ │ └── stream
│ │ │ │ │ │ ├── BaseGlideUrlLoader.java
│ │ │ │ │ │ ├── HttpGlideUrlLoader.java
│ │ │ │ │ │ ├── HttpUriLoader.java
│ │ │ │ │ │ ├── MediaStoreImageThumbLoader.java
│ │ │ │ │ │ ├── MediaStoreVideoThumbLoader.java
│ │ │ │ │ │ ├── QMediaStoreUriLoader.java
│ │ │ │ │ │ └── UrlLoader.java
│ │ │ │ └── resource
│ │ │ │ │ ├── DefaultOnHeaderDecodedListener.java
│ │ │ │ │ ├── SimpleResource.java
│ │ │ │ │ ├── UnitTransformation.java
│ │ │ │ │ ├── bitmap
│ │ │ │ │ ├── BitmapDrawableDecoder.java
│ │ │ │ │ ├── BitmapDrawableEncoder.java
│ │ │ │ │ ├── BitmapDrawableResource.java
│ │ │ │ │ ├── BitmapDrawableTransformation.java
│ │ │ │ │ ├── BitmapEncoder.java
│ │ │ │ │ ├── BitmapImageDecoderResourceDecoder.java
│ │ │ │ │ ├── BitmapResource.java
│ │ │ │ │ ├── BitmapTransformation.java
│ │ │ │ │ ├── BitmapTransitionOptions.java
│ │ │ │ │ ├── ByteBufferBitmapDecoder.java
│ │ │ │ │ ├── ByteBufferBitmapImageDecoderResourceDecoder.java
│ │ │ │ │ ├── CenterCrop.java
│ │ │ │ │ ├── CenterInside.java
│ │ │ │ │ ├── CircleCrop.java
│ │ │ │ │ ├── DefaultImageHeaderParser.java
│ │ │ │ │ ├── DownsampleStrategy.java
│ │ │ │ │ ├── Downsampler.java
│ │ │ │ │ ├── DrawableToBitmapConverter.java
│ │ │ │ │ ├── DrawableTransformation.java
│ │ │ │ │ ├── ExifInterfaceImageHeaderParser.java
│ │ │ │ │ ├── FitCenter.java
│ │ │ │ │ ├── GlideBitmapFactory.java
│ │ │ │ │ ├── GranularRoundedCorners.java
│ │ │ │ │ ├── HardwareConfigState.java
│ │ │ │ │ ├── ImageReader.java
│ │ │ │ │ ├── InputStreamBitmapImageDecoderResourceDecoder.java
│ │ │ │ │ ├── LazyBitmapDrawableResource.java
│ │ │ │ │ ├── ParcelFileDescriptorBitmapDecoder.java
│ │ │ │ │ ├── RecyclableBufferedInputStream.java
│ │ │ │ │ ├── ResourceBitmapDecoder.java
│ │ │ │ │ ├── Rotate.java
│ │ │ │ │ ├── RoundedCorners.java
│ │ │ │ │ ├── StreamBitmapDecoder.java
│ │ │ │ │ ├── TransformationUtils.java
│ │ │ │ │ ├── UnitBitmapDecoder.java
│ │ │ │ │ ├── VideoBitmapDecoder.java
│ │ │ │ │ └── VideoDecoder.java
│ │ │ │ │ ├── bytes
│ │ │ │ │ ├── ByteBufferRewinder.java
│ │ │ │ │ └── BytesResource.java
│ │ │ │ │ ├── drawable
│ │ │ │ │ ├── AnimatedImageDecoder.java
│ │ │ │ │ ├── AnimatedWebpDecoder.java
│ │ │ │ │ ├── DrawableDecoderCompat.java
│ │ │ │ │ ├── DrawableResource.java
│ │ │ │ │ ├── DrawableTransitionOptions.java
│ │ │ │ │ ├── NonOwnedDrawableResource.java
│ │ │ │ │ ├── ResourceDrawableDecoder.java
│ │ │ │ │ └── UnitDrawableDecoder.java
│ │ │ │ │ ├── file
│ │ │ │ │ ├── FileDecoder.java
│ │ │ │ │ └── FileResource.java
│ │ │ │ │ ├── gif
│ │ │ │ │ ├── ByteBufferGifDecoder.java
│ │ │ │ │ ├── GifBitmapProvider.java
│ │ │ │ │ ├── GifDrawable.java
│ │ │ │ │ ├── GifDrawableEncoder.java
│ │ │ │ │ ├── GifDrawableResource.java
│ │ │ │ │ ├── GifDrawableTransformation.java
│ │ │ │ │ ├── GifFrameLoader.java
│ │ │ │ │ ├── GifFrameResourceDecoder.java
│ │ │ │ │ ├── GifOptions.java
│ │ │ │ │ └── StreamGifDecoder.java
│ │ │ │ │ └── transcode
│ │ │ │ │ ├── BitmapBytesTranscoder.java
│ │ │ │ │ ├── BitmapDrawableTranscoder.java
│ │ │ │ │ ├── DrawableBytesTranscoder.java
│ │ │ │ │ ├── GifDrawableBytesTranscoder.java
│ │ │ │ │ ├── ResourceTranscoder.java
│ │ │ │ │ ├── TranscoderRegistry.java
│ │ │ │ │ └── UnitTranscoder.java
│ │ │ │ ├── manager
│ │ │ │ ├── ApplicationLifecycle.java
│ │ │ │ ├── ConnectivityMonitor.java
│ │ │ │ ├── ConnectivityMonitorFactory.java
│ │ │ │ ├── DefaultConnectivityMonitor.java
│ │ │ │ ├── DefaultConnectivityMonitorFactory.java
│ │ │ │ ├── DoNothingFirstFrameWaiter.java
│ │ │ │ ├── EmptyRequestManagerTreeNode.java
│ │ │ │ ├── FirstFrameWaiter.java
│ │ │ │ ├── FrameWaiter.java
│ │ │ │ ├── Lifecycle.java
│ │ │ │ ├── LifecycleLifecycle.java
│ │ │ │ ├── LifecycleListener.java
│ │ │ │ ├── LifecycleRequestManagerRetriever.java
│ │ │ │ ├── NullConnectivityMonitor.java
│ │ │ │ ├── RequestManagerFragment.java
│ │ │ │ ├── RequestManagerRetriever.java
│ │ │ │ ├── RequestManagerTreeNode.java
│ │ │ │ ├── RequestTracker.java
│ │ │ │ ├── SingletonConnectivityReceiver.java
│ │ │ │ ├── SupportRequestManagerFragment.java
│ │ │ │ └── TargetTracker.java
│ │ │ │ ├── module
│ │ │ │ ├── AppGlideModule.java
│ │ │ │ ├── AppliesOptions.java
│ │ │ │ ├── GlideModule.java
│ │ │ │ ├── LibraryGlideModule.java
│ │ │ │ ├── ManifestParser.java
│ │ │ │ └── RegistersComponents.java
│ │ │ │ ├── provider
│ │ │ │ ├── EncoderRegistry.java
│ │ │ │ ├── ImageHeaderParserRegistry.java
│ │ │ │ ├── LoadPathCache.java
│ │ │ │ ├── ModelToResourceClassCache.java
│ │ │ │ ├── ResourceDecoderRegistry.java
│ │ │ │ └── ResourceEncoderRegistry.java
│ │ │ │ ├── request
│ │ │ │ ├── BaseRequestOptions.java
│ │ │ │ ├── ErrorRequestCoordinator.java
│ │ │ │ ├── ExperimentalRequestListener.java
│ │ │ │ ├── FutureTarget.java
│ │ │ │ ├── Request.java
│ │ │ │ ├── RequestCoordinator.java
│ │ │ │ ├── RequestFutureTarget.java
│ │ │ │ ├── RequestListener.java
│ │ │ │ ├── RequestOptions.java
│ │ │ │ ├── ResourceCallback.java
│ │ │ │ ├── SingleRequest.java
│ │ │ │ ├── ThumbnailRequestCoordinator.java
│ │ │ │ ├── target
│ │ │ │ │ ├── AppWidgetTarget.java
│ │ │ │ │ ├── BaseTarget.java
│ │ │ │ │ ├── BitmapImageViewTarget.java
│ │ │ │ │ ├── BitmapThumbnailImageViewTarget.java
│ │ │ │ │ ├── CustomTarget.java
│ │ │ │ │ ├── CustomViewTarget.java
│ │ │ │ │ ├── DrawableImageViewTarget.java
│ │ │ │ │ ├── DrawableThumbnailImageViewTarget.java
│ │ │ │ │ ├── FixedSizeDrawable.java
│ │ │ │ │ ├── ImageViewTarget.java
│ │ │ │ │ ├── ImageViewTargetFactory.java
│ │ │ │ │ ├── NotificationTarget.java
│ │ │ │ │ ├── PreloadTarget.java
│ │ │ │ │ ├── SimpleTarget.java
│ │ │ │ │ ├── SizeReadyCallback.java
│ │ │ │ │ ├── Target.java
│ │ │ │ │ ├── ThumbnailImageViewTarget.java
│ │ │ │ │ └── ViewTarget.java
│ │ │ │ └── transition
│ │ │ │ │ ├── BitmapContainerTransitionFactory.java
│ │ │ │ │ ├── BitmapTransitionFactory.java
│ │ │ │ │ ├── DrawableCrossFadeFactory.java
│ │ │ │ │ ├── DrawableCrossFadeTransition.java
│ │ │ │ │ ├── NoTransition.java
│ │ │ │ │ ├── Transition.java
│ │ │ │ │ ├── TransitionFactory.java
│ │ │ │ │ ├── ViewAnimationFactory.java
│ │ │ │ │ ├── ViewPropertyAnimationFactory.java
│ │ │ │ │ ├── ViewPropertyTransition.java
│ │ │ │ │ └── ViewTransition.java
│ │ │ │ ├── signature
│ │ │ │ ├── AndroidResourceSignature.java
│ │ │ │ ├── ApplicationVersionSignature.java
│ │ │ │ ├── EmptySignature.java
│ │ │ │ ├── MediaStoreSignature.java
│ │ │ │ └── ObjectKey.java
│ │ │ │ └── util
│ │ │ │ ├── ByteBufferUtil.java
│ │ │ │ ├── CachedHashCodeArrayMap.java
│ │ │ │ ├── ContentLengthInputStream.java
│ │ │ │ ├── ExceptionCatchingInputStream.java
│ │ │ │ ├── ExceptionPassthroughInputStream.java
│ │ │ │ ├── Executors.java
│ │ │ │ ├── FixedPreloadSizeProvider.java
│ │ │ │ ├── GlideSuppliers.java
│ │ │ │ ├── LogTime.java
│ │ │ │ ├── LruCache.java
│ │ │ │ ├── MarkEnforcingInputStream.java
│ │ │ │ ├── MultiClassKey.java
│ │ │ │ ├── Preconditions.java
│ │ │ │ ├── Synthetic.java
│ │ │ │ ├── Util.java
│ │ │ │ ├── ViewPreloadSizeProvider.java
│ │ │ │ └── pool
│ │ │ │ ├── FactoryPools.java
│ │ │ │ ├── GlideTrace.java
│ │ │ │ └── StateVerifier.java
│ │ └── res
│ │ │ └── values
│ │ │ └── ids.xml
│ └── test
│ │ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── request
│ │ └── target
│ │ └── CustomViewTargetTest.java
└── test
│ ├── build.gradle
│ └── src
│ └── test
│ ├── java
│ ├── com
│ │ └── bumptech
│ │ │ └── glide
│ │ │ ├── GlideContextTest.java
│ │ │ ├── GlideTest.java
│ │ │ ├── InitializeGlideTest.java
│ │ │ ├── ListPreloaderTest.java
│ │ │ ├── RegistryFactoryTest.java
│ │ │ ├── RegistryTest.java
│ │ │ ├── RequestBuilderTest.java
│ │ │ ├── RequestManagerTest.java
│ │ │ ├── load
│ │ │ ├── ImageHeaderParserUtilsTest.java
│ │ │ ├── MultiTransformationTest.java
│ │ │ ├── OptionsTest.java
│ │ │ ├── data
│ │ │ │ ├── BufferedOutputStreamFuzzTest.java
│ │ │ │ ├── BufferedOutputStreamTest.java
│ │ │ │ ├── ExifOrientationStreamTest.java
│ │ │ │ ├── FileDescriptorAssetPathFetcherTest.java
│ │ │ │ ├── HttpUrlFetcherServerTest.java
│ │ │ │ ├── HttpUrlFetcherTest.java
│ │ │ │ ├── LocalUriFetcherTest.java
│ │ │ │ ├── StreamAssetPathFetcherTest.java
│ │ │ │ ├── mediastore
│ │ │ │ │ ├── MediaStoreUtilTest.java
│ │ │ │ │ ├── ThumbFetcherTest.java
│ │ │ │ │ └── ThumbnailStreamOpenerTest.java
│ │ │ │ └── resource
│ │ │ │ │ ├── FileDescriptorLocalUriFetcherTest.java
│ │ │ │ │ └── StreamLocalUriFetcherTest.java
│ │ │ ├── engine
│ │ │ │ ├── ActiveResourcesTest.java
│ │ │ │ ├── DataCacheKeyTest.java
│ │ │ │ ├── EngineJobTest.java
│ │ │ │ ├── EngineKeyTest.java
│ │ │ │ ├── EngineResourceTest.java
│ │ │ │ ├── EngineTest.java
│ │ │ │ ├── ResourceCacheKeyTest.java
│ │ │ │ ├── ResourceRecyclerTest.java
│ │ │ │ ├── bitmap_recycle
│ │ │ │ │ ├── AttributeStrategyKeyTest.java
│ │ │ │ │ ├── AttributeStrategyTest.java
│ │ │ │ │ ├── GroupedLinkedMapTest.java
│ │ │ │ │ ├── LruArrayPoolTest.java
│ │ │ │ │ ├── LruBitmapPoolTest.java
│ │ │ │ │ ├── SizeConfigStrategyTest.java
│ │ │ │ │ └── SizeStrategyKeyTest.java
│ │ │ │ ├── cache
│ │ │ │ │ ├── DiskLruCacheWrapperTest.java
│ │ │ │ │ ├── LruCacheTest.java
│ │ │ │ │ ├── LruResourceCacheTest.java
│ │ │ │ │ ├── MemorySizeCalculatorTest.java
│ │ │ │ │ └── SafeKeyGeneratorTest.java
│ │ │ │ ├── executor
│ │ │ │ │ └── GlideExecutorTest.java
│ │ │ │ └── prefill
│ │ │ │ │ ├── BitmapPreFillRunnerTest.java
│ │ │ │ │ ├── BitmapPreFillerTest.java
│ │ │ │ │ └── PreFillTypeTest.java
│ │ │ ├── model
│ │ │ │ ├── AssetUriLoaderTest.java
│ │ │ │ ├── ByteArrayLoaderTest.java
│ │ │ │ ├── DataUrlLoaderTest.java
│ │ │ │ ├── GlideUrlTest.java
│ │ │ │ ├── LazyHeadersTest.java
│ │ │ │ ├── ModelCacheTest.java
│ │ │ │ ├── ModelLoaderRegistryTest.java
│ │ │ │ ├── MultiModelLoaderFactoryTest.java
│ │ │ │ ├── ResourceLoaderTest.java
│ │ │ │ ├── StreamEncoderTest.java
│ │ │ │ ├── StringLoaderTest.java
│ │ │ │ ├── UriLoaderTest.java
│ │ │ │ ├── UrlUriLoaderTest.java
│ │ │ │ └── stream
│ │ │ │ │ ├── BaseGlideUrlLoaderTest.java
│ │ │ │ │ └── HttpGlideUrlLoaderTest.java
│ │ │ └── resource
│ │ │ │ ├── SimpleResourceTest.java
│ │ │ │ ├── UnitTransformationTest.java
│ │ │ │ ├── bitmap
│ │ │ │ ├── BitmapDrawableResourceTest.java
│ │ │ │ ├── BitmapDrawableTransformationTest.java
│ │ │ │ ├── BitmapEncoderTest.java
│ │ │ │ ├── BitmapResourceTest.java
│ │ │ │ ├── BitmapTransformationTest.java
│ │ │ │ ├── CenterCropTest.java
│ │ │ │ ├── CenterInsideTest.java
│ │ │ │ ├── CircleCropTest.java
│ │ │ │ ├── DefaultImageHeaderParserTest.java
│ │ │ │ ├── DownsampleStrategyTest.java
│ │ │ │ ├── DrawableTransformationTest.java
│ │ │ │ ├── FitCenterTest.java
│ │ │ │ ├── HardwareConfigStateTest.java
│ │ │ │ ├── LazyBitmapDrawableResourceTest.java
│ │ │ │ ├── RecyclableBufferedInputStreamTest.java
│ │ │ │ ├── TransformationUtilsTest.java
│ │ │ │ └── VideoDecoderTest.java
│ │ │ │ ├── bytes
│ │ │ │ └── BytesResourceTest.java
│ │ │ │ ├── drawable
│ │ │ │ └── DrawableResourceTest.java
│ │ │ │ ├── file
│ │ │ │ ├── FileDecoderTest.java
│ │ │ │ └── FileResourceTest.java
│ │ │ │ ├── gif
│ │ │ │ ├── ByteBufferGifDecoderTest.java
│ │ │ │ ├── GifDrawableResourceTest.java
│ │ │ │ ├── GifDrawableTest.java
│ │ │ │ ├── GifDrawableTransformationTest.java
│ │ │ │ ├── GifFrameLoaderTest.java
│ │ │ │ ├── GifFrameResourceDecoderTest.java
│ │ │ │ └── StreamGifDecoderTest.java
│ │ │ │ └── transcode
│ │ │ │ ├── BitmapBytesTranscoderTest.java
│ │ │ │ ├── BitmapDrawableTranscoderTest.java
│ │ │ │ ├── GifDrawableBytesTranscoderTest.java
│ │ │ │ ├── TranscoderRegistryTest.java
│ │ │ │ └── UnitTranscoderTest.java
│ │ │ ├── manager
│ │ │ ├── DefaultConnectivityMonitorFactoryTest.java
│ │ │ ├── DefaultConnectivityMonitorTest.java
│ │ │ ├── Issue117Activity.java
│ │ │ ├── RequestManagerRetrieverTest.java
│ │ │ └── RequestTrackerTest.java
│ │ │ ├── module
│ │ │ └── ManifestParserTest.java
│ │ │ ├── request
│ │ │ ├── ErrorRequestCoordinatorTest.java
│ │ │ ├── RequestFutureTargetTest.java
│ │ │ ├── RequestOptionsTest.java
│ │ │ ├── SingleRequestTest.java
│ │ │ ├── ThumbnailRequestCoordinatorTest.java
│ │ │ ├── target
│ │ │ │ ├── AppWidgetTargetTest.java
│ │ │ │ ├── BitmapImageViewTargetTest.java
│ │ │ │ ├── ImageViewTargetFactoryTest.java
│ │ │ │ ├── ImageViewTargetTest.java
│ │ │ │ ├── NotificationTargetTest.java
│ │ │ │ ├── PreloadTargetTest.java
│ │ │ │ ├── SimpleTargetTest.java
│ │ │ │ └── ViewTargetTest.java
│ │ │ └── transition
│ │ │ │ ├── DrawableCrossFadeFactoryTest.java
│ │ │ │ ├── DrawableCrossFadeViewAnimationTest.java
│ │ │ │ ├── ViewAnimationTest.java
│ │ │ │ ├── ViewPropertyAnimationTest.java
│ │ │ │ ├── ViewPropertyViewTransitionAnimationFactoryTest.java
│ │ │ │ └── ViewTransitionAnimationFactoryTest.java
│ │ │ ├── resize
│ │ │ └── load
│ │ │ │ └── ExifTest.java
│ │ │ ├── signature
│ │ │ ├── AndroidResourceSignatureTest.java
│ │ │ ├── ApplicationVersionSignatureTest.java
│ │ │ ├── EmptySignatureTest.java
│ │ │ ├── MediaStoreSignatureTest.java
│ │ │ └── ObjectKeyTest.java
│ │ │ ├── tests
│ │ │ ├── BackgroundUtil.java
│ │ │ ├── ContentResolverShadow.java
│ │ │ ├── GlideShadowLog.java
│ │ │ ├── KeyTester.java
│ │ │ ├── TearDownGlide.java
│ │ │ └── Util.java
│ │ │ └── util
│ │ │ ├── ByteBufferUtilTest.java
│ │ │ ├── ContentLengthInputStreamTest.java
│ │ │ ├── ExceptionPassthroughInputStreamTest.java
│ │ │ ├── FixedPreloadSizeProviderTest.java
│ │ │ ├── MarkEnforcingInputStreamTest.java
│ │ │ ├── UtilTest.java
│ │ │ └── ViewPreloadSizeProviderTest.java
│ └── opengles
│ │ └── GL.java
│ └── resources
│ ├── animated_avif.avif
│ ├── animated_webp.webp
│ ├── issue387_rotated_jpeg.jpg
│ ├── org.robolectric.Config.properties
│ ├── short_exif_sample.jpg
│ ├── small_gainmap_image.jpg
│ └── test.gif
├── mocks
├── build.gradle
├── gradle.properties
├── lint.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── bumptech
│ └── glide
│ ├── load
│ └── engine
│ │ └── executor
│ │ └── MockGlideExecutor.java
│ └── mocks
│ ├── AnswerSelf.java
│ └── MockGlideBuilders.java
├── renovate.json
├── samples
├── contacturi
│ ├── build.gradle
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── samples
│ │ │ └── contacturi
│ │ │ ├── ContactUriModule.java
│ │ │ └── MainActivity.java
│ │ └── res
│ │ ├── layout
│ │ └── activity_main.xml
│ │ └── values
│ │ ├── dimens.xml
│ │ └── strings.xml
├── flickr
│ ├── build.gradle
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── samples
│ │ │ └── flickr
│ │ │ ├── FlickrGlideExtension.java
│ │ │ ├── FlickrGlideModule.java
│ │ │ ├── FlickrModelLoader.java
│ │ │ ├── FlickrPhotoGrid.java
│ │ │ ├── FlickrPhotoList.java
│ │ │ ├── FlickrSearchActivity.java
│ │ │ ├── FullscreenActivity.java
│ │ │ ├── PhotoViewer.java
│ │ │ ├── SquareImageView.java
│ │ │ └── api
│ │ │ ├── Api.java
│ │ │ ├── FlickrQueryResponseListener.java
│ │ │ ├── Photo.java
│ │ │ ├── PhotoJsonStringParser.java
│ │ │ ├── Query.java
│ │ │ ├── RecentQuery.java
│ │ │ └── SearchQuery.java
│ │ └── res
│ │ ├── layout
│ │ ├── flickr_photo_grid.xml
│ │ ├── flickr_photo_grid_item.xml
│ │ ├── flickr_photo_list.xml
│ │ ├── flickr_photo_list_item.xml
│ │ ├── flickr_search_activity.xml
│ │ └── fullscreen_activity.xml
│ │ ├── menu
│ │ └── search_activity.xml
│ │ ├── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ └── strings.xml
│ │ └── xml
│ │ └── network_security_config.xml
├── gallery
│ ├── build.gradle
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── samples
│ │ │ └── gallery
│ │ │ ├── GalleryModule.kt
│ │ │ ├── GalleryViewModel.kt
│ │ │ ├── HorizontalGalleryFragment.kt
│ │ │ ├── MainActivity.kt
│ │ │ └── MediaStoreDataSource.kt
│ │ └── res
│ │ ├── layout
│ │ ├── main_activity.xml
│ │ ├── recycler_item.xml
│ │ └── recycler_view.xml
│ │ └── values
│ │ ├── ids.xml
│ │ └── strings.xml
├── giphy
│ ├── build.gradle
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── samples
│ │ │ └── giphy
│ │ │ ├── Api.java
│ │ │ ├── FullscreenActivity.java
│ │ │ ├── GiphyGlideModule.java
│ │ │ ├── GiphyModelLoader.java
│ │ │ └── MainActivity.java
│ │ └── res
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ ├── fullscreen_activity.xml
│ │ └── gif_list_item.xml
│ │ ├── raw
│ │ └── large_giphy_logo.gif
│ │ └── values
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
├── imgur
│ ├── .gitignore
│ ├── build.gradle
│ ├── gradle.properties
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── bumptech
│ │ │ └── glide
│ │ │ └── samples
│ │ │ └── imgur
│ │ │ ├── ApplicationModule.java
│ │ │ ├── ImgurApplication.java
│ │ │ ├── ImgurApplicationComponent.java
│ │ │ ├── ImgurGlideModule.java
│ │ │ ├── MainActivity.java
│ │ │ ├── MainActivityModule.java
│ │ │ └── api
│ │ │ ├── ApiModule.java
│ │ │ ├── Gallery.java
│ │ │ ├── Image.java
│ │ │ ├── ImgurObservables.java
│ │ │ └── ImgurService.java
│ │ └── res
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ └── image_card.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ │ └── xml
│ │ └── network_security_config.xml
└── svg
│ ├── build.gradle
│ ├── lint.xml
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── samples
│ │ └── svg
│ │ ├── MainActivity.java
│ │ ├── SvgDecoder.java
│ │ ├── SvgDrawableTranscoder.java
│ │ ├── SvgModule.java
│ │ └── SvgSoftwareLayerSetter.java
│ └── res
│ ├── drawable
│ ├── dot_dot_dot.xml
│ ├── image_error.xml
│ └── image_loading.xml
│ ├── layout
│ └── activity_main.xml
│ ├── mipmap-hdpi
│ └── ic_launcher.png
│ ├── mipmap-mdpi
│ └── ic_launcher.png
│ ├── mipmap-xhdpi
│ └── ic_launcher.png
│ ├── mipmap-xxhdpi
│ └── ic_launcher.png
│ ├── mipmap-xxxhdpi
│ └── ic_launcher.png
│ ├── raw
│ └── android_toy_h.svg
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── dimens.xml
│ └── strings.xml
├── scripts
├── android-wait-for-emulator.sh
├── ci_unit.sh
├── install_firebase.sh
├── regenerate_resources.sh
├── release_checks.sh
├── run_instrumentation_tests.sh
├── run_sample_robo_tests.sh
├── split_by_sdk.sh
├── update_javadocs.sh
└── upload.gradle
├── settings.gradle
├── static
├── glide_circle_logo.png
├── glide_logo.png
├── logo-icon.svg
└── logo-styles.css
├── testutil
├── build.gradle
└── src
│ └── main
│ └── java
│ └── com
│ └── bumptech
│ └── glide
│ ├── RobolectricConstants.java
│ └── testutil
│ ├── BitmapSubject.java
│ ├── ConcurrencyHelper.java
│ ├── MockModelLoader.java
│ ├── TearDownGlide.java
│ ├── TestResourceUtil.java
│ ├── TestUtil.java
│ ├── WaitModelLoader.java
│ └── WaitModelLoaderRule.java
└── third_party
├── disklrucache
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── LICENSE.txt
├── README.md
├── THIRD_PARTY.md
├── build.gradle
├── checkstyle.xml
├── gradle.properties
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── disklrucache
│ │ ├── DiskLruCache.java
│ │ ├── StrictLineReader.java
│ │ └── Util.java
│ └── test
│ └── java
│ └── com
│ └── bumptech
│ └── glide
│ └── disklrucache
│ ├── DiskLruCacheTest.java
│ └── StrictLineReaderTest.java
├── gif_decoder
├── LICENSE
├── THIRD_PARTY.md
├── build.gradle
├── gradle.properties
├── lint.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── gifdecoder
│ │ ├── GifDecoder.java
│ │ ├── GifFrame.java
│ │ ├── GifHeader.java
│ │ ├── GifHeaderParser.java
│ │ └── StandardGifDecoder.java
│ └── test
│ ├── java
│ └── com
│ │ └── bumptech
│ │ └── glide
│ │ └── gifdecoder
│ │ ├── GifDecoderTest.java
│ │ ├── GifHeaderParserTest.java
│ │ └── test
│ │ ├── GifBytesTestUtil.java
│ │ └── GifBytesTestUtilTest.java
│ └── resources
│ ├── gif_netscape_iteration_0.gif
│ ├── gif_netscape_iteration_1.gif
│ ├── gif_netscape_iteration_255.gif
│ ├── gif_netscape_iteration_256.gif
│ ├── gif_netscape_iteration_65535.gif
│ ├── gif_without_graphical_control_extension.gif
│ ├── gif_without_netscape_iteration.gif
│ ├── partial_gif_decode.gif
│ ├── transparent_disposal_background.gif
│ ├── transparent_disposal_none.gif
│ └── white_black_row.gif
├── gif_encoder
├── LICENSE
├── THIRD_PARTY.md
├── lint.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── bumptech
│ └── glide
│ └── gifencoder
│ ├── AnimatedGifEncoder.java
│ ├── LZWEncoder.java
│ └── NeuQuant.java
└── gradle.properties
/.github/workflows/gradle-wrapper-validation.yml:
--------------------------------------------------------------------------------
1 | name: "Validate Gradle Wrapper"
2 | on: [push, pull_request]
3 |
4 | jobs:
5 | validation:
6 | name: "Validation"
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@v3
10 | - uses: gradle/wrapper-validation-action@v1
11 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Android
2 | local.properties
3 | *.keystore
4 | *.DS_Store
5 |
6 | # Gradle
7 | .gradle
8 | build
9 | jacoco.exec
10 |
11 | # gh-pages
12 | doc/**
13 | _site/*
14 | _pages/*
15 | docs/**/*
16 |
17 | # Vim
18 | *.swp
19 | *.swo
20 |
21 | # sed
22 | *.bak
23 |
24 | # Intellij
25 | *.iml
26 | *.ipr
27 | *.iws
28 | .idea/**
29 | !.idea/codeStyleSettings.xml
30 | !.idea/inspectionProfiles
31 | !.idea/inspectionProfiles/Project_Default.xml
32 |
33 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/.gitmodules
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ## Description
7 |
8 |
9 |
10 | ## Motivation and Context
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/annotation/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/annotation/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'java'
2 |
3 | apply from: "${rootProject.projectDir}/scripts/upload.gradle"
4 |
5 | java {
6 | sourceCompatibility = JavaVersion.VERSION_1_7
7 | targetCompatibility = JavaVersion.VERSION_1_7
8 | }
--------------------------------------------------------------------------------
/annotation/compiler/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/annotation/compiler/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Annotation processor
2 | POM_ARTIFACT_ID=compiler
3 | POM_PACKAGING=jar
4 | POM_DESCRIPTION=Glide's anntation processor. Should be included in all Applications and in all libraries that use Glide's modules for configuration.
5 |
--------------------------------------------------------------------------------
/annotation/compiler/src/main/resources/META-INF/gradle/incremental.annotation.processors:
--------------------------------------------------------------------------------
1 | com.bumptech.glide.annotation.compiler.GlideAnnotationProcessor,aggregating
2 |
--------------------------------------------------------------------------------
/annotation/compiler/test/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/java/com/bumptech/glide/annotation/compiler/test/CompilationProvider.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.compiler.test;
2 |
3 | import com.google.testing.compile.Compilation;
4 |
5 | /** Provides the {@link Compilation} used to compile test code. */
6 | public interface CompilationProvider {
7 | Compilation getCompilation();
8 | }
9 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/java/com/bumptech/glide/annotation/compiler/test/SubDirectory.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.compiler.test;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Indicates the subdirectory for a particular test that contains the test resource(s) used for the
10 | * method.
11 | *
12 | *
Used both by tests to extract the correct subdirectory and by the {@link
13 | * RegenerateResourcesRule} for the same purpose.
14 | */
15 | @Target(ElementType.METHOD)
16 | @Retention(RetentionPolicy.RUNTIME)
17 | public @interface SubDirectory {
18 | String value();
19 | }
20 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/java/com/bumptech/glide/annotation/compiler/test/TestDescription.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.compiler.test;
2 |
3 | import org.junit.rules.TestWatcher;
4 | import org.junit.runner.Description;
5 |
6 | /**
7 | * Exposes the {@link Description} for the current test, similar to {@link
8 | * org.junit.rules.TestName}.
9 | */
10 | public final class TestDescription extends TestWatcher {
11 | private Description description;
12 |
13 | @Override
14 | protected void starting(Description description) {
15 | this.description = description;
16 | }
17 |
18 | public Description getDescription() {
19 | return description;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/AppGlideModuleWithExcludesTest/AppModuleWithExcludes.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.Excludes;
4 | import com.bumptech.glide.annotation.GlideModule;
5 | import com.bumptech.glide.module.AppGlideModule;
6 |
7 | @GlideModule
8 | @Excludes(EmptyLibraryModule.class)
9 | public final class AppModuleWithExcludes extends AppGlideModule {}
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/AppGlideModuleWithLibraryInPackageTest/AppModuleWithLibraryInPackage.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.Excludes;
4 | import com.bumptech.glide.annotation.GlideModule;
5 | import com.bumptech.glide.module.AppGlideModule;
6 | import com.bumptech.glide.test._package.LibraryModuleInPackage;
7 |
8 | @GlideModule
9 | @Excludes(LibraryModuleInPackage.class)
10 | public final class AppModuleWithLibraryInPackage extends AppGlideModule {}
11 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/AppGlideModuleWithLibraryInPackageTest/LibraryModuleInPackage.java:
--------------------------------------------------------------------------------
1 | // _ in the name is important otherwise everything would work
2 | package com.bumptech.glide.test._package;
3 |
4 | import com.bumptech.glide.annotation.GlideModule;
5 | import com.bumptech.glide.module.LibraryGlideModule;
6 |
7 | @GlideModule
8 | public final class LibraryModuleInPackage extends LibraryGlideModule {}
9 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/AppGlideModuleWithMultipleExcludesTest/AppModuleWithMultipleExcludes.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.Excludes;
4 | import com.bumptech.glide.annotation.GlideModule;
5 | import com.bumptech.glide.module.AppGlideModule;
6 |
7 | @GlideModule
8 | @Excludes({EmptyLibraryModule1.class, EmptyLibraryModule2.class})
9 | public final class AppModuleWithMultipleExcludes extends AppGlideModule {}
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/AppGlideModuleWithMultipleExcludesTest/EmptyLibraryModule1.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.LibraryGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyLibraryModule1 extends LibraryGlideModule {}
8 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/AppGlideModuleWithMultipleExcludesTest/EmptyLibraryModule2.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.LibraryGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyLibraryModule2 extends LibraryGlideModule {}
8 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/EmptyAppGlideModuleTest/EmptyAppModule.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.AppGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyAppModule extends AppGlideModule {}
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/EmptyAppGlideModuleTest/GeneratedRequestManagerFactory.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide;
2 |
3 | import android.content.Context;
4 | import androidx.annotation.NonNull;
5 | import com.bumptech.glide.manager.Lifecycle;
6 | import com.bumptech.glide.manager.RequestManagerRetriever;
7 | import com.bumptech.glide.manager.RequestManagerTreeNode;
8 | import com.bumptech.glide.test.GlideRequests;
9 |
10 | /**
11 | * Generated code, do not modify
12 | */
13 | final class GeneratedRequestManagerFactory implements RequestManagerRetriever.RequestManagerFactory {
14 | @Override
15 | @NonNull
16 | public RequestManager build(@NonNull Glide glide, @NonNull Lifecycle lifecycle,
17 | @NonNull RequestManagerTreeNode treeNode, @NonNull Context context) {
18 | return new GlideRequests(glide, lifecycle, treeNode, context);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/EmptyLibraryGlideModuleTest/EmptyLibraryModule.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.LibraryGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyLibraryModule extends LibraryGlideModule {}
8 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/EmptyLibraryGlideModuleTest/GlideIndexer_GlideModule_com_bumptech_glide_test_EmptyLibraryModule.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.compiler;
2 |
3 | @Index(
4 | modules = "com.bumptech.glide.test.EmptyLibraryModule"
5 | )
6 | public class GlideIndexer_GlideModule_com_bumptech_glide_test_EmptyLibraryModule {
7 | }
8 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionOptionsTest/MemoizeStaticMethod/Extension.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.annotation.GlideExtension;
5 | import com.bumptech.glide.annotation.GlideOption;
6 | import com.bumptech.glide.request.BaseRequestOptions;
7 |
8 | @GlideExtension
9 | public final class Extension {
10 |
11 | private Extension() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideOption(memoizeStaticMethod = true)
17 | public static BaseRequestOptions> test(BaseRequestOptions> requestOptions) {
18 | return requestOptions.centerCrop();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionOptionsTest/OverrideExtend/Extension.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.annotation.GlideExtension;
5 | import com.bumptech.glide.annotation.GlideOption;
6 | import com.bumptech.glide.request.BaseRequestOptions;
7 |
8 | @GlideExtension
9 | public final class Extension {
10 |
11 | private Extension() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideOption(override = GlideOption.OVERRIDE_EXTEND)
17 | public static BaseRequestOptions> centerCrop(BaseRequestOptions> requestOptions) {
18 | return requestOptions.centerCrop();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionOptionsTest/OverrideExtendMultipleArguments/Extension.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.annotation.GlideExtension;
5 | import com.bumptech.glide.annotation.GlideOption;
6 | import com.bumptech.glide.request.BaseRequestOptions;
7 |
8 | @GlideExtension
9 | public final class Extension {
10 |
11 | private Extension() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideOption(override = GlideOption.OVERRIDE_EXTEND)
17 | public static BaseRequestOptions> override(BaseRequestOptions> requestOptions, int width, int height) {
18 | return requestOptions
19 | .override(width, height)
20 | .centerCrop();
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionOptionsTest/OverrideReplace/Extension.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.annotation.GlideExtension;
5 | import com.bumptech.glide.annotation.GlideOption;
6 | import com.bumptech.glide.request.BaseRequestOptions;
7 |
8 | @GlideExtension
9 | public final class Extension {
10 |
11 | private Extension() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideOption(override = GlideOption.OVERRIDE_REPLACE)
17 | public static BaseRequestOptions> centerCrop(BaseRequestOptions> requestOptions) {
18 | return requestOptions.centerCrop();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionOptionsTest/SkipStaticMethod/Extension.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.annotation.GlideExtension;
5 | import com.bumptech.glide.annotation.GlideOption;
6 | import com.bumptech.glide.request.BaseRequestOptions;
7 |
8 | @GlideExtension
9 | public final class Extension {
10 |
11 | private Extension() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideOption(skipStaticMethod = true)
17 | public static BaseRequestOptions> test(BaseRequestOptions> requestOptions) {
18 | return requestOptions.centerCrop();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionOptionsTest/StaticMethodName/Extension.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.annotation.GlideExtension;
5 | import com.bumptech.glide.annotation.GlideOption;
6 | import com.bumptech.glide.request.BaseRequestOptions;
7 |
8 | @GlideExtension
9 | public final class Extension {
10 |
11 | private Extension() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideOption(staticMethodName = "testSomething")
17 | public static BaseRequestOptions> test(BaseRequestOptions> requestOptions) {
18 | return requestOptions.centerCrop();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionWithOptionTest/ExtensionWithOption.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.annotation.GlideExtension;
5 | import com.bumptech.glide.annotation.GlideOption;
6 | import com.bumptech.glide.request.BaseRequestOptions;
7 |
8 | @GlideExtension
9 | public final class ExtensionWithOption {
10 |
11 | private ExtensionWithOption() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideOption
17 | public static BaseRequestOptions> squareThumb(BaseRequestOptions> requestOptions) {
18 | return requestOptions.centerCrop();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/GlideExtensionWithTypeTest/ExtensionWithType.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.RequestBuilder;
5 | import com.bumptech.glide.annotation.GlideExtension;
6 | import com.bumptech.glide.annotation.GlideType;
7 |
8 | @GlideExtension
9 | public final class ExtensionWithType {
10 |
11 | private ExtensionWithType() {
12 | // Utility class.
13 | }
14 |
15 | @NonNull
16 | @GlideType(Number.class)
17 | public static RequestBuilder asNumber(RequestBuilder builder) {
18 | return builder;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/MultipleAppGlideModuleTest/EmptyAppModule1.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.AppGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyAppModule1 extends AppGlideModule {}
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/MultipleAppGlideModuleTest/EmptyAppModule2.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.AppGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyAppModule2 extends AppGlideModule {}
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/MultipleEmptyLibraryGlideModuleTest/EmptyLibraryModule1.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.LibraryGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyLibraryModule1 extends LibraryGlideModule {}
8 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/MultipleEmptyLibraryGlideModuleTest/EmptyLibraryModule2.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.LibraryGlideModule;
5 |
6 | @GlideModule
7 | public final class EmptyLibraryModule2 extends LibraryGlideModule {}
8 |
--------------------------------------------------------------------------------
/annotation/compiler/test/src/test/resources/MultipleEmptyLibraryGlideModuleTest/GlideIndexer_GlideModule_com_bumptech_glide_test_EmptyLibraryModule1_com_bumptech_glide_test_EmptyLibraryModule2.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.compiler;
2 |
3 | @Index(
4 | modules = {
5 | "com.bumptech.glide.test.EmptyLibraryModule1",
6 | "com.bumptech.glide.test.EmptyLibraryModule2"
7 | }
8 | )
9 | public class GlideIndexer_GlideModule_com_bumptech_glide_test_EmptyLibraryModule1_com_bumptech_glide_test_EmptyLibraryModule2 {
10 | }
11 |
--------------------------------------------------------------------------------
/annotation/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Annotations
2 | POM_ARTIFACT_ID=annotations
3 | POM_PACKAGING=jar
4 | POM_DESCRIPTION=A set of annotations for configuring Glide.
5 |
--------------------------------------------------------------------------------
/annotation/ksp/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'org.jetbrains.kotlin.jvm'
3 | id 'com.google.devtools.ksp'
4 | }
5 |
6 | dependencies {
7 | implementation libs.kotlinpoet
8 | implementation project(":annotation")
9 | implementation libs.ksp
10 | implementation libs.autoservice.annotations
11 | ksp libs.ksp.autoservice
12 | }
13 |
14 | apply from: "${rootProject.projectDir}/scripts/upload.gradle"
15 |
16 | kotlin {
17 | jvmToolchain {
18 | languageVersion.set(JavaLanguageVersion.of(11))
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/ksp/gradle.properties:
--------------------------------------------------------------------------------
1 | kotlin.code.style=official
2 |
3 | POM_NAME=Glide KSP Annotation Processor
4 | POM_ARTIFACT_ID=ksp
5 | POM_PACKAGING=jar
6 | POM_DESCRIPTION=Glide's KSP based annotation processor. Should be included in all Kotlin applications and libraries that use Glide's modules for configuration and do not require the more advanced features of the Java based compiler.
7 |
--------------------------------------------------------------------------------
/annotation/ksp/src/main/kotlin/com/bumptech/glide/annotation/ksp/GlideSymbolProcessorProvider.kt:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.ksp
2 |
3 | import com.google.auto.service.AutoService
4 | import com.google.devtools.ksp.processing.SymbolProcessor
5 | import com.google.devtools.ksp.processing.SymbolProcessorEnvironment
6 | import com.google.devtools.ksp.processing.SymbolProcessorProvider
7 |
8 | @AutoService(SymbolProcessorProvider::class)
9 | class GlideSymbolProcessorProvider : SymbolProcessorProvider {
10 | override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor {
11 | return GlideSymbolProcessor(environment)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/annotation/src/main/java/com/bumptech/glide/annotation/Excludes.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Specifies a set of GlideModule and/or LibraryGlideModule classes that should be excluded from an
10 | * application.
11 | *
12 | * Used only on AppGlideModules. Adding this annotation to other classes will have no affect.
13 | *
14 | *
Cannot be used to exclude AppGlideModules (there must be at most one per Application anyway).
15 | */
16 | @Target(ElementType.TYPE)
17 | @Retention(RetentionPolicy.RUNTIME)
18 | public @interface Excludes {
19 | Class>[] value();
20 | }
21 |
--------------------------------------------------------------------------------
/annotation/src/main/java/com/bumptech/glide/annotation/GlideExtension.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Indicate a class that extends Glide's public API.
10 | *
11 | * @see GlideOption
12 | */
13 | @Target(ElementType.TYPE)
14 | @Retention(RetentionPolicy.CLASS)
15 | public @interface GlideExtension {}
16 |
--------------------------------------------------------------------------------
/annotation/src/main/java/com/bumptech/glide/annotation/GlideModule.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Identifies AppGlideModules and LibraryGlideModules for Glide's annotation processor to merge at
10 | * compile time.
11 | *
12 | *
Replaces {@code } tags in AndroidManifest.xml.
13 | */
14 | @Target(ElementType.TYPE)
15 | @Retention(RetentionPolicy.CLASS)
16 | public @interface GlideModule {
17 | /**
18 | * Returns the name of the class that will be used as a replacement for {@code
19 | * com.bumptech.glide.Glide} in Applications that depend on Glide's generated code.
20 | */
21 | String glideName() default "GlideApp";
22 | }
23 |
--------------------------------------------------------------------------------
/annotation/src/main/java/com/bumptech/glide/annotation/compiler/Index.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.compiler;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Used to retrieve LibraryGlideModule and GlideExtension classes in our annotation processor from
10 | * libraries and applications.
11 | *
12 | *
Part of the internals of Glide's annotation processor and not for public use.
13 | */
14 | @Target(ElementType.TYPE)
15 | // Needs to be parsed from class files in JAR.
16 | @Retention(RetentionPolicy.CLASS)
17 | @interface Index {
18 | String[] modules() default {};
19 |
20 | String[] extensions() default {};
21 | }
22 |
--------------------------------------------------------------------------------
/annotation/src/main/java/com/bumptech/glide/annotation/ksp/Index.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.annotation.ksp;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Used to retrieve LibraryGlideModule and GlideExtension classes in our annotation processor from
10 | * libraries and applications.
11 | *
12 | *
Part of the internals of Glide's annotation processor and not for public use.
13 | */
14 | @Target(ElementType.TYPE)
15 | // Needs to be parsed from class files in JAR.
16 | @Retention(RetentionPolicy.CLASS)
17 | @interface Index {
18 | String[] modules() default {};
19 | }
20 |
--------------------------------------------------------------------------------
/benchmark/gradle.properties:
--------------------------------------------------------------------------------
1 | android.enableAdditionalTestOutput=true
2 |
--------------------------------------------------------------------------------
/benchmark/src/androidTest/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/benchmark/src/main/res/raw/huge_header.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/benchmark/src/main/res/raw/huge_header.jpg
--------------------------------------------------------------------------------
/benchmark/src/main/res/raw/pixel3a_exif_rotated.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/benchmark/src/main/res/raw/pixel3a_exif_rotated.jpg
--------------------------------------------------------------------------------
/benchmark/src/main/res/raw/pixel3a_mvimg_exif_rotated.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/benchmark/src/main/res/raw/pixel3a_mvimg_exif_rotated.jpg
--------------------------------------------------------------------------------
/benchmark/src/main/res/raw/pixel3a_portrait.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/benchmark/src/main/res/raw/pixel3a_portrait.jpg
--------------------------------------------------------------------------------
/benchmark/src/main/res/raw/pixel3a_portrait_mvimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/benchmark/src/main/res/raw/pixel3a_portrait_mvimg.jpg
--------------------------------------------------------------------------------
/benchmark/src/main/res/raw/small.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/benchmark/src/main/res/raw/small.jpg
--------------------------------------------------------------------------------
/debug.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/debug.keystore
--------------------------------------------------------------------------------
/exifsamples/Landscape_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_0.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_1.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_2.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_3.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_4.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_5.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_6.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_7.jpg
--------------------------------------------------------------------------------
/exifsamples/Landscape_8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Landscape_8.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_0.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_1.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_2.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_3.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_4.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_5.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_6.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_7.jpg
--------------------------------------------------------------------------------
/exifsamples/Portrait_8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/exifsamples/Portrait_8.jpg
--------------------------------------------------------------------------------
/gcloud-bumptech.json.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/gcloud-bumptech.json.enc
--------------------------------------------------------------------------------
/gcloud-sjudd.json.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/gcloud-sjudd.json.enc
--------------------------------------------------------------------------------
/glide/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Full
2 | POM_ARTIFACT_ID=glide-full
3 | POM_PACKAGING=jar
4 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/instrumentation/gradle.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/gradle.properties
--------------------------------------------------------------------------------
/instrumentation/src/androidTest/java/com/bumptech/glide/test/RegressionTest.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Indicates that a test is a regression test that relies on comparing a newly transformed image to
10 | * a previously generated copy of the same image to detect changes.
11 | */
12 | @Target(ElementType.TYPE)
13 | @Retention(RetentionPolicy.RUNTIME)
14 | public @interface RegressionTest {
15 | // Intentionally empty.
16 | }
17 |
--------------------------------------------------------------------------------
/instrumentation/src/androidTest/java/com/bumptech/glide/test/SplitByCpu.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Indicates that the test relies on transformations or operations that may produce different
10 | * outputs on different CPUs.
11 | */
12 | @Target(ElementType.TYPE)
13 | @Retention(RetentionPolicy.RUNTIME)
14 | public @interface SplitByCpu {}
15 |
--------------------------------------------------------------------------------
/instrumentation/src/androidTest/java/com/bumptech/glide/test/SplitBySdk.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Used by {@link BitmapRegressionTester} to generate SDK specific resources to account for
10 | * differences in Android's image decoding APIs across versions.
11 | */
12 | @Target({ElementType.METHOD, ElementType.TYPE})
13 | @Retention(RetentionPolicy.RUNTIME)
14 | public @interface SplitBySdk {
15 | int[] value();
16 | }
17 |
--------------------------------------------------------------------------------
/instrumentation/src/main/assets/canonical.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/assets/canonical.jpg
--------------------------------------------------------------------------------
/instrumentation/src/main/assets/video.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/assets/video.mp4
--------------------------------------------------------------------------------
/instrumentation/src/main/java/com/bumptech/glide/test/DefaultFragmentActivity.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import android.os.Bundle;
4 | import androidx.annotation.Nullable;
5 | import androidx.fragment.app.FragmentActivity;
6 | import com.bumptech.glide.instrumentation.R;
7 |
8 | public class DefaultFragmentActivity extends FragmentActivity {
9 |
10 | @Override
11 | protected void onCreate(@Nullable Bundle savedInstanceState) {
12 | super.onCreate(savedInstanceState);
13 | setContentView(R.layout.default_fragment_activity);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/instrumentation/src/main/java/com/bumptech/glide/test/GlideWithAsDifferentSupertypesActivity.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.os.Bundle;
6 | import androidx.annotation.Nullable;
7 | import androidx.fragment.app.FragmentActivity;
8 | import com.bumptech.glide.Glide;
9 |
10 | public class GlideWithAsDifferentSupertypesActivity extends FragmentActivity {
11 |
12 | @Override
13 | protected void onCreate(@Nullable Bundle savedInstanceState) {
14 | super.onCreate(savedInstanceState);
15 | Glide.with(this);
16 | Glide.with((Context) this);
17 | Glide.with((Activity) this);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/instrumentation/src/main/java/com/bumptech/glide/test/GlideWithBeforeSuperOnCreateActivity.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import android.os.Bundle;
4 | import android.widget.TextView;
5 | import androidx.annotation.Nullable;
6 | import androidx.fragment.app.FragmentActivity;
7 | import com.bumptech.glide.Glide;
8 |
9 | public class GlideWithBeforeSuperOnCreateActivity extends FragmentActivity {
10 |
11 | @Override
12 | protected void onCreate(@Nullable Bundle savedInstanceState) {
13 | Glide.with(this);
14 | super.onCreate(savedInstanceState);
15 | setContentView(new TextView(this));
16 | }
17 |
18 | @Override
19 | protected void onResume() {
20 | super.onResume();
21 | Glide.with(this);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/instrumentation/src/main/java/com/bumptech/glide/test/InstrumentationAppGlideModule.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.test;
2 |
3 | import com.bumptech.glide.annotation.GlideModule;
4 | import com.bumptech.glide.module.AppGlideModule;
5 |
6 | @GlideModule
7 | public class InstrumentationAppGlideModule extends AppGlideModule {
8 | // Intentionally empty.
9 | }
10 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/drawable-night/dog.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/drawable-night/dog.jpg
--------------------------------------------------------------------------------
/instrumentation/src/main/res/drawable/bitmap_alias.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/drawable/dog.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/drawable/dog.jpg
--------------------------------------------------------------------------------
/instrumentation/src/main/res/drawable/googlelogo_color_120x44dp.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/drawable/googlelogo_color_120x44dp.9.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/drawable/shape_drawable.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/drawable/state_list_drawable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/layout/default_fragment_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/canonical.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/canonical.jpg
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/canonical_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/canonical_large.jpg
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/canonical_png.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/canonical_png.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/canonical_transparent_png.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/canonical_transparent_png.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglelargerthanimage_returnsupscaledrectangularimage_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withrectanglesmallerthanimage_returnsrectangularimage_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquarelargerthanimage_returnsupscaledrectangularimage_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_centercrop_withsquaresmallerthanimage_returnssquareimage_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_cropswithin_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withnarrowrectangle_fitswithinmaintainingaspectratio_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withshortrectangle_fitswithinmaintainingaspectratio_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquarelargerthanimage_returnsupscaledfitimage_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_retunsimagefitwithinsquare_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/ccrt_circlecrop_withsquaresmallerthanimage_returnssquaredimage_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquarelargerthanimage_returnsoriginalimage_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/cirt_centerinside_withsquaresmallerthanimage_returnsimagefitwithinsquare_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/dl_world_anim.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/dl_world_anim.gif
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/dl_world_anim_avif.avif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/dl_world_anim_avif.avif
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/dl_world_anim_webp.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/dl_world_anim_webp.webp
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/dog_dark.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/dog_dark.jpg
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/dog_light.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/dog_light.jpg
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_19_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_19_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_19_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_19_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withnarrowrectangle_fitswithinmaintainingaspectratio_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_19_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_19_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_19_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_19_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withshortrectangle_fitswithinmaintainingaspectratio_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_19_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_19_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_19_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_19_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquarelargerthanimage_returnsupscaledsquare_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_19_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_19_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_19_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_19_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/fcrt_fitcenter_withsquaresmallerthanimage_returnsimagefitwithinsquare_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/interlaced_transparent_gif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/interlaced_transparent_gif.gif
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/opaque_gif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/opaque_gif.gif
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/opaque_interlaced_gif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/opaque_interlaced_gif.gif
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_19_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_19_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_19_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_19_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_19_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_19_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_19_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_19_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_overrounded_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_16_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_16_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_16_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_16_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_18_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_18_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_18_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_18_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_19_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_19_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_19_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_19_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_21_armeabi_v7a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_21_armeabi_v7a.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_21_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_21_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_23_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_23_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_24_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_24_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_26_x86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/rcrt_testroundedcorners_usepool_26_x86.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/transparent_gif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/transparent_gif.gif
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/video.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/video.mp4
--------------------------------------------------------------------------------
/instrumentation/src/main/res/raw/webkit_logo_p3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bumptech/glide/8a23b1e5db8c03330a898164df5c4fa7f90fc058/instrumentation/src/main/res/raw/webkit_logo_p3.png
--------------------------------------------------------------------------------
/instrumentation/src/main/res/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #048b9f
4 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #f9b840
5 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/instrumentation/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/integration/avif/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide AVIF Integration
2 | POM_ARTIFACT_ID=avif-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to support AVIF images in Glide
5 |
--------------------------------------------------------------------------------
/integration/avif/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/integration/build.gradle:
--------------------------------------------------------------------------------
1 | // keep an empty file to make sure Gradle recognizes the properties
2 |
--------------------------------------------------------------------------------
/integration/compose/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Compose Integration
2 | POM_ARTIFACT_ID=compose
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to integrate with Jetpack Compose
5 |
6 | VERSION_MAJOR=1
7 | VERSION_MINOR=0
8 | VERSION_PATCH=0
9 | VERSION_NAME=1.0.0-beta02-SNAPSHOT
10 |
--------------------------------------------------------------------------------
/integration/compose/src/main/java/com/bumptech/glide/integration/compose/ExperimentalGlideComposeApi.kt:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.compose
2 |
3 | @RequiresOptIn(
4 | level = RequiresOptIn.Level.ERROR,
5 | message =
6 | "Glide's Compose integration is experimental. APIs may change or be removed without" +
7 | " warning."
8 | )
9 | @Retention(AnnotationRetention.BINARY)
10 | @kotlin.annotation.Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
11 | public annotation class ExperimentalGlideComposeApi
12 |
--------------------------------------------------------------------------------
/integration/concurrent/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Concurrent Integration
2 | POM_ARTIFACT_ID=concurrent-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library for using Glide with ListenableFutures
5 |
--------------------------------------------------------------------------------
/integration/cronet/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Cronet Integration
2 | POM_ARTIFACT_ID=cronet-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to use Cronet to fetch data over http/https in Glide
5 |
--------------------------------------------------------------------------------
/integration/cronet/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/integration/cronet/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/integration/cronet/src/main/java/com/bumptech/glide/integration/cronet/ByteBufferParser.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.cronet;
2 |
3 | import java.nio.ByteBuffer;
4 |
5 | /**
6 | * Parses a {@link java.nio.ByteBuffer} to a particular data type.
7 | *
8 | * @param The type of data to parse the buffer to.
9 | */
10 | interface ByteBufferParser {
11 | /** Returns the required type of data parsed from the given {@link ByteBuffer}. */
12 | T parse(ByteBuffer byteBuffer);
13 |
14 | /** Returns the {@link Class} of the data that will be parsed from {@link ByteBuffer}s. */
15 | Class getDataClass();
16 | }
17 |
--------------------------------------------------------------------------------
/integration/cronet/src/main/java/com/bumptech/glide/integration/cronet/CronetRequestFactory.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.cronet;
2 |
3 | import java.util.Map;
4 | import org.chromium.net.UrlRequest;
5 |
6 | /** Factory to build custom cronet requests. */
7 | public interface CronetRequestFactory {
8 |
9 | UrlRequest.Builder newRequest(
10 | String url, int requestPriority, Map headers, UrlRequest.Callback listener);
11 | }
12 |
--------------------------------------------------------------------------------
/integration/cronet/src/test/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/integration/gifencoder/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide GifEncoder Integration
2 | POM_ARTIFACT_ID=gifencoder-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library allowing users to re-encode or create animated GIFs
5 |
--------------------------------------------------------------------------------
/integration/gifencoder/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/integration/gradle.properties:
--------------------------------------------------------------------------------
1 | # Prefix and postfix for source and javadoc jars.
2 | JAR_PREFIX=glide-
3 | JAR_POSTFIX=-integration
4 |
--------------------------------------------------------------------------------
/integration/ktx/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Kotlin Extensions
2 | POM_ARTIFACT_ID=ktx
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to improve Kotlin interop with Glide
5 |
6 | VERSION_MAJOR=1
7 | VERSION_MINOR=0
8 | VERSION_PATCH=0
9 | VERSION_NAME=1.0.0-beta02-SNAPSHOT
10 |
--------------------------------------------------------------------------------
/integration/ktx/src/main/java/com/bumptech/glide/GlideIntegration.kt:
--------------------------------------------------------------------------------
1 | /**
2 | * Functions that give us access to some of Glide's non-public internals to make the flows API a bit
3 | * better.
4 | */
5 | package com.bumptech.glide
6 |
7 | import com.bumptech.glide.request.RequestListener
8 | import com.bumptech.glide.request.target.Target
9 |
10 | internal fun RequestBuilder<*>.requestManager() = this.requestManager
11 |
12 | internal fun RequestBuilder.intoDirect(
13 | targetAndRequestListener: TargetAndRequestListenerT,
14 | ) where TargetAndRequestListenerT : Target,
15 | TargetAndRequestListenerT : RequestListener {
16 | this.into(targetAndRequestListener, targetAndRequestListener) {
17 | it.run()
18 | }
19 | }
--------------------------------------------------------------------------------
/integration/ktx/src/main/java/com/bumptech/glide/integration/ktx/InternalGlideApi.kt:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.ktx
2 |
3 | @RequiresOptIn(
4 | level = RequiresOptIn.Level.ERROR,
5 | message =
6 | "An internal only API not intended for public use, may change, break or be removed" +
7 | " at any time without warning."
8 | )
9 | @Retention(AnnotationRetention.BINARY)
10 | @kotlin.annotation.Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
11 | public annotation class InternalGlideApi
12 |
--------------------------------------------------------------------------------
/integration/okhttp/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | dependencies {
4 | implementation project(':library')
5 | annotationProcessor project(':annotation:compiler')
6 |
7 | api libs.okhttp2
8 | api libs.androidx.annotation
9 | }
10 |
11 | android {
12 | namespace 'com.bumptech.glide.integration.okhttp'
13 | compileSdkVersion libs.versions.compile.sdk.version.get()
14 |
15 | defaultConfig {
16 | minSdk libs.versions.min.sdk.version.get() as int
17 | targetSdk libs.versions.target.sdk.version.get() as int
18 |
19 | versionName VERSION_NAME as String
20 | }
21 |
22 | compileOptions {
23 | sourceCompatibility JavaVersion.VERSION_1_8
24 | targetCompatibility JavaVersion.VERSION_1_8
25 | }
26 | }
27 |
28 | apply from: "${rootProject.projectDir}/scripts/upload.gradle"
29 |
--------------------------------------------------------------------------------
/integration/okhttp/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide OkHttp Integration
2 | POM_ARTIFACT_ID=okhttp-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to use OkHttp 2.x to fetch data over http/https in Glide
5 |
--------------------------------------------------------------------------------
/integration/okhttp/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/integration/okhttp3/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | dependencies {
4 | implementation project(':library')
5 | annotationProcessor project(':annotation:compiler')
6 |
7 | api libs.okhttp3
8 | api libs.androidx.annotation
9 | }
10 |
11 | android {
12 | namespace 'com.bumptech.glide.integration.okhttp'
13 | compileSdkVersion libs.versions.compile.sdk.version.get()
14 |
15 | defaultConfig {
16 | minSdk libs.versions.min.sdk.version.get() as int
17 | targetSdk libs.versions.target.sdk.version.get() as int
18 |
19 | versionName VERSION_NAME as String
20 | }
21 |
22 | compileOptions {
23 | sourceCompatibility JavaVersion.VERSION_1_8
24 | targetCompatibility JavaVersion.VERSION_1_8
25 | }
26 | }
27 |
28 | apply from: "${rootProject.projectDir}/scripts/upload.gradle"
29 |
--------------------------------------------------------------------------------
/integration/okhttp3/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide OkHttp 3.x Integration
2 | POM_ARTIFACT_ID=okhttp3-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to use OkHttp 3.x to fetch data over http/https in Glide
5 |
--------------------------------------------------------------------------------
/integration/okhttp3/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/integration/okhttp3/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/integration/okhttp4/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | dependencies {
4 | implementation project(':library')
5 | annotationProcessor project(':annotation:compiler')
6 |
7 | api libs.okhttp4
8 | api libs.androidx.annotation
9 | }
10 |
11 | android {
12 | namespace 'com.bumptech.glide.integration.okhttp'
13 | compileSdkVersion libs.versions.compile.sdk.version.get()
14 |
15 | defaultConfig {
16 | minSdk libs.versions.okhttp.min.sdk.version.get() as int
17 | targetSdk libs.versions.target.sdk.version.get() as int
18 |
19 | versionName VERSION_NAME as String
20 | }
21 |
22 | compileOptions {
23 | sourceCompatibility JavaVersion.VERSION_1_8
24 | targetCompatibility JavaVersion.VERSION_1_8
25 | }
26 | }
27 |
28 | apply from: "${rootProject.projectDir}/scripts/upload.gradle"
29 |
--------------------------------------------------------------------------------
/integration/okhttp4/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide OkHttp 4.x Integration
2 | POM_ARTIFACT_ID=okhttp4-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to use OkHttp 4.x to fetch data over http/https in Glide
5 |
--------------------------------------------------------------------------------
/integration/okhttp4/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/integration/recyclerview/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | dependencies {
4 | implementation project(':library')
5 | compileOnly libs.androidx.recyclerview
6 | compileOnly libs.androidx.fragment
7 | }
8 |
9 | android {
10 | namespace 'com.bumptech.glide.integration.recyclerview'
11 | compileSdkVersion libs.versions.compile.sdk.version.get()
12 |
13 | defaultConfig {
14 | minSdk libs.versions.min.sdk.version.get() as int
15 | targetSdk libs.versions.target.sdk.version.get() as int
16 |
17 | versionName VERSION_NAME as String
18 | }
19 |
20 | compileOptions {
21 | sourceCompatibility JavaVersion.VERSION_1_8
22 | targetCompatibility JavaVersion.VERSION_1_8
23 | }
24 | }
25 |
26 | apply from: "${rootProject.projectDir}/scripts/upload.gradle"
27 |
--------------------------------------------------------------------------------
/integration/recyclerview/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide RecyclerView Integration
2 | POM_ARTIFACT_ID=recyclerview-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to display images in RecyclerView.
5 |
--------------------------------------------------------------------------------
/integration/recyclerview/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/integration/sqljournaldiskcache/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide SQL Journaled Disk Cache
2 | POM_ARTIFACT_ID=sqljournaldiskcache
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=A sql journaled LRU disk cache alternative to Glide's standard disk cache
5 |
--------------------------------------------------------------------------------
/integration/sqljournaldiskcache/src/main/java/com/bumptech/glide/integration/sqljournaldiskcache/Clock.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.sqljournaldiskcache;
2 |
3 | /**
4 | * A simple wrapper for obtaining the current time for testing.
5 | *
6 | * While this interface exists in lots of libraries, especially internally at Google, there
7 | * doesn't seem to be a reasonable public version. For now we're just duplicating it again in Glide
8 | * so that the library can be open sourced.
9 | */
10 | public interface Clock {
11 | long currentTimeMillis();
12 | }
13 |
--------------------------------------------------------------------------------
/integration/sqljournaldiskcache/src/main/java/com/bumptech/glide/integration/sqljournaldiskcache/DefaultClock.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.sqljournaldiskcache;
2 |
3 | final class DefaultClock implements Clock {
4 | @Override
5 | public long currentTimeMillis() {
6 | return System.currentTimeMillis();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/integration/sqljournaldiskcache/src/main/java/com/bumptech/glide/integration/sqljournaldiskcache/MessageIds.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.sqljournaldiskcache;
2 |
3 | /**
4 | * A unique set of non-zero message ids to use when requesting that work be done on the disk cache's
5 | * background thread.
6 | */
7 | interface MessageIds {
8 | int ADD_LAST_MODIFIED_KEY = 1;
9 | int EVICT = 2;
10 | int RECOVER = 3;
11 | }
12 |
--------------------------------------------------------------------------------
/integration/sqljournaldiskcache/src/main/java/com/bumptech/glide/integration/sqljournaldiskcache/SizeTable.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.sqljournaldiskcache;
2 |
3 | final class SizeTable {
4 | static final String TABLE_NAME = "size";
5 |
6 | interface Columns {
7 | String ID = "id";
8 |
9 | /** The total size in bytes of all files in the cache (+- pending deletes and inserts). */
10 | String SIZE = "size";
11 | }
12 |
13 | static String getSqlCreateStatement() {
14 | return "CREATE TABLE "
15 | + TABLE_NAME
16 | + " ("
17 | + Columns.ID
18 | + " INTEGER PRIMARY KEY, "
19 | + Columns.SIZE
20 | + " INTEGER NOT NULL DEFAULT 0"
21 | + ")";
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/integration/sqljournaldiskcache/src/test/java/com/bumptech/glide/integration/sqljournaldiskcache/TestClock.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.sqljournaldiskcache;
2 |
3 | import java.time.Duration;
4 |
5 | final class TestClock implements Clock {
6 | private long currentTimeMillis = 0L;
7 |
8 | @Override
9 | public long currentTimeMillis() {
10 | return currentTimeMillis;
11 | }
12 |
13 | void set(long timeMillis) {
14 | currentTimeMillis = timeMillis;
15 | }
16 |
17 | void advance(Duration duration) {
18 | currentTimeMillis += duration.toMillis();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/integration/volley/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide Volley Integration
2 | POM_ARTIFACT_ID=volley-integration
3 | POM_PACKAGING=aar
4 | POM_DESCRIPTION=An integration library to use Volley to fetch data over http/https in Glide
5 |
--------------------------------------------------------------------------------
/integration/volley/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/integration/volley/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/integration/volley/src/main/java/com/bumptech/glide/integration/volley/VolleyRequestFactory.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.integration.volley;
2 |
3 | import com.android.volley.Request;
4 | import com.android.volley.Request.Priority;
5 | import com.bumptech.glide.load.data.DataFetcher.DataCallback;
6 | import java.io.InputStream;
7 | import java.util.Map;
8 |
9 | /** Used to construct a custom Volley request, such as for authentication header decoration. */
10 | public interface VolleyRequestFactory {
11 |
12 | /**
13 | * Returns a Volley request for the given image url. The given future should be put as a listener
14 | * or called when the request completes.
15 | */
16 | Request create(
17 | String url,
18 | DataCallback super InputStream> callback,
19 | Priority priority,
20 | Map headers);
21 | }
22 |
--------------------------------------------------------------------------------
/library/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=Glide
2 | POM_ARTIFACT_ID=glide
3 | POM_PACKAGING=aar
4 |
5 | # Prefix and postfix for source and javadoc jars.
6 | JAR_PREFIX=glide-
7 | JAR_POSTFIX=
8 |
--------------------------------------------------------------------------------
/library/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/library/proguard-rules.txt:
--------------------------------------------------------------------------------
1 | -keep public class * implements com.bumptech.glide.module.GlideModule
2 | -keep class * extends com.bumptech.glide.module.AppGlideModule {
3 | (...);
4 | }
5 | -keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
6 | **[] $VALUES;
7 | public *;
8 | }
9 | -keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
10 | *** rewind();
11 | }
12 |
13 | # Uncomment for DexGuard only
14 | #-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
15 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/Priority.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide;
2 |
3 | /**
4 | * Priorities for completing loads. If more than one load is queued at a time, the load with the
5 | * higher priority will be started first. Priorities are considered best effort, there are no
6 | * guarantees about the order in which loads will start or finish.
7 | */
8 | public enum Priority {
9 | IMMEDIATE,
10 | HIGH,
11 | NORMAL,
12 | LOW,
13 | }
14 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/DataSource.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load;
2 |
3 | /** Indicates the origin of some retrieved data. */
4 | public enum DataSource {
5 | /**
6 | * Indicates data was probably retrieved locally from the device, although it may have been
7 | * obtained through a content provider that may have obtained the data from a remote source.
8 | */
9 | LOCAL,
10 | /** Indicates data was retrieved from a remote source other than the device. */
11 | REMOTE,
12 | /** Indicates data was retrieved unmodified from the on device cache. */
13 | DATA_DISK_CACHE,
14 | /** Indicates data was retrieved from modified content in the on device cache. */
15 | RESOURCE_DISK_CACHE,
16 | /** Indicates data was retrieved from the in memory cache. */
17 | MEMORY_CACHE,
18 | }
19 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/EncodeStrategy.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load;
2 |
3 | /**
4 | * Details how an {@link com.bumptech.glide.load.ResourceEncoder} will encode a resource to cache.
5 | */
6 | public enum EncodeStrategy {
7 | /**
8 | * Writes the original unmodified data for the resource to disk, not include downsampling or
9 | * transformations.
10 | */
11 | SOURCE,
12 |
13 | /** Writes the decoded, downsampled and transformed data for the resource to disk. */
14 | TRANSFORMED,
15 |
16 | /** Will write no data. */
17 | NONE,
18 | }
19 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/Encoder.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load;
2 |
3 | import androidx.annotation.NonNull;
4 | import java.io.File;
5 |
6 | /**
7 | * An interface for writing data to some persistent data store (i.e. a local File cache).
8 | *
9 | * @param The type of the data that will be written.
10 | */
11 | public interface Encoder {
12 | /**
13 | * Writes the given data to the given output stream and returns True if the write completed
14 | * successfully and should be committed.
15 | *
16 | * @param data The data to write.
17 | * @param file The file to write the data to.
18 | * @param options The set of options to apply when encoding.
19 | */
20 | boolean encode(@NonNull T data, @NonNull File file, @NonNull Options options);
21 | }
22 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/ResourceEncoder.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.load.engine.Resource;
5 |
6 | /**
7 | * An interface for writing data from a resource to some persistent data store (i.e. a local File
8 | * cache).
9 | *
10 | * @param The type of the data contained by the resource.
11 | */
12 | public interface ResourceEncoder extends Encoder> {
13 | // specializing the generic arguments
14 | @NonNull
15 | EncodeStrategy getEncodeStrategy(@NonNull Options options);
16 | }
17 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/data/mediastore/FileService.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.data.mediastore;
2 |
3 | import java.io.File;
4 |
5 | class FileService {
6 | public boolean exists(File file) {
7 | return file.exists();
8 | }
9 |
10 | public long length(File file) {
11 | return file.length();
12 | }
13 |
14 | public File get(String path) {
15 | return new File(path);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/data/mediastore/ThumbnailQuery.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.data.mediastore;
2 |
3 | import android.database.Cursor;
4 | import android.net.Uri;
5 |
6 | interface ThumbnailQuery {
7 | Cursor query(Uri uri);
8 | }
9 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/CallbackException.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine;
2 |
3 | /**
4 | * An exception indicating that code outside of Glide threw an unexpected exception.
5 | *
6 | * This is useful to allow us to distinguish developer errors on the part of users of Glide from
7 | * developer errors on the part of developers of Glide itself.
8 | */
9 | final class CallbackException extends RuntimeException {
10 | private static final long serialVersionUID = -7530898992688511851L;
11 |
12 | CallbackException(Throwable cause) {
13 | super("Unexpected exception thrown by non-Glide code", cause);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/EngineJobListener.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine;
2 |
3 | import com.bumptech.glide.load.Key;
4 |
5 | interface EngineJobListener {
6 |
7 | void onEngineJobComplete(EngineJob> engineJob, Key key, EngineResource> resource);
8 |
9 | void onEngineJobCancelled(EngineJob> engineJob, Key key);
10 | }
11 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/EngineKeyFactory.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine;
2 |
3 | import com.bumptech.glide.load.Key;
4 | import com.bumptech.glide.load.Options;
5 | import com.bumptech.glide.load.Transformation;
6 | import java.util.Map;
7 |
8 | class EngineKeyFactory {
9 |
10 | @SuppressWarnings("rawtypes")
11 | EngineKey buildKey(
12 | Object model,
13 | Key signature,
14 | int width,
15 | int height,
16 | Map, Transformation>> transformations,
17 | Class> resourceClass,
18 | Class> transcodeClass,
19 | Options options) {
20 | return new EngineKey(
21 | model, signature, width, height, transformations, resourceClass, transcodeClass, options);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/Initializable.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine;
2 |
3 | /**
4 | * A callback allowing a resource to do some optimization on a background thread before being
5 | * returned to the ui.
6 | */
7 | public interface Initializable {
8 |
9 | /** Called on a background thread so the {@link Resource} can do some eager initialization. */
10 | void initialize();
11 | }
12 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/ArrayAdapterInterface.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine.bitmap_recycle;
2 |
3 | /**
4 | * Interface for handling operations on a primitive array type.
5 | *
6 | * @param Array type (e.g. byte[], int[])
7 | */
8 | interface ArrayAdapterInterface {
9 |
10 | /** TAG for logging. */
11 | String getTag();
12 |
13 | /** Return the length of the given array. */
14 | int getArrayLength(T array);
15 |
16 | /** Allocate and return an array of the specified size. */
17 | T newArray(int length);
18 |
19 | /** Return the size of an element in the array in bytes (e.g. for int return 4). */
20 | int getElementSizeInBytes();
21 | }
22 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/BaseKeyPool.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine.bitmap_recycle;
2 |
3 | import com.bumptech.glide.util.Util;
4 | import java.util.Queue;
5 |
6 | abstract class BaseKeyPool {
7 | private static final int MAX_SIZE = 20;
8 | private final Queue keyPool = Util.createQueue(MAX_SIZE);
9 |
10 | T get() {
11 | T result = keyPool.poll();
12 | if (result == null) {
13 | result = create();
14 | }
15 | return result;
16 | }
17 |
18 | public void offer(T key) {
19 | if (keyPool.size() < MAX_SIZE) {
20 | keyPool.offer(key);
21 | }
22 | }
23 |
24 | abstract T create();
25 | }
26 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/ByteArrayAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine.bitmap_recycle;
2 |
3 | /** Adapter for handling primitive byte arrays. */
4 | @SuppressWarnings("PMD.UseVarargs")
5 | public final class ByteArrayAdapter implements ArrayAdapterInterface {
6 | private static final String TAG = "ByteArrayPool";
7 |
8 | @Override
9 | public String getTag() {
10 | return TAG;
11 | }
12 |
13 | @Override
14 | public int getArrayLength(byte[] array) {
15 | return array.length;
16 | }
17 |
18 | @Override
19 | public byte[] newArray(int length) {
20 | return new byte[length];
21 | }
22 |
23 | @Override
24 | public int getElementSizeInBytes() {
25 | return 1;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/IntegerArrayAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine.bitmap_recycle;
2 |
3 | /** Adapter for handling primitive int arrays. */
4 | @SuppressWarnings("PMD.UseVarargs")
5 | public final class IntegerArrayAdapter implements ArrayAdapterInterface {
6 | private static final String TAG = "IntegerArrayPool";
7 |
8 | @Override
9 | public String getTag() {
10 | return TAG;
11 | }
12 |
13 | @Override
14 | public int getArrayLength(int[] array) {
15 | return array.length;
16 | }
17 |
18 | @Override
19 | public int[] newArray(int length) {
20 | return new int[length];
21 | }
22 |
23 | @Override
24 | public int getElementSizeInBytes() {
25 | return 4;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/LruPoolStrategy.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine.bitmap_recycle;
2 |
3 | import android.graphics.Bitmap;
4 | import androidx.annotation.Nullable;
5 |
6 | interface LruPoolStrategy {
7 | void put(Bitmap bitmap);
8 |
9 | @Nullable
10 | Bitmap get(int width, int height, Bitmap.Config config);
11 |
12 | @Nullable
13 | Bitmap removeLast();
14 |
15 | String logBitmap(Bitmap bitmap);
16 |
17 | String logBitmap(int width, int height, Bitmap.Config config);
18 |
19 | int getSize(Bitmap bitmap);
20 | }
21 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/Poolable.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine.bitmap_recycle;
2 |
3 | interface Poolable {
4 | void offer();
5 | }
6 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/PrettyPrintTreeMap.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.engine.bitmap_recycle;
2 |
3 | import java.util.TreeMap;
4 |
5 | // Never serialized.
6 | @SuppressWarnings("serial")
7 | class PrettyPrintTreeMap extends TreeMap {
8 | @Override
9 | public String toString() {
10 | StringBuilder sb = new StringBuilder();
11 | sb.append("( ");
12 | for (Entry entry : entrySet()) {
13 | sb.append('{').append(entry.getKey()).append(':').append(entry.getValue()).append("}, ");
14 | }
15 | if (!isEmpty()) {
16 | sb.replace(sb.length() - 2, sb.length(), "");
17 | }
18 | return sb.append(" )").toString();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/load/resource/file/FileResource.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.resource.file;
2 |
3 | import com.bumptech.glide.load.resource.SimpleResource;
4 | import java.io.File;
5 |
6 | /** A simple {@link com.bumptech.glide.load.engine.Resource} that wraps a {@link File}. */
7 | // Public API.
8 | @SuppressWarnings("WeakerAccess")
9 | public class FileResource extends SimpleResource {
10 | public FileResource(File file) {
11 | super(file);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/ApplicationLifecycle.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | import androidx.annotation.NonNull;
4 |
5 | /**
6 | * A {@link com.bumptech.glide.manager.Lifecycle} implementation for tracking and notifying
7 | * listeners of {@link android.app.Application} lifecycle events.
8 | *
9 | * Since there are essentially no {@link android.app.Application} lifecycle events, this class
10 | * simply defaults to notifying new listeners that they are started.
11 | */
12 | class ApplicationLifecycle implements Lifecycle {
13 | @Override
14 | public void addListener(@NonNull LifecycleListener listener) {
15 | listener.onStart();
16 | }
17 |
18 | @Override
19 | public void removeListener(@NonNull LifecycleListener listener) {
20 | // Do nothing.
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/ConnectivityMonitor.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | /** An interface for monitoring network connectivity events. */
4 | public interface ConnectivityMonitor extends LifecycleListener {
5 |
6 | /** An interface for listening to network connectivity events picked up by the monitor. */
7 | interface ConnectivityListener {
8 | /**
9 | * Called when the connectivity state changes.
10 | *
11 | * @param isConnected True if we're currently connected to a network, false otherwise.
12 | */
13 | void onConnectivityChanged(boolean isConnected);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/ConnectivityMonitorFactory.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | import android.content.Context;
4 | import androidx.annotation.NonNull;
5 |
6 | /**
7 | * A factory class that produces a functional {@link
8 | * com.bumptech.glide.manager.ConnectivityMonitor}.
9 | */
10 | public interface ConnectivityMonitorFactory {
11 |
12 | @NonNull
13 | ConnectivityMonitor build(
14 | @NonNull Context context, @NonNull ConnectivityMonitor.ConnectivityListener listener);
15 | }
16 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/DoNothingFirstFrameWaiter.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | import android.app.Activity;
4 |
5 | final class DoNothingFirstFrameWaiter implements FrameWaiter {
6 |
7 | @Override
8 | public void registerSelf(Activity activity) {
9 | // Do nothing.
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/EmptyRequestManagerTreeNode.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.RequestManager;
5 | import java.util.Collections;
6 | import java.util.Set;
7 |
8 | /** A {@link RequestManagerTreeNode} that returns no relatives. */
9 | final class EmptyRequestManagerTreeNode implements RequestManagerTreeNode {
10 | @NonNull
11 | @Override
12 | public Set getDescendants() {
13 | return Collections.emptySet();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/FrameWaiter.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | import android.app.Activity;
4 |
5 | interface FrameWaiter {
6 | void registerSelf(Activity activity);
7 | }
8 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/Lifecycle.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | import androidx.annotation.NonNull;
4 |
5 | /** An interface for listening to Activity/Fragment lifecycle events. */
6 | public interface Lifecycle {
7 | /** Adds the given listener to the set of listeners managed by this Lifecycle implementation. */
8 | void addListener(@NonNull LifecycleListener listener);
9 |
10 | /**
11 | * Removes the given listener from the set of listeners managed by this Lifecycle implementation,
12 | * returning {@code true} if the listener was removed successfully, and {@code false} otherwise.
13 | *
14 | * This is an optimization only, there is no guarantee that every added listener will
15 | * eventually be removed.
16 | */
17 | void removeListener(@NonNull LifecycleListener listener);
18 | }
19 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/LifecycleListener.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | /**
4 | * An interface for listener to {@link android.app.Fragment} and {@link android.app.Activity}
5 | * lifecycle events.
6 | */
7 | public interface LifecycleListener {
8 |
9 | /**
10 | * Callback for when {@link android.app.Fragment#onStart()}} or {@link
11 | * android.app.Activity#onStart()} is called.
12 | */
13 | void onStart();
14 |
15 | /**
16 | * Callback for when {@link android.app.Fragment#onStop()}} or {@link
17 | * android.app.Activity#onStop()}} is called.
18 | */
19 | void onStop();
20 |
21 | /**
22 | * Callback for when {@link android.app.Fragment#onDestroy()}} or {@link
23 | * android.app.Activity#onDestroy()} is called.
24 | */
25 | void onDestroy();
26 | }
27 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/NullConnectivityMonitor.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | /** A no-op {@link com.bumptech.glide.manager.ConnectivityMonitor}. */
4 | class NullConnectivityMonitor implements ConnectivityMonitor {
5 |
6 | @Override
7 | public void onStart() {
8 | // Do nothing.
9 | }
10 |
11 | @Override
12 | public void onStop() {
13 | // Do nothing.
14 | }
15 |
16 | @Override
17 | public void onDestroy() {
18 | // Do nothing.
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/manager/RequestManagerTreeNode.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.manager;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.RequestManager;
5 | import java.util.Set;
6 |
7 | /**
8 | * Provides access to the relatives of a RequestManager based on the current context. The context
9 | * hierarchy is provided by nesting in Activity and Fragments; the application context does not
10 | * provide access to any other RequestManagers hierarchically.
11 | */
12 | public interface RequestManagerTreeNode {
13 | /**
14 | * Returns all descendant {@link RequestManager}s relative to the context of the current {@link
15 | * RequestManager}.
16 | */
17 | @NonNull
18 | Set getDescendants();
19 | }
20 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/provider/ImageHeaderParserRegistry.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.provider;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.load.ImageHeaderParser;
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | /** Contains an unordered list of {@link ImageHeaderParser}s capable of parsing image headers. */
9 | public final class ImageHeaderParserRegistry {
10 | private final List parsers = new ArrayList<>();
11 |
12 | @NonNull
13 | public synchronized List getParsers() {
14 | return parsers;
15 | }
16 |
17 | public synchronized void add(@NonNull ImageHeaderParser parser) {
18 | parsers.add(parser);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/request/target/SizeReadyCallback.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.request.target;
2 |
3 | /**
4 | * A callback that must be called when the target has determined its size. For fixed size targets it
5 | * can be called synchronously.
6 | */
7 | public interface SizeReadyCallback {
8 | /**
9 | * A callback called on the main thread.
10 | *
11 | * @param width The width in pixels of the target, or {@link Target#SIZE_ORIGINAL} to indicate
12 | * that we want the resource at its original width.
13 | * @param height The height in pixels of the target, or {@link Target#SIZE_ORIGINAL} to indicate
14 | * that we want the resource at its original height.
15 | */
16 | void onSizeReady(int width, int height);
17 | }
18 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/request/transition/TransitionFactory.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.request.transition;
2 |
3 | import com.bumptech.glide.load.DataSource;
4 |
5 | /**
6 | * A factory class that can produce different {@link Transition}s based on the state of the request.
7 | *
8 | * @param The type of resource that needs to be animated into the target.
9 | */
10 | public interface TransitionFactory {
11 |
12 | /**
13 | * Returns a new {@link Transition}.
14 | *
15 | * @param dataSource The {@link com.bumptech.glide.load.DataSource} the resource was loaded from.
16 | * @param isFirstResource True if this is the first resource to be loaded into the target.
17 | */
18 | Transition build(DataSource dataSource, boolean isFirstResource);
19 | }
20 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/signature/EmptySignature.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.signature;
2 |
3 | import androidx.annotation.NonNull;
4 | import com.bumptech.glide.load.Key;
5 | import java.security.MessageDigest;
6 |
7 | /** An empty key that is always equal to all other empty keys. */
8 | public final class EmptySignature implements Key {
9 | private static final EmptySignature EMPTY_KEY = new EmptySignature();
10 |
11 | @NonNull
12 | public static EmptySignature obtain() {
13 | return EMPTY_KEY;
14 | }
15 |
16 | private EmptySignature() {
17 | // Empty.
18 | }
19 |
20 | @Override
21 | public String toString() {
22 | return "EmptySignature";
23 | }
24 |
25 | @Override
26 | public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) {
27 | // Do nothing.
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/library/src/main/java/com/bumptech/glide/util/Synthetic.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.util;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /** Indicates that target's visibility can be relaxed to avoid synthetic methods. */
9 | @Retention(RetentionPolicy.SOURCE)
10 | @Target({ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.TYPE})
11 | public @interface Synthetic {}
12 |
--------------------------------------------------------------------------------
/library/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/library/test/src/test/java/com/bumptech/glide/load/resource/file/FileResourceTest.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.resource.file;
2 |
3 | import static org.junit.Assert.assertEquals;
4 |
5 | import java.io.File;
6 | import org.junit.Before;
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 | import org.junit.runners.JUnit4;
10 |
11 | @RunWith(JUnit4.class)
12 | public class FileResourceTest {
13 |
14 | private File file;
15 | private FileResource resource;
16 |
17 | @Before
18 | public void setUp() {
19 | file = new File("Test");
20 | resource = new FileResource(file);
21 | }
22 |
23 | @Test
24 | public void testReturnsGivenFile() {
25 | assertEquals(file, resource.get());
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/library/test/src/test/java/com/bumptech/glide/load/resource/transcode/UnitTranscoderTest.java:
--------------------------------------------------------------------------------
1 | package com.bumptech.glide.load.resource.transcode;
2 |
3 | import static com.bumptech.glide.tests.Util.mockResource;
4 | import static org.junit.Assert.assertEquals;
5 |
6 | import com.bumptech.glide.load.Options;
7 | import com.bumptech.glide.load.engine.Resource;
8 | import org.junit.Test;
9 | import org.junit.runner.RunWith;
10 | import org.junit.runners.JUnit4;
11 |
12 | @RunWith(JUnit4.class)
13 | public class UnitTranscoderTest {
14 |
15 | @Test
16 | public void testReturnsTheGivenResource() {
17 | Resource