glide
glide copied to clipboard
LibraryGlideModule can not run independently.
4.12.0:
Glide, Interceptor, Compile (for annotationProcessor):
Emulator:
Issue details / Repro steps / Use case background:
I make a library use glide to show images on chat. I should to use GlideModule to add header when request image. So, I make a LibraryGlideModule and add OkhttpClient in registerComponents function. But it not called.
After add AppGlideModule in other module or library module (I test two cases each) It works and LibraryGlideModule's registerComponents function is called.
- In glide module developer docs, We should to use LibraryGlideModule and should not create AppGlideModule in library.
- LibraryGlideModule won't work without AppGlideModule.
In conclusion, We should guide to developers who use our library to add empty AppGlideModule implementation It is very annoying if someone not use image viewer.
What is good practice in this case?
Case 1. Only use LibraryGlideModule
// library module
@GlideModule
public class ChannelPluginGlideModule extends LibraryGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
// not called
}
}
Case 2. Both AppGlideModule, LibraryGlideModule in same library module
// library module
@GlideModule
public class MyGlideModule extends AppGlideModule {
}
@GlideModule
public class ChannelPluginGlideModule extends LibraryGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
// called
}
}
Case 3. AppGlideModule in app module, LibraryGlideModule in library module
// app module
@GlideModule
public class MyGlideModule extends AppGlideModule {
}
// library module
@GlideModule
public class ChannelPluginGlideModule extends LibraryGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
// called
}
}
I think the important thing is the existence of AppGlideModule
After add AppGlideModule
, Both Glide.with
and Glideapp.with
works through LibraryGlideModule.
hi,have you resolved it?