diff --git a/app/src/main/java/com/futo/platformplayer/casting/StateCasting.kt b/app/src/main/java/com/futo/platformplayer/casting/StateCasting.kt index 2340e1f5..c400b5a2 100644 --- a/app/src/main/java/com/futo/platformplayer/casting/StateCasting.kt +++ b/app/src/main/java/com/futo/platformplayer/casting/StateCasting.kt @@ -5,6 +5,7 @@ import android.content.Context import android.net.Uri import android.os.Looper import android.util.Base64 +import android.util.Log import com.futo.platformplayer.BuildConfig import com.futo.platformplayer.UIDialogs import com.futo.platformplayer.api.http.ManagedHttpClient @@ -67,6 +68,7 @@ class StateCasting { val onActiveDeviceTimeChanged = Event1(); var activeDevice: CastingDevice? = null; private val _client = ManagedHttpClient(); + var _resumeCastingDevice: CastingDeviceInfo? = null; val isCasting: Boolean get() = activeDevice != null; @@ -194,16 +196,30 @@ class StateCasting { fun onStop() { val ad = activeDevice ?: return; + _resumeCastingDevice = ad.getDeviceInfo() + Log.i(TAG, "_resumeCastingDevice set to '${ad.name}'") Logger.i(TAG, "Stopping active device because of onStop."); ad.stop(); } + fun onResume() { + val resumeCastingDevice = _resumeCastingDevice + if (resumeCastingDevice != null) { + connectDevice(deviceFromCastingDeviceInfo(resumeCastingDevice)) + _resumeCastingDevice = null + Log.i(TAG, "_resumeCastingDevice set to null onResume") + } + } + @Synchronized fun start(context: Context) { if (_started) return; _started = true; + Log.i(TAG, "_resumeCastingDevice set null start") + _resumeCastingDevice = null; + Logger.i(TAG, "CastingService starting..."); rememberedDevices.clear(); diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt index e0aa0236..37c6669b 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt @@ -331,6 +331,8 @@ class VideoDetailFragment : MainFragment { Logger.i(TAG, "Real orientation on boot ${realOrientation}, lastOrientation: ${lastOrientation}"); if(realOrientation != lastOrientation) onOrientationChanged(realOrientation); + + StateCasting.instance.onResume(); } override fun onPause() { super.onPause();