Implemented ProcessLifecycleOwner
This commit is contained in:
parent
f88d9d578c
commit
0285b3759f
2 changed files with 18 additions and 5 deletions
|
|
@ -40,7 +40,13 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
def lifecycle_version = "2.0.0"
|
||||
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
|
||||
implementation "com.google.android.gms:play-services-cast-framework:17.1.0"
|
||||
|
||||
// Lifecycle
|
||||
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
|
||||
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
package com.gianlucaparadise.flutter_cast_framework
|
||||
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import androidx.lifecycle.OnLifecycleEvent
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import androidx.mediarouter.app.MediaRouteChooserDialog
|
||||
import androidx.mediarouter.app.MediaRouteControllerDialog
|
||||
import com.google.android.gms.cast.framework.CastContext
|
||||
|
|
@ -10,14 +14,10 @@ import io.flutter.plugin.common.MethodChannel.MethodCallHandler
|
|||
import io.flutter.plugin.common.MethodChannel.Result
|
||||
import io.flutter.plugin.common.PluginRegistry.Registrar
|
||||
|
||||
class FlutterCastFrameworkPlugin(private val registrar: Registrar, private val channel: MethodChannel) : MethodCallHandler {
|
||||
class FlutterCastFrameworkPlugin(private val registrar: Registrar, private val channel: MethodChannel) : MethodCallHandler, LifecycleObserver {
|
||||
companion object {
|
||||
const val TAG = "AndroidCastPlugin"
|
||||
|
||||
// @StyleRes
|
||||
// var customStyleResId: Int? = null
|
||||
// private val themeResId get() = customStyleResId ?: R.style.Theme_AppCompat_DayNight_Dialog_Alert
|
||||
|
||||
@JvmStatic
|
||||
fun registerWith(registrar: Registrar) {
|
||||
val channel = MethodChannel(registrar.messenger(), "flutter_cast_framework")
|
||||
|
|
@ -26,12 +26,19 @@ class FlutterCastFrameworkPlugin(private val registrar: Registrar, private val c
|
|||
}
|
||||
|
||||
init {
|
||||
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
|
||||
|
||||
CastContext.getSharedInstance(registrar.activeContext()).addCastStateListener { i ->
|
||||
Log.d(TAG, "Cast state changed: $i")
|
||||
channel.invokeMethod("onCastStateChanged", i)
|
||||
}
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
|
||||
fun onResume() {
|
||||
Log.d(TAG, "App: ON_RESUME")
|
||||
}
|
||||
|
||||
override fun onMethodCall(call: MethodCall, result: Result) {
|
||||
when (call.method) {
|
||||
"showCastDialog" -> showCastDialog()
|
||||
|
|
|
|||
Loading…
Reference in a new issue