diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54415858ef5..f6708fa832c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -111,6 +111,7 @@ jobs: path: app/build/reports/androidTests/connected/** sonar: + if: ${{ false }} # the key has expired and needs to be regenerated by the sonar admins runs-on: ubuntu-latest permissions: diff --git a/README.md b/README.md index 3cd7927af3a..c1914406438 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -
refactor branch if you want to contribute new features. The current codebase is in maintenance mode and will only receive bugfixes.
diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt
index 91ff7cd279d..8c5d05394d1 100644
--- a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt
+++ b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt
@@ -12,6 +12,7 @@ import android.view.MenuItem
import android.view.SubMenu
import android.view.View
import android.view.ViewGroup
+import android.webkit.MimeTypeMap
import android.widget.Toast
import androidx.activity.result.ActivityResult
import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
@@ -456,6 +457,7 @@ class SubscriptionFragment : BaseStateFragment
> {
try {
- val parentIdUri = Uri.parse(parentId)
+ val parentIdUri = parentId.toUri()
val path = ArrayList(parentIdUri.pathSegments)
if (path.isEmpty()) {
@@ -185,7 +186,7 @@ class MediaBrowserImpl(
builder
.setMediaId(createMediaIdForInfoItem(playlist is PlaylistRemoteEntity, playlist.uid))
.setTitle(playlist.orderingName)
- .setIconUri(playlist.thumbnailUrl?.let { Uri.parse(it) })
+ .setIconUri(imageUriOrNullIfDisabled(playlist.thumbnailUrl))
val extras = Bundle()
extras.putString(
@@ -212,7 +213,7 @@ class MediaBrowserImpl(
}
ImageStrategy.choosePreferredImage(item.thumbnails)?.let {
- builder.setIconUri(Uri.parse(it))
+ builder.setIconUri(imageUriOrNullIfDisabled(it))
}
return MediaBrowserCompat.MediaItem(
@@ -258,7 +259,7 @@ class MediaBrowserImpl(
builder.setMediaId(createMediaIdForPlaylistIndex(false, playlistId, index))
.setTitle(item.streamEntity.title)
.setSubtitle(item.streamEntity.uploader)
- .setIconUri(Uri.parse(item.streamEntity.thumbnailUrl))
+ .setIconUri(imageUriOrNullIfDisabled(item.streamEntity.thumbnailUrl))
return MediaBrowserCompat.MediaItem(
builder.build(),
@@ -277,7 +278,7 @@ class MediaBrowserImpl(
.setSubtitle(item.uploaderName)
ImageStrategy.choosePreferredImage(item.thumbnails)?.let {
- builder.setIconUri(Uri.parse(it))
+ builder.setIconUri(imageUriOrNullIfDisabled(it))
}
return MediaBrowserCompat.MediaItem(
@@ -316,7 +317,7 @@ class MediaBrowserImpl(
builder.setMediaId(mediaId)
.setTitle(streamHistoryEntry.streamEntity.title)
.setSubtitle(streamHistoryEntry.streamEntity.uploader)
- .setIconUri(Uri.parse(streamHistoryEntry.streamEntity.thumbnailUrl))
+ .setIconUri(imageUriOrNullIfDisabled(streamHistoryEntry.streamEntity.thumbnailUrl))
return MediaBrowserCompat.MediaItem(
builder.build(),
@@ -395,5 +396,13 @@ class MediaBrowserImpl(
companion object {
private val TAG: String = MediaBrowserImpl::class.java.getSimpleName()
+
+ fun imageUriOrNullIfDisabled(url: String?): Uri? {
+ return if (ImageStrategy.shouldLoadImages()) {
+ url?.toUri()
+ } else {
+ null
+ }
+ }
}
}
diff --git a/app/src/main/java/org/schabi/newpipe/player/mediabrowser/MediaBrowserPlaybackPreparer.kt b/app/src/main/java/org/schabi/newpipe/player/mediabrowser/MediaBrowserPlaybackPreparer.kt
index f34677a2984..a3791e2e73f 100644
--- a/app/src/main/java/org/schabi/newpipe/player/mediabrowser/MediaBrowserPlaybackPreparer.kt
+++ b/app/src/main/java/org/schabi/newpipe/player/mediabrowser/MediaBrowserPlaybackPreparer.kt
@@ -6,6 +6,7 @@ import android.os.Bundle
import android.os.ResultReceiver
import android.support.v4.media.session.PlaybackStateCompat
import android.util.Log
+import androidx.core.net.toUri
import com.google.android.exoplayer2.Player
import com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.PlaybackPreparer
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
@@ -137,7 +138,7 @@ class MediaBrowserPlaybackPreparer(
private fun extractPlayQueueFromMediaId(mediaId: String): Single
NewPipe
.Android واجهة أمامية متدفقة خفيفة الوزن لنظام
-
+
diff --git a/doc/README.asm.md b/doc/README.asm.md
index c2d919d09ee..37d0949b71b 100644
--- a/doc/README.asm.md
+++ b/doc/README.asm.md
@@ -2,7 +2,7 @@
NewPipe
এণ্ড্ৰইডৰ বাবে এটা লিব্ৰে লাইটৱেট ষ্ট্ৰীমিং ফ্ৰন্ট-এণ্ড।
-
+
diff --git a/doc/README.de.md b/doc/README.de.md
index 03dd2b364a3..34ad94ab1da 100644
--- a/doc/README.de.md
+++ b/doc/README.de.md
@@ -1,11 +1,11 @@
-
Wir planen große Teile des Quellcodes neu zu schreiben, um NewPipe neu, modern und stabiler zu machen!
-Öffne keine neuen Pull Requests für neue Features, es werden nur Fehlerbehebungen akzeptiert.
+Wir sind im Prozess, größere Teile unseres Codes neuzuschreiben, um eine moderne und stabile NewPipe App zu kreieren! Du kannst nightly builds hier herunterladen.
+Bitte nutze den
refactor branch als Arbeitsgrundlage, wenn du neue Funktionen beitragen willst. Die aktuelle Codebase ist im reinen Maintenance mode und bekommt nur noch Fehlerbehebungen.NewPipe
Eine freie, offene und leichtgewichtige Streaming App für Android.
-
+
diff --git a/doc/README.es.md b/doc/README.es.md
index 338b3242a7c..4a08cba0841 100644
--- a/doc/README.es.md
+++ b/doc/README.es.md
@@ -2,7 +2,7 @@
NewPipe
Una interfaz de streaming ligera y libre para Android.
-
+
diff --git a/doc/README.fr.md b/doc/README.fr.md
index ee3621e27cf..cfebcb2a6e9 100644
--- a/doc/README.fr.md
+++ b/doc/README.fr.md
@@ -5,7 +5,7 @@
NewPipe
Un front-end de streaming libre et léger pour Android.
-
+
diff --git a/doc/README.hi.md b/doc/README.hi.md
index ed56fca144d..6098c6c266d 100644
--- a/doc/README.hi.md
+++ b/doc/README.hi.md
@@ -2,7 +2,7 @@
NewPipe
Android के लिए एक ओपन सोर्स, हल्का YouTube ऐप।
-
+
diff --git a/doc/README.it.md b/doc/README.it.md
index 930959c77eb..d926db6bcd6 100644
--- a/doc/README.it.md
+++ b/doc/README.it.md
@@ -2,7 +2,7 @@
NewPipe
Un frontend di streaming libero e leggero per Android.
-
+
diff --git a/doc/README.ja.md b/doc/README.ja.md
index 19902d57e2a..1e751855b7b 100644
--- a/doc/README.ja.md
+++ b/doc/README.ja.md
@@ -2,7 +2,7 @@
NewPipe
自由で軽量な Android 向けストリーミングフロントエンド
-
+
diff --git a/doc/README.ko.md b/doc/README.ko.md
index 3c2f9f39efc..39fb7e11cd9 100644
--- a/doc/README.ko.md
+++ b/doc/README.ko.md
@@ -2,7 +2,7 @@
NewPipe
A libre lightweight streaming frontend for Android.
-
+
diff --git a/doc/README.pa.md b/doc/README.pa.md
index 2dbc94c14e6..9b84ded1806 100644
--- a/doc/README.pa.md
+++ b/doc/README.pa.md
@@ -2,7 +2,7 @@
NewPipe
ਐਂਡਰੌਇਡ ਲਈ ਇੱਕ ਮੁਫ਼ਤ ਹਲਕਾ-ਫੁਲਕਾ ਸਟ੍ਰੀਮਿੰਗ ਯੂਟਿਊਬ ਫਰੰਟ-ਐਂਡ।
-
+
diff --git a/doc/README.pl.md b/doc/README.pl.md
index 9d216c59032..9574491c7cc 100644
--- a/doc/README.pl.md
+++ b/doc/README.pl.md
@@ -2,7 +2,7 @@
NewPipe
Wolny, lekki streamingowy frontend na Androida.
-
+
diff --git a/doc/README.pt_BR.md b/doc/README.pt_BR.md
index d65fa979055..b73da2de139 100644
--- a/doc/README.pt_BR.md
+++ b/doc/README.pt_BR.md
@@ -6,7 +6,7 @@
NewPipe
Uma interface de streaming leve e gratuita para Android.
-
+
diff --git a/doc/README.ro.md b/doc/README.ro.md
index 5363ef7bce4..3f146f7e4d2 100644
--- a/doc/README.ro.md
+++ b/doc/README.ro.md
@@ -2,7 +2,7 @@
NewPipe
Un front-end de streaming „uşor” liber, pentru Android.
-
+
diff --git a/doc/README.ru.md b/doc/README.ru.md
index 894e5f2e0aa..8a9955707b7 100644
--- a/doc/README.ru.md
+++ b/doc/README.ru.md
@@ -2,7 +2,7 @@
NewPipe
Свободный и легковесный клиент потоковых сервисов для Android.
-
+
diff --git a/doc/README.ryu.md b/doc/README.ryu.md
index 8676f1bfd3d..f3ca31af057 100644
--- a/doc/README.ryu.md
+++ b/doc/README.ryu.md
@@ -2,7 +2,7 @@
NewPipe
じゆーいっしけいりょうなAndroidんきーストリーミングフロントエンド
-
+
diff --git a/doc/README.so.md b/doc/README.so.md
index 82e544d93e2..843bed7495d 100644
--- a/doc/README.so.md
+++ b/doc/README.so.md
@@ -2,7 +2,7 @@
NewPipe
App bilaash ah oo fudud looguna talagalay in Android-ka wax loogu daawado.
-
+
diff --git a/doc/README.sr.md b/doc/README.sr.md
index d8b0fe4354b..21e4d857c02 100644
--- a/doc/README.sr.md
+++ b/doc/README.sr.md
@@ -5,7 +5,7 @@
NewPipe
Бесплатна и лагана апликација за стримовање за Android.
-
+
diff --git a/doc/README.tr.md b/doc/README.tr.md
index c6610d97db3..6e95e54defe 100644
--- a/doc/README.tr.md
+++ b/doc/README.tr.md
@@ -2,7 +2,7 @@
NewPipe
Android için hafif ve özgür bir akış arayüzü.
-
+
diff --git a/doc/README.zh_TW.md b/doc/README.zh_TW.md
index 04a8355cb58..05518624fe1 100644
--- a/doc/README.zh_TW.md
+++ b/doc/README.zh_TW.md
@@ -2,7 +2,7 @@
NewPipe
輕巧的 Android 串流前端
-
+