Move Glide annotation processing out of the main module.

This commit is contained in:
Rashad Sookram
2021-12-10 15:31:46 -05:00
committed by Cody Henthorne
parent c98fd1a452
commit 158505c8a8
11 changed files with 202 additions and 35 deletions

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="org.signal.glide" />

View File

@@ -0,0 +1,40 @@
package org.thoughtcrime.securesms.mms
import android.content.Context
import android.util.Log
import com.bumptech.glide.Glide
import com.bumptech.glide.GlideBuilder
import com.bumptech.glide.Registry
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.module.AppGlideModule
/**
* A [GlideModule] to configure Glide for the app. This class is discovered by Glide's annotation
* processor, and delegates its logic to a [RegisterGlideComponents]. It exists outside of the main
* Gradle module to reduce the scope of classes that KAPT needs to look at.
*/
@GlideModule
class SignalGlideModule : AppGlideModule() {
override fun isManifestParsingEnabled(): Boolean {
return false
}
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
registerGlideComponents.registerComponents(context, glide, registry)
}
override fun applyOptions(context: Context, builder: GlideBuilder) {
builder.setLogLevel(Log.ERROR)
}
companion object {
@JvmStatic
lateinit var registerGlideComponents: RegisterGlideComponents
}
}
interface RegisterGlideComponents {
fun registerComponents(context: Context, glide: Glide, registry: Registry)
}