From 4b9cbd26bcc16cc292575454beb27a1929f0bbdc Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Tue, 13 Oct 2026 21:26:15 +0200 Subject: [PATCH] feat(android): notify when a show gains episodes NewEpisodesWorker runs crawl_for_news every six hours on a network with the battery not low, and posts one notification per show, grouped. A setting under Playback turns it off and cancels the schedule. --- .../java/io/narl/protonstream/MainActivity.kt | 2 + .../protonstream/settings/SettingsStore.kt | 6 + .../protonstream/sync/NewEpisodesWorker.kt | 136 ++++++++++++++++++ .../io/narl/protonstream/ui/SettingsScreen.kt | 11 ++ .../test/screenshots/settings-playback.png | Bin 50571 -> 69656 bytes 5 files changed, 155 insertions(+) create mode 100644 android/app/src/main/java/io/narl/protonstream/sync/NewEpisodesWorker.kt diff --git a/android/app/src/main/java/io/narl/protonstream/MainActivity.kt b/android/app/src/main/java/io/narl/protonstream/MainActivity.kt index 64a57f6..c7a71dc 100644 --- a/android/app/src/main/java/io/narl/protonstream/MainActivity.kt +++ b/android/app/src/main/java/io/narl/protonstream/MainActivity.kt @@ -21,6 +21,7 @@ import io.narl.protonstream.native.NativeRuntime import io.narl.protonstream.playback.NativeMpvHost import io.narl.protonstream.playback.PlaybackService import io.narl.protonstream.settings.SettingsStore +import io.narl.protonstream.sync.NewEpisodesWorker import io.narl.protonstream.sync.WatchSyncWorker import io.narl.protonstream.ui.ProtonStreamApp import io.narl.protonstream.ui.theme.AppearanceState @@ -79,6 +80,7 @@ class MainActivity : ComponentActivity() { playbackConnection, Context.BIND_AUTO_CREATE, ) + NewEpisodesWorker.schedule(this) if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED diff --git a/android/app/src/main/java/io/narl/protonstream/settings/SettingsStore.kt b/android/app/src/main/java/io/narl/protonstream/settings/SettingsStore.kt index 64a832f..e3a1a03 100644 --- a/android/app/src/main/java/io/narl/protonstream/settings/SettingsStore.kt +++ b/android/app/src/main/java/io/narl/protonstream/settings/SettingsStore.kt @@ -56,6 +56,11 @@ class SettingsStore(context: Context) { get() = preferences.getBoolean(KEY_LIBRARY_GROUPED, true) set(value) { preferences.edit { putBoolean(KEY_LIBRARY_GROUPED, value) } } + /** Whether a background crawl may say that a show gained episodes. */ + var newEpisodeNotifications: Boolean + get() = preferences.getBoolean(KEY_NEW_EPISODE_NOTIFICATIONS, true) + set(value) { preferences.edit { putBoolean(KEY_NEW_EPISODE_NOTIFICATIONS, value) } } + companion object { /** The desktop's range, in the steps a phone's storage is bought in. */ val CACHE_BUDGET_CHOICES = listOf(1, 2, 4, 8, 16) @@ -78,6 +83,7 @@ class SettingsStore(context: Context) { private const val KEY_LIBRARY_SORT = "library_sort" private const val KEY_LIBRARY_GROUPED = "library_grouped" private const val KEY_LIBRARY_FILTER = "library_filter" + private const val KEY_NEW_EPISODE_NOTIFICATIONS = "new_episode_notifications" private const val KEY_METADATA_OFFER_DISMISSED = "metadata_offer_dismissed" } } diff --git a/android/app/src/main/java/io/narl/protonstream/sync/NewEpisodesWorker.kt b/android/app/src/main/java/io/narl/protonstream/sync/NewEpisodesWorker.kt new file mode 100644 index 0000000..20280ed --- /dev/null +++ b/android/app/src/main/java/io/narl/protonstream/sync/NewEpisodesWorker.kt @@ -0,0 +1,136 @@ +package io.narl.protonstream.sync + +import android.Manifest +import android.app.NotificationChannel +import android.app.NotificationManager +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.content.pm.PackageManager +import android.os.Build +import androidx.core.app.NotificationCompat +import androidx.core.app.NotificationManagerCompat +import androidx.work.Constraints +import androidx.work.CoroutineWorker +import androidx.work.ExistingPeriodicWorkPolicy +import androidx.work.NetworkType +import androidx.work.PeriodicWorkRequestBuilder +import androidx.work.WorkManager +import androidx.work.WorkerParameters +import io.narl.protonstream.MainActivity +import io.narl.protonstream.R +import io.narl.protonstream.native.NativeRuntime +import io.narl.protonstream.settings.SettingsStore +import uniffi.pstr_android.NewEpisodesRecord +import java.util.concurrent.TimeUnit + +/** + * Look at the shares while the app is away, and say when a show gained episodes. + * + * The app crawls a share it has not looked at for six hours whenever it opens, + * which finds a new episode only once someone opens it to look. This runs the + * same crawl on WorkManager's schedule instead. It only reports files the + * crawl itself found, so a share the app crawled since says nothing twice. + */ +class NewEpisodesWorker( + appContext: Context, + parameters: WorkerParameters, +) : CoroutineWorker(appContext, parameters) { + override suspend fun doWork(): Result { + if (!SettingsStore(applicationContext).newEpisodeNotifications) return Result.success() + val news = runCatching { NativeRuntime.engine().crawlForNews() }.getOrElse { return Result.retry() } + if (news.isNotEmpty()) post(news) + return Result.success() + } + + private fun post(news: List) { + if ( + Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && + applicationContext.checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != + PackageManager.PERMISSION_GRANTED + ) { + return + } + val manager = applicationContext.getSystemService(NotificationManager::class.java) + manager.createNotificationChannel( + NotificationChannel(CHANNEL_ID, "New episodes", NotificationManager.IMPORTANCE_DEFAULT).apply { + description = "A show in your library gained episodes" + }, + ) + val open = PendingIntent.getActivity( + applicationContext, + 0, + Intent(applicationContext, MainActivity::class.java), + PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT, + ) + val compat = NotificationManagerCompat.from(applicationContext) + // One per show, keyed by it, so a second crawl's news for the same show + // replaces the first rather than stacking under it. + news.forEach { item -> + val notification = NotificationCompat.Builder(applicationContext, CHANNEL_ID) + .setSmallIcon(R.drawable.ic_notification_stream) + .setContentTitle(item.title) + .setContentText(describe(item)) + .setContentIntent(open) + .setGroup(GROUP) + .setAutoCancel(true) + .build() + compat.notify(item.titleKey, NOTIFICATION_ID, notification) + } + if (news.size > 1) { + val summary = NotificationCompat.Builder(applicationContext, CHANNEL_ID) + .setSmallIcon(R.drawable.ic_notification_stream) + .setContentTitle("New episodes") + .setContentText(news.joinToString { it.title }) + .setContentIntent(open) + .setGroup(GROUP) + .setGroupSummary(true) + .setAutoCancel(true) + .build() + compat.notify(SUMMARY_TAG, NOTIFICATION_ID, summary) + } + } + + companion object { + private const val WORK_NAME = "new-episodes" + private const val CHANNEL_ID = "new-episodes" + private const val GROUP = "io.narl.protonstream.NEW_EPISODES" + private const val SUMMARY_TAG = "new-episodes-summary" + private const val NOTIFICATION_ID = 7 + private const val INTERVAL_HOURS = 6L + + /** What one show's notification says: "S01E04 and 2 more". */ + fun describe(news: NewEpisodesRecord): String { + val more = news.count.toInt() - 1 + val first = news.first + return when { + first == null -> if (news.count == 1u) "1 new episode" else "${news.count} new episodes" + more == 0 -> "$first is new" + more == 1 -> "$first and 1 more are new" + else -> "$first and $more more are new" + } + } + + /** + * Keep the periodic look scheduled, or cancel it when the viewer + * turned it off. Called on every launch; keeping an existing schedule + * means a launch does not push the next look back. + */ + fun schedule(context: Context) { + val work = WorkManager.getInstance(context.applicationContext) + if (!SettingsStore(context).newEpisodeNotifications) { + work.cancelUniqueWork(WORK_NAME) + return + } + val request = PeriodicWorkRequestBuilder(INTERVAL_HOURS, TimeUnit.HOURS) + .setConstraints( + Constraints.Builder() + .setRequiredNetworkType(NetworkType.CONNECTED) + .setRequiresBatteryNotLow(true) + .build(), + ) + .build() + work.enqueueUniquePeriodicWork(WORK_NAME, ExistingPeriodicWorkPolicy.KEEP, request) + } + } +} diff --git a/android/app/src/main/java/io/narl/protonstream/ui/SettingsScreen.kt b/android/app/src/main/java/io/narl/protonstream/ui/SettingsScreen.kt index 65a93d1..b5429cb 100644 --- a/android/app/src/main/java/io/narl/protonstream/ui/SettingsScreen.kt +++ b/android/app/src/main/java/io/narl/protonstream/ui/SettingsScreen.kt @@ -59,6 +59,7 @@ import androidx.compose.ui.window.DialogProperties import androidx.compose.ui.window.SecureFlagPolicy import androidx.compose.ui.unit.dp import io.narl.protonstream.settings.SettingsStore +import io.narl.protonstream.sync.NewEpisodesWorker import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -104,6 +105,7 @@ internal fun SettingsScreen( val settings = remember { SettingsStore(context) } var wifiOnly by remember { mutableStateOf(settings.wifiOnly) } var backgroundAudio by remember { mutableStateOf(settings.backgroundAudio) } + var newEpisodes by remember { mutableStateOf(settings.newEpisodeNotifications) } var hardwareDecoding by remember { mutableStateOf(settings.hardwareDecoding) } var cacheBudgetGib by remember { mutableStateOf(settings.cacheBudgetGib) } // Playback preferences are the shared store's, not this app's: they are the @@ -207,6 +209,15 @@ internal fun SettingsScreen( backgroundAudio = it settings.backgroundAudio = it } + SettingSwitch( + "New episode notifications", + "Looks at your shares every few hours and says when a show gains episodes", + newEpisodes, + ) { + newEpisodes = it + settings.newEpisodeNotifications = it + NewEpisodesWorker.schedule(context) + } } SettingsPage.Storage -> SettingsSubPage(SettingsPage.Storage, padding, back) { SettingSwitch("Download on Wi-Fi only", "Mobile data is never used for downloads", wifiOnly) { diff --git a/android/app/src/test/screenshots/settings-playback.png b/android/app/src/test/screenshots/settings-playback.png index 8e40aafbfaa476adf2d1fb083e64454f510468f1..df91941686dbf6dc9ed7c6629ac91a4ee6e9b044 100644 GIT binary patch delta 40578 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 ITQ-0Ef5ll!u>b%7