From 5b5a644cce6affbdbebaf99c84ef7c5c5ddb49ec Mon Sep 17 00:00:00 2001 From: andrew-ld <43882924+andrew-ld@users.noreply.github.com> Date: Wed, 9 Aug 2023 22:56:57 +0200 Subject: [PATCH] feat: support hardware keys for playback control --- .../java/com/github/libretube/LibreTubeApp.kt | 14 +- .../github/libretube/constants/Constants.kt | 2 +- .../services/OfflinePlayerService.kt | 4 +- .../libretube/services/OnlinePlayerService.kt | 4 +- .../libretube/util/NowPlayingNotification.kt | 230 ++++++++++++------ app/src/main/res/values-ar/strings.xml | 2 - app/src/main/res/values-az/strings.xml | 2 - app/src/main/res/values-be/strings.xml | 2 - app/src/main/res/values-bn/strings.xml | 2 - app/src/main/res/values-ckb/strings.xml | 2 - app/src/main/res/values-cs/strings.xml | 2 - app/src/main/res/values-de/strings.xml | 2 - app/src/main/res/values-el/strings.xml | 2 - app/src/main/res/values-es/strings.xml | 2 - app/src/main/res/values-eu/strings.xml | 2 - app/src/main/res/values-fa/strings.xml | 2 - app/src/main/res/values-fi/strings.xml | 2 - app/src/main/res/values-fr/strings.xml | 2 - app/src/main/res/values-gu/strings.xml | 2 - app/src/main/res/values-hi/strings.xml | 2 - app/src/main/res/values-hu/strings.xml | 2 - app/src/main/res/values-in/strings.xml | 2 - app/src/main/res/values-it/strings.xml | 2 - app/src/main/res/values-iw/strings.xml | 2 - app/src/main/res/values-ja/strings.xml | 2 - app/src/main/res/values-ko/strings.xml | 2 - app/src/main/res/values-lt/strings.xml | 2 - app/src/main/res/values-lv/strings.xml | 2 - app/src/main/res/values-mr/strings.xml | 2 - app/src/main/res/values-nb-rNO/strings.xml | 2 - app/src/main/res/values-or/strings.xml | 2 - app/src/main/res/values-pa/strings.xml | 2 - app/src/main/res/values-pl/strings.xml | 2 - app/src/main/res/values-pt-rBR/strings.xml | 2 - app/src/main/res/values-pt/strings.xml | 2 - app/src/main/res/values-ro/strings.xml | 2 - app/src/main/res/values-ru/strings.xml | 2 - app/src/main/res/values-si/strings.xml | 2 - app/src/main/res/values-sr/strings.xml | 2 - app/src/main/res/values-tr/strings.xml | 2 - app/src/main/res/values-uk/strings.xml | 2 - app/src/main/res/values-vi/strings.xml | 2 - app/src/main/res/values-zh-rCN/strings.xml | 2 - app/src/main/res/values-zh-rTW/strings.xml | 2 - app/src/main/res/values/strings.xml | 4 +- 45 files changed, 172 insertions(+), 164 deletions(-) diff --git a/app/src/main/java/com/github/libretube/LibreTubeApp.kt b/app/src/main/java/com/github/libretube/LibreTubeApp.kt index 8a283c259..08cb2046b 100644 --- a/app/src/main/java/com/github/libretube/LibreTubeApp.kt +++ b/app/src/main/java/com/github/libretube/LibreTubeApp.kt @@ -4,8 +4,8 @@ import android.app.Application import androidx.core.app.NotificationChannelCompat import androidx.core.app.NotificationManagerCompat import androidx.work.ExistingPeriodicWorkPolicy -import com.github.libretube.constants.BACKGROUND_CHANNEL_ID import com.github.libretube.constants.DOWNLOAD_CHANNEL_ID +import com.github.libretube.constants.PLAYER_CHANNEL_ID import com.github.libretube.constants.PUSH_CHANNEL_ID import com.github.libretube.helpers.ImageHelper import com.github.libretube.helpers.NotificationHelper @@ -71,12 +71,12 @@ class LibreTubeApp : Application() { .setName(getString(R.string.download_channel_name)) .setDescription(getString(R.string.download_channel_description)) .build() - val backgroundChannel = NotificationChannelCompat.Builder( - BACKGROUND_CHANNEL_ID, + val playerChannel = NotificationChannelCompat.Builder( + PLAYER_CHANNEL_ID, NotificationManagerCompat.IMPORTANCE_LOW ) - .setName(getString(R.string.background_channel_name)) - .setDescription(getString(R.string.background_channel_description)) + .setName(getString(R.string.player_channel_name)) + .setDescription(getString(R.string.player_channel_description)) .build() val pushChannel = NotificationChannelCompat.Builder( PUSH_CHANNEL_ID, @@ -90,8 +90,8 @@ class LibreTubeApp : Application() { notificationManager.createNotificationChannelsCompat( listOf( downloadChannel, - backgroundChannel, - pushChannel + pushChannel, + playerChannel ) ) } diff --git a/app/src/main/java/com/github/libretube/constants/Constants.kt b/app/src/main/java/com/github/libretube/constants/Constants.kt index f64dbc012..a4e5037a5 100644 --- a/app/src/main/java/com/github/libretube/constants/Constants.kt +++ b/app/src/main/java/com/github/libretube/constants/Constants.kt @@ -45,7 +45,7 @@ const val DOWNLOAD_PROGRESS_NOTIFICATION_ID = 2 * Notification Channel IDs */ const val DOWNLOAD_CHANNEL_ID = "download_service" -const val BACKGROUND_CHANNEL_ID = "background_mode" +const val PLAYER_CHANNEL_ID = "player_mode" const val PUSH_CHANNEL_ID = "notification_worker" /** diff --git a/app/src/main/java/com/github/libretube/services/OfflinePlayerService.kt b/app/src/main/java/com/github/libretube/services/OfflinePlayerService.kt index df5176401..f8d797f3f 100644 --- a/app/src/main/java/com/github/libretube/services/OfflinePlayerService.kt +++ b/app/src/main/java/com/github/libretube/services/OfflinePlayerService.kt @@ -9,8 +9,8 @@ import androidx.lifecycle.lifecycleScope import androidx.media3.common.MediaItem import androidx.media3.exoplayer.ExoPlayer import com.github.libretube.R -import com.github.libretube.constants.BACKGROUND_CHANNEL_ID import com.github.libretube.constants.IntentData +import com.github.libretube.constants.PLAYER_CHANNEL_ID import com.github.libretube.constants.PLAYER_NOTIFICATION_ID import com.github.libretube.db.DatabaseHolder import com.github.libretube.db.obj.DownloadWithItems @@ -35,7 +35,7 @@ class OfflinePlayerService : LifecycleService() { override fun onCreate() { super.onCreate() - val notification = NotificationCompat.Builder(this, BACKGROUND_CHANNEL_ID) + val notification = NotificationCompat.Builder(this, PLAYER_CHANNEL_ID) .setContentTitle(getString(R.string.app_name)) .setContentText(getString(R.string.playingOnBackground)) .setSmallIcon(R.drawable.ic_launcher_lockscreen) diff --git a/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt b/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt index 507913860..5ca2d456a 100644 --- a/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt +++ b/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt @@ -23,8 +23,8 @@ import com.github.libretube.api.JsonHelper import com.github.libretube.api.RetrofitInstance import com.github.libretube.api.obj.Segment import com.github.libretube.api.obj.Streams -import com.github.libretube.constants.BACKGROUND_CHANNEL_ID import com.github.libretube.constants.IntentData +import com.github.libretube.constants.PLAYER_CHANNEL_ID import com.github.libretube.constants.PLAYER_NOTIFICATION_ID import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.WatchPosition @@ -106,7 +106,7 @@ class OnlinePlayerService : LifecycleService() { override fun onCreate() { super.onCreate() - val notification = NotificationCompat.Builder(this, BACKGROUND_CHANNEL_ID) + val notification = NotificationCompat.Builder(this, PLAYER_CHANNEL_ID) .setContentTitle(getString(R.string.app_name)) .setContentText(getString(R.string.playingOnBackground)) .setSmallIcon(R.drawable.ic_launcher_lockscreen) diff --git a/app/src/main/java/com/github/libretube/util/NowPlayingNotification.kt b/app/src/main/java/com/github/libretube/util/NowPlayingNotification.kt index 4ea980d63..0c86e7eef 100644 --- a/app/src/main/java/com/github/libretube/util/NowPlayingNotification.kt +++ b/app/src/main/java/com/github/libretube/util/NowPlayingNotification.kt @@ -10,33 +10,33 @@ import android.content.IntentFilter import android.graphics.Bitmap import android.os.Build import android.os.Bundle +import android.support.v4.media.MediaMetadataCompat import android.support.v4.media.session.MediaSessionCompat +import android.support.v4.media.session.PlaybackStateCompat import android.util.Log import androidx.annotation.DrawableRes import androidx.core.app.NotificationCompat import androidx.core.app.PendingIntentCompat import androidx.core.content.getSystemService import androidx.core.graphics.drawable.toBitmap -import androidx.core.os.bundleOf +import androidx.media.app.NotificationCompat.MediaStyle +import androidx.media3.common.C +import androidx.media3.common.MediaMetadata import androidx.media3.common.Player import androidx.media3.exoplayer.ExoPlayer -import androidx.media3.session.CommandButton -import androidx.media3.session.MediaSession -import androidx.media3.session.MediaStyleNotificationHelper -import androidx.media3.session.SessionCommand -import androidx.media3.session.SessionResult +import androidx.media3.session.MediaConstants import coil.request.ImageRequest import com.github.libretube.R -import com.github.libretube.constants.BACKGROUND_CHANNEL_ID import com.github.libretube.constants.IntentData +import com.github.libretube.constants.PLAYER_CHANNEL_ID import com.github.libretube.constants.PLAYER_NOTIFICATION_ID +import com.github.libretube.extensions.TAG import com.github.libretube.extensions.seekBy import com.github.libretube.helpers.BackgroundHelper import com.github.libretube.helpers.ImageHelper import com.github.libretube.helpers.PlayerHelper import com.github.libretube.obj.PlayerNotificationData import com.github.libretube.ui.activities.MainActivity -import com.google.common.util.concurrent.ListenableFuture @androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class) class NowPlayingNotification( @@ -55,7 +55,7 @@ class NowPlayingNotification( /** * The [MediaSessionCompat] for the [notificationData]. */ - private lateinit var mediaSession: MediaSession + private lateinit var mediaSession: MediaSessionCompat /** * The [NotificationCompat.Builder] to load the [mediaSession] content on it. @@ -152,12 +152,8 @@ class NowPlayingNotification( private fun createMediaSessionAction( @DrawableRes drawableRes: Int, actionName: String - ): CommandButton { - return CommandButton.Builder() - .setDisplayName(actionName) - .setSessionCommand(SessionCommand(actionName, bundleOf())) - .setIconResId(drawableRes) - .build() + ): PlaybackStateCompat.CustomAction { + return PlaybackStateCompat.CustomAction.Builder(actionName, actionName, drawableRes).build() } /** @@ -166,72 +162,161 @@ class NowPlayingNotification( private fun createMediaSession() { if (this::mediaSession.isInitialized) return - val sessionCallback = object : MediaSession.Callback { - override fun onConnect( - session: MediaSession, - controller: MediaSession.ControllerInfo - ): MediaSession.ConnectionResult { - val connectionResult = super.onConnect(session, controller) - val availableSessionCommands = connectionResult.availableSessionCommands.buildUpon() - val availablePlayerCommands = - connectionResult.availablePlayerCommands // Player.Commands.Builder().add(Player.COMMAND_PLAY_PAUSE).build() - getCustomActions().forEach { button -> - button.sessionCommand?.let { availableSessionCommands.add(it) } - } - session.setAvailableCommands( - controller, - availableSessionCommands.build(), - availablePlayerCommands - ) - return MediaSession.ConnectionResult.accept( - availableSessionCommands.build(), - availablePlayerCommands - ) + val sessionCallback = object : MediaSessionCompat.Callback() { + override fun onSkipToNext() { + handlePlayerAction(NEXT) + super.onSkipToNext() } - override fun onCustomCommand( - session: MediaSession, - controller: MediaSession.ControllerInfo, - customCommand: SessionCommand, - args: Bundle - ): ListenableFuture { - handlePlayerAction(customCommand.customAction) - return super.onCustomCommand(session, controller, customCommand, args) + override fun onSkipToPrevious() { + handlePlayerAction(PREV) + super.onSkipToPrevious() } - override fun onPlayerCommandRequest( - session: MediaSession, - controller: MediaSession.ControllerInfo, - playerCommand: Int - ): Int { - if (playerCommand == Player.COMMAND_SEEK_TO_PREVIOUS) { - handlePlayerAction(PREV) - return SessionResult.RESULT_SUCCESS - } - return super.onPlayerCommandRequest(session, controller, playerCommand) + override fun onRewind() { + handlePlayerAction(REWIND) + super.onRewind() } - override fun onPostConnect( - session: MediaSession, - controller: MediaSession.ControllerInfo - ) { - session.setCustomLayout(getCustomActions()) + override fun onFastForward() { + handlePlayerAction(FORWARD) + super.onFastForward() + } + + override fun onPlay() { + handlePlayerAction(PLAY_PAUSE) + super.onPlay() + } + + override fun onPause() { + handlePlayerAction(PLAY_PAUSE) + super.onPause() + } + + override fun onStop() { + handlePlayerAction(STOP) + super.onStop() + } + + override fun onSeekTo(pos: Long) { + player.seekTo(pos) + super.onSeekTo(pos) + } + + override fun onCustomAction(action: String, extras: Bundle?) { + handlePlayerAction(action) + super.onCustomAction(action, extras) } } - mediaSession = MediaSession.Builder(context, player) - .setCallback(sessionCallback) - .build() - mediaSession.setCustomLayout(getCustomActions()) + val playbackState = if (player.isPlaying) { + createPlaybackState(PlaybackStateCompat.STATE_PLAYING) + } else { + createPlaybackState(PlaybackStateCompat.STATE_PAUSED) + } + + mediaSession = MediaSessionCompat(context, TAG()) + mediaSession.setCallback(sessionCallback) + mediaSession.setPlaybackState(playbackState) + mediaSession.setMetadata(getMetadataFromPlayer(player.mediaMetadata)) + + val playerStateListener = object : Player.Listener { + override fun onIsPlayingChanged(isPlaying: Boolean) { + super.onIsPlayingChanged(isPlaying) + + val newPlaybackState = if (isPlaying) { + createPlaybackState(PlaybackStateCompat.STATE_PLAYING) + } else { + createPlaybackState(PlaybackStateCompat.STATE_PAUSED) + } + + mediaSession.setPlaybackState(newPlaybackState) + mediaSession.setMetadata(getMetadataFromPlayer(player.mediaMetadata)) + } + + override fun onIsLoadingChanged(isLoading: Boolean) { + super.onIsLoadingChanged(isLoading) + + if (!isLoading) { + mediaSession.setMetadata(getMetadataFromPlayer(player.mediaMetadata)) + } + } + + override fun onMediaMetadataChanged(mediaMetadata: MediaMetadata) { + super.onMediaMetadataChanged(mediaMetadata) + mediaSession.setMetadata(getMetadataFromPlayer(mediaMetadata)) + } + } + + player.addListener(playerStateListener) } - private fun getCustomActions() = mutableListOf( - // disabled and overwritten in onPlayerCommandRequest - // createMediaSessionAction(R.drawable.ic_prev_outlined, PREV), - createMediaSessionAction(R.drawable.ic_next_outlined, NEXT), - createMediaSessionAction(R.drawable.ic_rewind_md, REWIND), - createMediaSessionAction(R.drawable.ic_forward_md, FORWARD) - ) + private fun getMetadataFromPlayer(metadata: MediaMetadata): MediaMetadataCompat { + val builder = MediaMetadataCompat.Builder() + + metadata.title?.let { + builder.putText(MediaMetadataCompat.METADATA_KEY_TITLE, it) + builder.putText(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, it) + } + + metadata.subtitle?.let { + builder.putText(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, it) + } + + metadata.description?.let { + builder.putText(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, it) + } + + metadata.artist?.let { + builder.putText(MediaMetadataCompat.METADATA_KEY_ARTIST, it) + } + + metadata.albumTitle?.let { + builder.putText(MediaMetadataCompat.METADATA_KEY_ALBUM, it) + } + + metadata.albumArtist?.let { + builder.putText(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, it) + } + + metadata.recordingYear?.toLong()?.let { + builder.putLong(MediaMetadataCompat.METADATA_KEY_YEAR, it) + } + + metadata.artworkUri?.toString()?.let { + builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, it) + builder.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, it) + } + + val playerDuration = player.duration + + if (playerDuration != C.TIME_UNSET) { + builder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, playerDuration) + } + + metadata.mediaType?.toLong()?.let { + builder.putLong(MediaConstants.EXTRAS_KEY_MEDIA_TYPE_COMPAT, it) + } + + return builder.build() + } + + private fun createPlaybackState(@PlaybackStateCompat.State state: Int): PlaybackStateCompat { + val stateActions = PlaybackStateCompat.ACTION_SKIP_TO_NEXT or + PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS or + PlaybackStateCompat.ACTION_REWIND or + PlaybackStateCompat.ACTION_FAST_FORWARD or + PlaybackStateCompat.ACTION_PLAY_PAUSE or + PlaybackStateCompat.ACTION_PAUSE or + PlaybackStateCompat.ACTION_SEEK_TO + + return PlaybackStateCompat.Builder() + .setActions(stateActions) + .addCustomAction(createMediaSessionAction(R.drawable.ic_rewind_md, REWIND)) + .addCustomAction(createMediaSessionAction(R.drawable.ic_forward_md, FORWARD)) + .setState(state, player.currentPosition, player.playbackParameters.speed) + .build() + } private fun handlePlayerAction(action: String) { when (action) { @@ -306,12 +391,13 @@ class NowPlayingNotification( * Initializes the [notificationBuilder] attached to the [player] and shows it. */ private fun createNotificationBuilder() { - notificationBuilder = NotificationCompat.Builder(context, BACKGROUND_CHANNEL_ID) + notificationBuilder = NotificationCompat.Builder(context, PLAYER_CHANNEL_ID) .setSmallIcon(R.drawable.ic_launcher_lockscreen) .setContentIntent(createCurrentContentIntent()) .setDeleteIntent(createDeleteIntent()) .setStyle( - MediaStyleNotificationHelper.MediaStyle(mediaSession) + MediaStyle() + .setMediaSession(mediaSession.sessionToken) .setShowActionsInCompactView(1) ) } diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index eb961b643..469871101 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -274,8 +274,6 @@ الاشتراكات المحلية التفضيلات مثيلات مخصصة - وضع الخلفية - يعرض إشعارا يحتوي على أزرار للتحكم في مشغل الصوت. عامل الإخطار يظهر إشعارًا عند توفر تدفقات جديدة. تحميل التغذية في الخلفية diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 96da24e46..93aaa1802 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -276,10 +276,8 @@ Abunəlik axınını fonda yükləməsin və avtomatik yeniləməsin dayandır. Yükləmə Xidməti Media yükləyərkən bildiriş göstərir. - Fon Rejimi Bildiriş İşçisi Yeni yayımlar mövcuddursa bildiriş göstərir. - Səs oynadıcını idarə etmək üçün düymələrlə bildiriş göstərir. Sonra oynat Naviqasiya çubuğu Görünür, trendlər hazırkı ölkə üçün əlçatan deyil. Xahiş edirik, tənzimləmələrdə başqasın seç. diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 10ba0e2c7..9e959b023 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -350,8 +350,6 @@ Статыстыка для батанікаў Наступнае прайграванне праз %1$s Паказвае апавяшчэнне пры спампоўцы мультымедыя. - Фонавы рэжым - Паказвае апавяшчэнне з кнопкамі для кіравання аўдыяплэерам. Работнік апавяшчэнняў Паказвае апавяшчэнне, калі з\'яўляюцца новыя стрымы. %1$s падпісчыкаў • %2$d відэа diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 09d202f66..86a2cf2fe 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -281,10 +281,8 @@ কাস্টম ইন্সটেন্সগুলো পিচ ডাউনলোড সার্ভিস - অডিও প্লেয়ার নিয়ন্ত্রণের জন্য নোটিফিকেশনে বাটন দেখান। বর্তমান এলাকায় ট্রেডিং অ্যাভেলেবল নেই। সেটিংসে গিয়ে অন্যটি বাছুন। ডাউনলোডের সময় নোটিফিকেশন দেখান। - ব্যাকগ্রাউন্ড মোড ফাইলের নাম ইনভ্যালিড ফাইলনেম! প্লে-লিস্টের অর্ডার diff --git a/app/src/main/res/values-ckb/strings.xml b/app/src/main/res/values-ckb/strings.xml index f305aa06a..4f09faf22 100644 --- a/app/src/main/res/values-ckb/strings.xml +++ b/app/src/main/res/values-ckb/strings.xml @@ -372,7 +372,6 @@ تێکەڵاوکردن ڕاگرتن لەکاتی دەرچوون کردن/لابردنی ئاماژەکانی دۆخی پڕ بەشاشە - دۆخی لێدان لە پشت شاشە چوون بۆ ڤیدیۆ ناچالاککردنی پرۆکسی Pipe هێنانی ڤیدیۆ و وێنەکان ڕاستەوخۆ لە سێرڤەرەکانی یوتوبەوە، تەنها کاتێ ئەمە کارابکە کە VPN بەکاربهێنیت! @@ -398,7 +397,6 @@ لابردنی نیشانەکراو داوخستن پێشخستن - پیشاندانی ئاگادارکردنەوە لەگەڵ دوگمەکانی کۆنترۆڵکردنی لێدەری دەنگ. %d مانگ لەمەوپێش %d مانگ لەمەوپێش diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 3330e2e73..33d619a4d 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -267,8 +267,6 @@ Wi-Fi Mobilní data Přeskočit ručně - Režim na pozadí - Zobrazí oznámení s tlačítky pro ovládání přehrávače zvuku. Pracovník oznámení Služba stahování Přeskočit segment diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 5b0e32a8c..5edf0cee1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -247,7 +247,6 @@ Manuell überspringen Navigationsleiste Download-Service - Zeigt eine Benachrichtigung mit Schaltflächen zur Steuerung des Audioplayers an. Benachrichtigungsdienst Überspringen-Buttons Maximale Verlaufsgröße @@ -279,7 +278,6 @@ Benutzerdefinierte Instanzen Feed im Hintergrund laden Als nächstes abspielen - Hintergrundmodus Minuten bis zur Benachrichtigung Skalierungsmodus Maximale Bild-Cache-Größe diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 2598940a8..26f89c130 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -311,7 +311,6 @@ Βοήθεια FAQ Εμφανίζει μια ειδοποίηση κατά τη λήψη πολυμέσων. - Λειτουργία φόντου Εμφανίζει μια ειδοποίηση όταν είναι διαθέσιμες νέες ροές. Αυτό το βίντεο δεν έχει σχόλια. Τα σχόλια είναι απενεργοποιημένα από τον χρήστη. @@ -344,7 +343,6 @@ Αναπαραγωγή των πιο πρόσφατων βίντεο Συνέχιση Προσθήκη στους σελιδοδείκτες - Εμφανίζει μια ειδοποίηση με κουμπιά για τον έλεγχο του προγράμματος αναπαραγωγής ήχου. Διαγραφή από λήψεις Σειρά λιστών αναπαραγωγής Συνέχιση με μια διεύθυνση e-mail που δεν συνιστάται; diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index d0d0e7b5a..674b124bc 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -270,11 +270,9 @@ Servicio de descarga Omitir Mostrar una notificación al descargar medios. - Modo de fondo Notificador de novedades No omitir segmentos automáticamente, siempre preguntar antes. Mostrar una notificación cuando hay nuevas transmisiones disponibles. - Mostrar una notificación con botones para controlar el reproductor de audio. Suscripciones locales Preferencias Instancias personalizadas diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index e44b5b3fc..e430aacae 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -268,8 +268,6 @@ Ez saltatu segmentuak automatikoki, galdetu beti aurretik. Deskarga zerbitzua Multimedia deskargatzean jakinarazpen bat erakusten du. - Atzeko planoko modua - Audio-erreproduzitzailea maneiatzeko botoiekin jakinarazpen bat erakusten du. Jakinarazpenen egilea Tokiko harpidetzak Hobespenak diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index de73d9c80..3ad19018b 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -171,7 +171,6 @@ راهنما پرسش‌های پرتکرار خدمت بارگیری - حالت پس‌زمینه جدیدترین قدیمی‌ترین حالت تغییر اندازه @@ -341,7 +340,6 @@ دقیقه‌های پیش از یادآوری نشانگر ویدئوهای جدید فید اشتراک را در پس‌زمینه بارگیری و از بازخوانی خودکار آن جلوگیری کنید. - یک اعلان با دکمه هایی برای کنترل پخش کننده صدا نشان می دهد. شمارش معکوس پخش خودکار پخش بعدی در %1$s کتابخانه HLS diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 180371dee..d61e01f0b 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -203,7 +203,6 @@ Mobiilidata Poista Piped välityspalvelin käytöstä Lataa videot ja kuvat suoraan YouTuben palvelimilta. Ota vaihtoehto käyttöön vain, jos käytät VPN:ää! Huomaa, että tämä ei välttämättä toimi YT-musiikin sisällön kanssa. - Taustatila Navigointipalkki Uusin Laitetieto @@ -218,7 +217,6 @@ Lisätty soittolistaan Tauko lopettamisen yhteydessä Näytä 5 sekunnin lähtölaskenta ennen seuraavan videon automaattista toistoa. - Näyttää ilmoituksen, jossa on painikkeita audiosoittimen ohjaamiseksi. Vietiin. Nipistysohjaus Käytä nipistyselettä lähentääksesi/loitontaaksesi. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 080d8cc7a..2d0982cf9 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -272,7 +272,6 @@ Instances personnalisées Abonnements locaux Préférences - Affiche une notification avec des boutons pour contrôler le lecteur audio. Agent de notification Charger le flux en arrière-plan Charger le flux d\'abonnement en arrière-plan et empêcher son rafraîchissement automatique. @@ -281,7 +280,6 @@ Service de Téléchargement Affiche une notification lors du téléchargement de médias. La section Populaires semble être indisponible pour la région actuelle. Veuillez en sélectionner une autre dans les paramètres. - Mode arrière-plan Affiche une notification lorsque de nouveaux événements sont disponibles. Hauteur Nom de fichier diff --git a/app/src/main/res/values-gu/strings.xml b/app/src/main/res/values-gu/strings.xml index 1110ae22d..8420ea47a 100644 --- a/app/src/main/res/values-gu/strings.xml +++ b/app/src/main/res/values-gu/strings.xml @@ -66,7 +66,6 @@ સૂચના સમય સમયગાળો જેમાં સૂચનાઓ બતાવવાની મંજૂરી છે. જ્યારે મીડિયાને ડાઉનલોડ કરી રહ્યા હોય ત્યારે સૂચના બતાવે છે. - પાશ્વભાગ સ્થિતિ જ્યારે નવી સ્ટ્રીમો ઉપલબ્ધ હોય ત્યારે સૂચનને બતાવે છે. ગુમ થયેલ વારસો ગ્લિબ ઢાળ @@ -233,7 +232,6 @@ એપ્લિકેશન બેકઅપ નિકાસ કરેલ છે. ઇ-મેઇલ સરનામાં સાથે આગળ વધવું કે જેની ભલામણ કરવામાં આવતી નથી\? - ઓડિયો પ્લેયરને નિયંત્રિત કરવા માટે બટનો સાથે સૂચન બતાવે છે. તાજેતરની વિડિયોને વગાડો સુયોજનો નમૂનો diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 81d2e1228..f2db5d065 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -222,7 +222,6 @@ बुकमार्क बुकमार्कस बुकमार्कस मिटाएं - बैकग्राउंड मोड स्थानीय प्लेलिस्ट ध्वनि ऑटो @@ -230,7 +229,6 @@ चमक स्वाइप नियंत्रण चमक और ध्वनि को समायोजित करने के लिए स्वाइप जेस्चर का उपयोग करें। - ऑडियो प्लेयर को नियंत्रित करने के लिए बटनों के साथ सूचना दिखाता है। डाउनलोड सेवा मीडिया डाउनलोड करते समय एक सूचना दिखाता है। संबंधित वीडियो डालें diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 50b62ea29..c4b559ffe 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -271,13 +271,11 @@ Egyéni példányok Lejátszás következőként Letöltő szolgáltatás - Háttér mód Értesítési munkatárs Értesítés megjelenítése, amikor új közvetítések érhetők el. Navigációs sáv Értesítés megjelenítése média letöltésekor. Töltse be az feliratkozott videófolyamot a háttérben, és akadályozza meg az automatikus frissítést. - Megjelenít egy értesítést a lejátszó vezérlésére szolgáló gombokkal. Szakasz kihagyása Manuális kihagyás Ne hagyja ki a szakaszokat automatikusan, mindig kérdezzen előtte. diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index d1283bd7f..99499a649 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -275,8 +275,6 @@ Menampilkan sebuah notifikasi ketika mengunduh media. Preferensi Pekerja Notifikasi - Mode Latar Belakang - Menampilkan sebuah notifikasi dengan tombol untuk mengatur pemain audio. Menampilkan sebuah notifikasi ketika saluran baru telah tersedia. Muat umpan di latar belakang Muat umpan langganan di latar belakang dan cegah dari memuat secara otomatis. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1bde9778a..c22246008 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -268,13 +268,11 @@ Salta il segmento Salta manualmente Non saltare i segmenti automaticamente, chiedi sempre prima. - Mostra una notifica con i pulsanti per controllare il lettore audio. Mostra una notifica quando si scaricano i media. Iscrizioni locali Preferenze Istanze personalizzate Riproduci il successivo - Modalità in sottofondo Servizio di Download Operatore di notifica Mostra una notifica quando sono disponibili nuovi video. diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 47182ac31..93866a8d4 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -274,9 +274,7 @@ מופעים מותאמים אישית שירות ההורדות מציג התראה בזמן הורדת מדיה. - מצב רקע לטעון את ערוץ ההזנות ברקע - מציג התראה עם כפתורים כדי לשלוט בנגן השמע. מתפעל התראות לטעון את ערוץ ההזנה של המינוי ברקע ולמנוע את רענונו מחדש אוטומטית. מציג התראה כשתזרימים חדשים זמינים. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 4c3d02f5d..96ec33858 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -284,11 +284,9 @@ 無効なファイル名です! プレイリスト名 (逆順) プレイリストの表示順 - 音声プレイヤーを操作するボタン付きの通知を表示します。 ライブ配信 別の動画レイアウト ダウンロードサービス - バックグラウンドモード 通知の実行 新着動画があれば通知を表示します。 標準 (ライト) diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 64a99f66f..875dab887 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -260,8 +260,6 @@ 내보내기 완료. 앱 백업 왼쪽이나 오른쪽을 두 번 눌러 플레이어 위치를 되감거나 앞으로 이동합니다. - 백그라운드 모드 - 오디오 플레이어 제어 버튼이 있는 알림을 표시한다. 와이파이 모두 재생 자동 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index d725007d0..f74a6ad02 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -154,8 +154,6 @@ Atsisiuntimo paslauga Rodomas pranešimas, kai atsisiunčiama medija. Atsijungta. - Fono režimas - Rodomas pranešimas su garso grotuvo valdymo mygtukais. Rodo pranešimą, kai pasiekiamos naujos transliacijos. Vaizdo įrašai Prenumeruoti diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index 1bc9acc6e..3f7de8591 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -328,7 +328,6 @@ Alternatīvs video izklājums Izmantot HLS, nevis DASH (lēnak, nav ieteicams) Audio atskaņotājs - Parāda paziņojumu ar pogām, lai kontrolētu audio atskaņotāju. Paziņojumu strādnieks Laiks Sākuma laiks @@ -366,7 +365,6 @@ Eksportēt atskaņošanas sarakstus Pauzēt aizverot applikāciju Kategorija - Fona režīms Grāmatzīmes Grāmatzīme Kodeksi diff --git a/app/src/main/res/values-mr/strings.xml b/app/src/main/res/values-mr/strings.xml index f2193c7a1..c19fb0f11 100644 --- a/app/src/main/res/values-mr/strings.xml +++ b/app/src/main/res/values-mr/strings.xml @@ -257,7 +257,6 @@ पाइप्ड प्रॉक्सी अक्षम करा YouTube च्या सर्व्हरवरून थेट व्हिडिओ आणि प्रतिमा लोड करा. तुम्ही VPN वापरत असाल तरच पर्याय सक्षम करा! लक्षात ठेवा की हे YT संगीतातील सामग्रीसह कार्य करू शकत नाही. नवीन प्रवाह उपलब्ध असताना सूचना दाखवते. - सूचनेत ऑडिओ प्लेअर नियंत्रित करण्यासाठी बटणे दाखवते. प्लेलिस्टमध्ये जोडले ॲप बॅकअप शिफारस नसलेल्या ई-मेल पत्त्यासह पुढे जायचे\? @@ -271,7 +270,6 @@ उपलब्ध असल्यास प्रवाहासाठी LBRY HLS वापरा. सामान्य प्लेअरपेक्षा वेगळा प्लेबॅक वेग वापरा. शॉर्ट्स व्हिडिओवर ऑटो फुलस्क्रीन - पार्श्वभूमी मोड पिंच कंट्रोल गोपनीयता सूचना गीक्ससाठी आकडेवारी diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 20578cf1f..d217bc093 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -268,7 +268,6 @@ Hopp over Hopp over manuelt Ikke hopp over automatisk, alltid spør. - Bakgrunnsmodus Lokale abonnementer Innstillinger Egendefinerte instanser @@ -278,7 +277,6 @@ Nedlastingstjeneste Vis en merknad ved nedlasting av media. Merknadsarbeider - Viser en merknad uten knapper for å kontrollere lydspilleren. Viser en merknad når nye strømmer er tilgjengelige. Wi-Fi Navigasjonsfelt diff --git a/app/src/main/res/values-or/strings.xml b/app/src/main/res/values-or/strings.xml index 4f7d94d5a..c78e33c14 100644 --- a/app/src/main/res/values-or/strings.xml +++ b/app/src/main/res/values-or/strings.xml @@ -290,8 +290,6 @@ ଡିଫଲ୍ଟ ଉଜ୍ଜଳ ଡାଉନଲୋଡ୍ ସେବା ମିଡିଆ ଡାଉନଲୋଡ୍ କରିବା ସମୟରେ ଏକ ବିଜ୍ଞପ୍ତି ଦେଖାଏ । - ପୃଷ୍ଠଭୂମି ଧାରା - ଅଡିଓ ପ୍ଲେୟାରକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ବଟନ୍ ସହିତ ଏକ ବିଜ୍ଞପ୍ତି ଦେଖାଏ । ବିଜ୍ଞପ୍ତି କର୍ମୀ ନୂତନ ଷ୍ଟ୍ରିମ୍ ଉପଲବ୍ଧ ହେଲେ ଏକ ବିଜ୍ଞପ୍ତି ଦେଖାଏ । ପ୍ଲେଲିଷ୍ଟ କ୍ଲୋନ ହୋଇଛି diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml index e1933e31c..71a3b60aa 100644 --- a/app/src/main/res/values-pa/strings.xml +++ b/app/src/main/res/values-pa/strings.xml @@ -115,7 +115,6 @@ ਸੰਸਕਰਣ %1$s ਉਪਲਬਧ ਹੈ ਦਿੱਖ ਉਪਲੱਬਧ ਉਦਾਹਰਨਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਿਆ। - ਆਡੀਓ ਪਲੇਅਰ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਬਟਨਾਂ ਨਾਲ ਇੱਕ ਸੂਚਨਾ ਦਿਖਾਉਂਦਾ ਹੈ। ਫੀਡ ਤੋਂ ਦੇਖੇ ਗਏ ਵੀਡੀਓ ਨੂੰ ਲੁਕਾਓ ਮੂਰਖ ਆਕਾਰ ਉੱਡਦੀ ਲਾਟ @@ -329,7 +328,6 @@ ਬੁੱਕਮਾਰਕਸ ਸਾਫ਼ ਕਰੋ ਆਟੋ DASH ਦੀ ਬਜਾਏ HLS ਦੀ ਵਰਤੋਂ ਕਰੋ (ਹੌਲੀ ਹੋਵੇਗੀ, ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਗਈ) - ਬੈਕਗਰਾਊਂਡ ਮੋਡ ਨੋਟੀਫਿਕੇਸ਼ਨ ਸਮਾਂ ਸੀਮਿਤ ਕਰੋ ਲੇਆਊਟ ਸਮਾਂ ਸੀਮਤ ਕਰੋ ਜਿਸ ਵਿੱਚ ਸਟ੍ਰੀਮ ਸੂਚਨਾਵਾਂ ਦਿਖਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ। diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 75ab48f26..77329f485 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -273,8 +273,6 @@ Ustawienia Instancje niestandardowe Usługa pobierania - Tryb w tle - Pokazuje powiadomienie z przyciskami do sterowania odtwarzaczem audio. Pokazuje powiadomienie, gdy dostępne są nowe filmy. Powiadomienie Push Pokazuje powiadomienie podczas pobierania mediów. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index a862ea1f4..419390943 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -262,7 +262,6 @@ Exibe uma notificação quando novos vídeos estão disponíveis. Serviço de notificações Reproduzir a seguir - Modo de segundo plano Barra de navegação Exibe uma notificação ao baixar mídia. Exportar inscrições @@ -283,7 +282,6 @@ Nome do arquivo Nome de arquivo inválido! Ordem das playlists - Exibe uma notificação com botões para controlar o reprodutor de áudio. Ilimitado Copiado para a área de transferência Wi-Fi diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 91fe6e7a1..5e4265dc4 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -259,8 +259,6 @@ Indicador para novos vídeos Mostrar indicador com o número de novos vídeos, se existentes. Mostrar notificação ao descarregar dados. - Modo de segundo plano - Mostrar notificação com botões para controlar a reprodução. Serviço de notificações Mostrar notificação se existirem novos fluxos multimédia. Ignorar segmento diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index dfe9ef7e0..5ab8ff191 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -291,7 +291,6 @@ Tendințele par să fie indisponibile pentru regiunea actuală. Vă rugăm să selectați o altă regiune în setări. Playlist clonat LBRY HLS - Modul de fundal Redați toate Limitați intervalul de timp în care sunt afișate notificările de flux. Inserați videoclipuri similare @@ -310,7 +309,6 @@ Ștergeți marcajele Volum Folosiți gestul de glisare pentru a regla luminozitatea și volumul. - Afișați o notificare cu butoane pentru a controla player-ul audio. Înapoi Controale suprapunere alternative Nu s-au putut prelua instanțele disponibile. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 29b60fe40..bcf9674f3 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -263,10 +263,8 @@ Показывать значок, если появились новые видео. Служба загрузки Ручной пропуск - Показывать уведомление с кнопками для управления аудиоплеером. Пропустить отрывок Показывать уведомление при загрузке медиа. - Фоновый режим Агент уведомлениий Минут до напоминания Старый вид отображения подписок diff --git a/app/src/main/res/values-si/strings.xml b/app/src/main/res/values-si/strings.xml index 95d8dcfd2..3fb3ff93b 100644 --- a/app/src/main/res/values-si/strings.xml +++ b/app/src/main/res/values-si/strings.xml @@ -265,7 +265,6 @@ විකල්ප PiP පාලන ශ්‍රව්‍ය පමණක් ප්‍රකාරය මාධ්‍ය බාගත කිරීමේදී දැනුම්දීමක් පෙන්වයි. - පසුබිම් ප්‍රකාරය නව ප්‍රවාහ පවතින විට දැනුම්දීමක් පෙන්වයි. ඹබ සියල්ල බලා ඇත මුල් @@ -365,7 +364,6 @@ වාදන ලැයිස්තුවේ නම (ප්‍රතිලෝම) වාදන ලැයිස්තුව සාදන ලදී. වාදන ලැයිස්තුවට එක් කරන්න - ශ්‍රව්‍ය ධාවකය පාලනය කිරීමට බොත්තම් සහිත දැනුම්දීමක් පෙන්වයි. පොත් සලකුණ ඉවත් කරන්න බාගත කිරීමේ සේවාව දැනුම්දීම් සේවකයා diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 13999d05d..85a29be3a 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -261,7 +261,6 @@ Учитај фид у позадини Учитај фид претплате у позадини и спречи његово аутоматско освежавање. Трака за навигацију - Приказује обавештење са дугмадима за контролу аудио плејера. Приказује обавештење када су нови стримови доступни. Нотификацијски радник О уређају @@ -284,7 +283,6 @@ Назив листе (обрнуто) Преузми услугу Приказује обавештење приликом преузимања медија. - Позадински режим Преименујте плејлисту Застарели приказ претплата Квалитет и формат diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 1809b55f6..dafac6d3c 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -272,8 +272,6 @@ Yerel abonelikler Tercihler Özel Oluşumlar - Arka Plan Modu - Müzik çaları kontrol etmek için düğmeleri olan bir bildirim gösterir. Akışı arka planda yükle Abonelik akışının arka planda yüklenmesini ve otomatik olarak yenilenmesini önleyin. İndirme Hizmeti diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index a3c67b2c4..ebf598a63 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -228,8 +228,6 @@ Відтворити наступне Служба завантаження Показує сповіщення під час завантаження медіа. - Фоновий режим - Показує сповіщення з кнопками для керування аудіопрогравачем. Панель навігації Обробник сповіщень Помилка diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index f45eb99a5..86ec4b2eb 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -232,8 +232,6 @@ Bỏ qua thủ công Đừng tự động bỏ qua các phân đoạn, hãy luôn nhắc trước đó. Hiển thị thông báo khi tải xuống phương tiện. - Chế độ background - Hiển thị thông báo với các nút để điều khiển trình phát âm thanh. Hiển thị thông báo khi có luồng phát mới. Nguồn cấp thông báo Đăng ký cục bộ diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 13d9f1734..1a8615408 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -272,8 +272,6 @@ 跳过片段前始终先提示。 下载服务 下载媒体文件时显示通知。 - 后台模式 - 显示控制音频播放器按钮的通知。 通知 Worker 本地订阅 自定义实例 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index a4066233d..5f0b20136 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -185,7 +185,6 @@ 自動 滑動控制 使用滑動手勢調整亮度和音量。 - 在通知欄顯示附有按鈕的音訊播放器。 尚無歷史紀錄。 通知 顯示新串流通知 @@ -336,7 +335,6 @@ 一般 音訊播放器 播放清單網址 - 背景模式 在下載媒體檔案時顯示通知。 通知工作器 時間戳 (秒) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 53de2cd0a..5a48bef62 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -466,12 +466,12 @@ Download Service Shows a notification when downloading media. - Background Mode - Shows a notification with buttons to control the audio player. Notification Worker Shows a notification when new streams are available. Unlimited search history Video Highlight + Player Service + Shows a notification when playing %d year ago