1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-11-17 07:14:54 +00:00

Merge branch 'dev' into buttons-hiding-fix-on-screen-off

This commit is contained in:
Tobias Groza 2019-08-12 13:57:02 +02:00 committed by GitHub
commit c02383d7d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 152 additions and 94 deletions

View File

@ -8,8 +8,8 @@ android {
applicationId "org.schabi.newpipe"
minSdkVersion 19
targetSdkVersion 28
versionCode 740
versionName "0.16.2"
versionCode 750
versionName "0.17.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true

View File

@ -3,15 +3,24 @@ package org.schabi.newpipe.database;
import android.arch.persistence.db.SupportSQLiteDatabase;
import android.arch.persistence.room.migration.Migration;
import android.support.annotation.NonNull;
import android.util.Log;
import org.schabi.newpipe.BuildConfig;
public class Migrations {
public static final int DB_VER_11_0 = 1;
public static final int DB_VER_12_0 = 2;
public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release");
private static final String TAG = Migrations.class.getName();
public static final Migration MIGRATION_11_12 = new Migration(DB_VER_11_0, DB_VER_12_0) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
if(DEBUG) {
Log.d(TAG, "Start migrating database");
}
/*
* Unfortunately these queries must be hardcoded due to the possibility of
* schema and names changing at a later date, thus invalidating the older migration
@ -56,6 +65,10 @@ public class Migrations {
"ORDER BY creation_date DESC");
database.execSQL("DROP TABLE IF EXISTS watch_history");
if(DEBUG) {
Log.d(TAG, "Stop migrating database");
}
}
};
}

View File

@ -75,7 +75,6 @@ import org.schabi.newpipe.player.playqueue.PlayQueue;
import org.schabi.newpipe.player.playqueue.SinglePlayQueue;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import org.schabi.newpipe.util.AnimationUtils;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.ExtractorHelper;
import org.schabi.newpipe.util.ImageDisplayConstants;
@ -963,7 +962,7 @@ public class VideoDetailFragment
}
private void showContent() {
AnimationUtils.slideUp(contentRootLayoutHiding,120, 96, 0.06f);
contentRootLayoutHiding.setVisibility(View.VISIBLE);
}
protected void setInitialData(int serviceId, String url, String name) {
@ -996,9 +995,14 @@ public class VideoDetailFragment
@Override
public void showLoading() {
super.showLoading();
contentRootLayoutHiding.setVisibility(View.INVISIBLE);
//if data is already cached, transition from VISIBLE -> INVISIBLE -> VISIBLE is not required
if(!ExtractorHelper.isCached(serviceId, url, InfoItem.InfoType.STREAM)){
contentRootLayoutHiding.setVisibility(View.INVISIBLE);
}
animateView(spinnerToolbar, false, 200);
animateView(thumbnailPlayButton, false, 50);
animateView(detailDurationView, false, 100);

View File

@ -75,17 +75,14 @@ public abstract class StateObjectsListAdapter extends RecyclerView.Adapter<Recyc
protected void loadStates(List<InfoItem> list, int offset, Runnable callback) {
if (isPlaybackStatesVisible()) {
stateLoaders.add(
recordManager.loadStreamStateBatch(list)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(streamStateEntities -> {
appendStates(streamStateEntities, offset);
callback.run();
}, throwable -> {
if (BuildConfig.DEBUG) throwable.printStackTrace();
callback.run();
})
);
List<StreamStateEntity> streamStateEntities = null;
try {
streamStateEntities = recordManager.loadStreamStateBatch(list).blockingGet();
} catch (Exception e) {
if (BuildConfig.DEBUG) e.printStackTrace();
}
if(streamStateEntities != null) appendStates(streamStateEntities, offset);
callback.run();
} else {
callback.run();
}
@ -93,17 +90,14 @@ public abstract class StateObjectsListAdapter extends RecyclerView.Adapter<Recyc
protected void loadState(InfoItem item, int offset, Runnable callback) {
if (isPlaybackStatesVisible()) {
stateLoaders.add(
recordManager.loadStreamState(item)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(streamStateEntities -> {
appendState(streamStateEntities[0], offset);
callback.run();
}, throwable -> {
if (BuildConfig.DEBUG) throwable.printStackTrace();
callback.run();
})
);
StreamStateEntity[] streamStateEntities = null;
try {
streamStateEntities = recordManager.loadStreamState(item).blockingGet();
} catch (Exception e) {
if (BuildConfig.DEBUG) e.printStackTrace();
}
if(streamStateEntities != null && streamStateEntities.length > 0) appendState(streamStateEntities[0], offset);
callback.run();
} else {
callback.run();
}
@ -111,17 +105,14 @@ public abstract class StateObjectsListAdapter extends RecyclerView.Adapter<Recyc
protected void loadStatesForLocal(List<? extends LocalItem> list, int offset, Runnable callback) {
if (isPlaybackStatesVisible()) {
stateLoaders.add(
recordManager.loadLocalStreamStateBatch(list)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(streamStateEntities -> {
appendStates(streamStateEntities, offset);
callback.run();
}, throwable -> {
if (BuildConfig.DEBUG) throwable.printStackTrace();
callback.run();
})
);
List<StreamStateEntity> streamStateEntities = null;
try {
streamStateEntities = recordManager.loadLocalStreamStateBatch(list).blockingGet();
} catch (Exception e) {
if (BuildConfig.DEBUG) e.printStackTrace();
}
if(streamStateEntities != null) appendStates(streamStateEntities, offset);
callback.run();
} else {
callback.run();
}

View File

@ -51,6 +51,7 @@ import java.util.List;
import io.reactivex.Completable;
import io.reactivex.Flowable;
import io.reactivex.Maybe;
import io.reactivex.Scheduler;
import io.reactivex.Single;
import io.reactivex.schedulers.Schedulers;
@ -109,6 +110,11 @@ public class HistoryRecordManager {
.subscribeOn(Schedulers.io());
}
public Single<Integer> deleteCompelteStreamStateHistory() {
return Single.fromCallable(streamStateTable::deleteAll)
.subscribeOn(Schedulers.io());
}
public Flowable<List<StreamHistoryEntry>> getStreamHistory() {
return streamHistoryTable.getHistory().subscribeOn(Schedulers.io());
}
@ -165,7 +171,7 @@ public class HistoryRecordManager {
.subscribeOn(Schedulers.io());
}
public Single<Integer> deleteWholeSearchHistory() {
public Single<Integer> deleteCompleteSearchHistory() {
return Single.fromCallable(searchHistoryTable::deleteAll)
.subscribeOn(Schedulers.io());
}
@ -291,4 +297,5 @@ public class HistoryRecordManager {
public Single<Integer> removeOrphanedRecords() {
return Single.fromCallable(streamTable::deleteOrphans).subscribeOn(Schedulers.io());
}
}

View File

@ -180,7 +180,7 @@ public class StatisticsPlaylistFragment
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
howManyDeleted -> Toast.makeText(getContext(),
R.string.view_history_deleted,
R.string.watch_history_deleted,
Toast.LENGTH_SHORT).show(),
throwable -> ErrorActivity.reportError(getContext(),
throwable,

View File

@ -187,6 +187,7 @@ public abstract class BasePlayer implements
protected MediaSessionManager mediaSessionManager;
private boolean isPrepared = false;
private Disposable stateLoader;
//////////////////////////////////////////////////////////////////////////*/
@ -283,16 +284,14 @@ public abstract class BasePlayer implements
) {
simpleExoPlayer.seekTo(playQueue.getIndex(), queue.getItem().getRecoveryPosition());
return;
} else if (intent.getBooleanExtra(RESUME_PLAYBACK, false) && isPlaybackResumeEnabled()) {
final PlayQueueItem item = queue.getItem();
if (item != null && item.getRecoveryPosition() == PlayQueueItem.RECOVERY_UNSET && isPlaybackResumeEnabled()) {
final Disposable stateLoader = recordManager.loadStreamState(item)
if (item != null && item.getRecoveryPosition() == PlayQueueItem.RECOVERY_UNSET) {
stateLoader = recordManager.loadStreamState(item)
.observeOn(AndroidSchedulers.mainThread())
.doFinally(() -> {
if (simpleExoPlayer == null) return; // doFinally called while closing
initPlayback(queue, repeatMode, playbackSpeed, playbackPitch, playbackSkipSilence,
/*playOnInit=*/true);
})
.doFinally(() -> initPlayback(queue, repeatMode, playbackSpeed, playbackPitch, playbackSkipSilence,
/*playOnInit=*/true))
.subscribe(
state -> queue.setRecovery(queue.getIndex(), state.getProgressTime()),
error -> {
@ -334,13 +333,13 @@ public abstract class BasePlayer implements
simpleExoPlayer.removeListener(this);
simpleExoPlayer.stop();
simpleExoPlayer.release();
simpleExoPlayer = null;
}
if (isProgressLoopRunning()) stopProgressLoop();
if (playQueue != null) playQueue.dispose();
if (audioReactor != null) audioReactor.dispose();
if (playbackManager != null) playbackManager.dispose();
if (mediaSessionManager != null) mediaSessionManager.dispose();
if (stateLoader != null) stateLoader.dispose();
if (playQueueAdapter != null) {
playQueueAdapter.unsetSelectedListener();

View File

@ -274,7 +274,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
else if (v instanceof String)
prefEdit.putString(key, ((String) v));
}
prefEdit.apply();
prefEdit.commit();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {

View File

@ -51,11 +51,26 @@ public class HistorySettingsFragment extends BasePreferenceFragment {
.setTitle(R.string.delete_view_history_alert)
.setNegativeButton(R.string.cancel, ((dialog, which) -> dialog.dismiss()))
.setPositiveButton(R.string.delete, ((dialog, which) -> {
final Disposable onDeletePlaybackStates = recordManager.deleteCompelteStreamStateHistory()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
howManyDeleted -> Toast.makeText(getActivity(),
R.string.watch_history_states_deleted,
Toast.LENGTH_SHORT).show(),
throwable -> ErrorActivity.reportError(getContext(),
throwable,
SettingsActivity.class, null,
ErrorActivity.ErrorInfo.make(
UserAction.DELETE_FROM_HISTORY,
"none",
"Delete view history",
R.string.general_error)));
final Disposable onDelete = recordManager.deleteWholeStreamHistory()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
howManyDeleted -> Toast.makeText(getActivity(),
R.string.view_history_deleted,
R.string.watch_history_deleted,
Toast.LENGTH_SHORT).show(),
throwable -> ErrorActivity.reportError(getContext(),
throwable,
@ -78,6 +93,7 @@ public class HistorySettingsFragment extends BasePreferenceFragment {
"none",
"Delete search history",
R.string.general_error)));
disposables.add(onDeletePlaybackStates);
disposables.add(onClearOrphans);
disposables.add(onDelete);
}))
@ -90,7 +106,7 @@ public class HistorySettingsFragment extends BasePreferenceFragment {
.setTitle(R.string.delete_search_history_alert)
.setNegativeButton(R.string.cancel, ((dialog, which) -> dialog.dismiss()))
.setPositiveButton(R.string.delete, ((dialog, which) -> {
final Disposable onDelete = recordManager.deleteWholeSearchHistory()
final Disposable onDelete = recordManager.deleteCompleteSearchHistory()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
howManyDeleted -> Toast.makeText(getActivity(),

View File

@ -228,6 +228,10 @@ public final class ExtractorHelper {
});
}
public static boolean isCached(final int serviceId, final String url, InfoItem.InfoType infoType) {
return null != loadFromCache(serviceId, url, infoType).blockingGet();
}
/**
* A simple and general error handler that show a Toast for known exceptions, and for others, opens the report error activity with the (optional) error message.
*/

View File

@ -354,7 +354,7 @@
<string name="clear_views_history_title">محو سجل المشاهدة</string>
<string name="clear_views_history_summary">احذف سِجل الفيديوهات التي تم تشغيلها</string>
<string name="delete_view_history_alert">حذف سجل المشاهدة بالكامل\?</string>
<string name="view_history_deleted">تم حذف سجل المشاهدة.</string>
<string name="watch_history_deleted">تم حذف سجل المشاهدة.</string>
<string name="clear_search_history_title">محو سجل البحث</string>
<string name="clear_search_history_summary">يحذف تاريخ البحث عن الكلمات الرئيسية</string>
<string name="delete_search_history_alert">حذف سِجل البحث بالكامل\?</string>

View File

@ -143,7 +143,7 @@
<string name="clear_views_history_title">Ачысціць гісторыю праглядаў</string>
<string name="clear_views_history_summary">Выдаліць гісторыю прайграных патокаў</string>
<string name="delete_view_history_alert">Выдаліць усю гісторыю праглядаў.</string>
<string name="view_history_deleted">Гісторыя праглядаў выдалена.</string>
<string name="watch_history_deleted">Гісторыя праглядаў выдалена.</string>
<string name="clear_search_history_title">Ачысціць гісторыю пошуку</string>
<string name="clear_search_history_summary">Выдаліць гісторыю пошукавых запытаў</string>
<string name="delete_search_history_alert">Выдаліць усю гісторыю пошуку.</string>

View File

@ -216,7 +216,7 @@
<string name="export_data_summary">Експортиране на историята, абонаментите и плейлистите</string>
<string name="clear_views_history_title">Изтрий историята с изгледани</string>
<string name="delete_view_history_alert">Изтрий цялата история с изгледани\?</string>
<string name="view_history_deleted">Историята с изгледани е изтрита.</string>
<string name="watch_history_deleted">Историята с изгледани е изтрита.</string>
<string name="clear_search_history_title">Изтрий историята на търсенията</string>
<string name="clear_search_history_summary">Изтрива историята с въвежданите за търсене ключови думи</string>
<string name="delete_search_history_alert">Изтрий цялата история на търсенията\?</string>

View File

@ -376,7 +376,7 @@
<string name="clear_views_history_title">Esborra l\'historial de reproduccions</string>
<string name="clear_views_history_summary">Esborra l\'historial dels vídeos que s\'han reproduït</string>
<string name="delete_view_history_alert">Voleu esborrar tot l\'historial de reproduccions\?</string>
<string name="view_history_deleted">S\'ha esborrat l\'historial de reproduccions.</string>
<string name="watch_history_deleted">S\'ha esborrat l\'historial de reproduccions.</string>
<string name="clear_search_history_title">Esborra l\'historial de cerca</string>
<string name="clear_search_history_summary">Esborra l\'historial de paraules cercades</string>
<string name="delete_search_history_alert">Voleu esborrar tot l\'historial de cerca\?</string>

View File

@ -188,7 +188,7 @@
<string name="export_data_summary">导出历史记录、订阅和播放列表</string>
<string name="clear_views_history_summary">删除播放过的媒体历史记录</string>
<string name="delete_view_history_alert">确定要清除所有观看历史记录吗?</string>
<string name="view_history_deleted">观看历史记录已清除。</string>
<string name="watch_history_deleted">观看历史记录已清除。</string>
<string name="clear_search_history_title">清除搜索历史记录</string>
<string name="clear_search_history_summary">清除搜索关键词的历史记录</string>
<string name="delete_search_history_alert">确定要清除所有搜索历史记录吗?</string>

View File

@ -388,7 +388,7 @@ otevření ve vyskakovacím okně</string>
<string name="clear_views_history_title">Vymazat historii sledování</string>
<string name="clear_views_history_summary">Vymaže historii přehrávaných streamů</string>
<string name="delete_view_history_alert">Vymazat celkovou historii sledování\?</string>
<string name="view_history_deleted">Historie sledování smazána.</string>
<string name="watch_history_deleted">Historie sledování smazána.</string>
<string name="clear_search_history_title">Vymazat historii vyhledávání</string>
<string name="clear_search_history_summary">Vymaže historii vyhledávaných klíčových slov</string>
<string name="delete_search_history_alert">Vymazat celkovou historii vyhledávání\?</string>

View File

@ -158,7 +158,7 @@
<string name="clear_views_history_title">Slet visningshistorik</string>
<string name="clear_views_history_summary">Sletter historikken for viste videoer</string>
<string name="delete_view_history_alert">Slet hele visningshistorikken\?</string>
<string name="view_history_deleted">Visningshistorikken blev slettet.</string>
<string name="watch_history_deleted">Visningshistorikken blev slettet.</string>
<string name="clear_search_history_title">Slet søgehistorik</string>
<string name="clear_search_history_summary">Sletter historikken for søgeord</string>
<string name="delete_search_history_alert">Slet hele søgehistorikken\?</string>

View File

@ -378,7 +378,7 @@
<string name="clear_views_history_title">Wiedergabeverlauf löschen</string>
<string name="clear_views_history_summary">Löscht den Verlauf der abgespielten Streams</string>
<string name="delete_view_history_alert">Den ganzen Wiedergabeverlauf löschen\?</string>
<string name="view_history_deleted">Wiedergabeverlauf gelöscht.</string>
<string name="watch_history_deleted">Wiedergabeverlauf gelöscht.</string>
<string name="clear_search_history_title">Suchverlauf löschen</string>
<string name="clear_search_history_summary">Löscht den Verlauf der Suchbegriffe</string>
<string name="delete_search_history_alert">Den gesamten Suchverlauf löschen\?</string>

View File

@ -175,7 +175,7 @@
<string name="clear_views_history_title">Εκκαθάριση ιστορικού προβολής</string>
<string name="clear_views_history_summary">Διαγράφει το ιστορικό των ροών που έχουν αναπαραχθεί</string>
<string name="delete_view_history_alert">Διαγραφή ολόκληρου του ιστορικού προβολής;</string>
<string name="view_history_deleted">Το στορικό προβολής διαγράφηκε.</string>
<string name="watch_history_deleted">Το στορικό προβολής διαγράφηκε.</string>
<string name="clear_search_history_title">Διαγραφή ιστορικού αναζητήσεων</string>
<string name="clear_search_history_summary">Διαγράφει το ιστορικό αναζητήσεών σας</string>
<string name="delete_search_history_alert">Διαγραφή ολόκληρου του ιστορικού αναζητήσεων;</string>

View File

@ -375,7 +375,7 @@ abrir en modo popup</string>
<string name="clear_views_history_title">Borrar historial de reproducciones</string>
<string name="clear_views_history_summary">Elimina el historial de las transmisiones reproducidas</string>
<string name="delete_view_history_alert">¿Eliminar todo el historial de reproducciones\?</string>
<string name="view_history_deleted">Historial de reproducciones eliminado.</string>
<string name="watch_history_deleted">Historial de reproducciones eliminado.</string>
<string name="clear_search_history_title">Borrar historial de búsqueda</string>
<string name="clear_search_history_summary">Elimina el historial de palabras clave de búsqueda</string>
<string name="delete_search_history_alert">¿Eliminar todo el historial de búsqueda\?</string>

View File

@ -137,7 +137,7 @@
<string name="clear_views_history_title">Puhasta vaatamiste ajalugu</string>
<string name="clear_views_history_summary">Kustutab vaadatud voogude ajaloo</string>
<string name="delete_view_history_alert">Kas kustutada kogu vaatamiste ajalugu\?</string>
<string name="view_history_deleted">Vaatamiste ajalugu kustutati.</string>
<string name="watch_history_deleted">Vaatamiste ajalugu kustutati.</string>
<string name="clear_search_history_title">Kustuta otsinguajalugu</string>
<string name="clear_search_history_summary">Kustutab otsisõnade ajaloo</string>
<string name="delete_search_history_alert">Kas kustutada kogu otsinguajalugu\?</string>

View File

@ -290,7 +290,7 @@
<string name="clear_views_history_title">Garbitu ikusitakoaren historiala</string>
<string name="clear_views_history_summary">Jotako jarioen historiala ezabatzen du</string>
<string name="delete_view_history_alert">Ezabatu ikusitakoaren historia osoa\?</string>
<string name="view_history_deleted">Ikusitakoaren historiala ezabatuta.</string>
<string name="watch_history_deleted">Ikusitakoaren historiala ezabatuta.</string>
<string name="clear_search_history_title">Garbitu bilaketa historiala</string>
<string name="clear_search_history_summary">Ezabatu bilaketa gakoen historiala</string>
<string name="delete_search_history_alert">Ezabatu bilaketen historia osoa\?</string>

View File

@ -170,7 +170,7 @@
<string name="minimize_on_exit_none_description">هیچ</string>
<string name="best_resolution">بهترین وضوح</string>
<string name="delete_view_history_alert">تمام تاریخچه نمایش پاک شود؟</string>
<string name="view_history_deleted">تاریخچه نمایش پاک شد.</string>
<string name="watch_history_deleted">تاریخچه نمایش پاک شد.</string>
<string name="clear_search_history_title">پاک‌کردن تاریخچه جستجو</string>
<string name="clear_search_history_summary">تاریخچه کلیدواژه‌های جستجو را پاک می‌کند</string>
<string name="delete_search_history_alert">تمام تاریخچه جستجو پاک شود؟</string>

View File

@ -315,7 +315,7 @@
<string name="clear_views_history_title">Poista katseluhistoria</string>
<string name="clear_views_history_summary">Poistaa toistohistorian</string>
<string name="delete_view_history_alert">Poista koko katseluhistoria.</string>
<string name="view_history_deleted">Katseluhistoria onnistuneesti poistettu.</string>
<string name="watch_history_deleted">Katseluhistoria onnistuneesti poistettu.</string>
<string name="clear_search_history_title">Poista hakuhistoria</string>
<string name="clear_search_history_summary">Poistaa historian haetuista videoista</string>
<string name="delete_search_history_alert">Poista koko hakuhistoria.</string>

View File

@ -378,7 +378,7 @@
<string name="clear_views_history_title">Effacer l\'historique</string>
<string name="clear_views_history_summary">Supprimer l\'historique des flux regardés</string>
<string name="delete_view_history_alert">Supprimer tout l\'historique regardé \?</string>
<string name="view_history_deleted">Historique des vidéos vues supprimé.</string>
<string name="watch_history_deleted">Historique des vidéos vues supprimé.</string>
<string name="clear_search_history_title">Supprimer l\'historique des recherches</string>
<string name="clear_search_history_summary">Supprimer l\'historique de recherche par mot clef</string>
<string name="delete_search_history_alert">Supprimer tout l\'historique de recherche \?</string>

View File

@ -152,7 +152,7 @@
<string name="clear_views_history_title">Limpar historial de reproducións</string>
<string name="clear_views_history_summary">Elimina o historial de emisións reproducidas</string>
<string name="delete_view_history_alert">Elimina todo o historial de reproducións.</string>
<string name="view_history_deleted">O historial de reproducións foi eliminado.</string>
<string name="watch_history_deleted">O historial de reproducións foi eliminado.</string>
<string name="clear_search_history_title">Limpar o historial de procura</string>
<string name="clear_search_history_summary">Elimina o historial de termos procurados</string>
<string name="delete_search_history_alert">Elimina todo o historial de procura.</string>

View File

@ -277,7 +277,7 @@
<string name="metadata_cache_wipe_complete_notice">מטמון נתוני העל התרוקן</string>
<string name="export_data_summary">ייצוא היסטוריה, מינויים ורשימות נגינה</string>
<string name="clear_views_history_title">מחיקת היסטוריית הצפייה</string>
<string name="view_history_deleted">היסטוריית הצפייה נמחקה.</string>
<string name="watch_history_deleted">היסטוריית הצפייה נמחקה.</string>
<string name="clear_search_history_title">מחיקת היסטוריית החיפוש</string>
<string name="search_history_deleted">היסטוריית החיפוש נמחקה.</string>
<string name="invalid_file">הקובץ אינו קיים או שחסרה הרשאה לקרוא אותו או לכתוב אליו</string>

View File

@ -337,7 +337,7 @@
<string name="clear_views_history_title">देखे हुए वीडियो की सूची साफ करें</string>
<string name="clear_views_history_summary">चलाये गए स्ट्रीम का इतिहास साफ करता है</string>
<string name="delete_view_history_alert">देखे गए सभी का इतिहास साफ करें\?</string>
<string name="view_history_deleted">देखे हुए का इतिहास साफ कर दिया गया।</string>
<string name="watch_history_deleted">देखे हुए का इतिहास साफ कर दिया गया।</string>
<string name="clear_search_history_title">ढूंढने के इतिहास को साफ करें</string>
<string name="clear_search_history_summary">ढूंढे गए शब्दो का इतिहास साफ करता है</string>
<string name="delete_search_history_alert">पूरे खोज इतिहास को मिटा दे \?</string>

View File

@ -307,7 +307,7 @@
<string name="clear_views_history_title">Očisti povijest gledanja</string>
<string name="clear_views_history_summary">Briše povijest reproduciranih streamova</string>
<string name="delete_view_history_alert">Obriši cijelu povijest gledanja\?</string>
<string name="view_history_deleted">Povijest gledanja izbrisana.</string>
<string name="watch_history_deleted">Povijest gledanja izbrisana.</string>
<string name="clear_search_history_title">Obriši povijest pretraživanja</string>
<string name="delete_search_history_alert">Obriši cijelu povijest pretraživanja\?</string>
<string name="search_history_deleted">Povijest pretraživanja obrisana.</string>

View File

@ -215,7 +215,7 @@
<string name="clear_views_history_title">Megtekintési előzmények törlése</string>
<string name="clear_views_history_summary">Eltávolítja a megtekintési előzményeket</string>
<string name="delete_view_history_alert">Törlöd az összes megtekintési előzményt\?</string>
<string name="view_history_deleted">Megtekintési előzmények törölve.</string>
<string name="watch_history_deleted">Megtekintési előzmények törölve.</string>
<string name="clear_search_history_title">Keresési előzmények törlése</string>
<string name="clear_search_history_summary">Eltávolítja a kereséshez használt kifejezéseket az előzményekből</string>
<string name="delete_search_history_alert">Törlöd az összes keresési előzményt\?</string>

View File

@ -327,7 +327,7 @@
<string name="clear_views_history_title">Hapus riwayat tontonan</string>
<string name="clear_views_history_summary">Hapus riwayat stream yang telah diputar</string>
<string name="delete_view_history_alert">Hapus seluruh riwayat tontonan\?</string>
<string name="view_history_deleted">Riwayat tontonan dihapus.</string>
<string name="watch_history_deleted">Riwayat tontonan dihapus.</string>
<string name="clear_search_history_title">Hapus riwayat pencarian</string>
<string name="clear_search_history_summary">Hapus riwayat lema pencarian</string>
<string name="delete_search_history_alert">Hapus seluruh riwayat pencarian\?</string>

View File

@ -378,7 +378,7 @@
<string name="clear_views_history_title">Pulisci cronologia visualizzazioni</string>
<string name="clear_views_history_summary">Elimina la cronologia dei flussi riprodotti</string>
<string name="delete_view_history_alert">Elimina l\'intera cronologia delle visualizzazioni\?</string>
<string name="view_history_deleted">Cronologia visualizzazioni eliminata.</string>
<string name="watch_history_deleted">Cronologia visualizzazioni eliminata.</string>
<string name="clear_search_history_title">Pulisci cronologia delle ricerche</string>
<string name="clear_search_history_summary">Cancella la cronologia dei termini di ricerca</string>
<string name="delete_search_history_alert">Elimina l\'intera cronologia delle ricerche\?</string>

View File

@ -312,7 +312,7 @@
<string name="popup_playing_append">ポップアップ再生の順番待ちに追加</string>
<string name="clear_views_history_title">再生履歴を消去</string>
<string name="clear_views_history_summary">再生した動画の履歴を削除します</string>
<string name="view_history_deleted">再生履歴を削除しました。</string>
<string name="watch_history_deleted">再生履歴を削除しました。</string>
<string name="clear_search_history_title">検索履歴を消去</string>
<string name="clear_search_history_summary">検索キーワードの履歴を削除します</string>
<string name="search_history_deleted">検索履歴を削除しました。</string>

View File

@ -381,7 +381,7 @@
<string name="clear_views_history_title">시청 기록 삭제하기</string>
<string name="clear_views_history_summary">동영상 시청 기록을 삭제합니다</string>
<string name="delete_view_history_alert">모든 시청 기록을 삭제하시겠습니까\?</string>
<string name="view_history_deleted">동영상 시청 기록이 삭제되었습니다.</string>
<string name="watch_history_deleted">동영상 시청 기록이 삭제되었습니다.</string>
<string name="clear_search_history_title">검색 기록 삭제</string>
<string name="clear_search_history_summary">검색 기록을 모두 삭제합니다</string>
<string name="delete_search_history_alert">모든 검색 기록을 삭제하시겠습니까\?</string>

View File

@ -419,7 +419,7 @@
<string name="clear_views_history_title">Избриши историја на гледаност</string>
<string name="clear_views_history_summary">Ја брише историјата на пуштени видеа</string>
<string name="delete_view_history_alert">Избриши ја целата историја на гледаност.</string>
<string name="view_history_deleted">Избришана е историјата на гледаност.</string>
<string name="watch_history_deleted">Избришана е историјата на гледаност.</string>
<string name="clear_search_history_title">Избриши историја на пребарувања</string>
<string name="clear_search_history_summary">Ја брише историјата на пребарувања</string>
<string name="delete_search_history_alert">Избриши ја целата историја на пребарувања.</string>

View File

@ -158,7 +158,7 @@
<string name="clear_views_history_title">Hapuskan sejarah tontonan</string>
<string name="clear_views_history_summary">Hapuskan sejarah strim yang telah dimain</string>
<string name="delete_view_history_alert">Padamkan seluruh sejarah tontonan\?</string>
<string name="view_history_deleted">Sejarah tontonan dipadamkan.</string>
<string name="watch_history_deleted">Sejarah tontonan dipadamkan.</string>
<string name="clear_search_history_title">Hapuskan sejarah carian</string>
<string name="clear_search_history_summary">Padamkan sejarah kata kunci carian</string>
<string name="delete_search_history_alert">Padamkan seluruh sejarah carian\?</string>

View File

@ -353,7 +353,7 @@
<string name="clear_views_history_title">Tøm avspillingshistorikk</string>
<string name="clear_views_history_summary">Slett historikken for avspilte strømmer</string>
<string name="delete_view_history_alert">Slett hele visningshistorikken\?</string>
<string name="view_history_deleted">Visningshistorikk slettet.</string>
<string name="watch_history_deleted">Visningshistorikk slettet.</string>
<string name="clear_search_history_title">Tøm søkehistorikk</string>
<string name="clear_search_history_summary">Sletter historikken for søkte nøkkelord</string>
<string name="delete_search_history_alert">Slett hele søkehistorikken\?</string>

View File

@ -372,7 +372,7 @@
<string name="clear_views_history_title">Kijkgeschiedenis wissen</string>
<string name="clear_views_history_summary">Verwijdert de geschiedenis van afgespeelde streams</string>
<string name="delete_view_history_alert">De ganse kijkgeschiedenis verwijderen\?</string>
<string name="view_history_deleted">Kijkgeschiedenis verwijderd.</string>
<string name="watch_history_deleted">Kijkgeschiedenis verwijderd.</string>
<string name="clear_search_history_title">Zoekgeschiedenis wissen</string>
<string name="clear_search_history_summary">Verwijdert de gebruikte zoektermen</string>
<string name="delete_search_history_alert">De ganse zoekgeschiedenis verwijderen\?</string>

View File

@ -378,7 +378,7 @@
<string name="clear_views_history_title">Kijkgeschiedenis wissen</string>
<string name="clear_views_history_summary">Verwijdert de geschiedenis van afgespeelde streams</string>
<string name="delete_view_history_alert">De gehele kijkgeschiedenis wissen\?</string>
<string name="view_history_deleted">Kijkgeschiedenis gewist.</string>
<string name="watch_history_deleted">Kijkgeschiedenis gewist.</string>
<string name="clear_search_history_title">Zoekgeschiedenis wissen</string>
<string name="clear_search_history_summary">Verwijdert de gebruikte zoektermen</string>
<string name="delete_search_history_alert">De gehele zoekgeschiedenis wissen\?</string>

View File

@ -375,7 +375,7 @@
<string name="clear_views_history_title">Wyczyść historię oglądania</string>
<string name="clear_views_history_summary">Usuwa historię odtworzonych strumieni</string>
<string name="delete_view_history_alert">Usunąć całą historię oglądania\?</string>
<string name="view_history_deleted">Usunięto historię oglądania.</string>
<string name="watch_history_deleted">Usunięto historię oglądania.</string>
<string name="clear_search_history_title">Wyczyść historię wyszukiwania</string>
<string name="clear_search_history_summary">Usuwa historię wyszukiwania słów kluczowych</string>
<string name="delete_search_history_alert">Usunąć całą historię wyszukiwania\?</string>

View File

@ -371,7 +371,7 @@ abrir em modo popup</string>
<string name="clear_views_history_title">"Limpar histórico de já assistidos "</string>
<string name="clear_views_history_summary">Deleta o histórico de videos já reproduzidos</string>
<string name="delete_view_history_alert">Deletar todo o histórico de já reproduzidos\?</string>
<string name="view_history_deleted">Histórico de já assistidos deletado.</string>
<string name="watch_history_deleted">Histórico de já assistidos deletado.</string>
<string name="clear_search_history_title">Limpar histórico de pesquisa</string>
<string name="clear_search_history_summary">Deleta histórico de palavras chave pesquisadas</string>
<string name="delete_search_history_alert">Deletar todo o histórico de pesquisa\?</string>

View File

@ -353,7 +353,7 @@
<string name="users">Utilizadores</string>
<string name="clear_views_history_summary">Apaga o histórico dos vídeos reproduzidos</string>
<string name="delete_view_history_alert">Apagar todo o histórico de visualizações\?</string>
<string name="view_history_deleted">Histórico de vídeos apagado.</string>
<string name="watch_history_deleted">Histórico de vídeos apagado.</string>
<string name="clear_search_history_title">Apagar histórico de pesquisas</string>
<string name="clear_search_history_summary">Apaga o histórico de palavras-chave pesquisadas</string>
<string name="delete_search_history_alert">Apagar todo o histórico de pesquisa\?</string>

View File

@ -358,7 +358,7 @@ pentru a deschide în mod pop-up</string>
<string name="file_deleted">Fișier șters</string>
<string name="app_update_notification_channel_name">Notificare actualizare aplicație</string>
<string name="app_update_notification_channel_description">Notificări pentru noi versiuni NewPipe</string>
<string name="view_history_deleted">Afișare istoric șters.</string>
<string name="watch_history_deleted">Afișare istoric șters.</string>
<string name="clear_search_history_title">Șterge istoric căutare</string>
<string name="clear_search_history_summary">Ștergere istoric căutare cuvinte cheie</string>
<string name="delete_search_history_alert">Șterge întregul istoric căutare\?</string>

View File

@ -378,7 +378,7 @@
<string name="caption_setting_description">Изменить размер текста и стиль титров. Нужен перезапуск</string>
<string name="clear_views_history_title">Очистить историю просмотров</string>
<string name="delete_view_history_alert">Удалить всю историю просмотров\?</string>
<string name="view_history_deleted">История просмотров удалена</string>
<string name="watch_history_deleted">История просмотров удалена</string>
<string name="clear_search_history_title">Очистить историю поиска</string>
<string name="clear_search_history_summary">Удалить историю запросов поиска</string>
<string name="clear_views_history_summary">Удалить историю воспроизведённых потоков</string>

View File

@ -385,7 +385,7 @@
<string name="clear_views_history_title">Vymazať históriu pozretí</string>
<string name="clear_views_history_summary">Odstráni históriu prehrávaných streamov</string>
<string name="delete_view_history_alert">Vymazať celú históriu pozretí.</string>
<string name="view_history_deleted">História pozretí bola vymazaná.</string>
<string name="watch_history_deleted">História pozretí bola vymazaná.</string>
<string name="clear_search_history_title">Vymazať históriu vyhľadávania</string>
<string name="clear_search_history_summary">Vymaže históriu vyhľadávania kľúčových slov</string>
<string name="delete_search_history_alert">Vymazať celú históriu vyhľadávania.</string>

View File

@ -320,7 +320,7 @@
<string name="clear_views_history_title">Rensa visningshistorik</string>
<string name="clear_views_history_summary">Tar bort historiken för spelade videoklipp</string>
<string name="delete_view_history_alert">Ta bort hela visningshistoriken\?</string>
<string name="view_history_deleted">Visningshistorik borttagen.</string>
<string name="watch_history_deleted">Visningshistorik borttagen.</string>
<string name="clear_search_history_title">Rensa sökhistorik</string>
<string name="clear_search_history_summary">Tar bort historiken för sökta nyckelord</string>
<string name="delete_search_history_alert">Ta bort hela sökhistoriken\?</string>

View File

@ -93,7 +93,7 @@
<string name="just_once">ஒரு முறை</string>
<string name="file">கோப்பு</string>
<string name="clear_views_history_title">பார்த்த வரலாற்றை நீக்கு</string>
<string name="view_history_deleted">பார்த்த வரலாறு அழிக்கப்பட்டது.</string>
<string name="watch_history_deleted">பார்த்த வரலாறு அழிக்கப்பட்டது.</string>
<string name="clear_search_history_title">பார்த்த வரலாற்றை நீக்கு</string>
<string name="search_history_deleted">தேடல் வரலாறு அழிக்கப்பட்டது.</string>
<string name="file_name_empty_error">கோப்பு பெயர் காலியாக இருக்க முடியாது</string>

View File

@ -378,7 +378,7 @@
<string name="clear_views_history_title">İzleme geçmişini temizle</string>
<string name="clear_views_history_summary">Oynatılan akışların geçmişini siler</string>
<string name="delete_view_history_alert">İzleme geçmişinin tamamı silinsin mi\?</string>
<string name="view_history_deleted">İzleme geçmişi silindi.</string>
<string name="watch_history_deleted">İzleme geçmişi silindi.</string>
<string name="clear_search_history_title">Arama geçmişini temizle</string>
<string name="clear_search_history_summary">Aramada kullanılan anahtar kelimelerin geçmişini siler</string>
<string name="delete_search_history_alert">Tüm arama geçmişi silinsin mi\?</string>

View File

@ -379,7 +379,7 @@
<string name="clear_views_history_title">Очистити історію переглядів</string>
<string name="clear_views_history_summary">Видаляє історію відтворень</string>
<string name="delete_view_history_alert">Видалити всю історію переглядів\?</string>
<string name="view_history_deleted">Історію переглядів видалено.</string>
<string name="watch_history_deleted">Історію переглядів видалено.</string>
<string name="clear_search_history_title">Очистити історію пошуку</string>
<string name="clear_search_history_summary">Видаляє історію пошукових ключових слів</string>
<string name="delete_search_history_alert">Видалити всю історію пошуку\?</string>

View File

@ -222,7 +222,7 @@
<string name="clear_views_history_title">Xóa lịch sử xem</string>
<string name="clear_views_history_summary">Xóa lịch sử của các luồng đã phát</string>
<string name="delete_view_history_alert">Xóa toàn bộ lịch sử xem\?</string>
<string name="view_history_deleted">Đã xóa lịch sử xem.</string>
<string name="watch_history_deleted">Đã xóa lịch sử xem.</string>
<string name="clear_search_history_title">Xóa lịch sử tìm kiếm</string>
<string name="clear_search_history_summary">Xóa lịch sử của từ khóa tìm kiếm</string>
<string name="delete_search_history_alert">Xóa toàn bộ lịch sử tìm kiếm\?</string>

View File

@ -436,7 +436,7 @@
<string name="clear_views_history_title">清除观看记录</string>
<string name="clear_views_history_summary">删除视频观看记录</string>
<string name="delete_view_history_alert">删除全部观看记录。</string>
<string name="view_history_deleted">观看记录已删除。</string>
<string name="watch_history_deleted">观看记录已删除。</string>
<string name="clear_search_history_title">清除搜索记录</string>
<string name="clear_search_history_summary">删除搜索关键词记录</string>
<string name="delete_search_history_alert">删除全部搜索记录。</string>

View File

@ -374,7 +374,7 @@
<string name="clear_views_history_title">清除觀看歷史</string>
<string name="clear_views_history_summary">刪除播放過的串流歷史</string>
<string name="delete_view_history_alert">刪除所有觀看歷史記錄?</string>
<string name="view_history_deleted">觀看歷史已刪除。</string>
<string name="watch_history_deleted">觀看歷史已刪除。</string>
<string name="clear_search_history_title">清除搜尋歷史</string>
<string name="clear_search_history_summary">刪除搜尋關鍵字的歷史</string>
<string name="delete_search_history_alert">刪除所有搜尋歷史記錄?</string>

View File

@ -173,7 +173,8 @@
<string name="clear_views_history_title">Clear watch history</string>
<string name="clear_views_history_summary">Deletes the history of played streams</string>
<string name="delete_view_history_alert">Delete entire watch history?</string>
<string name="view_history_deleted">Watch history deleted.</string>
<string name="watch_history_deleted">Watch history deleted.</string>
<string name="watch_history_states_deleted">Playback positions deleted.</string>
<string name="clear_search_history_title">Clear search history</string>
<string name="clear_search_history_summary">Deletes history of search keywords</string>
<string name="delete_search_history_alert">Delete entire search history?</string>

View File

@ -0,0 +1,23 @@
New
Playback resume #2288
• Resume streams where you stopped last time
Downloader Enhancements #2149
• Use Storage Access Framework to store downloads on external SD-cards
• New mp4 muxer
• Optionally change the download directory before starting a download
• Respect metered networks
Improved
• Removed gema strings #2295
• Handle (auto)rotation changes during activity lifecycle #2444
• Make long-press menus consistent #2368
Fixed
• Fixed selected subtitle track name not being shown #2394
• Do not crash when check for app update fails (GitHub version) #2423
• Fixed downloads stuck at 99.9% #2440
• Update play queue metadata #2453
• [SoundCloud] Fixed crash when loading playlists TeamNewPipe/NewPipeExtractor#170
• [YouTube] Fixed duration can not be paresd TeamNewPipe/NewPipeExtractor#177