package pe.sistemax.sysfarma import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngineCache import io.flutter.plugin.common.MethodChannel class MainActivity : FlutterActivity() { override fun configureFlutterEngine(flutterEngine: FlutterEngine) { super.configureFlutterEngine(flutterEngine) MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL) .setMethodCallHandler { call, result -> if (call.method == "detach_notification_main_engine") { // flutter_notification_listener uses this cache key for // its background engine. If it keeps the Activity engine, // Android detaches it when the app goes to background and // notification events are lost. FlutterEngineCache.getInstance().remove("flutter_engine_main") result.success(true) } else { result.notImplemented() } } } companion object { private const val CHANNEL = "pe.sistemax.sysfarma/notification_engine" } }