1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2026-03-16 04:39:44 +00:00

Merge pull request #12969 from TeamNewPipe/refactor-merge

Merge dev into refactor
This commit is contained in:
Aayush Gupta
2025-12-29 22:48:14 +08:00
committed by GitHub
39 changed files with 395 additions and 73 deletions

View File

@@ -3,6 +3,19 @@
NewPipe contribution guidelines
===============================
## AI policy
* Using generative AI to develop new features or making larger code changes is generally prohibited. Please refrain from contributions which are heavily depending on AI generated source code because they are usually lacking a fundamental understanding of the overall project structure and thus come with poor quality. However, you are allowed to use gen. AI if you
* are aware of the project structure,
* ensure that the generated code follows the project structure,
* fully understand the generated code, and
* review the generated code completely.
* Using AI to find the root cause of bugs and generating small fixes might be acceptable. However, gen. AI often does not fix the underlying problem but is trying to fix the symptoms. If you are using AI to fix bugs, ensure that the root cause is tackled.
* The use of AI to generate documentation is allowed. We ask you to thoroughly check the quality of generated documentation wrong, misleading or uninformative documentation is useless and wastes the reader's time. Ensure that reasoning is documented.
* Using generative AI to write or fill in PR or issue templates is prohibited. Those texts are often lengthy and miss critical information.
* PRs and issues that do not follow this AI policy can be closed without further explanation.
## Crash reporting
Report crashes through the **automated crash report system** of NewPipe.

View File

@@ -26,6 +26,8 @@ body:
required: true
- label: "I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required: true
- label: "I have read and understood the [AI policy](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md#ai-policy). The content of this bug report is not generated by AI."
required: true
- type: input
id: app-version

View File

@@ -25,6 +25,8 @@ body:
required: true
- label: "I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required: true
- label: "I have read and understood the [AI policy](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md#ai-policy). The content of this request is not generated by AI."
required: true
- type: textarea

View File

