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 {
|
dependencies {
|
||||||
|
def lifecycle_version = "2.0.0"
|
||||||
|
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
|
|
||||||
implementation "com.google.android.gms:play-services-cast-framework:17.1.0"
|
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
|
package com.gianlucaparadise.flutter_cast_framework
|
||||||
|
|
||||||
import android.util.Log
|
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.MediaRouteChooserDialog
|
||||||
import androidx.mediarouter.app.MediaRouteControllerDialog
|
import androidx.mediarouter.app.MediaRouteControllerDialog
|
||||||
import com.google.android.gms.cast.framework.CastContext
|
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.MethodChannel.Result
|
||||||
import io.flutter.plugin.common.PluginRegistry.Registrar
|
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 {
|
companion object {
|
||||||
const val TAG = "AndroidCastPlugin"
|
const val TAG = "AndroidCastPlugin"
|
||||||
|
|
||||||
// @StyleRes
|
|
||||||
// var customStyleResId: Int? = null
|
|
||||||
// private val themeResId get() = customStyleResId ?: R.style.Theme_AppCompat_DayNight_Dialog_Alert
|
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun registerWith(registrar: Registrar) {
|
fun registerWith(registrar: Registrar) {
|
||||||
val channel = MethodChannel(registrar.messenger(), "flutter_cast_framework")
|
val channel = MethodChannel(registrar.messenger(), "flutter_cast_framework")
|
||||||
|
|
@ -26,12 +26,19 @@ class FlutterCastFrameworkPlugin(private val registrar: Registrar, private val c
|
||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
|
||||||
|
|
||||||
CastContext.getSharedInstance(registrar.activeContext()).addCastStateListener { i ->
|
CastContext.getSharedInstance(registrar.activeContext()).addCastStateListener { i ->
|
||||||
Log.d(TAG, "Cast state changed: $i")
|
Log.d(TAG, "Cast state changed: $i")
|
||||||
channel.invokeMethod("onCastStateChanged", 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) {
|
override fun onMethodCall(call: MethodCall, result: Result) {
|
||||||
when (call.method) {
|
when (call.method) {
|
||||||
"showCastDialog" -> showCastDialog()
|
"showCastDialog" -> showCastDialog()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue