# Inject Android Image Loader (Flutter)

You could inject an Android image loader that can be one of the predefined Glide or Picasso or your custom implementation of the `com.firework.imageloading.ImageLoader` interface using your own solution.

#### Inject the Glide

Step 1: add the library dependency inside the `dependencies` block in the `firework.gradle.`

```gradle
dependencies {
  implementation "com.firework.external.imageloading:glide:+"
  ...
}

configurations.all {
  resolutionStrategy.eachDependency { details ->
    ...
    if (details.requested.group == 'com.firework.external.imageloading' && details.requested.name == 'glide') {
      details.useVersion rootProject.ext.get("fwNativeVersion")
    }
  }
}
```

Step 2: add the following codes to the `MainApplication` class

```kotlin
import com.firework.imageloading.glide.GlideImageLoaderFactory
import com.fireworksdk.bridge.flutter.FWFlutterSDK

class MainApplication: FlutterApplication() {

  override fun onCreate() {
    super.onCreate()
    // you need to add the module before the sdk init method
    FWFlutterSDK.setImageLoader(GlideImageLoaderFactory.createInstance(this))
    FWFlutterSDK.init(this)
  }
}
```

#### Inject the Picasso

Step 1: add the library dependency inside the `dependencies` block in the `firework.gradle.`

```gradle
dependencies {
  implementation "com.firework.external.imageloading:picasso:+"
  ...
}

configurations.all {
  resolutionStrategy.eachDependency { details ->
    ...
    if (details.requested.group == 'com.firework.external.imageloading' && details.requested.name == 'picasso') {
      details.useVersion rootProject.ext.get("fwNativeVersion")
    }
  }
}
```

Step 2: add the following codes to the `MainApplication` class

```kotlin
import com.firework.imageloading.picasso.PicassoImageLoaderFactory
import com.fireworksdk.bridge.flutter.FWFlutterSDK

class MainApplication: FlutterApplication() {

  override fun onCreate() {
    super.onCreate()

    // you need to add the module before the sdk init method
    FWFlutterSDK.setImageLoader(PicassoImageLoaderFactory.createInstance(this))
    FWFlutterSDK.init(this)
  }
}
```