@@ -32,3 +32,5 @@ The APK can be found by going to the "Checks" tab below the title. On the left p
#### Due diligence
- [ ] I read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md).
- [ ] The proposed changes follow the [AI policy](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md#ai-policy).
- [ ] I tested the changes using an emulator or a physical device.

View File

@@ -55,8 +55,8 @@ data class SubscriptionEntity(
fun toChannelInfoItem(): ChannelInfoItem {
return ChannelInfoItem(this.serviceId, this.url, this.name).apply {
thumbnails = ImageStrategy.dbUrlToImageList(this@SubscriptionEntity.avatarUrl)
subscriberCount = this.subscriberCount
description = this.description
subscriberCount = this@SubscriptionEntity.subscriberCount ?: -1
description = this@SubscriptionEntity.description
}
}

View File

@@ -136,6 +136,7 @@ class VideoDetailFragment :
// player objects
private var playQueue: PlayQueue? = null
@JvmField @State var autoPlayEnabled: Boolean = true
@JvmField @State var originalOrientation: Int = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
private var playerService: PlayerService? = null
private var player: Player? = null
@@ -1730,25 +1731,24 @@ class VideoDetailFragment :
}
override fun onFullscreenToggleButtonClicked() {
// On Android TV screen rotation is not supported
// In tablet user experience will be better if screen will not be rotated
// from landscape to portrait every time.
// Just turn on fullscreen mode in landscape orientation
// or portrait & unlocked global orientation
val isLandscape = DeviceUtils.isLandscape(requireContext())
if (DeviceUtils.isTv(activity) || DeviceUtils.isTablet(activity) &&
(!PlayerHelper.globalScreenOrientationLocked(activity) || isLandscape)
) {
player!!.UIs().get(MainPlayerUi::class)?.toggleFullscreen()
val playerUi: MainPlayerUi = player?.UIs()?.get(MainPlayerUi::class.java) ?: return
// On tablets and TVs, just toggle fullscreen UI without orientation change.
if (DeviceUtils.isTablet(activity) || DeviceUtils.isTv(activity)) {
playerUi.toggleFullscreen()
return
}
val newOrientation = if (isLandscape)
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
else
ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE
activity.setRequestedOrientation(newOrientation)
if (playerUi.isFullscreen) {
// EXITING FULLSCREEN
playerUi.toggleFullscreen()
activity.setRequestedOrientation(originalOrientation)
} else {
// ENTERING FULLSCREEN
originalOrientation = activity.getRequestedOrientation()
playerUi.toggleFullscreen()
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)
}
}
/*

View File

@@ -391,7 +391,7 @@ public final class Player implements PlaybackListener, Listener {
return;
}
final PlayQueueItem newItem = newQueue.getStreams().get(0);
newQueue.enqueueNext(newItem, false);
playQueue.enqueueNext(newItem, false);
return;
}

View File

@@ -2,6 +2,7 @@ package us.shandian.giga.ui.adapter;
import static android.content.Intent.FLAG_GRANT_PREFIX_URI_PERMISSION;
import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION;
import static android.content.Intent.createChooser;
import static us.shandian.giga.get.DownloadMission.ERROR_CONNECT_HOST;
import static us.shandian.giga.get.DownloadMission.ERROR_FILE_CREATION;
import static us.shandian.giga.get.DownloadMission.ERROR_HTTP_NO_CONTENT;
@@ -349,11 +350,15 @@ public class MissionAdapter extends Adapter<ViewHolder> implements Handler.Callb
if (BuildConfig.DEBUG)
Log.v(TAG, "Mime: " + mimeType + " package: " + BuildConfig.APPLICATION_ID + ".provider");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(resolveShareableUri(mission), mimeType);
intent.addFlags(FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(FLAG_GRANT_PREFIX_URI_PERMISSION);
ShareUtils.openIntentInApp(mContext, intent);
Intent viewIntent = new Intent(Intent.ACTION_VIEW);
viewIntent.setDataAndType(resolveShareableUri(mission), mimeType);
viewIntent.addFlags(FLAG_GRANT_READ_URI_PERMISSION);
viewIntent.addFlags(FLAG_GRANT_PREFIX_URI_PERMISSION);
Intent chooserIntent = createChooser(viewIntent, null);
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | FLAG_GRANT_READ_URI_PERMISSION);
ShareUtils.openIntentInApp(mContext, chooserIntent);
}
private void shareFile(Mission mission) {
@@ -364,8 +369,7 @@ public class MissionAdapter extends Adapter<ViewHolder> implements Handler.Callb
shareIntent.putExtra(Intent.EXTRA_STREAM, resolveShareableUri(mission));
shareIntent.addFlags(FLAG_GRANT_READ_URI_PERMISSION);
final Intent intent = new Intent(Intent.ACTION_CHOOSER);
intent.putExtra(Intent.EXTRA_INTENT, shareIntent);
final Intent intent = createChooser(shareIntent, null);
// unneeded to set a title to the chooser on Android P and higher because the system
// ignores this title on these versions
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O_MR1) {

View File

@@ -296,7 +296,7 @@
<string name="clear_queue_confirmation_summary">এক প্লেয়ার থেকে অন্য প্লেয়ারে পরিবর্তন করলে তোমার সারি প্রতিস্থাপিত হতে পারে</string>
<string name="clear_queue_confirmation_title">কিউ মোছার আগে নিশ্চিত করো</string>
<string name="notification_actions_at_most_three">কমপ্যাক্ট বিজ্ঞপ্তিতে প্রদর্শন করতে তুমি সর্বাধিক তিনটি ক্রিয়া নির্বাচন করতে পারো!</string>
<string name="notification_actions_summary">নিচের প্রতিটি প্রজ্ঞাপন ক্রিয়া সম্পাদনা কর। ডান দিকের চেকবাক্স ব্যবহার করে কম্প্যাক্ট নোটিফিকেশনে দেখানোর জন্য তিনটি পর্যন্ত নির্বাচন কর</string>
<string name="notification_actions_summary">নিচের প্রতিটি প্রজ্ঞাপন ক্রিয়া সম্পাদনা করুন । ডান দিকের চেকবাক্স ব্যবহার করে কম্প্যাক্ট নোটিফিকেশনে দেখানোর জন্য তিনটি পর্যন্ত নির্বাচন করুন ।</string>
<string name="notification_scale_to_square_image_summary">প্রদর্শিত ভিডিও থাম্বনেইল ১৬:৯ থেকে ১:১অনুপাতে পরিবর্তন করো</string>
<string name="settings_category_feed_title">ফিড</string>
<string name="overwrite">ওভাররাইট</string>
@@ -627,4 +627,8 @@
<string name="main_page_content_swipe_remove">ভুক্তি মুছতে ডানে-বামে সরাও</string>
<string name="loading_stream_details">সম্প্রচার বিষয়ক তথ্য প্রক্রিয়ারত…</string>
<string name="progressive_load_interval_title">প্লেব্যাক লোড বিরতির আকার</string>
<string name="yes">হ্যা</string>
<string name="no">না</string>
<string name="tab_bookmarks_short">প্লেলিস্ট</string>
<string name="ignore_hardware_media_buttons_summary">উদাহরণস্বরূপ, যদি আপনি ভাঙা ফিজিক্যাল বোতাম সহ একটি হেডসেট ব্যবহার করেন তবে এটি কার্যকর</string>
</resources>

View File

@@ -832,4 +832,11 @@
<string name="short_billion">%sB</string>
<string name="delete_file">Slet fil</string>
<string name="account_terminated_service_provides_reason">Kontoen er blevet lukket\n\n%1$s angiver følgende årsag: %2$s</string>
<string name="channel_tab_likes">Likes</string>
<string name="migration_info_6_7_title">SoundCloud Top 50-siden fjernet</string>
<string name="migration_info_6_7_message">SoundCloud har udfaset de oprindelige Top 50-hitlister. Den tilhørende fane er blevet fjernet fra din hovedside.</string>
<string name="migration_info_7_8_title">YouTube kombineret trending fjernet</string>
<string name="migration_info_7_8_message">YouTube har udfaset den kombinerede trending-side pr. 21. juli 2025. NewPipe har erstattet standardsiden for trending med trending livestreams.\n\nDu kan også vælge andre trending-sider under \"Indstillinger &gt; Indhold &gt; Indhold på hovedsiden\".</string>
<string name="trending_gaming">Gaming-trends</string>
<string name="trending_podcasts">Trending podcasts</string>
</resources>

View File

@@ -842,4 +842,14 @@
<string name="delete_file">Eliminar archivo</string>
<string name="short_thousand">%sM</string>
<string name="short_million">%sM</string>
<string name="delete_entry">Eliminar entrada</string>
<string name="account_terminated_service_provides_reason">Cuenta cancelada\n\n%1$s proporciona esta razón: %2$s</string>
<string name="entry_deleted">Entrada eliminada</string>
<string name="player_http_403">Error HTTP 403 recibido del servidor durante la reproducción, probablemente causado por la expiración de la URL de transmisión o una prohibición de IP</string>
<string name="player_http_invalid_status">Error HTTP %1$s recibido del servidor durante la reproducción</string>
<string name="youtube_player_http_403">Error HTTP 403 recibido del servidor durante la reproducción, probablemente causado por una prohibición de IP o problemas de desofuscación de la URL de transmisión</string>
<string name="sign_in_confirm_not_bot_error">%1$s se negó a proporcionar datos y solicitó un inicio de sesión para confirmar que el solicitante no es un bot.\n\nEs posible que tu IP haya sido bloqueada temporalmente por %1$s. Puedes esperar un tiempo o cambiar a una IP diferente (por ejemplo, habilitando o deshabilitando una VPN, o cambiando de WiFi a datos móviles).</string>
<string name="short_billion">%sMM</string>
<string name="unsupported_content_in_country">Este contenido no está disponible para el país seleccionado actualmente.\n\nCambia tu selección en «Ajustes &gt; Contenido &gt; País predefinido del contenido».</string>
<string name="permission_display_over_apps_message">Para usar el reproductor emergente, seleccione %1$s en el siguiente menú de la configuración de Android y habilite %2$s.</string>
</resources>

View File

@@ -834,4 +834,26 @@
<string name="tab_bookmarks_short">Grojaraščiai</string>
<string name="audio_track_type_secondary">Antrinis</string>
<string name="share_playlist_as_youtube_temporary_playlist">Dalintis kaip laikinuoju youtube grojaraščiu</string>
<string name="search_with_service_name">Ieškoti %1$s</string>
<string name="search_with_service_name_and_filter">Ieškoti %1$s (%2$s)</string>
<string name="permission_display_over_apps_message">Norėdami įjungti \"Popup Grotuvą\" pasirinkite Android nustatymų meniu pasirinkite %1$s ir įjunkite %2$s.</string>
<string name="permission_display_over_apps_permission_name">\"Leisti piešti virš kitų langų\"</string>
<string name="short_thousand">%sK</string>
<string name="short_million">%sM</string>
<string name="short_billion">%sB</string>
<string name="delete_file">Pašalinti failą</string>
<string name="delete_entry">Ištrinti įrašą</string>
<string name="select_a_feed_group">Pasirinkite kanalo grupę</string>
<string name="no_feed_group_created_yet">Dar nėra kanalo grupės</string>
<string name="feed_group_page_summary">Kanalo grupės puslapis</string>
<string name="account_terminated_service_provides_reason">Paskyra pašalinta\n\n%1$s dėl šios priežasties: %2$s</string>
<string name="channel_tab_likes">Mėgsta</string>
<string name="migration_info_6_7_title">SoundCloud Top 50 puslapis pašalintas</string>
<string name="migration_info_6_7_message">SoundCloud nebeteikia Top 50. Šis puslapis pašalintas iš jūsų pagrindinio puslapio.</string>
<string name="migration_info_7_8_title">YouTube sujungti rekomenduojami pašalinti</string>
<string name="trending_gaming">Žaidimų pasiūlymai</string>
<string name="trending_podcasts">Mėgstami podcasts</string>
<string name="trending_movies">Mėgstami filmai ir laidos</string>
<string name="trending_music">Mėgstama muzika</string>
<string name="entry_deleted">Įrašas pašalintas</string>
</resources>

View File

@@ -0,0 +1,16 @@
# Vylepšení
Ponechání aktuálního přehrávače při klepnutí na časová razítka
Pokus o obnovení čekajících stahování, pokud to jde
Možnost odstranění stahování bez smazání souboru
Oprávnění Zobrazení přes ostatní aplikace: zobrazení vysvětlení pro Android > R
Podpora odkazů on.soundcloud
Spousta malých vylepšení a optimalizací
# Opravy
Oprava formátování pro verze Androidu nižší než 7
Oprava falešných oznámení
Opravy souborů titulků SRT
Oprava spousty pádů
# Vývoj
Interní modernizace kódu

View File

@@ -0,0 +1,16 @@
# Verbesserungen
Aktuellen Player beim Klick auf Zeitstempel beibehalten
Wiederherstellen ausstehender Downloadaufträge
Downloads löschen, ohne gleichzeitiges Löschen der Datei
Overlay-Berechtigung: Erklärendes Dialogfeld für Android > R
Unterstützung von on.soundcloud-Links
Viele kleine Verbesserungen und Optimierungen
# Behoben
Kurzformatierung für Android-Versionen unter 7
Geisterbenachrichtigungen
SRT-Untertiteldateien
Zahlreiche Abstürze
# Entwicklung
Modernisierung des internen Codes

View File

@@ -4,5 +4,5 @@
- Kleine Codeverbesserungen #1375
- Alles über DSGVO hinzugefügt #1420
### Repariert
### Behoben
- Downloader: Absturz beim Laden unvollendeter Downloads von .giga-Dateien behoben #1407

View File

@@ -1,12 +1,12 @@
# Änderungen von v0.14.1
### Fixed
### Behoben
- nicht entschlüsselt Video url #1659
- Beschreibungs Link nicht extrahierbar #1657
# Änderungen von v0.14.0
### New
### Neu
- Neues Schubladendesign #1461
- Neue anpassbare Titelseite #1461
@@ -14,6 +14,6 @@
- Reworked Gesture Controls #1604
- Neue Möglichkeit, den Pop-up-Player #1597 zu schließen
### Fixed
### Behoben
- Fehler beheben, wenn die Anzahl der Abonnements nicht verfügbar ist. Schließt #1649.
- Zeigen Sie "Abonnentenzählung nicht verfügbar" in diesen Fällen.

View File

@@ -1,14 +1,15 @@
### New
- Long-tap Löschen & Teilen in Abonnements #1516
- Tablet UI & Rasterlistenlayout #1617
### Neu
- Langes Tippen zum Löschen/Teilen in Abonnements #1516
- Tablet-UI und Rasterlistenlayout #1617
### Verbesserungen
- Speichern und Nachladen des zuletzt verwendeten Seitenverhältnisses #1748
- Separate Einstellungen für Lautstärke & Helligkeitsgesten #1644
- Speichern/Neuladen des zuletzt verwendeten Seitenverhältnisses #1748
- Separate Einstellungen für Lautstärke-/Helligkeitsgesten #1644
- Unterstützung für Lokalisierung #1792
### Fixes
### Fehlerbehebungen
- Anzahl der Abonnements
- Foreground Service Erlaubnis für API 28+ Geräte #1830 hinzugefügt
- Vordergrund-Dienstberechtigung für Geräte mit API 28+ hinzugefügt #1830
### Known Bugs
- Wiedergabe kann nicht auf Android P gespeichert werden
### Bekannte Fehler
- Wiedergabestatus wird unter Android P nicht gespeichert

View File

@@ -5,6 +5,6 @@ ACHTUNG: Diese Version ist wahrscheinlich ein Bugfest.
* Drop-Unterstützung für Android 4.1 - 4.3 #1884
* Streams aus der aktuellen Warteschlange entfernt, indem sie nach rechts swipen #1915
### Fixed
### Behoben
* Crash mit Standard-Auflösung eingestellt auf beste und begrenzte mobile Datenauflösung #1835
* Pop-up-Spieler-Absturz behoben #1874

View File

@@ -1,8 +1,10 @@
### Verbesserungen
* App-Update-Benachrichtigung für GitHub build hinzufügen (#1608 von @krtkush)
* Verschiedene Verbesserungen des Downloaders (#1944 von @kapodamy):
* Fügen Sie fehlende weiße Icons hinzu und verwenden Sie hardcored Weg, um die Icon Farben zu ändern
* neue MPEG-4 muxer fixieren nicht-synchrone Video- und Audiostreams (#2039)
* Benachrichtigung über App-Updates für GitHub-Build (#1608 von @krtkush)
* Verschiedene Verbesserungen am Downloader (#1944 von @kapodamy):
* Weiße Symbole und Hardcoded-Methode zum Ändern der Symbolfarben
* Überprüfung, ob der Iterator initialisiert ist (behebt #2031)
* Erlaubt erneute Downloads mit dem Fehler „Nachbearbeitung fehlgeschlagen“ im neuen Muxer
* Neuer MPEG-4-Muxer (#2039)
### Fixed
* YouTube Live-Streams spielen nach kurzer Zeit (#1996 von @yausername)
### Behoben
* YouTube-Livestreams werden nicht abgespielt (#1996 von @yausername)

View File

@@ -1,2 +1,2 @@
# Behoben
- erneuter Hotfix des Entschlüsselungsfunktionsfehlers.
- Fehler bei der Entschlüsselungsfunktion erneut behoben.

View File

@@ -1,12 +1,12 @@
<h4>Verbesserungen</h4>
<ul>
<li>Make Links in Kommentare klickbar, erhöhen Textgröße</li>
<li>seek zum Klicken von Zeitstempel-Links in Kommentare</li>
<li>Beliebte Registerkarte basierend auf kürzlich ausgewähltem Zustand anzeigen</li>
<li>Add-Unterstützung für Invidious links</li>
<li>Links in Kommentaren anklickbar machen, Textgröße erhöhen</li>
<li>Bei Anklicken von Zeitstempel-Links in Kommentaren suchen</li>
<li>Bevorzugte Registerkarte basierend auf zuletzt ausgewähltem Status anzeigen</li>
<li>Unterstützung für Invidious-Links</li>
</ul>
<h4>Fixed</h4>
<h4>Behoben</h4>
<ul>
<li>fixed scroll w/kommentare und verwandten Streams deaktiviert</li>
<li>fixiert CheckForNewAppVersionTask wird ausgeführt, wenn es sollten&#39;t</li>
<li>Scrollen mit deaktivierten Kommentaren und verwandten Streams behoben</li>
<li>CheckForNewAppVersionTask wird nicht mehr ausgeführt, wenn es nicht sollte</li>
</ul>

View File

@@ -1,15 +1,15 @@
Neu
Playback Lebenslauf #2288
• Resume Streams, wo Sie letztes Mal aufgehört haben
Downloader Verbesserungen #2149
Wiedergabe fortsetzen #2288
Downloader-Verbesserungen #2149
Verbessert
• Gemaketten entfernen #2295
Handle (auto)Rotationsänderungen während des Aktivitätszyklus #2444
• GEMA-Strings entfernt #2295
(Automatische) Rotationsänderungen #2444
• Menüs bei langem Drücken #2368
Behoben
Fixed Downloads bei 99,9% #2440
• Aktualisieren der Spielwarteschlange Metadaten #2453
[SoundCloud] Fester Absturz beim Laden von Wiedergabelisten TeamNewPipe/NewPipeExtractor#170
[YouTube] Feste Dauer kann nicht paresd TeamNewPipe/NewPipeExtractor#177
Untertitelnamenanzeige #2394
• Absturz, wenn die Überprüfung auf App-Updates fehlschlägt (GitHub-Version) #2423
Downloads, die bei 99,9 % hängen bleiben #2440
Metadaten der Wiedergabeliste aktualisieren #2453
• [SoundCloud] Absturz beim Laden von Wiedergabelisten TeamNewPipe/NewPipeExtractor#170

View File

@@ -1,7 +1,7 @@
Verbesserungen
Verbessert
• Autoplay ist nun für alle Services verfügbar (nicht nur für YouTube)
Reparaturen
Behoben
• Verwandte Streams wurden behoben, indem die neuen Streamfortsetzungen von YouTube unterstützt werden
• Altersbeschränkte Videos repariert
• [Android TV] Überlagerung von Fokus-Hervorhebungen behoben

View File

@@ -0,0 +1,16 @@
# Improved
Keep current player when clicking on timestamps
Try to recover pending download missions when possible
Add option to delete a download without also deleting file
Overlay Permission: display explanatory dialog for Android > R
Support on.soundcloud link opening
A lot of small improvements and optimizations
# Fixed
Fix short count formatting for Android versions below 7
Fix ghost notifications
Fixes for SRT subtitle files
Fixed tons of crashes
# Development
Internal code modernization

View File

@@ -0,0 +1,17 @@
# Améliorations
Conservation du lecteur en cours lors du clic sur les horodatages
Tentative de récupération des téléchargements en attente
Ajout d'une option pour supprimer un téléchargement sans supprimer le fichier
Autorisation de superposition : affichage d'une boîte de dialogue explicative pour Android > R
Prise en charge de l'ouverture des liens .soundcloud
Nombreuses améliorations et optimisations mineures
# Corrections
Correction du formatage du nombre court pour les versions Android inférieures à 7
Correction des notifications fantômes
Corrections pour les fichiers de sous-titres SRT
Correction de nombreux plantages
# Développement
Modernisation du code interne

View File

@@ -0,0 +1,16 @@
# Továbbfejlesztve
Az aktuális lejátszó megmarad időbélyegre kattintáskor
Függőben lévő letöltések helyreállításának megkísérlése
Letöltés törlése a fájl megtartásával
Overlay engedélyhez magyarázó párbeszédablak (Android 11+)
on.soundcloud hivatkozások támogatása
Sok kisebb fejlesztés és optimalizálás
# Javítva
Számozás javítása Android 7 alatt
Szellem értesítések javítása
SRT felirat javítások
Sok összeomlás javítva
# Fejlesztés
Belső kód modernizálása

View File

@@ -0,0 +1,16 @@
# Migliorie
Tieni il player attuale se si cliccano le marche temporali
Recupera i download in sospeso se possibile
Opzione per eliminare un download senza anche eliminare il file
Autorizzazione di sovrapposizione: mostra finestra esplicativa per Android > R
Supporto per link on.soundcloud
Tanti piccoli miglioramenti e ottimizzazioni
# Correzioni
Formattazione breve del conto per Android < 7
Notifiche fantasma
File di sottotitoli SRT
Crash vari
# Sviluppo
Ammodernamento del codice interno

View File

@@ -0,0 +1,16 @@
Ulepszone
- Utrzymyw. bieżącego odtwarzacza przy naciskaniu znaczników czasu
- Próba odzysk. oczekuj. pobierań, jeśli to możliwe
- Dodano opcję usuwania pobierania bez usuwania pliku
- Uprawnienie na nakładkę: wyświetl. okna z objaśnieniami dla Androida powyżej R
- Obsługa otw. linków on.soundcloud
- Wiele drobnych ulepszeń i optymal.
Naprawione
- Formatow. krótkich liczb na Androidzie poniżej 7
- Puste powiadomienia
- Pliki napisów SRT
- Mnóstwo awarii
Rozwój
- Modernizacja wewnętrznego kodu

View File

@@ -0,0 +1,16 @@
# Vylepšené
Aktuálny prehrávač zostane zachovaný pri kliknutí na časové značky
Ak je to možné, pokúsi sa obnoviť čakajúce úlohy sťahovania
Pridaná možnosť odstrániť sťahovanie bez odstránenia súboru
Oprávnenie zobrazenia cez ostatné aplikácie: zobrazí vysvetlenie pre Android > R
Podpora otvárania odkazov on.soundcloud
Množstvo malých vylepšení a optimalizácií
# Opravené
Oprava formátovania krátkeho počítania pre verzie Androidu nižšie ako 7
Oprava klamných oznámení
Oprava súborov titulkov SRT
Oprava množstva zlyhaní
# Vývoj
Modernizácia interného kódu

View File

@@ -0,0 +1,16 @@
新增
• 新增对 Android Auto 的支持
• 允许将信息流分组设置为主屏幕标签页
• [YouTube] 以临时播放列表的形式分享
• [SoundCloud] 新增“喜欢”频道标签页
改进
• 优化搜索栏提示
• 在“下载”中显示下载日期
• 使用 Android 13 的应用内语言
修复
• 修复深色模式下文本颜色显示错误
• [YouTube] 修复播放列表加载超过 100 个项目时无法加载的问题
• [YouTube] 修复推荐视频缺失的问题
• 修复历史记录列表视图中的崩溃问题
• 修复评论回复中的时间戳显示错误

View File

@@ -0,0 +1,16 @@
# 改进
单击时间戳时保持当前播放器
尽可能恢复未完成的下载任务
新增选项,允许删除下载项而不删除文件
叠加层权限:在 Android R 及以上版本中显示说明对话框
支持打开 on.soundcloud 链接
大量小改进和优化
# 修复
修复 Android 7 以下版本短计数格式问题
修复幽灵通知
修复 SRT 字幕文件问题
修复大量崩溃问题
# 开发
内部代码现代化

View File

@@ -0,0 +1,13 @@
新增
• 在错误面板中添加“在浏览器中打开”按钮
• 新增以列表形式显示频道组的选项
• [YouTube] 长按视频片段即可分享时间戳 URL
• 在迷你播放器中添加播放队列按钮
改进
• 新增冰岛语本地化并更新了其他多种语言的翻译
• 多项内部改进
修复
• 修复多个崩溃问题
• [YouTube] 修复部分国家/地区频道加载、非专用源播放以及播放问题

View File

@@ -0,0 +1,17 @@
新增
• 视频详情页显示订阅者数量
• 从播放队列下载
• 永久设置播放列表缩略图
• 长按话题标签和链接
• 卡片视图模式
改进
• 更大的迷你播放器关闭按钮
• 更流畅的缩略图缩放
• 目标平台Android 13 (API 33)
• 快进/快退操作不再导致播放器暂停
修复
• 修复 DeX/鼠标上的叠加层问题
• 允许后台播放,无需单独的音频流
• 其他 YouTube 相关问题修复及更多…

View File

@@ -0,0 +1,12 @@
新增
• 添加重复播放列表时发出警告,并添加删除按钮
• 允许忽略硬件按钮
• 允许在信息流中隐藏已观看但未完成的视频
改进
• 在大屏幕上使用更多网格列
• 使进度指示器与设置保持一致
修复
• 修复在 Android 11 及更高版本上打开浏览器 URL、下载和外部播放器的问题
• 修复在 MIUI 系统上全屏交互需要点击两次的问题

View File

@@ -0,0 +1,15 @@
新增
• 支持多音轨/多语言
• 允许在屏幕任意一侧使用手势调节音量和亮度
• 支持在屏幕底部显示主标签页
改进
• [Bandcamp] 处理付费墙后的曲目
修复
• [YouTube] 修复流媒体播放的 403 HTTP 错误
• 修复从播放列表视图切换到主播放器时播放器黑屏的问题
• 修复播放器服务内存泄漏问题
• [PeerTube] 上传者和子频道头像互换的问题
以及更多

View File

@@ -0,0 +1,16 @@
新增
• 支持频道标签页
• 可选择图像质量
• 获取所有图像的 URL
改进
• 播放器界面更易于访问
• 改进仅下载视频时的音频选择
• 可选择在共享播放列表内容中包含播放列表和视频名称
修复
• [YouTube] 修复获取点赞数的问题
• 修复播放器无响应的弹出窗口和崩溃问题
• 修复语言选择器中选择错误语言的问题
• 修复播放器音频焦点未响应静音设置的问题
• 修复播放列表项目添加功能偶尔失效的问题

View File

@@ -0,0 +1,2 @@
修复了在 media.ccc.de 中打开频道/会议时出现的 NullPointerException 异常。
圣诞怪杰试图破坏我们送给大家的圣诞礼物,但我们已经解决了这个问题。

View File

@@ -0,0 +1,17 @@
新增
• 添加评论回复
• 允许重新排序播放列表
• 显示播放列表描述和时长
• 允许重置设置
改进
• [Android 13+] 恢复自定义通知操作
• 请求更新检查的同意
• 允许在缓冲期间播放/暂停通知
• 重新排序部分设置
修复
• [YouTube] 修复评论无法加载的问题,以及其他修复和改进
• 修复设置导入中的漏洞并切换到 JSON 格式
• 修复各种下载问题
• 精简搜索文本

View File

@@ -6,14 +6,14 @@
[versions]
about-libraries = "11.2.3"
acra = "5.13.1"
agp = "8.13.1"
agp = "8.13.2"
appcompat = "1.7.1"
assertj = "3.27.6"
autoservice-google = "1.1.1"
autoservice-zacsweers = "1.2.0"
bridge = "v2.0.2"
cardview = "1.0.0"
checkstyle = "12.1.2"
checkstyle = "12.2.0"
coil = "3.0.4"
compose-bom = "2024.10.01"
constraintlayout = "2.2.1"
@@ -38,7 +38,7 @@ lifecycle = "2.9.4" # Newer versions require minSdk >= 23
markwon = "4.6.2"
material = "1.13.0"
media = "1.7.1"
mockitoCore = "5.20.0"
mockitoCore = "5.21.0"
navigation-compose = "2.8.3"
okhttp = "5.3.2"
paging-compose = "3.3.2"
@@ -51,10 +51,10 @@ runner = "1.7.0"
rxandroid = "3.0.2"
rxbinding = "4.0.0"
rxjava = "3.1.12"
sonarqube = "7.0.1.6134"
sonarqube = "7.2.1.6560"
statesaver = "1.4.1" # TODO: Drop because it is deprecated and incompatible with KSP2
stetho = "1.6.0"
swiperefreshlayout = "1.1.0"
swiperefreshlayout = "1.2.0"
# You can use a local version by uncommenting a few lines in settings.gradle
# Or you can use a commit you pushed to GitHub by just replacing TeamNewPipe with your GitHub
# name and the commit hash with the commit hash of the (pushed) commit you want to test
@@ -65,7 +65,7 @@ teamnewpipe-nanojson = "e9d656ddb49a412a5a0a5d5ef20ca7ef09549996"
# the corresponding commit hash, since JitPack sometimes deletes artifacts.
# If theres already a git hash, just add more of it to the end (or remove a letter)
# to cause jitpack to regenerate the artifact.
teamnewpipe-newpipe-extractor = "76eb2008cab3fbbbe547135e7bfa3d2e8e32a7d1"
teamnewpipe-newpipe-extractor = "05e0e4ced7b6ff05f3d68d831efed8bdf588f9ac"
webkit = "1.14.0"
work = "2.10.5" # Newer versions require minSdk >= 23