LibreTube/app/src/main/java/com/github/libretube/util/BackgroundHelper.kt

33 lines
1.0 KiB
Kotlin
Raw Normal View History

2022-07-23 19:11:57 +05:30
package com.github.libretube.util
import android.content.Context
import android.content.Intent
import android.os.Build
2022-09-08 23:49:44 +05:30
import com.github.libretube.constants.IntentData
2022-07-23 19:11:57 +05:30
import com.github.libretube.services.BackgroundMode
2022-08-08 14:13:46 +05:30
/**
* Helper for starting a new Instance of the [BackgroundMode]
*/
2022-07-23 19:11:57 +05:30
object BackgroundHelper {
fun playOnBackground(
context: Context,
videoId: String,
2022-08-08 14:13:46 +05:30
position: Long? = null,
playlistId: String? = null
2022-07-23 19:11:57 +05:30
) {
2022-08-08 14:13:46 +05:30
// create an intent for the background mode service
2022-07-23 19:11:57 +05:30
val intent = Intent(context, BackgroundMode::class.java)
2022-09-08 23:49:44 +05:30
intent.putExtra(IntentData.videoId, videoId)
if (playlistId != null) intent.putExtra(IntentData.playlistId, playlistId)
2022-07-23 19:11:57 +05:30
if (position != null) intent.putExtra("position", position)
2022-08-08 14:13:46 +05:30
// start the background mode as foreground service
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
context.startForegroundService(intent)
} else {
context.startService(intent)
}
2022-07-23 19:11:57 +05:30
}
}