From d0585867019d79c92bb4e745a73380f5b0bb3c89 Mon Sep 17 00:00:00 2001 From: Tamas Szelezsan Date: Thu, 13 Aug 2026 17:18:04 +0200 Subject: [PATCH 1/2] Declare the playback services and their permissions in the TV manifest --- tv/src/main/AndroidManifest.xml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tv/src/main/AndroidManifest.xml b/tv/src/main/AndroidManifest.xml index cfdf47c9055..cf766bb1979 100644 --- a/tv/src/main/AndroidManifest.xml +++ b/tv/src/main/AndroidManifest.xml @@ -3,6 +3,11 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> + + + + + @@ -57,6 +62,30 @@ android:resource="@xml/authenticator" /> + + + + + + + + + + + + + + Date: Thu, 13 Aug 2026 17:21:24 +0200 Subject: [PATCH 2/2] Enable the TV playback service and set up notification channels on startup --- .../java/au/com/shiftyjelly/pocketcasts/TvApplication.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tv/src/main/java/au/com/shiftyjelly/pocketcasts/TvApplication.kt b/tv/src/main/java/au/com/shiftyjelly/pocketcasts/TvApplication.kt index 7ab67b2bad2..1000bf37470 100644 --- a/tv/src/main/java/au/com/shiftyjelly/pocketcasts/TvApplication.kt +++ b/tv/src/main/java/au/com/shiftyjelly/pocketcasts/TvApplication.kt @@ -3,7 +3,9 @@ package au.com.shiftyjelly.pocketcasts import android.app.Application import androidx.hilt.work.HiltWorkerFactory import androidx.work.Configuration +import au.com.shiftyjelly.pocketcasts.repositories.notification.NotificationHelper import au.com.shiftyjelly.pocketcasts.repositories.playback.PlaybackManager +import au.com.shiftyjelly.pocketcasts.repositories.playback.PlaybackServiceToggle import au.com.shiftyjelly.pocketcasts.utils.TimberDebugTree import dagger.hilt.android.HiltAndroidApp import javax.inject.Inject @@ -22,6 +24,8 @@ class TvApplication : @Inject lateinit var playbackManager: PlaybackManager + @Inject lateinit var notificationHelper: NotificationHelper + private val applicationScope = CoroutineScope(SupervisorJob() + Dispatchers.IO) override fun onCreate() { @@ -29,6 +33,8 @@ class TvApplication : if (BuildConfig.DEBUG) { Timber.plant(TimberDebugTree()) } + notificationHelper.setupNotificationChannels() + PlaybackServiceToggle.ensureCorrectServiceEnabled(this) // setup() subscribes the Up Next queue's sync pipeline itself, so there must be no // separate UpNextQueue.setupBlocking() call on TV. applicationScope.launch {