getPlaylistInfo(final int serviceId,
final String url,
final boolean forceLoad) {
diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java
index bc113e8f868..097097d8915 100644
--- a/app/src/main/java/org/schabi/newpipe/util/Localization.java
+++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java
@@ -219,11 +219,6 @@ public static String deletedDownloadCount(@NonNull final Context context,
deletedCount, shortCount(context, deletedCount));
}
- public static String replyCount(@NonNull final Context context, final int replyCount) {
- return getQuantity(context, R.plurals.replies, 0, replyCount,
- String.valueOf(replyCount));
- }
-
/**
* @param context the Android context
* @param likeCount the like count, possibly negative if unknown
diff --git a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
index 5dee32371b5..e7da003d126 100644
--- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
@@ -9,6 +9,7 @@
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
+import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
@@ -45,7 +46,6 @@
import org.schabi.newpipe.fragments.MainFragment;
import org.schabi.newpipe.fragments.detail.VideoDetailFragment;
import org.schabi.newpipe.fragments.list.channel.ChannelFragment;
-import org.schabi.newpipe.fragments.list.comments.CommentRepliesFragment;
import org.schabi.newpipe.fragments.list.kiosk.KioskFragment;
import org.schabi.newpipe.fragments.list.playlist.PlaylistFragment;
import org.schabi.newpipe.fragments.list.search.SearchFragment;
@@ -501,20 +501,14 @@ public static void openCommentAuthorIfPresent(@NonNull final FragmentActivity ac
}
}
- public static void openCommentRepliesFragment(@NonNull final FragmentActivity activity,
- @NonNull final CommentsInfoItem comment) {
- defaultTransaction(activity.getSupportFragmentManager())
- .replace(R.id.fragment_holder, new CommentRepliesFragment(comment),
- CommentRepliesFragment.TAG)
- .addToBackStack(CommentRepliesFragment.TAG)
- .commit();
- }
-
public static void openPlaylistFragment(final FragmentManager fragmentManager,
- final int serviceId, final String url,
- @NonNull final String name) {
+ final int serviceId, final String url) {
+ final var args = new Bundle();
+ args.putInt(Constants.KEY_SERVICE_ID, serviceId);
+ args.putString(Constants.KEY_URL, url);
+
defaultTransaction(fragmentManager)
- .replace(R.id.fragment_holder, PlaylistFragment.getInstance(serviceId, url, name))
+ .replace(R.id.fragment_holder, PlaylistFragment.class, args)
.addToBackStack(null)
.commit();
}
diff --git a/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java b/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java
index 7524e5413c5..9008a213deb 100644
--- a/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java
+++ b/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java
@@ -10,6 +10,7 @@
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.text.TextUtils;
@@ -25,12 +26,15 @@
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.Image;
import org.schabi.newpipe.util.image.ImageStrategy;
-import org.schabi.newpipe.util.image.PicassoHelper;
-import java.io.File;
-import java.io.FileOutputStream;
+import java.nio.file.Files;
+import java.util.Collections;
import java.util.List;
+import coil.Coil;
+import coil.disk.DiskCache;
+import coil.memory.MemoryCache;
+
public final class ShareUtils {
private static final String TAG = ShareUtils.class.getSimpleName();
@@ -278,7 +282,7 @@ public static void shareText(@NonNull final Context context,
* @param content the content to share
* @param images a set of possible {@link Image}s of the subject, among which to choose with
* {@link ImageStrategy#choosePreferredImage(List)} since that's likely to
- * provide an image that is in Picasso's cache
+ * provide an image that is in Coil's cache
*/
public static void shareText(@NonNull final Context context,
@NonNull final String title,
@@ -339,11 +343,9 @@ public static void copyToClipboard(@NonNull final Context context, final String
*
*
* In order not to worry about network issues (timeouts, DNS issues, low connection speed, ...)
- * when sharing a content, only images in the {@link com.squareup.picasso.LruCache LruCache}
- * used by the Picasso library inside {@link PicassoHelper} are used as preview images. If the
- * thumbnail image is not in the cache, no {@link ClipData} will be generated and {@code null}
- * will be returned.
- *
+ * when sharing a content, only images in the {@link MemoryCache} or {@link DiskCache}
+ * used by the Coil library are used as preview images. If the thumbnail image is not in the
+ * cache, no {@link ClipData} will be generated and {@code null} will be returned.
*
*
* In order to display the image in the content preview of the Android share sheet, an URI of
@@ -359,12 +361,6 @@ public static void copyToClipboard(@NonNull final Context context, final String
*
*
*
- * This method will call {@link PicassoHelper#getImageFromCacheIfPresent(String)} to get the
- * thumbnail of the content in the {@link com.squareup.picasso.LruCache LruCache} used by
- * the Picasso library inside {@link PicassoHelper}.
- *
- *
- *
* Using the result of this method when sharing has only an effect on the system share sheet (if
* OEMs didn't change Android system standard behavior) on Android API 29 and higher.
*
@@ -378,33 +374,46 @@ private static ClipData generateClipDataForImagePreview(
@NonNull final Context context,
@NonNull final String thumbnailUrl) {
try {
- final Bitmap bitmap = PicassoHelper.getImageFromCacheIfPresent(thumbnailUrl);
- if (bitmap == null) {
- return null;
- }
-
// Save the image in memory to the application's cache because we need a URI to the
// image to generate a ClipData which will show the share sheet, and so an image file
final Context applicationContext = context.getApplicationContext();
- final String appFolder = applicationContext.getCacheDir().getAbsolutePath();
- final File thumbnailPreviewFile = new File(appFolder
- + "/android_share_sheet_image_preview.jpg");
+ final var loader = Coil.imageLoader(context);
+ final var value = loader.getMemoryCache()
+ .get(new MemoryCache.Key(thumbnailUrl, Collections.emptyMap()));
+
+ final Bitmap cachedBitmap;
+ if (value != null) {
+ cachedBitmap = value.getBitmap();
+ } else {
+ try (var snapshot = loader.getDiskCache().openSnapshot(thumbnailUrl)) {
+ if (snapshot != null) {
+ cachedBitmap = BitmapFactory.decodeFile(snapshot.getData().toString());
+ } else {
+ cachedBitmap = null;
+ }
+ }
+ }
- // Any existing file will be overwritten with FileOutputStream
- final FileOutputStream fileOutputStream = new FileOutputStream(thumbnailPreviewFile);
- bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fileOutputStream);
- fileOutputStream.close();
+ if (cachedBitmap == null) {
+ return null;
+ }
+
+ final var path = applicationContext.getCacheDir().toPath()
+ .resolve("android_share_sheet_image_preview.jpg");
+ // Any existing file will be overwritten
+ try (var outputStream = Files.newOutputStream(path)) {
+ cachedBitmap.compress(Bitmap.CompressFormat.JPEG, 90, outputStream);
+ }
final ClipData clipData = ClipData.newUri(applicationContext.getContentResolver(), "",
FileProvider.getUriForFile(applicationContext,
BuildConfig.APPLICATION_ID + ".provider",
- thumbnailPreviewFile));
+ path.toFile()));
if (DEBUG) {
Log.d(TAG, "ClipData successfully generated for Android share sheet: " + clipData);
}
return clipData;
-
} catch (final Exception e) {
Log.w(TAG, "Error when setting preview image for share sheet", e);
return null;
diff --git a/app/src/main/java/org/schabi/newpipe/util/image/CoilHelper.kt b/app/src/main/java/org/schabi/newpipe/util/image/CoilHelper.kt
new file mode 100644
index 00000000000..2608090dc95
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/util/image/CoilHelper.kt
@@ -0,0 +1,145 @@
+package org.schabi.newpipe.util.image
+
+import android.content.Context
+import android.graphics.Bitmap
+import android.util.Log
+import android.widget.ImageView
+import androidx.annotation.DrawableRes
+import androidx.core.graphics.drawable.toBitmapOrNull
+import coil.executeBlocking
+import coil.imageLoader
+import coil.request.Disposable
+import coil.request.ImageRequest
+import coil.size.Size
+import coil.target.Target
+import coil.transform.Transformation
+import org.schabi.newpipe.MainActivity
+import org.schabi.newpipe.R
+import org.schabi.newpipe.extractor.Image
+import org.schabi.newpipe.ktx.scale
+import kotlin.math.min
+
+object CoilHelper {
+ private val TAG = CoilHelper::class.java.simpleName
+
+ @JvmOverloads
+ fun loadBitmapBlocking(
+ context: Context,
+ url: String?,
+ @DrawableRes placeholderResId: Int = 0
+ ): Bitmap? {
+ val request = getImageRequest(context, url, placeholderResId).build()
+ return context.imageLoader.executeBlocking(request).drawable?.toBitmapOrNull()
+ }
+
+ fun loadAvatar(target: ImageView, images: List) {
+ loadImageDefault(target, images, R.drawable.placeholder_person)
+ }
+
+ fun loadAvatar(target: ImageView, url: String?) {
+ loadImageDefault(target, url, R.drawable.placeholder_person)
+ }
+
+ fun loadThumbnail(target: ImageView, images: List) {
+ loadImageDefault(target, images, R.drawable.placeholder_thumbnail_video)
+ }
+
+ fun loadThumbnail(target: ImageView, url: String?) {
+ loadImageDefault(target, url, R.drawable.placeholder_thumbnail_video)
+ }
+
+ fun loadScaledDownThumbnail(context: Context, images: List, target: Target): Disposable {
+ val url = ImageStrategy.choosePreferredImage(images)
+ val request = getImageRequest(context, url, R.drawable.placeholder_thumbnail_video)
+ .target(target)
+ .transformations(object : Transformation {
+ override val cacheKey = "COIL_PLAYER_THUMBNAIL_TRANSFORMATION_KEY"
+
+ override suspend fun transform(input: Bitmap, size: Size): Bitmap {
+ if (MainActivity.DEBUG) {
+ Log.d(TAG, "Thumbnail - transform() called")
+ }
+
+ val notificationThumbnailWidth = min(
+ context.resources.getDimension(R.dimen.player_notification_thumbnail_width),
+ input.width.toFloat()
+ ).toInt()
+
+ var newHeight = input.height / (input.width / notificationThumbnailWidth)
+ val result = input.scale(notificationThumbnailWidth, newHeight)
+
+ return if (result == input || !result.isMutable) {
+ // create a new mutable bitmap to prevent strange crashes on some
+ // devices (see #4638)
+ newHeight = input.height / (input.width / (notificationThumbnailWidth - 1))
+ input.scale(notificationThumbnailWidth, newHeight)
+ } else {
+ result
+ }
+ }
+ })
+ .build()
+
+ return context.imageLoader.enqueue(request)
+ }
+
+ fun loadDetailsThumbnail(target: ImageView, images: List) {
+ val url = ImageStrategy.choosePreferredImage(images)
+ loadImageDefault(target, url, R.drawable.placeholder_thumbnail_video, false)
+ }
+
+ fun loadBanner(target: ImageView, images: List) {
+ loadImageDefault(target, images, R.drawable.placeholder_channel_banner)
+ }
+
+ fun loadPlaylistThumbnail(target: ImageView, images: List) {
+ loadImageDefault(target, images, R.drawable.placeholder_thumbnail_playlist)
+ }
+
+ fun loadPlaylistThumbnail(target: ImageView, url: String?) {
+ loadImageDefault(target, url, R.drawable.placeholder_thumbnail_playlist)
+ }
+
+ private fun loadImageDefault(
+ target: ImageView,
+ images: List,
+ @DrawableRes placeholderResId: Int
+ ) {
+ loadImageDefault(target, ImageStrategy.choosePreferredImage(images), placeholderResId)
+ }
+
+ private fun loadImageDefault(
+ target: ImageView,
+ url: String?,
+ @DrawableRes placeholderResId: Int,
+ showPlaceholder: Boolean = true
+ ) {
+ val request = getImageRequest(target.context, url, placeholderResId, showPlaceholder)
+ .target(target)
+ .build()
+ target.context.imageLoader.enqueue(request)
+ }
+
+ private fun getImageRequest(
+ context: Context,
+ url: String?,
+ @DrawableRes placeholderResId: Int,
+ showPlaceholderWhileLoading: Boolean = true
+ ): ImageRequest.Builder {
+ // if the URL was chosen with `choosePreferredImage` it will be null, but check again
+ // `shouldLoadImages` in case the URL was chosen with `imageListToDbUrl` (which is the case
+ // for URLs stored in the database)
+ val takenUrl = url?.takeIf { it.isNotEmpty() && ImageStrategy.shouldLoadImages() }
+
+ return ImageRequest.Builder(context)
+ .data(takenUrl)
+ .error(placeholderResId)
+ .memoryCacheKey(takenUrl)
+ .diskCacheKey(takenUrl)
+ .apply {
+ if (takenUrl != null || showPlaceholderWhileLoading) {
+ placeholder(placeholderResId)
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/org/schabi/newpipe/util/image/PicassoHelper.java b/app/src/main/java/org/schabi/newpipe/util/image/PicassoHelper.java
deleted file mode 100644
index 4b116bdf906..00000000000
--- a/app/src/main/java/org/schabi/newpipe/util/image/PicassoHelper.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package org.schabi.newpipe.util.image;
-
-import static org.schabi.newpipe.MainActivity.DEBUG;
-import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
-import static org.schabi.newpipe.util.image.ImageStrategy.choosePreferredImage;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.util.Log;
-
-import androidx.annotation.DrawableRes;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.graphics.BitmapCompat;
-
-import com.squareup.picasso.Cache;
-import com.squareup.picasso.LruCache;
-import com.squareup.picasso.OkHttp3Downloader;
-import com.squareup.picasso.Picasso;
-import com.squareup.picasso.RequestCreator;
-import com.squareup.picasso.Transformation;
-
-import org.schabi.newpipe.R;
-import org.schabi.newpipe.extractor.Image;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import okhttp3.OkHttpClient;
-
-public final class PicassoHelper {
- private static final String TAG = PicassoHelper.class.getSimpleName();
- private static final String PLAYER_THUMBNAIL_TRANSFORMATION_KEY =
- "PICASSO_PLAYER_THUMBNAIL_TRANSFORMATION_KEY";
-
- private PicassoHelper() {
- }
-
- private static Cache picassoCache;
- private static OkHttpClient picassoDownloaderClient;
-
- // suppress because terminate() is called in App.onTerminate(), preventing leaks
- @SuppressLint("StaticFieldLeak")
- private static Picasso picassoInstance;
-
-
- public static void init(final Context context) {
- picassoCache = new LruCache(10 * 1024 * 1024);
- picassoDownloaderClient = new OkHttpClient.Builder()
- .cache(new okhttp3.Cache(new File(context.getExternalCacheDir(), "picasso"),
- 50L * 1024L * 1024L))
- // this should already be the default timeout in OkHttp3, but just to be sure...
- .callTimeout(15, TimeUnit.SECONDS)
- .build();
-
- picassoInstance = new Picasso.Builder(context)
- .memoryCache(picassoCache) // memory cache
- .downloader(new OkHttp3Downloader(picassoDownloaderClient)) // disk cache
- .defaultBitmapConfig(Bitmap.Config.RGB_565)
- .build();
- }
-
- public static void terminate() {
- picassoCache = null;
- picassoDownloaderClient = null;
-
- if (picassoInstance != null) {
- picassoInstance.shutdown();
- picassoInstance = null;
- }
- }
-
- public static void clearCache(final Context context) throws IOException {
- picassoInstance.shutdown();
- picassoCache.clear(); // clear memory cache
- final okhttp3.Cache diskCache = picassoDownloaderClient.cache();
- if (diskCache != null) {
- diskCache.delete(); // clear disk cache
- }
- init(context);
- }
-
- public static void cancelTag(final Object tag) {
- picassoInstance.cancelTag(tag);
- }
-
- public static void setIndicatorsEnabled(final boolean enabled) {
- picassoInstance.setIndicatorsEnabled(enabled); // useful for debugging
- }
-
-
- public static RequestCreator loadAvatar(@NonNull final List images) {
- return loadImageDefault(images, R.drawable.placeholder_person);
- }
-
- public static RequestCreator loadAvatar(@Nullable final String url) {
- return loadImageDefault(url, R.drawable.placeholder_person);
- }
-
- public static RequestCreator loadThumbnail(@NonNull final List images) {
- return loadImageDefault(images, R.drawable.placeholder_thumbnail_video);
- }
-
- public static RequestCreator loadThumbnail(@Nullable final String url) {
- return loadImageDefault(url, R.drawable.placeholder_thumbnail_video);
- }
-
- public static RequestCreator loadDetailsThumbnail(@NonNull final List images) {
- return loadImageDefault(choosePreferredImage(images),
- R.drawable.placeholder_thumbnail_video, false);
- }
-
- public static RequestCreator loadBanner(@NonNull final List images) {
- return loadImageDefault(images, R.drawable.placeholder_channel_banner);
- }
-
- public static RequestCreator loadPlaylistThumbnail(@NonNull final List images) {
- return loadImageDefault(images, R.drawable.placeholder_thumbnail_playlist);
- }
-
- public static RequestCreator loadPlaylistThumbnail(@Nullable final String url) {
- return loadImageDefault(url, R.drawable.placeholder_thumbnail_playlist);
- }
-
- public static RequestCreator loadSeekbarThumbnailPreview(@Nullable final String url) {
- return picassoInstance.load(url);
- }
-
- public static RequestCreator loadNotificationIcon(@Nullable final String url) {
- return loadImageDefault(url, R.drawable.ic_newpipe_triangle_white);
- }
-
-
- public static RequestCreator loadScaledDownThumbnail(final Context context,
- @NonNull final List images) {
- // scale down the notification thumbnail for performance
- return PicassoHelper.loadThumbnail(images)
- .transform(new Transformation() {
- @Override
- public Bitmap transform(final Bitmap source) {
- if (DEBUG) {
- Log.d(TAG, "Thumbnail - transform() called");
- }
-
- final float notificationThumbnailWidth = Math.min(
- context.getResources()
- .getDimension(R.dimen.player_notification_thumbnail_width),
- source.getWidth());
-
- final Bitmap result = BitmapCompat.createScaledBitmap(
- source,
- (int) notificationThumbnailWidth,
- (int) (source.getHeight()
- / (source.getWidth() / notificationThumbnailWidth)),
- null,
- true);
-
- if (result == source || !result.isMutable()) {
- // create a new mutable bitmap to prevent strange crashes on some
- // devices (see #4638)
- final Bitmap copied = BitmapCompat.createScaledBitmap(
- source,
- (int) notificationThumbnailWidth - 1,
- (int) (source.getHeight() / (source.getWidth()
- / (notificationThumbnailWidth - 1))),
- null,
- true);
- source.recycle();
- return copied;
- } else {
- source.recycle();
- return result;
- }
- }
-
- @Override
- public String key() {
- return PLAYER_THUMBNAIL_TRANSFORMATION_KEY;
- }
- });
- }
-
- @Nullable
- public static Bitmap getImageFromCacheIfPresent(@NonNull final String imageUrl) {
- // URLs in the internal cache finish with \n so we need to add \n to image URLs
- return picassoCache.get(imageUrl + "\n");
- }
-
-
- private static RequestCreator loadImageDefault(@NonNull final List images,
- @DrawableRes final int placeholderResId) {
- return loadImageDefault(choosePreferredImage(images), placeholderResId);
- }
-
- private static RequestCreator loadImageDefault(@Nullable final String url,
- @DrawableRes final int placeholderResId) {
- return loadImageDefault(url, placeholderResId, true);
- }
-
- private static RequestCreator loadImageDefault(@Nullable final String url,
- @DrawableRes final int placeholderResId,
- final boolean showPlaceholderWhileLoading) {
- // if the URL was chosen with `choosePreferredImage` it will be null, but check again
- // `shouldLoadImages` in case the URL was chosen with `imageListToDbUrl` (which is the case
- // for URLs stored in the database)
- if (isNullOrEmpty(url) || !ImageStrategy.shouldLoadImages()) {
- return picassoInstance
- .load((String) null)
- .placeholder(placeholderResId) // show placeholder when no image should load
- .error(placeholderResId);
- } else {
- final RequestCreator requestCreator = picassoInstance
- .load(url)
- .error(placeholderResId);
- if (showPlaceholderWhileLoading) {
- requestCreator.placeholder(placeholderResId);
- }
- return requestCreator;
- }
- }
-}
diff --git a/app/src/main/java/org/schabi/newpipe/util/text/TextEllipsizer.java b/app/src/main/java/org/schabi/newpipe/util/text/TextEllipsizer.java
deleted file mode 100644
index 184b73304d8..00000000000
--- a/app/src/main/java/org/schabi/newpipe/util/text/TextEllipsizer.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.schabi.newpipe.util.text;
-
-import android.graphics.Paint;
-import android.text.Layout;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.text.HtmlCompat;
-
-import org.schabi.newpipe.extractor.StreamingService;
-import org.schabi.newpipe.extractor.stream.Description;
-
-import java.util.function.Consumer;
-
-
-import io.reactivex.rxjava3.disposables.CompositeDisposable;
-
-/**
- * Class to ellipsize text inside a {@link TextView}.
- * This class provides all utils to automatically ellipsize and expand a text
- */
-public final class TextEllipsizer {
- private static final int EXPANDED_LINES = Integer.MAX_VALUE;
- private static final String ELLIPSIS = "…";
-
- @NonNull private final CompositeDisposable disposable = new CompositeDisposable();
-
- @NonNull private final TextView view;
- private final int maxLines;
- @NonNull private Description content;
- @Nullable private StreamingService streamingService;
- @Nullable private String streamUrl;
- private boolean isEllipsized = false;
- @Nullable private Boolean canBeEllipsized = null;
-
- @NonNull private final Paint paintAtContentSize = new Paint();
- private final float ellipsisWidthPx;
- @Nullable private Consumer stateChangeListener = null;
- @Nullable private Consumer onContentChanged;
-
- public TextEllipsizer(@NonNull final TextView view,
- final int maxLines,
- @Nullable final StreamingService streamingService) {
- this.view = view;
- this.maxLines = maxLines;
- this.content = Description.EMPTY_DESCRIPTION;
- this.streamingService = streamingService;
-
- paintAtContentSize.setTextSize(view.getTextSize());
- ellipsisWidthPx = paintAtContentSize.measureText(ELLIPSIS);
- }
-
- public void setOnContentChanged(@Nullable final Consumer onContentChanged) {
- this.onContentChanged = onContentChanged;
- }
-
- public void setContent(@NonNull final Description content) {
- this.content = content;
- canBeEllipsized = null;
- linkifyContentView(v -> {
- final int currentMaxLines = view.getMaxLines();
- view.setMaxLines(EXPANDED_LINES);
- canBeEllipsized = view.getLineCount() > maxLines;
- view.setMaxLines(currentMaxLines);
- if (onContentChanged != null) {
- onContentChanged.accept(canBeEllipsized);
- }
- });
- }
-
- public void setStreamUrl(@Nullable final String streamUrl) {
- this.streamUrl = streamUrl;
- }
-
- public void setStreamingService(@NonNull final StreamingService streamingService) {
- this.streamingService = streamingService;
- }
-
- /**
- * Expand the {@link TextEllipsizer#content} to its full length.
- */
- public void expand() {
- view.setMaxLines(EXPANDED_LINES);
- linkifyContentView(v -> isEllipsized = false);
- }
-
- /**
- * Shorten the {@link TextEllipsizer#content} to the given number of
- * {@link TextEllipsizer#maxLines maximum lines} and add trailing '{@code …}'
- * if the text was shorted.
- */
- public void ellipsize() {
- // expand text to see whether it is necessary to ellipsize the text
- view.setMaxLines(EXPANDED_LINES);
- linkifyContentView(v -> {
- final CharSequence charSeqText = view.getText();
- if (charSeqText != null && view.getLineCount() > maxLines) {
- // Note that converting to String removes spans (i.e. links), but that's something
- // we actually want since when the text is ellipsized we want all clicks on the
- // comment to expand the comment, not to open links.
- final String text = charSeqText.toString();
-
- final Layout layout = view.getLayout();
- final float lineWidth = layout.getLineWidth(maxLines - 1);
- final float layoutWidth = layout.getWidth();
- final int lineStart = layout.getLineStart(maxLines - 1);
- final int lineEnd = layout.getLineEnd(maxLines - 1);
-
- // remove characters up until there is enough space for the ellipsis
- // (also summing 2 more pixels, just to be sure to avoid float rounding errors)
- int end = lineEnd;
- float removedCharactersWidth = 0.0f;
- while (lineWidth - removedCharactersWidth + ellipsisWidthPx + 2.0f > layoutWidth
- && end >= lineStart) {
- end -= 1;
- // recalculate each time to account for ligatures or other similar things
- removedCharactersWidth = paintAtContentSize.measureText(
- text.substring(end, lineEnd));
- }
-
- // remove trailing spaces and newlines
- while (end > 0 && Character.isWhitespace(text.charAt(end - 1))) {
- end -= 1;
- }
-
- final String newVal = text.substring(0, end) + ELLIPSIS;
- view.setText(newVal);
- isEllipsized = true;
- } else {
- isEllipsized = false;
- }
- view.setMaxLines(maxLines);
- });
- }
-
- /**
- * Toggle the view between the ellipsized and expanded state.
- */
- public void toggle() {
- if (isEllipsized) {
- expand();
- } else {
- ellipsize();
- }
- }
-
- /**
- * Whether the {@link #view} can be ellipsized.
- * This is only the case when the {@link #content} has more lines
- * than allowed via {@link #maxLines}.
- * @return {@code true} if the {@link #content} has more lines than allowed via
- * {@link #maxLines} and thus can be shortened, {@code false} if the {@code content} fits into
- * the {@link #view} without being shortened and {@code null} if the initialization is not
- * completed yet.
- */
- @Nullable
- public Boolean canBeEllipsized() {
- return canBeEllipsized;
- }
-
- private void linkifyContentView(final Consumer consumer) {
- final boolean oldState = isEllipsized;
- disposable.clear();
- TextLinkifier.fromDescription(view, content,
- HtmlCompat.FROM_HTML_MODE_LEGACY, streamingService, streamUrl, disposable,
- v -> {
- consumer.accept(v);
- notifyStateChangeListener(oldState);
- });
-
- }
-
- /**
- * Add a listener which is called when the given content is changed,
- * either from ellipsized to full or vice versa.
- * @param listener The listener to be called, or {@code null} to remove it.
- * The Boolean parameter is the new state.
- * Ellipsized content is represented as {@code true},
- * normal or full content by {@code false}.
- */
- public void setStateChangeListener(@Nullable final Consumer listener) {
- this.stateChangeListener = listener;
- }
-
- private void notifyStateChangeListener(final boolean oldState) {
- if (oldState != isEllipsized && stateChangeListener != null) {
- stateChangeListener.accept(isEllipsized);
- }
- }
-
-}
diff --git a/app/src/main/java/org/schabi/newpipe/viewmodels/CommentsViewModel.kt b/app/src/main/java/org/schabi/newpipe/viewmodels/CommentsViewModel.kt
new file mode 100644
index 00000000000..62babb186ca
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/viewmodels/CommentsViewModel.kt
@@ -0,0 +1,22 @@
+package org.schabi.newpipe.viewmodels
+
+import androidx.lifecycle.SavedStateHandle
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
+import androidx.paging.Pager
+import androidx.paging.PagingConfig
+import androidx.paging.cachedIn
+import org.schabi.newpipe.paging.CommentsSource
+import org.schabi.newpipe.util.KEY_SERVICE_ID
+import org.schabi.newpipe.util.KEY_URL
+import org.schabi.newpipe.util.NO_SERVICE_ID
+
+class CommentsViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {
+ private val serviceId = savedStateHandle[KEY_SERVICE_ID] ?: NO_SERVICE_ID
+ private val url = savedStateHandle.get(KEY_URL)
+
+ val comments = Pager(PagingConfig(pageSize = 20, enablePlaceholders = false)) {
+ CommentsSource(serviceId, url, null)
+ }.flow
+ .cachedIn(viewModelScope)
+}
diff --git a/app/src/main/java/org/schabi/newpipe/viewmodels/PlaylistViewModel.kt b/app/src/main/java/org/schabi/newpipe/viewmodels/PlaylistViewModel.kt
new file mode 100644
index 00000000000..8efe697913e
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/viewmodels/PlaylistViewModel.kt
@@ -0,0 +1,51 @@
+package org.schabi.newpipe.viewmodels
+
+import androidx.lifecycle.SavedStateHandle
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
+import androidx.paging.Pager
+import androidx.paging.PagingConfig
+import androidx.paging.cachedIn
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.stateIn
+import org.schabi.newpipe.extractor.NewPipe
+import org.schabi.newpipe.extractor.stream.Description
+import org.schabi.newpipe.paging.PlaylistItemsSource
+import org.schabi.newpipe.ui.components.playlist.PlaylistInfo
+import org.schabi.newpipe.util.KEY_SERVICE_ID
+import org.schabi.newpipe.util.KEY_URL
+import org.schabi.newpipe.util.NO_SERVICE_ID
+import org.schabi.newpipe.extractor.playlist.PlaylistInfo as ExtractorPlaylistInfo
+
+class PlaylistViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {
+ private val serviceIdState = savedStateHandle.getStateFlow(KEY_SERVICE_ID, NO_SERVICE_ID)
+ private val urlState = savedStateHandle.getStateFlow(KEY_URL, "")
+
+ val playlistInfo = serviceIdState.combine(urlState) { id, url ->
+ val info = ExtractorPlaylistInfo.getInfo(NewPipe.getService(id), url)
+ val description = info.description ?: Description.EMPTY_DESCRIPTION
+ PlaylistInfo(
+ info.id, info.serviceId, info.url, info.name, description, info.relatedItems,
+ info.streamCount, info.uploaderUrl, info.uploaderName, info.uploaderAvatars,
+ info.nextPage
+ )
+ }
+ .flowOn(Dispatchers.IO)
+ .stateIn(viewModelScope, SharingStarted.Eagerly, null)
+
+ @OptIn(ExperimentalCoroutinesApi::class)
+ val streamItems = playlistInfo
+ .filterNotNull()
+ .flatMapLatest {
+ Pager(PagingConfig(pageSize = 20, enablePlaceholders = false)) {
+ PlaylistItemsSource(it)
+ }.flow
+ }
+ .cachedIn(viewModelScope)
+}
diff --git a/app/src/main/res/layout/comment_replies_header.xml b/app/src/main/res/layout/comment_replies_header.xml
deleted file mode 100644
index ed5ba1a1084..00000000000
--- a/app/src/main/res/layout/comment_replies_header.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_comments.xml b/app/src/main/res/layout/fragment_comments.xml
deleted file mode 100644
index 2a8c747cd63..00000000000
--- a/app/src/main/res/layout/fragment_comments.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/list_comment_item.xml b/app/src/main/res/layout/list_comment_item.xml
deleted file mode 100644
index 631ab204b3f..00000000000
--- a/app/src/main/res/layout/list_comment_item.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values-ar-rLY/strings.xml b/app/src/main/res/values-ar-rLY/strings.xml
index 077cf1106ca..290d9f6ab01 100644
--- a/app/src/main/res/values-ar-rLY/strings.xml
+++ b/app/src/main/res/values-ar-rLY/strings.xml
@@ -302,7 +302,6 @@
- %s مشارك
جلب البيانات الوصفية…
- إظهار مؤشرات الصور
انقر للتنزيل %s
تعطيل الوضع السريع
,
@@ -830,7 +829,6 @@
لقد اشتركت الآن في هذه القناة
بدءًا من Android 10، يتم دعم \"Storage Access Framework\" فقط
إنشاء اسم فريد
- أظهر أشرطة ملونة لبيكاسو أعلى الصور تشير إلى مصدرها: الأحمر للشبكة والأزرق للقرص والأخضر للذاكرة
فشل الاتصال الآمن
يتوفر هذا الفيديو فقط لأعضاء YouTube Music Premium، لذلك لا يمكن بثه أو تنزيله من قبل NewPipe.
البث السابق
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 82173d75802..902fe8c3a22 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -674,8 +674,6 @@
معاينة مصغرة على شريط التمرير
وضع علامة على تمت مشاهدته
أُعجب بها منشئ المحتوى
- أظهر أشرطة ملونة لبيكاسو أعلى الصور تشير إلى مصدرها: الأحمر للشبكة والأزرق للقرص والأخضر للذاكرة
- إظهار مؤشرات الصور
اقتراحات البحث عن بعد
اقتراحات البحث المحلية
اسحب العناصر لإزالتها
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 66bfe75dee9..9c9c15c964e 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -505,8 +505,6 @@
Məlumat əldə edilir…
Elementlərdə orijinal əvvəlki vaxtı göstər
Yaşam dövrəsi xaricindəki xətaları bildir
- Şəkil göstəricilərini göstər
- Şəkillərin üzərində mənbəsini göstərən Picasso rəngli lentləri göstər: şəbəkə üçün qırmızı, disk üçün mavi və yaddaş üçün yaşıl
Bəzi endirmələri dayandırmaq mümkün olmasa da, mobil dataya keçərkən faydalıdır
Bağla
Fayl silindiyi üçün irəliləyiş itirildi
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index dceaaf6c560..5ddf30c2a5e 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -630,8 +630,6 @@
Перайсці на вэбсайт
Правядзіце пальцам па элементах, каб выдаліць іх
Адмяніць пастаянную мініяцюру
- Паказаць індыкатары выявы
- Паказваць каляровыя стужкі Пікаса на выявах, якія пазначаюць іх крыніцу: чырвоная для сеткі, сіняя для дыска і зялёная для памяці
Апрацоўка стужкі…
Вам будзе прапанавана, дзе захоўваць кожную спампоўку
Загрузка стужкі…
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index bc235446c3d..9b8c06bc581 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -539,7 +539,6 @@
Това видео е с възрастова граница.
\n
\nВключете „%1$s“ в настройките ако искате да го пуснете.
- Показвай цветни Picasso-панделки в горната част на изображенията като индикатор за техния произход (червен – от мрежата, син – от диска и червен – от паметта)
Автоматична (тази на устройството)
Мащабиране на миниатюрата в известието от 16:9 към 1:1 формат (възможни са изкривявания)
Избете плейлист
diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml
index 853b04b64f7..8fe38988a56 100644
--- a/app/src/main/res/values-bn/strings.xml
+++ b/app/src/main/res/values-bn/strings.xml
@@ -589,7 +589,6 @@
নতুন ধারা
কম্পাঙ্ক দেখো
পূর্বদর্শন রেখার মাধ্যমে প্রাকদর্শন
- ছবিরূপ সূচক দেখাও
দেখিও না
যেকোনো নেটওয়ার্ক
পরেরটা ক্রমে রাখা হয়েছে
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 871af187b25..dd08e352638 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -625,7 +625,6 @@
No mostris
Baixa qualitat (més petit)
Alta qualitat (més gran)
- Mostra indicadors de la imatge
Desactiva l\'entunelament del contingut si en els videos hi ha una pantalla negre o tartamudegen
Mostra detalls del canal
No s\'ha establert una carpeta de descàrregues, selecciona la carpeta per defecte ara
@@ -669,7 +668,6 @@
Comentari fixat
Mostra \"Força el tancament del reproductor\"
Mostra una opció de fallada quan s\'utilitza el reproductor
- Mostra les cintes de color Picasso a la part superior de les imatges que indiquen la seva font: vermell per a la xarxa, blau per al disc i verd per a la memòria
El LeakCanary no està disponible
Comprovant freqüència
Es necesita una conexió a Internet
diff --git a/app/src/main/res/values-ckb/strings.xml b/app/src/main/res/values-ckb/strings.xml
index e6e375a4cc6..d14449cf1cf 100644
--- a/app/src/main/res/values-ckb/strings.xml
+++ b/app/src/main/res/values-ckb/strings.xml
@@ -631,8 +631,6 @@
پیشان نەدرێت
کواڵێتی نزم (بچووکتر)
کواڵێتی بەرز (گەورەتر)
- پیشاندانی شریتە ڕەنگکراوەکانی پیکاسۆ لەسەرووی وێنەکانەوە بۆ بەدیار خستنی سەرچاوەکانیان : سوور بۆ تۆڕ ، شین بۆ دیسک و سەوز بۆ بیرگە
- پیشاندانی دیارخەرەکانی وێنە
پێشنیازکراوەکانی گەڕانی ڕیمۆت
پێشنیازکراوەکانی گەڕانی نێوخۆیی
دیارکردن وەک بینراو
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 34537446cce..e6263f6e021 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -654,8 +654,6 @@
- %s stahování dokončena
- %s stahováních dokončeno
- Zobrazit barevné pásky Picasso na obrázcích označujících jejich zdroj: červená pro síť, modrá pro disk a zelená pro paměť
- Zobrazit indikátory obrázků
Vzdálené návrhy vyhledávání
Lokální návrhy vyhledávání
Pokud je vypnuté automatické otáčení, nespouštět video v mini přehrávači, ale přepnout se přímo do režimu celé obrazovky. Do mini přehrávače se lze i nadále dostat ukončením režimu celé obrazovky
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 601bc37523d..cbb59d591ed 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -516,7 +516,6 @@
Behandler… Det kan tage et øjeblik
Vis hukommelseslækager
Deaktivér medietunneling
- Vis billedindikatorer
Netværkskrav
Alle netværk
Kontrolfrekvens
@@ -695,7 +694,6 @@
Ofte stillede spørgsmål
Hvis du har problemer med at bruge appen, bør du tjekke disse svar på almindelige spørgsmål!
Se på webside
- Vis Picasso-farvede bånd oven på billeder, der angiver deres kilde: rød for netværk, blå for disk og grøn for hukommelse
Du kører den nyeste version af NewPipe
Pga. ExoPlayer-begrænsninger blev søgevarigheden sat til %d sekunder
Vis kun ikke-grupperede abonnementer
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index fcc38bf0bc0..028ff86cac5 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -637,8 +637,6 @@
Aus
Als gesehen markieren
Vom Ersteller mit Herz versehen
- Farbige Picasso-Bänder über den Bildern anzeigen, die deren Quelle angeben: rot für Netzwerk, blau für Festplatte und grün für Speicher
- Bildindikatoren anzeigen
Entfernte Suchvorschläge
Lokale Suchvorschläge
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 6e9525459ae..58a70c270b6 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -634,8 +634,6 @@
Προεπισκόπηση στην μπάρα αναζήτησης
Σήμανση ως αναπαραχθέν
Επισημάνθηκε από τον δημιουργό
- Εμφάνιση χρωματιστής κορδέλας πάνω στις εικόνες, που δείχνει την πηγή τους: κόκκινη για δίκτυο, μπλε για δίσκο και πράσινο για μνήμη
- Εμφάνιση δεικτών εικόνων
Προτάσεις απομακρυσμένης αναζήτησης
Προτάσεις τοπικής αναζήτησης
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index c7b780a1f05..a44c7293785 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -647,8 +647,6 @@
Los comentarios están deshabilitados
De corazón por el creador
Marcar como visto
- Mostrar cintas de colores Picasso encima de las imágenes indicando su origen: rojo para la red, azul para el disco y verde para la memoria
- Mostrar indicadores de imagen
Sugerencias de búsqueda remota
Sugerencias de búsqueda local
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index 1d3fcdcb8a8..0e6e082c993 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -634,8 +634,6 @@
\n
\nNii et valik taandub sellele, mida eelistad: kiirus või täpne teave.
Märgi vaadatuks
- Näita piltide kohal Picasso värvides riba, mis märgib pildi allikat: punane tähistab võrku, sinine kohalikku andmekandjat ja roheline kohalikku mälu
- Näita piltide allikat
Kaugotsingu soovitused
Kohaliku otsingu soovitused
Üksuse eemaldamiseks viipa
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index 6f94a8f625d..076b50d10a0 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -641,8 +641,6 @@
- Deskarga amaituta
- %s Deskarga amaituta
- Irudien gainean Picasso koloretako zintak erakutsi, jatorria adieraziz: gorria sarerako, urdina diskorako eta berdea memoriarako
- Erakutsi irudi-adierazleak
Urruneko bilaketaren iradokizunak
Tokiko bilaketa-iradokizunak
Ikusi gisa markatu
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 2afeaf286a7..02ac369d744 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -597,7 +597,6 @@
رنگی کردن آگاهی
گشودن با
نشانه به عنوان دیده شده
- نمایش روبانهای رنگی پیکاسو در بالای تصویرها کهنشانگر منبعشان است: قرمز برای شبکه ، آبی برای دیسک و سبز برای حافظه
درخواست از اندروید برای سفارشیسازی رنگ آگاهی براساس رنگ اصلی در بندانگشتی (توجّه داشته باشید که روی همهٔ افزارهها در دسترس نیست)
این ویدیو محدود به سن است.
\n
@@ -635,7 +634,6 @@
قلبشده به دست ایجادگر
پیشنهادهای جستوجوی محلّی
پیشنهادهای جستوجوی دوردست
- نمایش نشانگرهای تصویر
- بارگیری پایان یافت
- %s بارگیری پایان یافتند
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 67350d7ba2b..d72402e770d 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -634,8 +634,6 @@
Latauskansiota ei vielä asetettu, valitse ensin oletuslatauskansio
Kommentit poistettu käytöstä
Merkitse katsotuksi
- Näytä Picasso-värjätyt nauhat kuvien päällä osoittaakseen lähteen: punainen tarkoittaa verkkoa, sininen tarkoittaa levytilaa ja vihreä tarkoittaa muistia
- Näytä kuvailmaisimet
Etähakuehdotukset
Paikalliset hakuehdotukset
Lisää seuraavaksi
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 66418e7cfea..f6a3d62850f 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -646,10 +646,8 @@
Prévisualisation de la barre de progression sur la miniature
Marquer comme visionné
Apprécié par le créateur
- Afficher les indicateurs d’image
Suggestions de recherche distante
Suggestions de recherche locale
- Affiche les rubans colorés de Picasso au-dessus des images indiquant leur source : rouge pour le réseau, bleu pour le disque et vert pour la mémoire
- %1$s téléchargement supprimé
- %1$s téléchargements supprimés
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index efe1b7f5ea3..4b087a88200 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -627,7 +627,6 @@
- %s descargas finalizadas
Miniatura na barra de busca
- Mostrar indicadores de imaxe
Desactive o túnel multimedia se experimentar unha pantalla en negro ou interrupcións na reprodución.
Desactivar túnel multimedia
Engadido á cola
@@ -664,7 +663,6 @@
A partir do Android 10, só o \'Sistema de Acceso ao Almacenamento\' está soportado
Procesando... Pode devagar un momento
Crear unha notificación de erro
- Amosar fitas coloridas de Picasso na cima das imaxes que indican a súa fonte: vermello para a rede, azul para o disco e verde para a memoria
Novos elementos
Predefinido do ExoPlayer
Amosar \"Travar o reprodutor\"
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index befde2d5316..1da62fc757c 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -654,8 +654,6 @@
תמונה מוקטנת בסרגל הנגינה
סומן בלב על ידי היוצר
סימון כנצפה
- הצגת סרטים בסגנון פיקאסו בראש התמונות לציון המקור שלהם: אדום זה מהרשת, כחול מהכונן וירוק מהזיכרון
- הצגת מחווני תמונות
הצעות חיפוש מרוחקות
הצעות חיפוש מקומיות
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 51455fafbbd..6e185156d74 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -570,7 +570,6 @@
कतारबद्ध हुआ
स्ट्रीम विवरण लोड हो रहे हैं…
प्रोसेस हो रहा है… कुछ समय लग सकता है
- छवि संकेतक दिखाएं
प्लेयर का उपयोग करते समय क्रैश विकल्प दिखाता है
नई स्ट्रीमों के लिए जांच चलाएं
एक त्रुटि स्नैकबार दिखाएं
@@ -668,7 +667,6 @@
लीक-कैनरी उपलब्ध नहीं है
एक त्रुटी हुई है, नोटीफिकेशन देखें
यदि वीडियो प्लेबैक पर आप काली स्क्रीन या रुक-रुक कर वीडियो चलने का अनुभव करते हैं तो मीडिया टनलिंग को अक्षम करें।
- छवियों के शीर्ष पर पिकासो रंगीन रिबन दिखाएँ जो उनके स्रोत को दर्शाता है: नेटवर्क के लिए लाल, डिस्क के लिए नीला और मेमोरी के लिए हरा
त्रुटी की नोटीफिकेशन बनाएं
इस डाउनलोड को पुनर्प्राप्त नहीं किया जा सकता
अभी तक कोई डाउनलोड फ़ोल्डर सेट नहीं किया गया है, अब डिफ़ॉल्ट डाउनलोड फ़ोल्डर चुनें
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 419f4619ed6..3a945bba0ee 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -646,7 +646,6 @@
%s pruža ovaj razlog:
Obrada u tijeku … Može malo potrajati
Za ukljanjanje stavki povuci ih
- Prikaži indikatore slike
- Preuzimanje je gotovo
- %s preuzimanja su gotova
@@ -655,7 +654,6 @@
Pokreni glavni player u cjeloekranskom prikazu
Dodaj u popis kao sljedeći
Dodano u popis kao sljedeći
- Prikaži Picassove vrpce u boji na slikama koje označavaju njihov izvor: crvena za mrežu, plava za disk i zelena za memoriju
- Izbrisano %1$s preuzimanje
- Izbrisana %1$s preuzimanja
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 5a402c94c2e..f867041485c 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -570,7 +570,6 @@
Az eltávolítás utáni, fragment vagy activity életcikluson kívüli, nem kézbesíthető Rx kivételek jelentésének kényszerítése
Eredeti „ennyi ideje” megjelenítése az elemeken
Tiltsa le a médiacsatornázást, ha fekete képernyőt vagy akadozást tapasztal videólejátszáskor.
- Picasso színes szalagok megjelenítése a képek fölött, megjelölve a forrásukat: piros a hálózathoz, kék a lemezhez, zöld a memóriához
Minden letöltésnél meg fogja kérdezni, hogy hova mentse el
Válasszon egy példányt
Lista legutóbbi frissítése: %s
@@ -657,7 +656,6 @@
\nBiztos benne\? Ez nem vonható vissza!
A szolgáltatásokból származó eredeti szövegek láthatók lesznek a közvetítési elemeken
Lejátszó összeomlasztása
- Képjelölők megjelenítése
A „lejátszó összeomlasztása” lehetőség megjelenítése
Megjeleníti az összeomlasztási lehetőséget a lejátszó használatakor
Hangmagasság megtartása (torzítást okozhat)
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 71900400eb3..9a6472692f2 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -631,13 +631,11 @@
Disukai oleh kreator
Saran pencarian lokal
Saran pencarian remote
- Tampilkan indikator gambar
- Menghapus %1$s unduhan
tambahkan ke selanjutnya
telah ditambahkan ke selanjutnya
- Tampilkan Ribon bewarna Picasso di atas gambar yang mengindikasikan asalnya: merah untuk jaringan, biru untuk disk dan hijau untuk memori
Jangan memulai memutar video di mini player, tapi nyalakan langsung di mode layar penuh, jika rotasi otomatis terkunci. Anda tetap dapat mengakses mini player dengan keluar dari layar penuh
Memproses… Mungkin butuh waktu sebentar
Periksa Pembaruan
diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index ed5ebe99bdb..d921cfac0e0 100644
--- a/app/src/main/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
@@ -657,8 +657,6 @@
Upprunalegir textar frá þjónustu verða sýnilegir í atriðum
Slökkva á fjölmiðlagöngum
Slökktu á fjölmiðlagöngum ef þú finnur fyrir svörtum skjá eða stami við spilun myndbandar
- Sýna myndvísa
- Sýna Picasso litaða borða ofan á myndum sem gefa til kynna uppruna þeirra: rauðan fyrir netið, bláan fyrir disk og grænan fyrir minni
Sýna „Hrynja spilara“
Sýna valkost til að hrynja spilara
Hrynja forrit
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 2a5ac16d39e..9d1c4bc0b6e 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -644,8 +644,6 @@
Commenti disattivati
Apprezzato dall\'autore
Segna come visto
- Mostra gli indicatori colorati Picasso sopra le immagini, per indicare la loro fonte: rosso per la rete, blu per il disco e verde per la memoria
- Mostra indicatori immagine
Suggerimenti di ricerca remoti
Suggerimenti di ricerca locali
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 74924125a2a..7e7cf83a236 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -634,8 +634,6 @@
- %s つのダウンロードが完了しました
- ピカソは、画像の上に、画像の出所を識別する色彩記章を表示します: 赤はネットワーク、青はディスク、緑はメモリ
- 画像に標識を表示
処理中… 少し時間がかかるかもしれません
新しいバージョンを手動で確認します
アップデートを確認中…
diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml
index ecb2a8495b7..4344c245d2c 100644
--- a/app/src/main/res/values-ka/strings.xml
+++ b/app/src/main/res/values-ka/strings.xml
@@ -384,7 +384,6 @@
ორიგინალური ტექსტები სერვისებიდან ხილული იქნება ნაკადის ერთეულებში
მედია გვირაბის გათიშვა
გამორთეთ მედია გვირაბი, თუ ვიდეოს დაკვრისას შავი ეკრანი ან ჭუჭყი გაქვთ
- გამოსახულების ინდიკატორების ჩვენება
აჩვენე \"დამკვრელის დამსხვრევა\"
აჩვენებს ავარიის ვარიანტს დამკვრელის გამოყენებისას
გაუშვით შემოწმება ახალი ნაკადებისთვის
@@ -683,7 +682,6 @@
გამოწერების იმპორტი ვერ მოხერხდა
შეატყობინეთ სასიცოცხლო ციკლის შეცდომებს
იძულებითი მოხსენება შეუსაბამო Rx გამონაკლისების შესახებ ფრაგმენტის ან აქტივობის სასიცოცხლო ციკლის გარეთ განკარგვის შემდეგ
- აჩვენეთ პიკასოს ფერადი ლენტები სურათების თავზე, სადაც მითითებულია მათი წყარო: წითელი ქსელისთვის, ლურჯი დისკისთვის და მწვანე მეხსიერებისთვის
სწრაფი კვების რეჟიმი ამაზე მეტ ინფორმაციას არ იძლევა.
„%s“-ის არხის ჩატვირთვა ვერ მოხერხდა.
ხელმისაწვდომია ზოგიერთ სერვისში, როგორც წესი, ბევრად უფრო სწრაფია, მაგრამ შეიძლება დააბრუნოს შეზღუდული რაოდენობის ელემენტი და ხშირად არასრული ინფორმაცია (მაგ. ხანგრძლივობის გარეშე, ელემენტის ტიპი, არ არის ლაივის სტატუსი)
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 939d97441ba..5d5dfa0239e 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -545,8 +545,6 @@
미디어 터널링 비활성화
서비스의 원본 텍스트가 스트림 항목에 표시됩니다
동영상 재생 시 검은 화면이 나타나거나 끊김 현상이 발생하면 미디어 터널링을 비활성화하세요.
- 이미지 표시기 표시
- 원본을 나타내는 이미지 위에 피카소 컬러 리본 표시: 네트워크는 빨간색, 디스크는 파란색, 메모리는 녹색
\"플레이어 충돌\" 표시
플레이어를 사용할 때 충돌 옵션을 표시합니다
새로운 스트림 확인 실행
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index c68e49bdd62..2294a357dfe 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -644,8 +644,6 @@
Nerodyti
Širdelė nuo kurėjo
Pažymėti kaip peržiūrėtą
- Rodyti „Picasso“ spalvotas juosteles ant vaizdų, nurodančių jų šaltinį: raudona tinklui, mėlyna diskui ir žalia atmintis
- Rodyti vaizdo indikatorius
Nuotolinės paieškos pasiūlymai
Vietinės paieškos pasiūlymai
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 58b9a9d7623..a28d3e6073f 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -625,12 +625,10 @@
Nesākt video atskaņošanu samazinātā režīmā, bet pilnekrāna režīmā, ja automātiskā rotācija ir izslēgta
Izslēgt multivides tuneļošanu
Izslēdziet multivides tuneļošanu, ja jums video atskaņošanas laikā parādās melns ekrāns vai aizķeršanās
- Rādīt krāsainas lentes virs attēliem, norādot to avotu: sarkana - tīkls, zila - disks, zaļa - atmiņa
Ieslēgt teksta atlasīšanu video aprakstā
Lejupielādes mape vēl nav iestatīta, izvēlieties noklusējuma lejupielādes mapi
Pārvelciet objektus, lai tos noņemtu
Lokālie meklēšanas ieteikumi
- Rādīt attēlu indikatorus
Augstas kvalitātes (lielāks)
Pārbaudīt atjauninājumus
Manuāli pārbaudīt, vai ir atjauninājumi
diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml
index c439593f7c8..ee4b88a41d3 100644
--- a/app/src/main/res/values-ml/strings.xml
+++ b/app/src/main/res/values-ml/strings.xml
@@ -595,7 +595,6 @@
രണ്ടാം പ്രവർത്തന ബട്ടൺ
ആദ്യ പ്രവർത്തന ബട്ടൺ
വീഡിയോ കാണുമ്പോൾ കറുത്ത സ്ക്രീൻ, അവ്യക്തത അനുഭവിക്കുന്നു എങ്കിൽ മീഡിയ ട്യൂൺലിങ് പ്രവർത്തനരഹിതമാക്കുക
- ഉറവിടം തിരിച്ചറിയാൻ പിക്കാസോ കളർഡ് റിബൺ ചിത്രങ്ങളുടെ മുകളിൽ കാണിക്കുക: നെറ്റ്വർക്കിന് ചുവപ്പ്, ഡിസ്കിനു നീല, മെമ്മറിയിക്ക് പച്ച
സീക്ബാർ ചെറുചിത്രം പ്രദർശനം
സ്നേഹത്തോടെ സൃഷ്ടാവ്
ഡിസ്ക്രിപ്ഷനിലെ ടെക്സ്റ്റ് സെലക്ട് ചെയ്യുവാൻ അനുവദിക്കാതെ ഇരിക്കുക
@@ -630,7 +629,6 @@
കാണിക്കരുത്
കുറഞ്ഞ നിലവാരം (ചെറുത് )
ഉയർന്ന നിലവാരം (വലിയത് )
- ഇമേജ് ഇൻഡിക്കേറ്ററുകൾ കാണിക്കുക
മീഡിയ ട്യൂൺലിങ് പ്രവർത്തനരഹിതമാക്കുക
ഡൌൺലോഡ് ഫോൾഡർ ഇത് വരെയും സെറ്റ് ചെയ്തിട്ടില്ല, സ്ഥിര ഡൌൺലോഡ് ഫോൾഡർ ഇപ്പോൾ തിരഞ്ഞെക്കുക
അഭിപ്രായങ്ങൾ പ്രവർത്തനരഹിതമായിരിക്കുന്നു
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index 416ebfd025b..7acf7f4cd78 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -644,9 +644,7 @@
Lokale søkeforslag
Marker som sett
Ikke start videoer i minispilleren, men bytt til fullskjermsmodus direkte dersom auto-rotering er låst. Du har fremdeles tilgang til minispilleren ved å avslutte fullskjermsvisningen
- Vis Picasso-fargede bånd på toppen av bilder for å indikere kilde: Rød for nettverk, blå for disk, og grønn for minne
Hjertemerket av skaperen
- Vis bildeindikatorer
Dra elementer for å fjerne dem
Start hovedspiller i fullskjerm
Still i kø neste
diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml
index 637eb1751e6..c744de62c25 100644
--- a/app/src/main/res/values-nl-rBE/strings.xml
+++ b/app/src/main/res/values-nl-rBE/strings.xml
@@ -611,7 +611,6 @@
Geen download map ingesteld, kies nu de standaard download map
Niet tonen
Reacties zijn uitgeschakeld
- Toon afbeeldingsindicatoren
Speler melding
Configureer actieve stream melding
Meldingen
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index b4629a03f62..26e328ed4df 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -632,8 +632,6 @@
Lage kwaliteit (kleiner)
Hoge kwaliteit (groter)
Zoekbalk miniatuurafbeelding voorbeeld
- Toon Picasso-gekleurde linten bovenop afbeeldingen die hun bron aangeven: rood voor netwerk, blauw voor schijf en groen voor geheugen
- Afbeeldingsindicatoren tonen
Reacties zijn uitgeschakeld
Zoeksuggesties op afstand
Lokale zoeksuggesties
diff --git a/app/src/main/res/values-nqo/strings.xml b/app/src/main/res/values-nqo/strings.xml
index 94e7ae2f49b..f1960b980aa 100644
--- a/app/src/main/res/values-nqo/strings.xml
+++ b/app/src/main/res/values-nqo/strings.xml
@@ -440,8 +440,6 @@
ߗߋߢߊߟߌ ߟߎ߬ ߞߟߏߜߍ߫ ߓߐߛߎ߲ߡߊ ߟߎ߬ ߦߌ߬ߘߊ߬ߕߐ߫ ߟߋ߬ ߟߊ߬ߖߍ߲߬ߛߍ߲߬ߠߌ߲ ߘߐ߫
ߞߋߟߋߞߋߟߋ ߟߊ߫ ߝߊߟߊ߲ߓߍߦߊ ߟߊߛߊ߬
ߞߋߟߋߞߋߟߋ ߟߊ߫ ߝߊߟߊ߲ߓߍߦߊ ߟߊߛߊ߬ ߣߴߌ ߞߊ߬ ߥߊ߲߬ߊߥߊ߲߬ ߝߌ߲ ߦߋ߫ ߥߟߊ߫ ߜߊߘߊ߲ߜߊߘߊ߲ߠߌ߲ ߦߋߡߍ߲ߕߊ ߘߏ߫ ߘߐߛߊߙߌ߫ ߕߎߡߊ
- ߞߊ߬ ߖߌ߬ߦߊ߬ߓߍ߫ ߦߌ߬ߘߊ߬ߟߊ߲ ߠߎ߫ ߝߍ߲߬ߛߍ߲߫
- ߏ߬ ߦߋ߫ ߔߌߛߊߞߏ߫ ߟߊ߫ ߡߙߎߝߋ߫ ߞߟߐ߬ߡߊ ߟߎ߫ ߟߋ߬ ߝߍ߲߬ߛߍ߲߬ ߠߊ߫ ߖߌ߬ߦߊ߬ߓߍ ߟߎ߫ ߞߎ߲߬ߘߐ߫ ߞߵߊ߬ߟߎ߬ ߓߐߛߎ߲ ߦߌ߬ߘߊ߬: ߥߎߟߋ߲߬ߡߊ߲ ߦߋ߫ ߞߙߏ߬ߝߏ ߕߊ ߘߌ߫߸ ߓߊ߯ߡߊ ߦߋ߫ ߝߘߍ߬ ߜߍߟߍ߲ ߕߊ ߘߌ߫ ߊ߬ߣߌ߫ ߝߙߌߛߌߡߊ ߦߋ߫ ߦߟߌߕߏߟߊ߲ ߕߊ ߘߌ߫
ߟߊ߬ߓߐ߬ߟߌ ߦߴߌߘߐ߫…
ߞߵߊ߬ ߘߊߡߌ߬ߣߊ߬
ߞߊ߲߬ߞߎߡߊ ߟߎ߬ ߟߊߛߊ߬ߣߍ߲ ߠߋ߬
diff --git a/app/src/main/res/values-or/strings.xml b/app/src/main/res/values-or/strings.xml
index f9faa8324db..59a6a739abe 100644
--- a/app/src/main/res/values-or/strings.xml
+++ b/app/src/main/res/values-or/strings.xml
@@ -342,7 +342,6 @@
ସେବାଗୁଡିକରୁ ମୂଳ ଲେଖା ଷ୍ଟ୍ରିମ୍ ଆଇଟମ୍ ଗୁଡିକରେ ଦୃଶ୍ୟମାନ ହେବ
ମିଡିଆ ଟନେଲିଂକୁ ଅକ୍ଷମ କରନ୍ତୁ
ଯଦି ଆପଣ ଏକ କଳା ପରଦା ଅନୁଭବ କରନ୍ତି କିମ୍ବା ଭିଡିଓ ପ୍ଲେବେକ୍ ଉପରେ ଝୁଣ୍ଟି ପଡ଼ନ୍ତି ତେବେ ମିଡିଆ ଟନେଲିଂକୁ ଅକ୍ଷମ କରନ୍ତୁ ।
- ଚିତ୍ରଗୁଡ଼ିକର ଉପରେ ପିକାସୋ ରଙ୍ଗୀନ ଫିତା ଦେଖାନ୍ତୁ: ସେମାନଙ୍କର ଉତ୍ସକୁ ସୂଚାଇଥାଏ: ନେଟୱାର୍କ ପାଇଁ ନାଲି, ଡିସ୍କ ପାଇଁ ନୀଳ ଏବଂ ସ୍ମୃତି ପାଇଁ ସବୁଜ
ଆମଦାନି କରନ୍ତୁ
ଠାରୁ ଆମଦାନୀ କରନ୍ତୁ
ଆମଦାନି…
@@ -657,7 +656,6 @@
ଅଟୋ-ଜେନେରେଟ୍ (କୌଣସି ଅପଲୋଡର୍ ମିଳିଲା ନାହିଁ)
ପୁରଣ କରନ୍ତୁ
କ୍ୟାପସନ୍
- ପ୍ରତିଛବି ସୂଚକ ଦେଖାନ୍ତୁ
ପ୍ଲେୟାର ବ୍ୟବହାର କରିବା ସମୟରେ ଏକ କ୍ରାସ୍ ବିକଳ୍ପ ଦେଖାଏ
ନୂତନ ଷ୍ଟ୍ରିମ୍ ପାଇଁ ଯାଞ୍ଚ ଚଲାନ୍ତୁ
ଆପ୍ କ୍ରାସ୍ କରନ୍ତୁ
diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml
index 814cdb8851d..d612ff75b17 100644
--- a/app/src/main/res/values-pa/strings.xml
+++ b/app/src/main/res/values-pa/strings.xml
@@ -626,8 +626,6 @@
ਨਿਊਪਾਈਪ ਖਾਮੀ ਤੋਂ ਪ੍ਰਭਾਵਤ ਹੋਈ ਹੈ, ਇੱਥੇ ਨੱਪ ਕੇ ਰਿਪੋਰਟ ਕਰੋ
ਇੱਕ ਖਾਮੀ ਪ੍ਰਭਾਵੀ ਹੋਈ ਹੈ, ਨੋਟੀਫੀਕੇਸ਼ਨ ਵੇਖੋ
ਆਈਟਮਾਂ ਨੂੰ ਇੱਕ ਪਾਸੇ ਖਿੱਚ ਕੇ ਹਟਾਓ
- ਦ੍ਰਿਸ਼ ਸੂਚਕ ਵਿਖਾਓ
- ਦ੍ਰਿਸ਼ਾਂ ਦੇ ਉੱਪਰ ਉਹਨਾਂ ਦੀ ਸਰੋਤ-ਪਛਾਣ ਲਈ ਪਿਕਾਸੋ ਦੇ ਰੰਗਦਾਰ ਰਿਬਨ ਵਿਖਾਓ : ਨੈੱਟਵਰਕ ਲਈ ਲਾਲ, ਡਿਸਕ ਲਈ ਨੀਲੇ ਤੇ ਮੈਮਰੀ ਲਈ ਹਰੇ
ਨਵੀਂ ਸਟ੍ਰੀਮ ਦੇ ਨੋਟੀਫਿਕੇਸ਼ਨ
ਪਿੰਨ ਕੀਤੀ ਟਿੱਪਣੀ
ਅੱਪਡੇਟ ਦੀ ਉਪਲੱਬਧਤਾ ਪਰਖੀ ਜਾ ਰਹੀ…
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 01f242cd9c7..b7c517ffc86 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -649,8 +649,6 @@
Nie pokazuj
Serduszko od twórcy
Oznacz jako obejrzane
- Pokazuj kolorowe wstążki Picasso nad obrazami wskazujące ich źródło: czerwone dla sieci, niebieskie dla dysku i zielone dla pamięci
- Pokazuj wskaźniki obrazu
Zdalne podpowiedzi wyszukiwania
Lokalne podpowiedzi wyszukiwania
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 5a203e0f25e..3d4b5762111 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -644,7 +644,6 @@
Os comentários estão desabilitados
Marcar como assistido
Curtido pelo criador
- Exibir fitas coloridas no topo das imagens indicando sua fonte: vermelho para rede, azul para disco e verde para memória
- %1$s download excluído
- %1$s downloads excluídos
@@ -655,7 +654,6 @@
- %s downloads concluídos
- %s downloads concluídos
- Mostrar indicadores de imagem
Adicionado na próxima posição da fila
Enfileira a próxima
Deslize os itens para remove-los
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index 498a49a53bb..23310adec64 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -644,8 +644,6 @@
Ainda não foi definida uma pasta de descarregamento, escolha agora a pasta de descarregamento padrão
Comentários estão desativados
Marcar como visto
- Mostrar fitas coloridas de Picasso em cima das imagens que indicam a sua fonte: vermelho para rede, azul para disco e verde para memória
- Mostrar indicadores de imagem
Sugestões de pesquisa remotas
Sugestões de pesquisa locais
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 5534dbf0b54..99e5cbd040c 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -644,8 +644,6 @@
Baixa qualidade (menor)
Alta qualidade (maior)
Os comentários estão desativados
- Mostrar fitas coloridas de Picasso em cima das imagens que indicam a sua fonte: vermelho para rede, azul para disco e verde para memória
- Mostrar indicadores de imagem
Sugestões de pesquisa remotas
Sugestões de pesquisa locais
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index bcef4d9524f..a5eb2114328 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -660,8 +660,6 @@
Calitate scăzută (mai mică)
Calitate înaltă (mai mare)
Miniatură de previzualizare în bara de derulare
- Afișați panglici colorate de Picasso deasupra imaginilor, indicând sursa acestora: roșu pentru rețea, albastru pentru disc și verde pentru memorie
- Afișați indicatorii de imagine
Dezactivați tunelarea media dacă întâmpinați un ecran negru sau blocaje la redarea video.
Procesarea.. Poate dura un moment
Verifică dacă există actualizări
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 9e79b165fc8..667e5413dd2 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -652,8 +652,6 @@
Миниатюра над полосой прокрутки
Автору видео понравилось это
Пометить проигранным
- Picasso: указать цветом источник изображений (красный — сеть, синий — диск, зелёный — память)
- Цветные метки на изображениях
Серверные предложения поиска
Локальные предложения поиска
diff --git a/app/src/main/res/values-ryu/strings.xml b/app/src/main/res/values-ryu/strings.xml
index 5a4f35de5f9..e970950e0a2 100644
--- a/app/src/main/res/values-ryu/strings.xml
+++ b/app/src/main/res/values-ryu/strings.xml
@@ -646,8 +646,6 @@
- %sちぬダウンロードぬかんりょうさびたん
- %sちぬダウンロードぬかんりょうさびたん
- ピカソー、がぞうぬういに、がぞうくとぅどぅくるしーきびちするしきさいきしーょうひょうじさびーん: あかーネットワーク、あおーディスク、みどぅれーメモリ
- やしがぞうんかいふぃいょうしきひょうじ
しーょりちゅう… くーてーんじがんがかかいんかむしりやびらん
みーさるバージョンしーゅどうでぃかくにんさびーん
アップデートかくにんちゅう…
diff --git a/app/src/main/res/values-sat/strings.xml b/app/src/main/res/values-sat/strings.xml
index a5959086e46..9ede53a7691 100644
--- a/app/src/main/res/values-sat/strings.xml
+++ b/app/src/main/res/values-sat/strings.xml
@@ -270,7 +270,6 @@
LeakCanary ᱵᱟᱭ ᱧᱟᱢᱚᱜ ᱠᱟᱱᱟ
ᱢᱮᱢᱚᱨᱤ ᱞᱤᱠᱟᱞ ᱢᱚᱱᱤᱴᱚᱨᱤᱝ ᱦᱤᱯ ᱰᱟᱢᱯᱤᱝ ᱚᱠᱛᱚ ᱨᱮ ᱮᱯᱞᱤᱠᱮᱥᱚᱱ ᱨᱟᱥᱴᱨᱤᱭ ᱦᱩᱭ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ
ᱡᱤᱭᱚᱱ ᱪᱤᱠᱤ ᱠᱷᱚᱱ ᱵᱟᱦᱨᱮ ᱨᱮ ᱵᱷᱮᱜᱟᱨ ᱠᱚ ᱚᱱᱚᱞ ᱢᱮ
- ᱱᱮᱴᱣᱟᱨᱠ ᱞᱟᱹᱜᱤᱫ red, ᱰᱤᱥᱠ ᱞᱟᱹᱜᱤᱫ blue ᱟᱨ ᱢᱮᱢᱚᱨᱤ ᱞᱟᱹᱜᱤᱫ green
ᱯᱞᱮᱭᱟᱨ ᱵᱮᱵᱷᱟᱨ ᱚᱠᱛᱮ ᱨᱮ ᱠᱨᱟᱥ ᱚᱯᱥᱚᱱ ᱧᱮᱞᱚᱜ ᱠᱟᱱᱟ
ᱤᱢᱯᱳᱨᱴ
ᱤᱢᱯᱚᱨᱴ
@@ -540,7 +539,6 @@
ᱡᱤᱱᱤᱥ ᱠᱚᱨᱮᱱᱟᱜ ᱢᱩᱞ ᱚᱠᱛᱚ ᱧᱮᱞ ᱢᱮ
ᱥᱮᱵᱟ ᱠᱷᱚᱱ ᱚᱨᱡᱤᱱᱤᱭᱟᱞ ᱴᱮᱠᱥᱴ ᱠᱚ ᱥᱴᱨᱤᱢ ᱤᱴᱮᱢ ᱨᱮ ᱧᱮᱞᱚᱜᱼᱟ
ᱡᱩᱫᱤ ᱟᱢ ᱵᱷᱤᱰᱤᱭᱳ ᱯᱞᱮᱭᱚᱯ ᱨᱮ ᱵᱞᱮᱠ ᱥᱠᱨᱤᱱ ᱟᱨᱵᱟᱝ ᱠᱷᱟᱹᱞᱤ ᱥᱴᱮᱴᱞᱤᱝ ᱮᱢ ᱧᱟᱢᱟ ᱮᱱᱠᱷᱟᱱ ᱢᱤᱰᱤᱭᱟ ᱴᱩᱱᱮᱞᱤᱝ ᱵᱚᱫᱚᱞ ᱢᱮ ᱾
- ᱪᱤᱛᱟᱹᱨ ᱪᱤᱱᱦᱟᱹ ᱠᱚ ᱧᱮᱞ ᱢᱮ
ᱱᱟᱣᱟ ᱥᱴᱨᱤᱢ ᱞᱟᱹᱜᱤᱫ ᱪᱟᱪᱞᱟᱣ ᱢᱮ
ᱢᱤᱫ error notification ᱛᱮᱭᱟᱨ ᱢᱮ
ᱥᱮᱞᱮᱫ ᱮᱠᱥᱯᱳᱨᱴ ᱵᱟᱝ ᱦᱩᱭ ᱫᱟᱲᱮᱭᱟᱜ ᱠᱟᱱᱟ
diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml
index 6b89b32c3c1..fce5280e128 100644
--- a/app/src/main/res/values-sc/strings.xml
+++ b/app/src/main/res/values-sc/strings.xml
@@ -634,8 +634,6 @@
Sos cummentos sunt disabilitados
Su creadore b\'at postu unu coro
Marca comente pompiadu
- Ammustra sos listrones colorados de Picasso in subra de sas immàgines chi indicant sa fonte issoro: ruja pro sa retze, biaita pro su discu e birde pro sa memòria
- Ammustra sos indicadores de immàgines
Impòsitos de chirca remota
Impòsitos de chirca locales
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index e3aa5b6bce3..5c4210b71a9 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -653,8 +653,6 @@
Nízka kvalita (menšie)
Vysoká kvalita (väčšie)
Náhľad miniatúry pri vyhľadávaní
- Zobrazí farebné pásiky Picasso na obrázkoch podľa ich zdroja: červený pre sieť, modrý pre disk a zelený pre pamäť
- Zobraziť indikátory obrázka
Potiahnutím vymazať
Komentáre sú zakázané
Ak je automatické otáčanie zablokované, nespustí videá v miniprehrávači, ale prepne sa do celoobrazovkového režimu. Do miniprehrávača sa dostanete po ukončení režimu celej obrazovky
diff --git a/app/src/main/res/values-so/strings.xml b/app/src/main/res/values-so/strings.xml
index e37c3a36d31..72e661a1b05 100644
--- a/app/src/main/res/values-so/strings.xml
+++ b/app/src/main/res/values-so/strings.xml
@@ -633,8 +633,6 @@
Fallooyinka waa laxidhay
Kahelay soosaaraha
Waan daawaday
- Soo bandhig shaambado midabka Picasso leh sawirrada dushooda oo tilmaamaya isha laga keenay: guduud waa khadka, buluug waa kaydka gudaha, cagaar waa kaydka K/G
- Tus tilmaamayaasha sawirka
Soojeedinada raadinta banaanka
Soojeedinada raadinta gudaha
Cabirka soodaarida udhexeeya
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 5f14a0e51c2..2300cd92979 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -644,7 +644,6 @@
Означи као одгледано
Коментари су онемогућени
Обрађивање… Може потрајати пар тренутака
- Прикажи индикаторе слике
Не покрећите видео снимке у мини-плејеру, већ директно пређите на режим целог екрана, ако је аутоматска ротација закључана. И даље можете приступити мини-плејеру тако што ћете изаћи из целог екрана
Покрени главни плејер преко целог екрана
Срушите плејер
@@ -740,7 +739,6 @@
Обавештења за пријаву грешака
Увезите или извезите праћења из менија са 3 тачке
Аудио снимак
- Прикажите Picasso обојене траке на врху слика које указују на њихов извор: црвена за мрежу, плава за диск и зелена за меморију
Направите обавештење о грешци
Проценат
Користите најновију верзију NewPipe-а
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 8cf57f6054f..50948fd571e 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -633,7 +633,6 @@
Du kan välja det natt-tema du föredrar nedan
Välj det natt-tema du föredrar — %s
Sökradens förhandsvisningsminiatyr
- Visa bildindikatorer
Lokala sökningsförslag
- Tog bort %1$s nedladdning
@@ -651,7 +650,6 @@
Svep objekt för att ta bort dem
Förslag via fjärrsökning
Starta inte videor i minispelaren, utan byt till helskärmsläge direkt, om automatisk rotation är låst. Du kan fortfarande komma åt minispelaren genom att gå ut ur helskärmsläge
- Visa Picasso färgade band ovanpå bilderna som anger deras källa: rött för nätverk, blått för disk och grönt för minne
Sök efter uppdateringar
Kolla manuellt efter nya versioner
Söker efter uppdateringar…
diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml
index b2846823c94..90708580a1c 100644
--- a/app/src/main/res/values-te/strings.xml
+++ b/app/src/main/res/values-te/strings.xml
@@ -442,7 +442,6 @@
ప్లేబ్యాక్ స్పీడ్ నియంత్రణలు
ఏమిలేదు
మీరు బ్లాక్ స్క్రీన్ లేదా చలనచిత్రం ప్లేబ్యాక్లో అంతరాయాన్ని అనుభవిస్తే మీడియా టన్నెలింగ్ను నిలిపివేయండి
- చిత్రాల మూలాన్ని సూచించే విధంగా వాటి పైభాగంలో పికాసో రంగు రిబ్బన్లను చూపండి: నెట్వర్క్ కోసం ఎరుపు, డిస్క్ కోసం నీలం మరియు మెమరీ కోసం ఆకుపచ్చ
లోపం స్నాక్బార్ని చూపండి
మీరు NewPipe యొక్క తాజా సంస్కరణను అమలు చేస్తున్నారు
NewPipe నవీకరణ అందుబాటులో ఉంది!
@@ -455,7 +454,6 @@
తక్కువ నాణ్యత (చిన్నది)
చూపించవద్దు
మీడియా టన్నెలింగ్ని నిలిపివేయండి
- చిత్ర సూచికలను చూపు
కొత్త స్ట్రీమ్ల కోసం తనిఖీని అమలు చేయండి
ఎర్రర్ నోటిఫికేషన్ను సృష్టించండి
దిగుమతి
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index adecbf3ffef..29933bdc673 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -633,8 +633,6 @@
Yorumlar devre dışı
Yaratıcısınca kalplendi
İzlendi olarak işaretle
- Resimlerin üzerinde kaynaklarını gösteren Picasso renkli şeritler göster: ağ için kırmızı, disk için mavi ve bellek için yeşil
- Resim göstergelerini göster
Uzak arama önerileri
Yerel arama önerileri
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index c347086093d..86350d40e96 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -646,8 +646,6 @@
Мініатюра з попереднім переглядом на повзунку поступу
Вподобано автором
Позначити переглянутим
- Показувати кольорові стрічки Пікассо поверх зображень із зазначенням їх джерела: червоний для мережі, синій для диска та зелений для пам’яті
- Показати індикатори зображень
Віддалені пропозиції пошуку
Локальні пошукові пропозиції
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index 0d71173afbc..15f5a86d472 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -624,8 +624,6 @@
Bình luận đã bị tắt
Đã được chủ kênh thả \"thính\"
Đánh dấu là đã xem
- Hiển thị các dải băng màu Picasso trên đầu các hình ảnh cho biết nguồn của chúng: màu đỏ cho mạng, màu lam cho đĩa và màu lục cho bộ nhớ
- Hiện dấu chỉ hình ảnh
Đề xuất tìm kiếm trên mạng
Đề xuất tìm kiếm cục bộ
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index fa8d31022cf..7b303621b9c 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -624,8 +624,6 @@
高品质(较大)
被创作者喜爱
标记为已观看
- 在图像顶部显示毕加索彩带,指示其来源:红色代表网络,蓝色代表磁盘,绿色代表内存
- 显示图像指示器
远程搜索建议
本地搜索建议
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 518a1290fc5..9f581b43f59 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -668,9 +668,7 @@
新
你係咪要刪除呢個谷?
淨係顯示未成谷嘅訂閱
- 啲圖都要騷 Picasso 三色碼顯示源頭:紅碼係網絡上高落嚟,藍碼係儲存喺磁碟本地,綠碼係潛伏喺記憶體中
服務原本嘅字會騷返喺串流項目上面
- 影像要推三色碼
若果播片嘅時候窒下窒下或者黑畫面,就停用多媒體隧道啦。
點樣用 Google 匯出嚟匯入 YouTube 訂閱:
\n
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index c404edeca2b..a4ad3578f82 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -624,8 +624,6 @@
拖動列縮圖預覽
被創作者加心號
標記為已觀看
- 在圖片頂部顯示畢卡索彩色絲帶,指示其來源:紅色代表網路、藍色代表磁碟、綠色代表記憶體
- 顯示圖片指示器
遠端搜尋建議
本機搜尋建議
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index fb68a464d5a..e31cebb92ac 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -241,7 +241,6 @@
show_memory_leaks_key
allow_disposed_exceptions_key
show_original_time_ago_key
- show_image_indicators_key
show_crash_the_player_key
check_new_streams
crash_the_app_key
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 56140441cd0..bff35e5d9ea 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -486,8 +486,6 @@
Disable media tunneling
Disable media tunneling if you experience a black screen or stuttering on video playback.
Media tunneling was disabled by default on your device because your device model is known to not support it.
- Show image indicators
- Show Picasso colored ribbons on top of images indicating their source: red for network, blue for disk and green for memory
Show \"Crash the player\"
Shows a crash option when using the player
Run check for new streams
diff --git a/app/src/main/res/xml/debug_settings.xml b/app/src/main/res/xml/debug_settings.xml
index 84bb281f31e..d97c5aa1a2b 100644
--- a/app/src/main/res/xml/debug_settings.xml
+++ b/app/src/main/res/xml/debug_settings.xml
@@ -34,13 +34,6 @@
app:singleLineTitle="false"
app:iconSpaceReserved="false" />
-
-