androidPluginKtTemplate function

String androidPluginKtTemplate(
  1. String org,
  2. String pluginName,
  3. String className,
  4. String moduleName,
)

Implementation

String androidPluginKtTemplate(
  String org,
  String pluginName,
  String className,
  String moduleName,
) =>
    '''
package $org.$pluginName

import io.flutter.embedding.engine.plugins.FlutterPlugin
import nitro.$moduleName.${className}JniBridge

class ${className}Plugin : FlutterPlugin {

    companion object {
        init { System.loadLibrary("$pluginName") }
    }

    override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) {
        // registerFactory: one impl per Dart-side instance (multi-instance
        // registry). The old single-instance register(impl) API no longer
        // exists on the generated JniBridge.
        ${className}JniBridge.registerFactory({ ${className}Impl(binding.applicationContext) }, binding.applicationContext)
    }

    override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {}
}''';