diff --git a/app/src/main/java/com/lagradost/cloudstream3/CommonActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/CommonActivity.kt index 7e4c47d4..0f54770f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/CommonActivity.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/CommonActivity.kt @@ -11,6 +11,7 @@ import android.util.Log import android.view.* import android.widget.TextView import android.widget.Toast +import androidx.annotation.MainThread import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.SearchView @@ -29,6 +30,7 @@ import org.schabi.newpipe.extractor.NewPipe import java.util.* object CommonActivity { + @MainThread fun Activity?.getCastSession(): CastSession? { return (this as MainActivity?)?.mSessionManager?.currentCastSession } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt index de926c76..cf12fab0 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt @@ -797,18 +797,21 @@ class ResultViewModel2 : ViewModel() { val response = currentResponse ?: return val eps = currentEpisodes[currentIndex ?: return] ?: return - activity.getCastSession()?.startCast( - response.apiName, - response.isMovie(), - response.name, - response.posterUrl, - result.index, - eps, - links, - subs, - startTime = result.getRealPosition(), - startIndex = startIndex - ) + // Main needed because getCastSession needs to be on main thread + main { + activity.getCastSession()?.startCast( + response.apiName, + response.isMovie(), + response.name, + response.posterUrl, + result.index, + eps, + links, + subs, + startTime = result.getRealPosition(), + startIndex = startIndex + ) + } } fun cancelLinks() {