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.

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

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.

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

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)
  }
}

Last updated