Added support for automatically resuming casting device if stopped.

This commit is contained in:
Koen 2023-12-13 12:48:39 +01:00
parent 627b8c2b5d
commit d3ab8ecf3a
2 changed files with 18 additions and 0 deletions

View file

@ -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<Double>();
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();

View file

@ -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();