mirror of
https://github.com/flutter/samples.git
synced 2025-11-08 22:09:06 +00:00
[add_to_app] Fixes type mismatch (#1489)
This commit is contained in:
@@ -4,11 +4,13 @@
|
|||||||
|
|
||||||
package dev.flutter.example.androidView
|
package dev.flutter.example.androidView
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.LifecycleObserver
|
import androidx.lifecycle.LifecycleObserver
|
||||||
import androidx.lifecycle.OnLifecycleEvent
|
import androidx.lifecycle.OnLifecycleEvent
|
||||||
|
import io.flutter.embedding.android.ExclusiveAppComponent
|
||||||
import io.flutter.embedding.android.FlutterView
|
import io.flutter.embedding.android.FlutterView
|
||||||
import io.flutter.embedding.engine.FlutterEngine
|
import io.flutter.embedding.engine.FlutterEngine
|
||||||
import io.flutter.plugin.platform.PlatformPlugin
|
import io.flutter.plugin.platform.PlatformPlugin
|
||||||
@@ -40,7 +42,7 @@ import io.flutter.plugin.platform.PlatformPlugin
|
|||||||
* what the appropriate intersection between the [FlutterView], the [FlutterEngine] and your
|
* what the appropriate intersection between the [FlutterView], the [FlutterEngine] and your
|
||||||
* `Activity` should be for your own application.
|
* `Activity` should be for your own application.
|
||||||
*/
|
*/
|
||||||
class FlutterViewEngine(val engine: FlutterEngine) : LifecycleObserver{
|
class FlutterViewEngine(val engine: FlutterEngine) : LifecycleObserver, ExclusiveAppComponent<Activity>{
|
||||||
private var flutterView: FlutterView? = null
|
private var flutterView: FlutterView? = null
|
||||||
private var activity: ComponentActivity? = null
|
private var activity: ComponentActivity? = null
|
||||||
private var platformPlugin: PlatformPlugin? = null
|
private var platformPlugin: PlatformPlugin? = null
|
||||||
@@ -55,7 +57,7 @@ class FlutterViewEngine(val engine: FlutterEngine) : LifecycleObserver{
|
|||||||
flutterView!!.let { flutterView ->
|
flutterView!!.let { flutterView ->
|
||||||
platformPlugin = PlatformPlugin(activity, engine.platformChannel)
|
platformPlugin = PlatformPlugin(activity, engine.platformChannel)
|
||||||
|
|
||||||
engine.activityControlSurface.attachToActivity(activity, activity.lifecycle)
|
engine.activityControlSurface.attachToActivity(this, activity.lifecycle)
|
||||||
flutterView.attachToFlutterEngine(engine)
|
flutterView.attachToFlutterEngine(engine)
|
||||||
activity.lifecycle.addObserver(this)
|
activity.lifecycle.addObserver(this)
|
||||||
}
|
}
|
||||||
@@ -217,4 +219,25 @@ class FlutterViewEngine(val engine: FlutterEngine) : LifecycleObserver{
|
|||||||
engine.activityControlSurface.onUserLeaveHint();
|
engine.activityControlSurface.onUserLeaveHint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when another App Component is about to become attached to the [ ] this App Component
|
||||||
|
* is currently attached to.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This App Component's connections to the [io.flutter.embedding.engine.FlutterEngine]
|
||||||
|
* are still valid at the moment of this call.
|
||||||
|
*/
|
||||||
|
override fun detachFromFlutterEngine() {
|
||||||
|
// Do nothing here
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the App Component behind this exclusive App Component.
|
||||||
|
*
|
||||||
|
* @return The app component.
|
||||||
|
*/
|
||||||
|
override fun getAppComponent(): Activity {
|
||||||
|
return activity!!;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user