diff --git a/.travis.yml b/.travis.yml
index 528b5edd3..fef282d77 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,15 +2,15 @@ language: android
android:
components:
# The BuildTools version used by NewPipe
- - build-tools-23.0.1
+ - build-tools-23.0.2
# The SDK version used to compile NewPipe
- android-23
-
+
# Additional components
- extra-android-support
- extra-android-m2repository
-
+
# Emulators
- sys-img-armeabi-v7a-android-21
- sys-img-armeabi-v7a-android-19
diff --git a/README.md b/README.md
index 987cd4b29..e24c686ca 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,12 @@ Project status:
## Screenshots
-[](assets/screenshot_1.png)
-[](assets/screenshot_2.png)
+[](screenshots/screenshot_1.png)
+[](screenshots/screenshot_2.png)
+[](screenshots/screenshot_3.png)
+[](screenshots/screenshot_4.png)
+[](screenshots/screenshot_5.png)
+[](screenshots/screenshot_6.png)
## Description
diff --git a/app/build.gradle b/app/build.gradle
index 324224856..7cede827a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,14 +2,14 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 23
- buildToolsVersion "23.0.1"
+ buildToolsVersion "23.0.2"
defaultConfig {
applicationId "org.schabi.newpipe"
minSdkVersion 15
targetSdkVersion 23
- versionCode 6
- versionName "0.6.0"
+ versionCode 8
+ versionName "0.6.2"
}
buildTypes {
release {
@@ -31,6 +31,8 @@ dependencies {
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'
+ compile 'com.android.support:cardview-v7:23.1.1'
+ compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'org.jsoup:jsoup:1.8.3'
compile 'org.mozilla:rhino:1.7.7'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9102e261d..5f8db3ab3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,7 +2,7 @@
-
+ git merge
@@ -16,7 +16,7 @@
tools:ignore="AllowBackup">
+ android:label="@string/app_name">
@@ -25,7 +25,8 @@
+ android:label="@string/title_videoitem_detail"
+ android:theme="@style/AppTheme">
diff --git a/app/src/main/java/org/schabi/newpipe/PlayVideoActivity.java b/app/src/main/java/org/schabi/newpipe/PlayVideoActivity.java
index 825f69949..d5fea8c3e 100644
--- a/app/src/main/java/org/schabi/newpipe/PlayVideoActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/PlayVideoActivity.java
@@ -56,7 +56,6 @@ public class PlayVideoActivity extends AppCompatActivity {
public static final String START_POSITION = "start_position";
private static final long HIDING_DELAY = 3000;
- private static final long TAB_HIDING_DELAY = 100;
private String videoUrl = "";
diff --git a/app/src/main/java/org/schabi/newpipe/VideoInfo.java b/app/src/main/java/org/schabi/newpipe/VideoInfo.java
index c7c051945..89e576aae 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoInfo.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoInfo.java
@@ -1,7 +1,5 @@
package org.schabi.newpipe;
-import android.graphics.Bitmap;
-
import org.schabi.newpipe.services.AbstractVideoInfo;
import java.util.List;
@@ -27,11 +25,10 @@ import java.util.List;
*/
/**Info object for opened videos, ie the video ready to play.*/
+@SuppressWarnings("ALL")
public class VideoInfo extends AbstractVideoInfo {
- private static final String TAG = VideoInfo.class.toString();
public String uploader_thumbnail_url = "";
- public Bitmap uploader_thumbnail = null;
public String description = "";
public VideoStream[] videoStreams = null;
public AudioStream[] audioStreams = null;
@@ -89,6 +86,7 @@ public class VideoInfo extends AbstractVideoInfo {
}
}
+ @SuppressWarnings("unused")
public static class AudioStream {
public String url = "";
public int format = -1;
diff --git a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java
index efd752788..c925a40d3 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java
@@ -27,8 +27,6 @@ import android.widget.TextView;
*/
class VideoInfoItemViewCreator {
- private static final String TAG = VideoInfoItemViewCreator.class.toString();
-
private final LayoutInflater inflater;
public VideoInfoItemViewCreator(LayoutInflater inflater) {
diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java b/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
index 84009069a..4290e5c9c 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoItemDetailFragment.java
@@ -7,6 +7,8 @@ import android.content.SharedPreferences;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.graphics.Point;
+import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
@@ -27,7 +29,6 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
-import android.widget.ScrollView;
import android.widget.TextView;
import android.view.MenuItem;
@@ -84,6 +85,10 @@ public class VideoItemDetailFragment extends Fragment {
private VideoInfo currentVideoInfo = null;
private boolean showNextVideoItem = false;
+ private View thumbnailWindowLayout;
+ private FloatingActionButton playVideoButton;
+ private final Point initialThumbnailPos = new Point(0, 0);
+
public interface OnInvokeCreateOptionsMenuListener {
void createOptionsMenu();
}
@@ -202,7 +207,7 @@ public class VideoItemDetailFragment extends Fragment {
VideoInfoItemViewCreator videoItemViewCreator =
new VideoInfoItemViewCreator(LayoutInflater.from(getActivity()));
- ScrollView contentMainView = (ScrollView) activity.findViewById(R.id.detailMainContent);
+ RelativeLayout textContentLayout = (RelativeLayout) activity.findViewById(R.id.detailTextContentLayout);
ProgressBar progressBar = (ProgressBar) activity.findViewById(R.id.detailProgressBar);
TextView videoTitleView = (TextView) activity.findViewById(R.id.detailVideoTitleView);
TextView uploaderView = (TextView) activity.findViewById(R.id.detailUploaderView);
@@ -221,7 +226,8 @@ public class VideoItemDetailFragment extends Fragment {
Button nextVideoButton = (Button) activity.findViewById(R.id.detailNextVideoButton);
Button similarVideosButton = (Button) activity.findViewById(R.id.detailShowSimilarButton);
- contentMainView.setVisibility(View.VISIBLE);
+ textContentLayout.setVisibility(View.VISIBLE);
+ playVideoButton.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
if(!showNextVideoItem) {
nextVideoRootFrame.setVisibility(View.GONE);
@@ -239,9 +245,6 @@ public class VideoItemDetailFragment extends Fragment {
viewCountView.setText(
String.format(
res.getString(R.string.viewCountText), localisedViewCount));
- /*viewCountView.setText(localisedViewCount
- + " " + activity.getString(R.string.viewSufix)); */
-
thumbsUpView.setText(nf.format(info.like_count));
thumbsDownView.setText(nf.format(info.dislike_count));
@@ -336,6 +339,7 @@ public class VideoItemDetailFragment extends Fragment {
activity = (AppCompatActivity) getActivity();
showNextVideoItem = PreferenceManager.getDefaultSharedPreferences(getActivity())
.getBoolean(activity.getString(R.string.showNextVideo), true);
+
}
@Override
@@ -354,8 +358,11 @@ public class VideoItemDetailFragment extends Fragment {
@Override
public void onActivityCreated(Bundle savedInstanceBundle) {
super.onActivityCreated(savedInstanceBundle);
- FloatingActionButton playVideoButton =
- (FloatingActionButton) getActivity().findViewById(R.id.playVideoButton);
+ Activity a = getActivity();
+ playVideoButton = (FloatingActionButton) a.findViewById(R.id.playVideoButton);
+ thumbnailWindowLayout = a.findViewById(R.id.detailVideoThumbnailWindowLayout);
+ Button backgroundButton = (Button)
+ a.findViewById(R.id.detailVideoThumbnailWindowBackgroundButton);
// Sometimes when this fragment is not visible it still gets initiated
// then we must not try to access objects of this fragment.
@@ -373,20 +380,6 @@ public class VideoItemDetailFragment extends Fragment {
e.printStackTrace();
}
- if (PreferenceManager.getDefaultSharedPreferences(getActivity())
- .getBoolean(getString(R.string.leftHandLayout), false) && checkIfLandscape()) {
- RelativeLayout.LayoutParams oldLayout =
- (RelativeLayout.LayoutParams) playVideoButton.getLayoutParams();
- RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
- RelativeLayout.LayoutParams.WRAP_CONTENT,
- RelativeLayout.LayoutParams.WRAP_CONTENT);
- layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
- layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
- layoutParams.setMargins(oldLayout.leftMargin, oldLayout.topMargin,
- oldLayout.rightMargin, oldLayout.bottomMargin);
- playVideoButton.setLayoutParams(layoutParams);
- }
-
playVideoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -394,6 +387,13 @@ public class VideoItemDetailFragment extends Fragment {
}
});
+ backgroundButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ actionBarHandler.playVideo();
+ }
+ });
+
Button similarVideosButton = (Button) activity.findViewById(R.id.detailShowSimilarButton);
similarVideosButton.setOnClickListener(new View.OnClickListener() {
@Override
@@ -408,9 +408,32 @@ public class VideoItemDetailFragment extends Fragment {
activity.startActivity(intent);
}
});
+
+ // todo: Fix this workaround (probably with a better design), so that older android
+ // versions don't have problems rendering the thumbnail right.
+ if(Build.VERSION.SDK_INT >= 18) {
+ ImageView thumbnailView = (ImageView) activity.findViewById(R.id.detailThumbnailView);
+ thumbnailView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
+ // This is used to synchronize the thumbnailWindowButton and the playVideoButton
+ // inside the ScrollView with the actual size of the thumbnail.
+ @Override
+ public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
+ RelativeLayout.LayoutParams newWindowLayoutParams =
+ (RelativeLayout.LayoutParams) thumbnailWindowLayout.getLayoutParams();
+ newWindowLayoutParams.height = bottom - top;
+ thumbnailWindowLayout.setLayoutParams(newWindowLayoutParams);
+
+ //noinspection SuspiciousNameCombination
+ initialThumbnailPos.set(top, left);
+
+ }
+ });
+ }
}
}
+
+
/**Returns the java.util.Locale object which corresponds to the locale set in NewPipe's preferences.
* Currently not affected by the device's locale.*/
private Locale getPreferredLocale() {
@@ -418,7 +441,8 @@ public class VideoItemDetailFragment extends Fragment {
String languageKey = getContext().getString(R.string.searchLanguage);
//i know the following line defaults languageCode to "en", but java is picky about uninitialised values
// Schabi: well lint tels me the value is redundant. I'll suppress it for now.
- @SuppressWarnings("UnusedAssignment") String languageCode = "en";
+ @SuppressWarnings("UnusedAssignment")
+ String languageCode = "en";
languageCode = sp.getString(languageKey, "en");
if(languageCode.length() == 2) {
diff --git a/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java b/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
index 6f06430d3..4e35a5a20 100644
--- a/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
+++ b/app/src/main/java/org/schabi/newpipe/VideoListAdapter.java
@@ -33,8 +33,6 @@ import java.util.Vector;
*/
class VideoListAdapter extends BaseAdapter {
- private static final String TAG = VideoListAdapter.class.toString();
-
private final Context context;
private final VideoInfoItemViewCreator viewCreator;
private Vector videoList = new Vector<>();
@@ -44,6 +42,8 @@ class VideoListAdapter extends BaseAdapter {
public VideoListAdapter(Context context, VideoItemListFragment videoListFragment) {
viewCreator = new VideoInfoItemViewCreator(LayoutInflater.from(context));
this.listView = videoListFragment.getListView();
+ this.listView.setDivider(null);
+ this.listView.setDividerHeight(0);
this.context = context;
}
diff --git a/app/src/main/java/org/schabi/newpipe/services/SearchEngine.java b/app/src/main/java/org/schabi/newpipe/services/SearchEngine.java
index 42b0fed6c..98aa42ae5 100644
--- a/app/src/main/java/org/schabi/newpipe/services/SearchEngine.java
+++ b/app/src/main/java/org/schabi/newpipe/services/SearchEngine.java
@@ -25,6 +25,7 @@ import java.util.Vector;
* along with NewPipe. If not, see .
*/
+@SuppressWarnings("ALL")
public interface SearchEngine {
diff --git a/app/src/main/java/org/schabi/newpipe/services/ServiceList.java b/app/src/main/java/org/schabi/newpipe/services/ServiceList.java
index 53bba3ffb..da1b293fb 100644
--- a/app/src/main/java/org/schabi/newpipe/services/ServiceList.java
+++ b/app/src/main/java/org/schabi/newpipe/services/ServiceList.java
@@ -26,6 +26,8 @@ import org.schabi.newpipe.services.youtube.YoutubeService;
/**Provides access to the video streaming services supported by NewPipe.
* Currently only Youtube until the API becomes more stable.*/
+
+@SuppressWarnings("ALL")
public class ServiceList {
private static final String TAG = ServiceList.class.toString();
private static final StreamingService[] services = {
diff --git a/app/src/main/java/org/schabi/newpipe/services/VideoExtractor.java b/app/src/main/java/org/schabi/newpipe/services/VideoExtractor.java
index 01ff361ef..dfe2e161f 100644
--- a/app/src/main/java/org/schabi/newpipe/services/VideoExtractor.java
+++ b/app/src/main/java/org/schabi/newpipe/services/VideoExtractor.java
@@ -23,6 +23,8 @@ package org.schabi.newpipe.services;
import org.schabi.newpipe.VideoInfo;
/**Scrapes information from a video streaming service (eg, YouTube).*/
+
+@SuppressWarnings("ALL")
public abstract class VideoExtractor {
protected final String pageUrl;
protected VideoInfo videoInfo;
diff --git a/app/src/main/res/drawable-nodpi/dummy_thumbnail_dark.png b/app/src/main/res/drawable-nodpi/dummy_thumbnail_dark.png
new file mode 100644
index 000000000..7123a6f01
Binary files /dev/null and b/app/src/main/res/drawable-nodpi/dummy_thumbnail_dark.png differ
diff --git a/app/src/main/res/drawable-nodpi/thumbs_down.png b/app/src/main/res/drawable-nodpi/thumbs_down.png
index 62baa65ac..23c0f0487 100644
Binary files a/app/src/main/res/drawable-nodpi/thumbs_down.png and b/app/src/main/res/drawable-nodpi/thumbs_down.png differ
diff --git a/app/src/main/res/drawable-nodpi/thumbs_up.png b/app/src/main/res/drawable-nodpi/thumbs_up.png
index 11bf85637..1fdd2293f 100644
Binary files a/app/src/main/res/drawable-nodpi/thumbs_up.png and b/app/src/main/res/drawable-nodpi/thumbs_up.png differ
diff --git a/app/src/main/res/layout-land/fragment_videoitem_detail.xml b/app/src/main/res/layout-land/fragment_videoitem_detail.xml
deleted file mode 100644
index 02201f9f4..000000000
--- a/app/src/main/res/layout-land/fragment_videoitem_detail.xml
+++ /dev/null
@@ -1,214 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout-sw600dp/fragment_videoitem_detail.xml b/app/src/main/res/layout-sw600dp/fragment_videoitem_detail.xml
deleted file mode 100644
index 9bf507fef..000000000
--- a/app/src/main/res/layout-sw600dp/fragment_videoitem_detail.xml
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout-v18/fragment_videoitem_detail.xml b/app/src/main/res/layout-v18/fragment_videoitem_detail.xml
new file mode 100644
index 000000000..91cfea986
--- /dev/null
+++ b/app/src/main/res/layout-v18/fragment_videoitem_detail.xml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_videoitem_list.xml b/app/src/main/res/layout/activity_videoitem_list.xml
index 0a1c8e2e5..9032ba45d 100644
--- a/app/src/main/res/layout/activity_videoitem_list.xml
+++ b/app/src/main/res/layout/activity_videoitem_list.xml
@@ -10,6 +10,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".VideoItemListActivity"
- tools:layout="@android:layout/list_content"/>
+ tools:layout="@android:layout/list_content" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_videoitem_detail.xml b/app/src/main/res/layout/fragment_videoitem_detail.xml
index 02f7a0eb9..987c416ec 100644
--- a/app/src/main/res/layout/fragment_videoitem_detail.xml
+++ b/app/src/main/res/layout/fragment_videoitem_detail.xml
@@ -1,6 +1,6 @@
-
-
-
+ android:visibility="visible"
+ tools:ignore="UselessParent">
-
+ android:layout_height="wrap_content"
+ android:background="?attr/selectableItemBackground">
+ android:background="@android:color/black"
+ android:src="@drawable/dummy_thumbnail_dark"/>
-
+ android:layout_centerInParent="true"
+ android:indeterminate="true"/>
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:padding="@dimen/video_item_detail_info_text_padding"
+ android:layout_below="@id/detailVideoThumbnailWindowLayout"
+ android:background="@color/background_gray">
-
+ android:textStyle="bold"
+ android:textSize="@dimen/video_item_detail_title_text_size"
+ android:textAppearance="?android:attr/textAppearanceLarge"/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+ android:padding="@dimen/video_item_detail_info_text_padding"
+ android:layout_below="@id/detailDescriptionView" >
-
+
+
+
+
+
+
+
+
+
+
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/video_item.xml b/app/src/main/res/layout/video_item.xml
index bac7d7964..1c7caac60 100644
--- a/app/src/main/res/layout/video_item.xml
+++ b/app/src/main/res/layout/video_item.xml
@@ -1,67 +1,96 @@
-
+ android:layout_height="wrap_content" >
-
-
-
-
-
-
-
+ card_view:cardCornerRadius="@dimen/video_item_search_card_radius"
+ android:layout_marginTop="@dimen/video_item_search_card_vertical_margin"
+ android:layout_marginBottom="@dimen/video_item_search_card_vertical_margin"
+ android:layout_marginLeft="@dimen/video_item_search_card_horizontal_margin"
+ android:layout_marginRight="@dimen/video_item_search_card_horizontal_margin" >
-
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 5d197db07..d17fae7bd 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -1,13 +1,10 @@
- NewPipe
- NewPipe
%1$s Aufrufe
Hochgeladen am %1$s
Keinen Streamplayer gefunden. Vielleicht möchtest du einen installieren.
Jetzt installieren
Abbrechen
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
In Browser öffnen
Teilen
Download
@@ -29,10 +26,8 @@
Mit Kodi abspielen
Kore app wurde nicht gefunden. Kore wird benötigt, um Videos mit Kodi wieder zu geben.
Kore installieren
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
Zeige \"Mit Kodi abspielen\" Option
Zeigt eine Option an, über die man Videos mit dem Kodi Mediacenter abspielen kann.
- Play-Button auf der linken Seite.
Audio
Bevorzugtes Audio Format
WebM - freies Format
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 02b2e49aa..bcf25e8fa 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -1,13 +1,10 @@
- NewPipe
- NewPipe
%1$s visitas
Subido el %1$s
No se ha encontrado ningún reproductor de vídeo. Quizás quieras instalar alguno.
Instalarlo
Cancelar
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
Abrir en el navegador
Compartir
Descargar
@@ -29,10 +26,8 @@
Reproducir con Kodi
Aplicación Kore no encontrada. Kore es necesario para reproducir vídeos con Kodi media center.
Instalar Kore
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
Mostrar la opción \"Reproducir con Kodi\"
Muestra una opción para reproducir el vídeo con Kodi media center.
-Mostrar el botón de reproducir en el lado izquierdo.
Audio
Formato de audio por defecto
WebM - formato libre
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 171c95453..8951a6ee4 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -1,13 +1,10 @@
- NewPipe
- NewPipe
%1$s نماها
بارگذاریشده در: %1$s
هیچ پخشکنندهی جریانی یافت نشد. ممکن است بخواهید یکی نصب کنید.
نصب کنید
انصراف
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
بازکردن در مرورگر
همرسانی
بارگیری
@@ -29,10 +26,8 @@
پخش با Kodi
برنامهی Kore نصب نیست. برای پخش کردن ویدئوها با مرکز رسانهی Kodi، به Kore نیاز دارید.
نصب Kore
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
نمایش گزینهی «پخش با Kodi»
گزینهای برای پخش کردن ویدئو با مرکز رسانهی Kodi نشان میدهد.
- نمایش دکمهی پخش در سمت چپ.
صدا
قالب پیشفرض صدا
WebM - قالبی آزاد
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 682b6653f..6f93c9d13 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -1,17 +1,14 @@
- NewPipe
- Démarrer automatiquement la vidéo si elle a été appellée à partir d\'une autre application.
+ Démarrer automatiquement la vidéo si elle a été appelée depuis une autre application.
Annuler
- Choisir un navigateur:
- Résolution par défaut:
- S\'agirait-il de:
+ Choisir un navigateur :
+ Résolution par défaut
+ "S\'agirait-il de : "
Télécharger
Emplacement des téléchargements
Entrez l\'emplacement du téléchargement
Emplacement des vidéos téléchargées.
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
Installer
Installer Kore
L\'application Kore est introuvable. Kore est nécessaire afin de lire des vidéos dans Kodi media center.
@@ -20,19 +17,17 @@
Lecture automatique via Intent
Lire avec Kodi
rotation
- Chercher
- Chercher dans la page:
+ Rechercher
+ "Rechercher dans la page : "
Paramètres
Partager
- Partager avec:
+ Partager avec :
Afficher une option pour lire la vidéo avec Kodi media center.
Afficher l\'option \"Lire avec Kodi\"
Paramètres
- NewPipe
Mise en ligne le %1$s
Utiliser un lecteur externe
%1$s vues
- Afficher le bouton de lecture sur la gauche.
Audio
Format audio par défaut
WebM- format libre
@@ -42,4 +37,14 @@
Afficher les vidéos suivantes et similaires
URL non supportée.
Vidéos similaires
+ VIDÉO & AUDIO
+ INFORMATION
+ DIVERS
+
+ Miniature d\'aperçu vidéo
+ Miniature d\'aperçu vidéo
+ Je n\'aime pas
+ J\'aime
+Langue du contenu
+ Avatar de l\'utilisateur
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 440743000..d6dc6d25f 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -1,13 +1,10 @@
- NewPipe
- NewPipe
%1$s megtekintés
Feltöltve: %1$s
Nem található lejátszó. Telepítsen egyet!
Telepítsen egyet
Mégse
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
Megnyitás böngészőben
Megosztás
Letöltés
@@ -29,10 +26,8 @@
Lejátszás Kodi-val
A Kore alkalmazás nem található. A Kore szükséges a videók Kodi médiaközponttal való lejátszásához.
Kore telepítése
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
\"Lejátszás Kodi-val\" opció mutatása
Mutat egy opciót a videók Kodi médiaközponttal való lejátszására
- Lejátszás gomb bal oldalon mutatása
Hang
Alapértelmezett hang formátum
WebM - szabad formátum
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
new file mode 100644
index 000000000..931afc6c2
--- /dev/null
+++ b/app/src/main/res/values-it/strings.xml
@@ -0,0 +1,49 @@
+
+%1$s visite
+ Caricato in %1$s
+ Nessun riproduttore trovato. Dovresti installarne uno.
+ Installa
+ Cancella
+ Apri nel browser
+ Condividi
+ Scarica
+ Cerca
+ Impostazioni
+ "Intendevi: "
+ "Cerca pagina: "
+ Condividi con:
+ Scegli browser:
+ rotazione
+ Impostazioni
+ Usa un riproduttore video esterno
+ Cartella di download
+ Percorso dove memorizzare i video scaricati.
+ Inserisci il percorso di download
+ Auto riproduzione attraverso internet
+ Avvia automaticamente un video quando è stato chiamato da un\'altra applicazione.
+ Risoluzione predefinita
+ Riproduci con Kodi
+ Kore app non trovata. Kore è richiesto per riprodurre video con Kodi media center.
+ Installa Kore
+ Mostra l\'opzione \"Riproduci con Kodi\"
+ Mostra un opzione per riprodurre un video attraverso Kodi media center.
+ Audio
+ Formato audio predefinito
+ WedM - formato libero
+ m4a - qualità migliore
+ Scarica
+ Prossimo video
+ Mostra i video successivi e simili
+ URL non supportato.
+ Video simili
+ Lingua preferita dei contenuti
+ VIDEO & AUDIO
+ INFO
+ ETC
+
+ Anteprima video
+ Anteprima video
+ Miniatura caricata
+ Non mi piace
+ Mi piace
+
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 56159b96f..dcc657eb4 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -1,20 +1,14 @@
-NewPipe
- NewPipe
- 何も見つかりません
- 表示
+
"アップロード: "%1$s
StreamPlayer が見つかりませんでした。インストールが必要になるかもしれません。
インストール
取り消し
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
ブラウザーで開く
共有
- 再生
ダウンロード
検索
設定
- 送信
"この意味ですか: "
"検索ページ: "
…共有:
@@ -31,10 +25,8 @@
Kodi で再生
Kore アプリが見つかりません。 Kodi メディアセンターで動画を再生するには、 Kore が必要です。
Kore をインストール
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
\"Kodi で再生\" 設定を表示
Kodi メディアセンター経由で動画を再生するための設定を表示します.
- 左側に再生ボタンを表示.
オーディオ
基本のオーディオフォーマット
.WebM - フリーフォーマット
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
new file mode 100644
index 000000000..bdb8b1084
--- /dev/null
+++ b/app/src/main/res/values-ko/strings.xml
@@ -0,0 +1,49 @@
+
+시청 횟수 %1$s
+ %1$s에 업로드됨
+ 스트리밍 플레이어가 발견되지 않았습니다. 플레이어를 설치하시기 바랍니다.
+ 설치
+ 취소
+ 브라우저에서 열기
+ 공유
+ 다운로드
+ 검색
+ 설정
+ "혹시 이것을 검색하셨습니까? "
+ "검색 페이지: "
+ 다음으로 공유:
+ 브라우저 선택:
+ 회전
+ 설정
+ 외부 플레이어 사용
+ 다운로드 위치
+ 다운로드된 비디오가 저장될 경로를 선택하세요.
+ 다운로드 경로 입력
+ 인텐트로 경유할 경우 자동 재생
+ 다른 앱으로부터 호출되었을 경우에 비디오를 자동으로 재생합니다.
+ 기본 해상도
+ Kodi로 재생
+ Kore 앱이 발견되지 않았습니다. Kodi media center로 비디오를 재생하려면 Kore가 필요합니다.
+ Kore 설치
+ \"Kodi로 재생\" 옵션 표시
+ 비디오를 Kodi media center를 사용해 재생하는 옵션을 표시합니다.
+ 오디오
+ 기본 오디오 포맷
+ WebM - 무료 자유 포맷입니다
+ m4a - 보다 나은 품질
+ 다운로드
+ 다음 비디오
+ 다음 및 유사한 비디오 표시
+ 지원하지 않는 URL 입니다.
+ 유사한 비디오
+ 선호하는 컨텐츠 언어
+ 비디오 & 오디오
+ 정보
+ 기타
+
+ 비디오 미리보기 썸네일
+ 비디오 미리보기 썸네일
+ 업로더 썸네일
+ 싫어요
+ 좋아요
+
diff --git a/app/src/main/res/values-land/dimens.xml b/app/src/main/res/values-land/dimens.xml
new file mode 100644
index 000000000..54f4d69eb
--- /dev/null
+++ b/app/src/main/res/values-land/dimens.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ 22sp
+ 16sp
+ 18sp
+ 18sp
+
+ 210dp
+ 130dp
+
+ 5dp
+ 10dp
+ 10dp
+ 10dp
+ 1sp
+ 7sp
+ 5sp
+
+ 4dp
+
+
+
+ 24sp
+ 18sp
+ 16sp
+ 18sp
+ 18sp
+ 18sp
+ 20sp
+ 20sp
+
+ 240dp
+ 100dp
+ 20sp
+ 20sp
+
+ 10sp
+ 10sp
+ 20dp
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 834101e85..8fa79cb59 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -1,13 +1,10 @@
- NewPipe
- NewPipe
%1$s keer bekeken
Geüpload op %1$s
Geen speler met streaming ondersteuning gevonden. Misschien wil je er een installeren.
Installeer speler
Annuleer
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
Open in browser
Deel
Download
@@ -29,10 +26,8 @@
Speel af met Kodi
Kore app niet gevonden. Kore is nodig om videos op Kodi af te spelen.
Installeer Kore
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
Toon \"Speel af met Kodi\" optie
Toont een optie om een video op een Kodi media center af te spelen.
- Afspeel knop aan de linker kant weergeven.
Audio
Standaard audio formaat
Webam - open formaat
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 08634ea9e..46e5b3c9b 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -1,19 +1,13 @@
-NewPipe
- NewPipe
- Brak wyników
- wyświetleń
- "Opublikowany "
+
Nie znaleziono odtwarzacza strumieniowego.
Zainstaluj
Anuluj
Otwórz w przeglądarce
Udostępnij
- Odtwórz
Pobierz
Szukaj
Ustawienia
- Wyślij za pośrednictwem
"Czy chodziło Ci o: "
Udostępnij za pośrednictwem:
Wybierz przeglądarkę:
@@ -31,7 +25,6 @@
Zainstaluj Kore
Wyświetlaj opcję \"Odtwarzaj za pośrednictwem Kodi\"
Wyświetla opcję do odtwarzania wideo przez aplikację Kodi.
- Wyświetl przycisk odtwarzania po lewej stronie.
Dźwięk
Domyślny format dźwięku
WebM - otwarty format
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 350b72c16..a2dbdd50f 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -1,13 +1,10 @@
- NewPipe
- NewPipe
%1$s просмотров
- Опубликовано: %1$s
+ Опубликовано %1$s
Ни одного потокового проигрывателя не было найдено. Установить?
Установить
Отмена
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
Открыть в браузере
Поделиться
Скачать
@@ -29,10 +26,8 @@
Воспроизвести с помощью Kodi
Приложение Kore не наидено. Чтобы проигрывать видео через Kodi media center, нужен Kore.
Установить Kore
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
Показывать опцию \"Воспроизвести с помощью Kodi\"
Показать опцию воспроизведения видео через Kodi media center.
- Показать кнопку воспроизведения слева.
Аудио
Формат аудио по-умолчанию
WebM - свободный формат
@@ -47,4 +42,13 @@
Похожие видео
Показывать следующее и предложенные видео
Предпочитаемый язык контента
+ВИДЕО И АУДИО
+ ИНФОРМАЦИЯ
+ ПРОЧЕЕ
+
+ Миниатюра видео-превью
+ Миниатюра видео-превью
+ Миниатюра аватара пользователся
+ Дислайки
+ Лайки
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 5cede012b..2e72a4db5 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -1,13 +1,10 @@
- Јутјуб цев
- Јутјуб цев
%1$s приказа
"Отпремљен "%1$s
Нема плејера токова. Можда желите да га инсталирате.
Инсталирај
Одустани
- https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc
Отвори у прегледачу
Дели
Преузми
@@ -29,10 +26,8 @@
Пусти помоћу Кодија
Апликација Кор није нађена. Кор (Kore) је потребан да бисте пуштали видее у Коди медија центру.
Инсталирај Кор
- https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
Прикажи „Пусти помоћу Кодија“
Приказ опције за пуштање видеа у Коди медија центру.
- Прикажи дугме за пуштање на левој страни.
Аудио
Подразумевани формат звука
WebM - слободни формат
diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/app/src/main/res/values-sw600dp/dimens.xml
new file mode 100644
index 000000000..074965ae1
--- /dev/null
+++ b/app/src/main/res/values-sw600dp/dimens.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ 20sp
+ 16sp
+ 14sp
+ 16sp
+ 16sp
+ 16sp
+ 18sp
+ 18sp
+
+ 300dp
+ 100dp
+ 18sp
+ 18sp
+
+ 10sp
+ 10sp
+ 20dp
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml
index 6c4c1939d..1f056cfb5 100644
--- a/app/src/main/res/values-v21/styles.xml
+++ b/app/src/main/res/values-v21/styles.xml
@@ -7,6 +7,7 @@
- @color/primaryColorDarkYoutube
- @color/accentColorYoutube
- @color/accentColorYoutube
+ - @color/background_gray
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 610d00f89..e14ee9606 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -2,8 +2,9 @@
#cd322e
#bc211d
- #000000
- #aa000000
- #eeffffff
- #66000000
+ #000
+ #a000
+ #efff
+ #6000
+ #EEEEEE
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 000000000..97df6e82b
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ 14sp
+ 11sp
+ 12sp
+ 12sp
+
+ 140dp
+ 85dp
+
+ 3dp
+ 6dp
+ 6dp
+ 6dp
+ 1sp
+ 5sp
+ 2sp
+
+ 4dp
+
+
+
+ 18sp
+ 14sp
+ 12sp
+ 14sp
+ 14sp
+ 14sp
+ 16sp
+ 16sp
+
+ 200dp
+ 80dp
+ 18sp
+ 18sp
+
+ 6sp
+ 6sp
+ 20dp
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/dimentxt.xml b/app/src/main/res/values/dimentxt.xml
deleted file mode 100644
index 7d9242073..000000000
--- a/app/src/main/res/values/dimentxt.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- 14sp
- 11sp
- 12sp
- 12sp
-
- 18sp
- 14sp
- 12sp
- 14sp
- 14sp
- 14sp
-
-
- 20sp
- 16sp
- 14sp
- 16sp
- 16sp
- 16sp
-
- 24sp
- 18sp
- 16sp
- 18sp
- 18sp
- 18sp
-
\ No newline at end of file
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index f1cd7ebaf..f7c6020a6 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -17,7 +17,6 @@
360p
show_play_with_kodi_preference
- left_hand_layout
default_audio_format
- @string/webMAudioDescription
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 273b2eee4..c819f5ff7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -32,7 +32,6 @@
https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore
Show \"Play with Kodi\" option
Displays an option to play a video via Kodi media center.
- Show play button on the left side.
Audio
Default audio format
WebM - free format
@@ -55,6 +54,6 @@
Video preview thumbnail
Video preview thumbnail
Uploader thumbnail
- Unlikes
+ Dislikes
Likes
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index a6ca5f74d..8d27cc3df 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -6,6 +6,7 @@
- @color/primaryColorYoutube
- @color/primaryColorDarkYoutube
- @color/accentColorYoutube
+ - @color/background_gray
\ No newline at end of file
diff --git a/app/src/main/res/xml/settings_screen.xml b/app/src/main/res/xml/settings_screen.xml
index 59ed1b28f..724c27e99 100644
--- a/app/src/main/res/xml/settings_screen.xml
+++ b/app/src/main/res/xml/settings_screen.xml
@@ -37,11 +37,6 @@
android:summary="@string/showPlayWithKodiSummary"
android:defaultValue="false" />
-
-