How to integrate Firebase with Glide ('using' method)

To solve this, please change this line:

compile 'com.github.bumptech.glide:glide:4.0.0-RC1'

with

compile 'com.github.bumptech.glide:glide:3.7.0'

Glide v4 is using module loaders with the annotation processor library.

Create AppGlideModule and then register FirebaseImageLoader. When loading images use StorageReference.

Here it is in details.

Add libraries in gradle

implementation 'com.github.bumptech.glide:glide:4.7.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
implementation 'com.firebaseui:firebase-ui-storage:4.1.0'

Extend the module and register

@GlideModule
public class MyAppGlideModule extends AppGlideModule {

    @Override
    public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
        registry.append(StorageReference.class, InputStream.class, new FirebaseImageLoader.Factory());
    }
}

Load images with ref

Uri uri = Uri.parse(photoUrl);
StorageReference ref = FirebaseStorage.getInstance().getReference().child(uri.getPath());
Glide.with(itemView.getContext())
    .load(ref)
    .into(thumb);