Merged the latest changes

This commit is contained in:
Avently 2020-07-21 01:37:36 +03:00
commit 06e70abb86
47 changed files with 102 additions and 115 deletions

View File

@ -13,8 +13,8 @@ android {
resValue "string", "app_name", "NewPipe"
minSdkVersion 19
targetSdkVersion 29
versionCode 950
versionName "0.19.5"
versionCode 951
versionName "0.19.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
@ -163,7 +163,7 @@ dependencies {
exclude module: 'support-annotations'
}
implementation 'com.github.TeamNewPipe:NewPipeExtractor:a70cb0283ffc3bba2709815673a5a7940aab0a3a'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:df28a087de3d9ccb9eb180e001b1d8ca7f7cf544'
implementation "com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751"
implementation "org.jsoup:jsoup:1.13.1"

View File

@ -9,6 +9,7 @@ import android.content.SharedPreferences;
import android.os.Build;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.preference.PreferenceManager;
import com.nostra13.universalimageloader.cache.memory.impl.LRULimitedMemoryCache;
@ -37,7 +38,6 @@ import java.net.SocketException;
import java.util.Collections;
import java.util.List;
import io.reactivex.annotations.NonNull;
import io.reactivex.exceptions.CompositeException;
import io.reactivex.exceptions.MissingBackpressureException;
import io.reactivex.exceptions.OnErrorNotImplementedException;

View File

@ -534,6 +534,7 @@ public class VideoDetailFragment
@Override
public void onSaveInstanceState(final Bundle outState) {
super.onSaveInstanceState(outState);
if (!isLoading.get() && currentInfo != null && isVisible()) {
outState.putSerializable(INFO_KEY, currentInfo);
}
@ -1312,14 +1313,14 @@ public class VideoDetailFragment
}
private void prepareDescription(final Description description) {
if (TextUtils.isEmpty(description.getContent())
if (description == null || TextUtils.isEmpty(description.getContent())
|| description == Description.emptyDescription) {
return;
}
if (description.getType() == Description.HTML) {
disposables.add(Single.just(description.getContent())
.map((@io.reactivex.annotations.NonNull String descriptionText) -> {
.map((@NonNull String descriptionText) -> {
Spanned parsedDescription;
if (Build.VERSION.SDK_INT >= 24) {
parsedDescription = Html.fromHtml(descriptionText, 0);
@ -1331,7 +1332,7 @@ public class VideoDetailFragment
})
.subscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread())
.subscribe((@io.reactivex.annotations.NonNull Spanned spanned) -> {
.subscribe((@NonNull Spanned spanned) -> {
videoDescriptionView.setText(spanned);
videoDescriptionView.setVisibility(View.VISIBLE);
}));

View File

@ -158,11 +158,10 @@ public abstract class BaseListInfoFragment<I extends ListInfo>
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doFinally(this::allowDownwardFocusScroll)
.subscribe((@io.reactivex.annotations.NonNull
ListExtractor.InfoItemsPage InfoItemsPage) -> {
.subscribe((@NonNull ListExtractor.InfoItemsPage InfoItemsPage) -> {
isLoading.set(false);
handleNextItems(InfoItemsPage);
}, (@io.reactivex.annotations.NonNull Throwable throwable) -> {
}, (@NonNull Throwable throwable) -> {
isLoading.set(false);
onError(throwable);
});

View File

@ -9,7 +9,6 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.Switch;
import androidx.annotation.NonNull;
@ -40,9 +39,7 @@ public class RelatedVideosFragment extends BaseListInfoFragment<RelatedStreamInf
//////////////////////////////////////////////////////////////////////////*/
private View headerRootLayout;
private Switch aSwitch;
private boolean mIsVisibleToUser = false;
private Switch autoplaySwitch;
public static RelatedVideosFragment getInstance(final StreamInfo info) {
RelatedVideosFragment instance = new RelatedVideosFragment();
@ -50,12 +47,6 @@ public class RelatedVideosFragment extends BaseListInfoFragment<RelatedStreamInf
return instance;
}
@Override
public void setUserVisibleHint(final boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
mIsVisibleToUser = isVisibleToUser;
}
/*//////////////////////////////////////////////////////////////////////////
// LifeCycle
//////////////////////////////////////////////////////////////////////////*/
@ -81,22 +72,18 @@ public class RelatedVideosFragment extends BaseListInfoFragment<RelatedStreamInf
}
protected View getListHeader() {
if (relatedStreamInfo != null && relatedStreamInfo.getNextStream() != null) {
if (relatedStreamInfo != null && relatedStreamInfo.getRelatedItems() != null) {
headerRootLayout = activity.getLayoutInflater()
.inflate(R.layout.related_streams_header, itemsList, false);
aSwitch = headerRootLayout.findViewById(R.id.autoplay_switch);
autoplaySwitch = headerRootLayout.findViewById(R.id.autoplay_switch);
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getContext());
Boolean autoplay = pref.getBoolean(getString(R.string.auto_queue_key), false);
aSwitch.setChecked(autoplay);
aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(final CompoundButton compoundButton,
final boolean b) {
final SharedPreferences pref = PreferenceManager
.getDefaultSharedPreferences(getContext());
final boolean autoplay = pref.getBoolean(getString(R.string.auto_queue_key), false);
autoplaySwitch.setChecked(autoplay);
autoplaySwitch.setOnCheckedChangeListener((compoundButton, b) ->
PreferenceManager.getDefaultSharedPreferences(getContext()).edit()
.putBoolean(getString(R.string.auto_queue_key), b).apply();
}
});
.putBoolean(getString(R.string.auto_queue_key), b).apply());
return headerRootLayout;
} else {
return null;
@ -105,7 +92,7 @@ public class RelatedVideosFragment extends BaseListInfoFragment<RelatedStreamInf
@Override
protected Single<ListExtractor.InfoItemsPage> loadMoreItemsLogic() {
return Single.fromCallable(() -> ListExtractor.InfoItemsPage.emptyPage());
return Single.fromCallable(ListExtractor.InfoItemsPage::emptyPage);
}
/*//////////////////////////////////////////////////////////////////////////
@ -216,8 +203,8 @@ public class RelatedVideosFragment extends BaseListInfoFragment<RelatedStreamInf
final String s) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getContext());
boolean autoplay = pref.getBoolean(getString(R.string.auto_queue_key), false);
if (null != aSwitch) {
aSwitch.setChecked(autoplay);
if (autoplaySwitch != null) {
autoplaySwitch.setChecked(autoplay);
}
}

View File

@ -146,17 +146,17 @@ public final class PlayerHelper {
}
/**
* Given a {@link StreamInfo} and the existing queue items, provide the
* {@link SinglePlayQueue} consisting of the next video for auto queuing.
* Given a {@link StreamInfo} and the existing queue items,
* provide the {@link SinglePlayQueue} consisting of the next video for auto queueing.
* <p>
* This method detects and prevents cycle by naively checking if a
* candidate next video's url already exists in the existing items.
* This method detects and prevents cycles by naively checking
* if a candidate next video's url already exists in the existing items.
* </p>
* <p>
* To select the next video, {@link StreamInfo#getNextVideo()} is first
* checked. If it is nonnull and is not part of the existing items, then
* it will be used as the next video. Otherwise, an random item with
* non-repeating url will be selected from the {@link StreamInfo#getRelatedStreams()}.
* The first item in {@link StreamInfo#getRelatedStreams()} is checked first.
* If it is non-null and is not part of the existing items, it will be used as the next stream.
* Otherwise, a random item with non-repeating url will be selected
* from the {@link StreamInfo#getRelatedStreams()}.
* </p>
*
* @param info currently playing stream
@ -166,27 +166,28 @@ public final class PlayerHelper {
@Nullable
public static PlayQueue autoQueueOf(@NonNull final StreamInfo info,
@NonNull final List<PlayQueueItem> existingItems) {
Set<String> urls = new HashSet<>(existingItems.size());
final Set<String> urls = new HashSet<>(existingItems.size());
for (final PlayQueueItem item : existingItems) {
urls.add(item.getUrl());
}
final StreamInfoItem nextVideo = info.getNextVideo();
if (nextVideo != null && !urls.contains(nextVideo.getUrl())) {
return getAutoQueuedSinglePlayQueue(nextVideo);
}
final List<InfoItem> relatedItems = info.getRelatedStreams();
if (relatedItems == null) {
return null;
}
List<StreamInfoItem> autoQueueItems = new ArrayList<>();
for (final InfoItem item : info.getRelatedStreams()) {
if (relatedItems.get(0) != null && relatedItems.get(0) instanceof StreamInfoItem
&& !urls.contains(relatedItems.get(0).getUrl())) {
return getAutoQueuedSinglePlayQueue((StreamInfoItem) relatedItems.get(0));
}
final List<StreamInfoItem> autoQueueItems = new ArrayList<>();
for (final InfoItem item : relatedItems) {
if (item instanceof StreamInfoItem && !urls.contains(item.getUrl())) {
autoQueueItems.add((StreamInfoItem) item);
}
}
Collections.shuffle(autoQueueItems);
return autoQueueItems.isEmpty()
? null : getAutoQueuedSinglePlayQueue(autoQueueItems.get(0));

View File

@ -2,6 +2,8 @@ package org.schabi.newpipe.player.playqueue;
import android.util.Log;
import androidx.annotation.NonNull;
import org.schabi.newpipe.extractor.InfoItem;
import org.schabi.newpipe.extractor.ListExtractor;
import org.schabi.newpipe.extractor.ListInfo;
@ -13,7 +15,6 @@ import java.util.Collections;
import java.util.List;
import io.reactivex.SingleObserver;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
abstract class AbstractInfoPlayQueue<T extends ListInfo, U extends InfoItem> extends PlayQueue {

View File

@ -6,6 +6,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import org.schabi.newpipe.R;
@ -20,7 +21,6 @@ import org.schabi.newpipe.util.FallbackViewHolder;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
/**

View File

@ -4,16 +4,12 @@ import org.schabi.newpipe.extractor.InfoItem;
import org.schabi.newpipe.extractor.ListInfo;
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
import org.schabi.newpipe.extractor.stream.StreamInfo;
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class RelatedStreamInfo extends ListInfo<InfoItem> {
private StreamInfoItem nextStream;
public RelatedStreamInfo(final int serviceId, final ListLinkHandler listUrlIdHandler,
final String name) {
super(serviceId, listUrlIdHandler, name);
@ -25,20 +21,8 @@ public class RelatedStreamInfo extends ListInfo<InfoItem> {
RelatedStreamInfo relatedStreamInfo = new RelatedStreamInfo(
info.getServiceId(), handler, info.getName());
List<InfoItem> streams = new ArrayList<>();
if (info.getNextVideo() != null) {
streams.add(info.getNextVideo());
}
streams.addAll(info.getRelatedStreams());
relatedStreamInfo.setRelatedItems(streams);
relatedStreamInfo.setNextStream(info.getNextVideo());
return relatedStreamInfo;
}
public StreamInfoItem getNextStream() {
return nextStream;
}
public void setNextStream(final StreamInfoItem nextStream) {
this.nextStream = nextStream;
}
}

View File

@ -549,7 +549,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">عند استخدام مشغل الخلفية، سيتم عرض صورة العرض للفيديو على شاشة القفل</string>
<string name="clear_download_history">تنظيف تاريخ التحميل</string>
<string name="delete_downloaded_files">حذف الملفات التي تم تنزيلها</string>
<string name="deleted_downloads">التنزيلات %1$s المحذوفة</string>
<string name="deleted_downloads">التنزيلات %1$d المحذوفة</string>
<string name="permission_display_over_apps">إعطاء إذن لعرضه على التطبيقات الأخرى</string>
<string name="app_language_title">لغة التطبيق</string>
<string name="systems_language">النظام الافتراضي</string>

View File

@ -58,7 +58,6 @@
<string name="short_billion">Mil mill.</string>
<string name="msg_popup_permission">Precísase esti permisu
\np\'abrir nel mou ventanu</string>
<string name="recaptcha">reCAPTCHA</string>
<string name="title_activity_recaptcha">Retu de reCAPTCHA</string>
<string name="recaptcha_request_toast">Solicitóse\'l retu de reCAPTCHA</string>
<string name="controls_background_title">En segundu planu</string>

View File

@ -108,7 +108,6 @@
<string name="msg_running_detail">点击了解详情</string>
<string name="msg_wait">请稍候…</string>
<string name="msg_copied">复制至剪贴板</string>
<string name="recaptcha">reCAPTCHA验证码</string>
<string name="controls_popup_title">悬浮窗播放</string>
<string name="title_activity_about">关于NewPipe</string>
<string name="action_settings">设置</string>
@ -525,7 +524,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">在后台播放时,锁屏上将会显示视频的缩略图</string>
<string name="clear_download_history">清除下载历史记录</string>
<string name="delete_downloaded_files">删除已下载的文件</string>
<string name="deleted_downloads">已删除 %1$s 下载</string>
<string name="deleted_downloads">已删除 %1$d 下载</string>
<string name="permission_display_over_apps">授予在其他应用上层显示的权限</string>
<string name="app_language_title">Newpipe应用语言</string>
<string name="systems_language">[系统默认]</string>
@ -535,7 +534,7 @@
<plurals name="seconds">
<item quantity="other">%d秒</item>
</plurals>
<string name="new_seek_duration_toast">由于ExoPlayer的限制搜寻间隔设置为d秒</string>
<string name="new_seek_duration_toast">由于ExoPlayer的限制搜寻间隔设置为%d秒</string>
<string name="mute">静音</string>
<string name="unmute">取消静音</string>
<string name="help">帮助</string>

View File

@ -513,7 +513,7 @@
<string name="share">هاوبه‌شپێكردن</string>
<string name="download_choose_new_path">بوخچەی داگرتن بگۆڕە بۆ ئەنجامدانی کاریگەری</string>
<string name="show_hold_to_append_summary">پیشاندانی ڕێنمایی کاتێ لە پاشبنەما یاخوود پەنجەرەی بچووکدا گرتە دەکرێ لەسەر” وردەکاری:” ڤیدیۆیەک</string>
<string name="deleted_downloads">%1$ لە داگرتنەکان سڕانەوە</string>
<string name="deleted_downloads">%1$d لە داگرتنەکان سڕانەوە</string>
<string name="audio_streams_empty">پەخشی هیچ دەنگێک نەدۆزرایەوە</string>
<string name="artists">هونەرمەندەکان</string>
<string name="no_one_watching">هیچ کەسێک تەماشای ناکات</string>
@ -613,4 +613,4 @@
<string name="charset_letters_and_digits">پیت و ژمارەکان</string>
<string name="default_content_country_title">وڵاتی بنەڕەتی</string>
<string name="updates_setting_title">نوێکارییەکان</string>
</resources>
</resources>

View File

@ -538,7 +538,7 @@ otevření ve vyskakovacím okně</string>
<string name="enable_lock_screen_video_thumbnail_summary">Při použití přehrávače na pozadí se náhled videa ukáže na zamknuté obrazovce</string>
<string name="clear_download_history">Smazat historii stahování</string>
<string name="delete_downloaded_files">Smazat stažené soubory</string>
<string name="deleted_downloads">Smazat %1$s stahování</string>
<string name="deleted_downloads">Smazat %1$d stahování</string>
<string name="permission_display_over_apps">Souhlasit se zobrazením přes jiné aplikace</string>
<string name="app_language_title">Jazyk aplikace</string>
<string name="systems_language">Jazyk systému</string>

View File

@ -532,7 +532,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Ein Video-Miniaturbild wird auf dem Sperrbildschirm angezeigt, wenn der Hintergrundplayer verwendet wird</string>
<string name="clear_download_history">Downloadverlauf löschen</string>
<string name="delete_downloaded_files">Heruntergeladene Dateien löschen</string>
<string name="deleted_downloads">%1$s Downloads gelöscht</string>
<string name="deleted_downloads">%1$d Downloads gelöscht</string>
<string name="permission_display_over_apps">Berechtigung zur Anzeige über andere Apps erteilen</string>
<string name="app_language_title">Sprache der App</string>
<string name="systems_language">Systemstandard</string>

View File

@ -530,7 +530,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Bildeta filmeto estas montrita ĉe ŝlosita ekrano uzante la fona ludilo</string>
<string name="clear_download_history">Forviŝi la historion de elŝutoj</string>
<string name="delete_downloaded_files">Forviŝi elŝutitajn dosierojn</string>
<string name="deleted_downloads">%1$s elŝutoj forviŝitaj</string>
<string name="deleted_downloads">%1$d elŝutoj forviŝitaj</string>
<string name="videos_string">Filmetoj</string>
<string name="permission_display_over_apps">Doni la permeson por afiŝiĝi supre aliaj apoj</string>
<string name="app_language_title">Preferata aplingvo</string>

View File

@ -531,7 +531,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Se mostrará una miniatura del vídeo en la pantalla de bloqueo al usar el reproductor en segundo plano</string>
<string name="clear_download_history">Limpiar historial de descargas</string>
<string name="delete_downloaded_files">Eliminar archivos descargados</string>
<string name="deleted_downloads">Eliminadas %1$s descargas</string>
<string name="deleted_downloads">Eliminadas %1$d descargas</string>
<string name="permission_display_over_apps">Dar permisos para que se muestre por sobre otras apps</string>
<string name="app_language_title">Idioma de aplicación</string>
<string name="systems_language">Predeterminado del sistema</string>

View File

@ -530,7 +530,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Atzeko planoko bideo erreproduzitzailea erabiltzen den bitartean, bideoaren karatula blokeo pantailan erakutsiko da</string>
<string name="clear_download_history">Garbitu deskargen historiala</string>
<string name="delete_downloaded_files">Ezabatu deskargatutako fitxategiak</string>
<string name="deleted_downloads">%1$s deskarga ezabatuta</string>
<string name="deleted_downloads">%1$d deskarga ezabatuta</string>
<string name="permission_display_over_apps">Baimena eman beste aplikazioen gainetik erakusteko</string>
<string name="app_language_title">Aplikazioaren hizkuntza</string>
<string name="systems_language">Sistemaren lehenetsia</string>

View File

@ -549,7 +549,7 @@
<string name="systems_language">پیش‌فرض دستگاه</string>
<string name="app_language_title">زبان برنامه</string>
<string name="choose_instance_prompt">نمونه‌ای را انتخاب کنید</string>
<string name="deleted_downloads">تعداد %1$s بارگیری، پاک شد</string>
<string name="deleted_downloads">تعداد %1$d بارگیری، پاک شد</string>
<string name="delete_downloaded_files">پاک کردن پرونده‌های بارگیری شده</string>
<string name="clear_download_history">پاک کردن تاریخچه بارگیری</string>
<string name="error_download_resource_gone">ناتوانی در بازیابی این بارگیری</string>

View File

@ -412,7 +412,6 @@
<string name="localization_changes_requires_app_restart">Kieli vaihtuu, kun sovellus uudelleenkäynnistetään.</string>
<string name="error_unable_to_load_comments">Kommentteja ei voitu ladata</string>
<string name="selection">Valinta</string>
<string name="preferred_open_action_share_menu_title" translatable="false">\@string/app_name</string>
<string name="main_page_content_summary">Mitkä välilehdet näytetään pääsivulla</string>
<string name="recaptcha_done_button">Valmis</string>
<string name="subtitle_activity_recaptcha">Paina \"Valmis\", kun ratkaistu</string>
@ -563,7 +562,7 @@
<string name="enable_queue_limit">Rajoita latausjonon kokoa</string>
<string name="max_retry_desc">Suurin määrä yrityksiä ennen kuin lataus perutaan</string>
<string name="max_retry_msg">Uudelleenyritysten maksimimäärä</string>
<string name="deleted_downloads">Poistettiin %1$s latausta</string>
<string name="deleted_downloads">Poistettiin %1$d latausta</string>
<string name="error_download_resource_gone">Tätä latausta ei voi palauttaa</string>
<string name="error_timeout">Yhteys aikakatkaistiin</string>
<string name="error_progress_lost">Eteneminen menetettiin, koska tiedosto poistettiin</string>

View File

@ -529,7 +529,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Une miniature de la vidéo sera affichée sur lécran de verrouillage lorsque le lecteur en arrière-plan est utilisé</string>
<string name="clear_download_history">Effacer lhistorique de téléchargement</string>
<string name="delete_downloaded_files">Supprimer les fichiers téléchargés</string>
<string name="deleted_downloads">%1$s téléchargements supprimés</string>
<string name="deleted_downloads">%1$d téléchargements supprimés</string>
<string name="permission_display_over_apps">Autoriser laffichage au-dessus dautres applications</string>
<string name="app_language_title">Langue de lapplication</string>
<string name="systems_language">Prédéfini par le système</string>

View File

@ -540,7 +540,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">תמונה מוקטנת של הסרטון תופיע על מסך הנעילה בעת שימוש בנגן הרקע</string>
<string name="clear_download_history">מחיקת היסטוריית ההורדות</string>
<string name="delete_downloaded_files">למחוק את הקבצים שהורדתי</string>
<string name="deleted_downloads">נמחקו %1$s הורדות</string>
<string name="deleted_downloads">נמחקו %1$d הורדות</string>
<string name="permission_display_over_apps">יש להעניק הרשאה להציג על גבי יישומונים אחרים</string>
<string name="app_language_title">שפת היישומון</string>
<string name="systems_language">בררת המחדל של המערכת</string>

View File

@ -496,7 +496,7 @@
<string name="playlist_no_uploader">Automatski generirano (nije pronađen nijedan autor)</string>
<string name="clear_download_history">Očisti povijest preuzimanja</string>
<string name="delete_downloaded_files">Izbriši preuzete datoteke</string>
<string name="deleted_downloads">Obrisano %1$s preuzimanja</string>
<string name="deleted_downloads">Obrisano %1$d preuzimanja</string>
<string name="permission_display_over_apps">Dajte dopuštenje za prikazivanje na vrhu</string>
<string name="app_language_title">Jezik aplikacije</string>
<string name="systems_language">Zadani sustav</string>

View File

@ -524,7 +524,7 @@
<string name="default_kiosk_page_summary">Kiosk Default</string>
<string name="clear_download_history">Hapus riwayat unduhan</string>
<string name="delete_downloaded_files">Hapus berkas yang diunduh</string>
<string name="deleted_downloads">%1$s unduhan dihapus</string>
<string name="deleted_downloads">%1$d unduhan dihapus</string>
<string name="permission_display_over_apps">Izinkan untuk ditampilkan di atas aplikasi lain</string>
<string name="app_language_title">Bahasa apl</string>
<string name="systems_language">Default sistem</string>

View File

@ -530,7 +530,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">La copertina del video verrà mostrata nella schermata di blocco, durante la riproduzione in sottofondo</string>
<string name="clear_download_history">Pulisci Cronologia Download</string>
<string name="delete_downloaded_files">Elimina File Scaricati</string>
<string name="deleted_downloads">%1$s download eliminati</string>
<string name="deleted_downloads">%1$d download eliminati</string>
<string name="permission_display_over_apps">Consentire la visualizzazione sopra altre applicazioni</string>
<string name="app_language_title">Lingua Applicazione</string>
<string name="systems_language">Predefinita di Sistema</string>

View File

@ -524,7 +524,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">バックグラウンドプレイヤーを使用中、ロック画面に動画のサムネイルが表示されるようになります</string>
<string name="clear_download_history">ダウンロード履歴を消去</string>
<string name="delete_downloaded_files">ダウンロードしたファイルを消去</string>
<string name="deleted_downloads">%1$s 個削除しました</string>
<string name="deleted_downloads">%1$d 個削除しました</string>
<string name="playlist_no_uploader">自動生成 (アップローダーが見つかりません)</string>
<string name="permission_display_over_apps">他のアプリの上に表示する権限を与えてください</string>
<string name="app_language_title">アプリの言語</string>

View File

@ -526,5 +526,5 @@
<string name="enable_lock_screen_video_thumbnail_summary">백그라운드 플레이어를 사용하는 경우 비디오 썸네일은 잠금화면 상에 표시됩니다.</string>
<string name="clear_download_history">다운로드 기록 삭제</string>
<string name="delete_downloaded_files">다운로드된 파일 삭제</string>
<string name="deleted_downloads">%1$s 다운로드 삭제</string>
<string name="deleted_downloads">%1$d 다운로드 삭제</string>
</resources>

View File

@ -534,7 +534,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">کاتێ کارپێکەری پاشبنەما کاردەکات ئەوا وێنۆچکەی ڤیدیۆکە لە ڕوونما داخراوەکەدا نیشاندەدرێت</string>
<string name="clear_download_history">سڕینەوەی مێژووی داگرتن</string>
<string name="delete_downloaded_files">سڕینەوەی فایلە داگیراوەکان</string>
<string name="deleted_downloads">%1$ لە داگرتنەکان سڕانەوە</string>
<string name="deleted_downloads">%1$d لە داگرتنەکان سڕانەوە</string>
<string name="permission_display_over_apps">دەسەڵاتی پێبدە بۆ پیشاندان لەسەرووی ئەپەکانیترەوە</string>
<string name="app_language_title">زمانی ئەپ</string>
<string name="systems_language">بنەڕەتی سیستەم</string>

View File

@ -574,7 +574,7 @@
<string name="max_retry_desc">ഡൗൺലോഡ് റദ്ദാക്കുന്നതിനുമുമ്പ് പരമാവധി ശ്രമങ്ങൾ</string>
<string name="max_retry_msg">പരമാവധി വീണ്ടും ശ്രമിക്കുന്നു</string>
<string name="stop">നിർത്തുക</string>
<string name="deleted_downloads">1$s ഡൗൺ‌ലോഡുകൾ ഇല്ലാതാക്കി</string>
<string name="deleted_downloads">%1$d ഡൗൺ‌ലോഡുകൾ ഇല്ലാതാക്കി</string>
<string name="delete_downloaded_files">ഡൗൺലോഡ് ചെയ്ത ഫയലുകൾ ഇല്ലാതാക്കുക</string>
<string name="confirm_prompt">നിങ്ങളുടെ ഡൗൺലോഡ് ചരിത്രം മായ്‌ക്കണോ ഡൗൺലോഡ് ചെയ്ത എല്ലാ ഫയലുകളും ഇല്ലാതാക്കണോ\?</string>
<string name="clear_download_history">ഡൗൺലോഡ് ചരിത്രം മായ്‌ക്കുക</string>
@ -606,7 +606,7 @@
<string name="download_finished">ഡൗൺലോഡ് പൂർത്തിയായി</string>
<string name="download_failed">ഡൗൺലോഡ് പരാജയപ്പെട്ടു</string>
<string name="permission_denied">സിസ്റ്റം പ്രവർത്തനം തടഞ്ഞു</string>
<string name="video_detail_by">% മുഖാന്തരം</string>
<string name="video_detail_by">%s മുഖാന്തരം</string>
<string name="channel_created_by">%s സൃഷ്ടിച്ചത്</string>
<string name="detail_sub_channel_thumbnail_view_description">ചാനൽ ലഘുചിത്രം</string>
<string name="show_original_time_ago_summary">സേവനങ്ങളിൽ നിന്നുള്ള യഥാർത്ഥ വാചകങ്ങൾ സ്ട്രീം ഇനങ്ങളിൽ ദൃശ്യമാകും</string>

View File

@ -516,7 +516,7 @@
<string name="choose_instance_prompt">Velg en instans</string>
<string name="clear_download_history">Tøm nedlastingshistorikk</string>
<string name="delete_downloaded_files">Slett nedlastede filer</string>
<string name="deleted_downloads">Slettet %1$s nedlastninger</string>
<string name="deleted_downloads">Slettet %1$d nedlastninger</string>
<string name="enable_lock_screen_video_thumbnail_title">Aktiver videominiatyrbilde på låseskjerm</string>
<string name="enable_lock_screen_video_thumbnail_summary">Når du bruker bakgrunnsspilleren, vises ent videominiatyrbilde på låseskjermen</string>
<string name="peertube_instance_url_summary">Velg dine favoritter blandt PeerTube-instansene</string>

View File

@ -190,7 +190,7 @@
<string name="invalid_source">यस्तो कुनै फाइल / सामग्री स्रोत भेटिएन</string>
<string name="invalid_file">फाइल अवस्थित छैन वा पढ्न वा यो लेख्न अनुमति अभाव छ</string>
<string name="file_name_empty_error">फाइलको नाम खाली हुन सक्दैन</string>
<string name="error_occurred_detail">एउटा त्रुटि देखापर्यो:%1$</string>
<string name="error_occurred_detail">एउटा त्रुटि देखापर्यो:%s</string>
<string name="no_streams_available_download">कुनै धाराहरु डाउनलोड गर्न उपलब्ध छैनन्</string>
<string name="saved_tabs_invalid_json">बचत गरिएका ट्याबहरू पढ्न सकिएन, पूर्वनिर्धारित प्रयोग गरिदै</string>
<string name="restore_defaults">फेरी पहिलाकै अवस्थामा लैजाऊ</string>
@ -276,7 +276,7 @@
<string name="action_settings">सेटिङहरू</string>
<string name="action_about">बारेमा</string>
<string name="title_licenses">तेस्रो-पक्ष इजाजत पत्र</string>
<string name="copyright" formatted="true">©%1$ को %2$s द्वारा %3$ अन्तर्गत</string>
<string name="copyright" formatted="true">©%1$s को %2$s द्वारा %3$s अन्तर्गत</string>
<string name="error_unable_to_load_license">लाइसेन्स लोड गर्न सकेन</string>
<string name="action_open_website">वेबसाइट खुला</string>
<string name="tab_about">बारेमा</string>
@ -528,7 +528,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">पृष्ठभूमिमा प्लेयर प्रयोग गर्दा एउटा भिडियो थम्बनेल लक स्क्रिनमा देखाइएको छ</string>
<string name="clear_download_history">डाउनलोड इतिहास मेटाउ</string>
<string name="delete_downloaded_files">डाउनलोड गरिएका फाइलहरु मेटाउ</string>
<string name="deleted_downloads">%1$ डाउनलोडहरु मेटियो</string>
<string name="deleted_downloads">%1$d डाउनलोडहरु मेटियो</string>
<string name="permission_display_over_apps">अन्य अनुप्रयोगहरूमा प्रदर्शन गर्न अनुमति दिने</string>
<string name="app_language_title">एप्सको भाषा</string>
<string name="systems_language">सिस्टम पूर्वनिर्धारित</string>

View File

@ -527,7 +527,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Een video afbeelding wordt weergegeven op het vergrendelscherm wanneer de achtergrond speler wordt gebruikt</string>
<string name="clear_download_history">Download geschiedenis verwijderen</string>
<string name="delete_downloaded_files">Verwijder gedownloade bestanden</string>
<string name="deleted_downloads">%1$s downloads verwijderd</string>
<string name="deleted_downloads">%1$d downloads verwijderd</string>
<string name="permission_display_over_apps">Geef toestemming voor weergave over andere apps</string>
<string name="app_language_title">Applicatie taal</string>
<string name="systems_language">Systeem taal gebruiken</string>

View File

@ -535,7 +535,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Podczas korzystania z odtwarzacza w tle na ekranie blokady wyświetlana jest miniatura filmu</string>
<string name="clear_download_history">Wyczyść historię pobierania</string>
<string name="delete_downloaded_files">Usuń pobrane pliki</string>
<string name="deleted_downloads">Usunięte %1$s pobrania</string>
<string name="deleted_downloads">Usunięte %1$d pobrania</string>
<string name="permission_display_over_apps">Zezwól na wyświetlanie w innych aplikacjach</string>
<string name="app_language_title">Język aplikacji</string>
<string name="systems_language">Domyślny systemu</string>

View File

@ -530,7 +530,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">A capa do vídeo é exibida na tela de bloqueio ao usar o player em segundo plano</string>
<string name="clear_download_history">Limpar histórico de downloads</string>
<string name="delete_downloaded_files">Excluir arquivos baixados</string>
<string name="deleted_downloads">%1$s arquivos excluídos</string>
<string name="deleted_downloads">%1$d arquivos excluídos</string>
<string name="permission_display_over_apps">Permitir exibição sobre outros apps</string>
<string name="app_language_title">Idioma do app</string>
<string name="systems_language">Padrão do sistema</string>

View File

@ -530,7 +530,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Uma miniatura de vídeo é mostrada no ecrã de bloqueio quando utilizando o leitor de fundo</string>
<string name="clear_download_history">Limpar histórico de transferências</string>
<string name="delete_downloaded_files">Apagar ficheiros transferidos</string>
<string name="deleted_downloads">%1$s transferências apagadas</string>
<string name="deleted_downloads">%1$d transferências apagadas</string>
<string name="permission_display_over_apps">Permitir sobreposição da janela sobre outras aplicações</string>
<string name="app_language_title">Idioma da aplicação</string>
<string name="systems_language">Predefinição do sistema</string>

View File

@ -534,7 +534,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Показать миниатюру видео на экране блокировки при воспроизведении в фоне</string>
<string name="clear_download_history">Очистить историю загрузок</string>
<string name="delete_downloaded_files">Удаление загруженных файлов</string>
<string name="deleted_downloads">Удалено загрузок: %1$s</string>
<string name="deleted_downloads">Удалено загрузок: %1$d</string>
<string name="permission_display_over_apps">Разрешите отображение поверх приложений</string>
<string name="app_language_title">Язык интерфейса</string>
<string name="systems_language">Как в системе</string>

View File

@ -537,7 +537,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Pri prehrávaní videa na pozadí sa na zamknutej obrazovke zobrazí náhľad</string>
<string name="clear_download_history">Vymazať históriu sťahovania</string>
<string name="delete_downloaded_files">Vymazať stiahnuté súbory</string>
<string name="deleted_downloads">%1$s odstránených</string>
<string name="deleted_downloads">%1$d odstránených</string>
<string name="permission_display_over_apps">Súhlas pre zobrazenie cez ďalšie aplikácie</string>
<string name="app_language_title">Jazyk aplikácie</string>
<string name="systems_language">Predvolený</string>
@ -569,7 +569,7 @@
<item quantity="other">%d dní</item>
</plurals>
<string name="feed_groups_header_title">Skupiny kanálov</string>
<string name="feed_oldest_subscription_update">Aktualizované: % s</string>
<string name="feed_oldest_subscription_update">Aktualizované: %s</string>
<string name="feed_subscription_not_loaded_count">Nenačítané: %d</string>
<string name="feed_notification_loading">Načítavanie zdroja…</string>
<string name="feed_processing_message">Spracovávanie zdroja…</string>

View File

@ -90,7 +90,7 @@
<string name="max_retry_desc">Numri maksimal i provave para se të anulohet shkarkimi</string>
<string name="max_retry_msg">Provat maksimale</string>
<string name="stop">Ndalo</string>
<string name="deleted_downloads">U fshinë %1$s shkarkime</string>
<string name="deleted_downloads">U fshinë %1$d shkarkime</string>
<string name="delete_downloaded_files">Fshij skedarët e shkarkuar</string>
<string name="confirm_prompt">A dëshironi të boshatisni historikun e shkarkimeve apo të fshini të gjithë skedarët e shkarkuar\?</string>
<string name="clear_download_history">Boshatis historikun e shkarkimeve</string>

View File

@ -584,7 +584,7 @@
<string name="close">Stäng ner</string>
<string name="pause_downloads_on_mobile_desc">Användbart när du byter till mobildata, även om vissa nedladdningar inte kan avbrytas</string>
<string name="pause_downloads_on_mobile">Avbryt i en uppmätt nätverk</string>
<string name="deleted_downloads">Rensa %1$s nedladdningarna</string>
<string name="deleted_downloads">Rensa %1$d nedladdningarna</string>
<string name="delete_downloaded_files">Radera nedladdade filer</string>
<string name="confirm_prompt">Vill du rensa din nedladdningshistorik eller radera alla nerladdade filer\?</string>
<string name="clear_download_history">Rensa nedladdningshistorik</string>

View File

@ -530,7 +530,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">Arka plan oynatıcıyı kullanırken kilit ekranında bir video küçük resmi gösterilir</string>
<string name="clear_download_history">İndirme geçmişini temizle</string>
<string name="delete_downloaded_files">İndirilen dosyaları sil</string>
<string name="deleted_downloads">%1$s indirme silindi</string>
<string name="deleted_downloads">%1$d indirme silindi</string>
<string name="permission_display_over_apps">Diğer uygulamaların üzerinde görüntüleme izni ver</string>
<string name="app_language_title">Uygulama dili</string>
<string name="systems_language">Sistem öntanımlısı</string>

View File

@ -618,7 +618,7 @@
<string name="restricted_video">Це відео з віковим обмеженням.
\n
\nЩоб побачити його потрібно включите \"Контент 18+\" в налаштуваннях.</string>
<string name="deleted_downloads">Видалено %1$s завантажень</string>
<string name="deleted_downloads">Видалено %1$d завантажень</string>
<string name="detail_sub_channel_thumbnail_view_description">Ескіз аватара каналу</string>
<string name="show_original_time_ago_summary">Оригінальні тексти сервісів будуть видимі в потокових елементах</string>
<string name="youtube_restricted_mode_enabled_title">Режим обмеженого доступу YouTube</string>

View File

@ -529,5 +529,5 @@
<string name="enable_lock_screen_video_thumbnail_summary">بیک گراؤنڈ پلیئر استعمال کرتے وقت ایک ویڈیو تھمب نیل کو لاک اسکرین پر دکھایا جائے گا</string>
<string name="clear_download_history">ڈاؤن لوڈ کی سرگزشت صاف کریں</string>
<string name="delete_downloaded_files">ڈاؤن لوڈ شدہ فائلیں حذف کریں</string>
<string name="deleted_downloads">%1$s ڈاؤن لوڈز کو حذف کیا گیا</string>
<string name="deleted_downloads">%1$d ڈاؤن لوڈز کو حذف کیا گیا</string>
</resources>

View File

@ -520,7 +520,7 @@
<string name="downloads_storage_use_saf_summary">\'Storage Access Framework\' cho phép tải về thẻ SD.
\nMột số thiết bị có thể không tương thích</string>
<string name="downloads_storage_use_saf_title">Dùng SAF</string>
<string name="deleted_downloads">Đã xóa %1$s file tải về</string>
<string name="deleted_downloads">Đã xóa %1$d file tải về</string>
<string name="delete_downloaded_files">Xóa file đã tải về</string>
<string name="clear_download_history">Xóa lịch sử tải về</string>
<string name="error_download_resource_gone">Không thể khôi phục bản download này</string>

View File

@ -524,5 +524,5 @@
<string name="enable_lock_screen_video_thumbnail_summary">在后台播放时,锁屏上将会显示视频的缩略图</string>
<string name="clear_download_history">清除下载历史记录</string>
<string name="delete_downloaded_files">删除下载了的文件</string>
<string name="deleted_downloads">已删除 %1$s 下载</string>
<string name="deleted_downloads">已删除 %1$d 下载</string>
</resources>

View File

@ -525,7 +525,7 @@
<string name="enable_lock_screen_video_thumbnail_summary">使用背景播放器時,鎖定畫面上將會顯示影片縮圖</string>
<string name="clear_download_history">清除下載歷史紀錄</string>
<string name="delete_downloaded_files">刪除已下載的檔案</string>
<string name="deleted_downloads">已刪除 %1$s 個下載</string>
<string name="deleted_downloads">已刪除 %1$d 個下載</string>
<string name="permission_display_over_apps">給予顯示在其他應用程式上層的權限</string>
<string name="app_language_title">應用程式語言</string>
<string name="systems_language">系統預設值</string>

View File

@ -355,7 +355,7 @@
<string name="action_settings">Settings</string>
<string name="action_about">About</string>
<string name="title_licenses">Third-party Licenses</string>
<string name="copyright" formatted="true">© %1$s by %2$s under %3$s</string>
<string name="copyright">© %1$s by %2$s under %3$s</string>
<string name="error_unable_to_load_license">Could not load license</string>
<string name="action_open_website">Open website</string>
<string name="tab_about">About</string>
@ -594,7 +594,7 @@
<string name="clear_download_history">Clear download history</string>
<string name="confirm_prompt">Do you want to clear your download history or delete all downloaded files?</string>
<string name="delete_downloaded_files">Delete downloaded files</string>
<string name="deleted_downloads">Deleted %1$s downloads</string>
<string name="deleted_downloads">Deleted %1$d downloads</string>
<string name="stop">Stop</string>
<string name="max_retry_msg">Maximum retries</string>
<string name="max_retry_desc">Maximum number of attempts before canceling the download</string>

View File

@ -0,0 +1,17 @@
New
• Add search for subscription picker in the feed group dialog
• Add filter to the feed group dialog to show only ungrouped subscriptions
• Add playlist tab to main page
• Fast forward/rewind in background/pop-up player queue
• Display search suggestion: did you mean & showing result for
Improved
• Drop writing application metadata in muxed files
• Do not remove failed streams from the queue
• Update status bar color to match toolbar color
Fixed
• Fixed audio/video desync caused by floating point cumulative errors
• [PeerTube] Handle deleted comments
and more