AquaStream/app/src/main/java/com/lagradost/cloudstream3/utils/CastOptionsProvider.kt

53 lines
2.2 KiB
Kotlin
Raw Normal View History

2021-06-06 18:06:01 +00:00
package com.lagradost.cloudstream3.utils
import android.content.Context
2021-06-10 15:15:14 +00:00
import com.google.android.gms.cast.CastMediaControlIntent
2021-06-06 18:06:01 +00:00
import com.google.android.gms.cast.framework.CastOptions
import com.google.android.gms.cast.framework.OptionsProvider
import com.google.android.gms.cast.framework.SessionProvider
import com.google.android.gms.cast.framework.media.CastMediaOptions
import com.google.android.gms.cast.framework.media.MediaIntentReceiver
import com.google.android.gms.cast.framework.media.NotificationOptions
import com.lagradost.cloudstream3.R
import com.lagradost.cloudstream3.ui.ControllerActivity
import java.util.*
class CastOptionsProvider : OptionsProvider {
2021-06-11 13:33:30 +00:00
override fun getCastOptions(context: Context): CastOptions {
2021-06-06 18:06:01 +00:00
val buttonActions = listOf(
MediaIntentReceiver.ACTION_REWIND,
MediaIntentReceiver.ACTION_TOGGLE_PLAYBACK,
MediaIntentReceiver.ACTION_FORWARD,
MediaIntentReceiver.ACTION_STOP_CASTING
)
val name = ControllerActivity::class.qualifiedName!!
2021-06-11 13:33:30 +00:00
val compatButtonAction = intArrayOf(1, 3)
2021-06-06 18:06:01 +00:00
val notificationOptions =
NotificationOptions.Builder()
.setTargetActivityClassName(name)
2021-06-06 18:06:01 +00:00
.setActions(buttonActions, compatButtonAction)
.setForward30DrawableResId(R.drawable.go_forward_30)
.setRewind30DrawableResId(R.drawable.go_back_30)
.setSkipStepMs(30000)
.build()
val mediaOptions = CastMediaOptions.Builder()
.setNotificationOptions(notificationOptions)
.setExpandedControllerActivityClassName(name)
2021-06-06 18:06:01 +00:00
.build()
return CastOptions.Builder()
2021-06-11 13:33:30 +00:00
.setReceiverApplicationId(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID)
2021-06-14 00:00:29 +00:00
//.setReceiverApplicationId("")
// C0868879 = SAMPLE, CHANGE TO A NICE ID at https://developers.google.com/cast/docs/registration
2021-06-06 18:06:01 +00:00
.setStopReceiverApplicationWhenEndingSession(true)
.setCastMediaOptions(mediaOptions)
.build()
}
override fun getAdditionalSessionProviders(p0: Context): MutableList<SessionProvider> {
2021-06-06 18:06:01 +00:00
return Collections.emptyList()
}
}