From cc8468439a06ca4ccef78c7352d81ef7ca8bc428 Mon Sep 17 00:00:00 2001
From: epicmango
Date: Tue, 13 Apr 2021 11:22:45 +0200
Subject: [PATCH 01/21] Add Download Dialog Button for Cover Image
Just that
---
.../newpipe/download/DownloadDialog.java | 1 +
app/src/main/res/layout/download_dialog.xml | 20 ++++++++++++++++++-
app/src/main/res/values/strings.xml | 1 +
settings.gradle | 2 +-
4 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
index 4d3726c3888..e3c391efbcb 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
@@ -76,6 +76,7 @@
import us.shandian.giga.service.DownloadManagerService.DownloadManagerBinder;
import us.shandian.giga.service.MissionState;
+
import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
public class DownloadDialog extends DialogFragment
diff --git a/app/src/main/res/layout/download_dialog.xml b/app/src/main/res/layout/download_dialog.xml
index b0f7110980a..0e3a425081b 100644
--- a/app/src/main/res/layout/download_dialog.xml
+++ b/app/src/main/res/layout/download_dialog.xml
@@ -35,6 +35,7 @@
android:layout_height="wrap_content"
android:layout_below="@+id/file_name"
android:layout_marginLeft="20dp"
+ android:layout_marginTop="5dp"
android:layout_marginBottom="6dp"
android:gravity="left"
android:orientation="horizontal"
@@ -44,6 +45,7 @@
android:id="@+id/video_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_margin="3dp"
android:checked="true"
android:text="@string/video" />
@@ -51,21 +53,25 @@
android:id="@+id/audio_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_margin="3dp"
android:text="@string/audio" />
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6759110b331..edfc5183332 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -715,4 +715,5 @@
Select your favorite night theme — %s
You can select your favorite night theme below
Download has started
+ Cover Image
diff --git a/settings.gradle b/settings.gradle
index b564e370098..6fa91ca9303 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -8,4 +8,4 @@ include ':app'
// dependencySubstitution {
// substitute module('com.github.TeamNewPipe:NewPipeExtractor') with project(':extractor')
// }
-//}
+//}
\ No newline at end of file
From 802b3f1c00544c8c15f87b45db3bf82775a842b3 Mon Sep 17 00:00:00 2001
From: Mango Epic <71931749+mangoepic@users.noreply.github.com>
Date: Sun, 18 Apr 2021 12:43:42 +0200
Subject: [PATCH 02/21] Update Readme
---
README.md | 126 +-----------------------------------------------------
1 file changed, 2 insertions(+), 124 deletions(-)
diff --git a/README.md b/README.md
index 9eec4569343..f65ad845928 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
-NewPipe
+NewPipe feature-cover-image
+This is a feature branch trying to add cover images to downloaded files in NewPipe.
A libre lightweight streaming frontend for Android.
@@ -12,129 +13,6 @@
-
-Screenshots • Description • Features • Installation and updates • Contribution • Donate • License
-Website • Blog • FAQ • Press
-
-
-*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md) .*
-
-WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.
-
-PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.
-
-## Screenshots
-
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
-[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
-[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
-
-## Description
-
-NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
-
-### Features
-
-* Search videos
-* Display general info about videos
-* Watch YouTube videos
-* Listen to YouTube videos
-* Popup mode (floating player)
-* Select streaming player to watch video with
-* Download videos
-* Download audio only
-* Open a video in Kodi
-* Show next/related videos
-* Search YouTube in a specific language
-* Watch/Block age restricted material
-* Display general info about channels
-* Search channels
-* Watch videos from a channel
-* Orbot/Tor support (not yet directly)
-* 1080p/2K/4K support
-* View history
-* Subscribe to channels
-* Search history
-* Search/watch playlists
-* Watch as enqueued playlists
-* Enqueue videos
-* Local playlists
-* Subtitles
-* Livestream support
-* Show comments
-
-### Supported Services
-
-NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
-
-* YouTube
-* SoundCloud \[beta\]
-* media.ccc.de \[beta\]
-* PeerTube instances \[beta\]
-* Bandcamp \[beta\]
-
-
-
-
-## Installation and updates
-You can install NewPipe using one of the following methods:
- 1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
- 2. Download the APK from [Github Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
- 3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
- 4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
-
-We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
-
-In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality was broken and F-Droid doesn't have the update yet), we recommend following this procedure:
-1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
-2. Uninstall NewPipe
-3. Download the APK from the new source and install it
-4. Import the data from step 1 via Settings > Content > Import Database
-
-## Contribution
-Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
-The more is done the better it gets!
-
-If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
-
-
-
-
-
-## Donate
-If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
-
-
-
- |
- |
- 16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh |
-
-
- |
- |
- |
-
-
- |
- |
- |
-
-
-
-## Privacy Policy
-
-The NewPipe project aims to provide a private, anonymous experience for using media web services.
-Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
From ec2dc06e9be0d9d18e599be0bdad9fc3093a1bd6 Mon Sep 17 00:00:00 2001
From: Mango Epic <71931749+mangoepic@users.noreply.github.com>
Date: Sun, 18 Apr 2021 12:44:03 +0200
Subject: [PATCH 03/21] Update README.md
---
README.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/README.md b/README.md
index f65ad845928..14eb4562df5 100644
--- a/README.md
+++ b/README.md
@@ -3,8 +3,6 @@
This is a feature branch trying to add cover images to downloaded files in NewPipe.
A libre lightweight streaming frontend for Android.
-
-
From c4fa667b85ed2cd8fc4f9cfa8aa601a039c38470 Mon Sep 17 00:00:00 2001
From: Mango Epic <71931749+mangoepic@users.noreply.github.com>
Date: Sun, 18 Apr 2021 12:44:41 +0200
Subject: [PATCH 04/21] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 14eb4562df5..80f90f01510 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
NewPipe feature-cover-image
This is a feature branch trying to add cover images to downloaded files in NewPipe.
+https://github.com/TeamNewPipe/NewPipe
A libre lightweight streaming frontend for Android.
From 6cf8d4240b49036b5a828fe4ace66980f355b63d Mon Sep 17 00:00:00 2001
From: Mango Epic <71931749+mangoepic@users.noreply.github.com>
Date: Sun, 18 Apr 2021 12:44:57 +0200
Subject: [PATCH 05/21] Update README.md
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 80f90f01510..801f7553984 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
NewPipe feature-cover-image
-This is a feature branch trying to add cover images to downloaded files in NewPipe.
-https://github.com/TeamNewPipe/NewPipe
+This is a feature branch trying to add cover images to downloaded files in NewPipe.
+https://github.com/TeamNewPipe/NewPipe
A libre lightweight streaming frontend for Android.
From 338081a45fecfdf217ded2fbf84027c9e9b37730 Mon Sep 17 00:00:00 2001
From: epicmango
Date: Fri, 7 May 2021 11:29:18 +0200
Subject: [PATCH 06/21] Adding the buttons in for cover in settings and in
download dialog, but they do not function yet
---
app/build.gradle | 5 ++++-
.../java/org/schabi/newpipe/download/DownloadDialog.java | 4 ++++
app/src/main/res/values/strings.xml | 3 +++
app/src/main/res/xml/download_settings.xml | 8 ++++++++
4 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 8f35423444d..03c230b0018 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -174,7 +174,7 @@ sonarqube {
}
dependencies {
-/** Desugaring **/
+ /** Desugaring **/
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
/** NewPipe libraries **/
@@ -257,6 +257,9 @@ dependencies {
// Date and time formatting
implementation "org.ocpsoft.prettytime:prettytime:5.0.0.Final"
+ // File Metadata Changing
+ implementation group: 'org', name: 'jaudiotagger', version: '2.0.3'
+
/** Debugging **/
// Memory leak detection
implementation "com.squareup.leakcanary:leakcanary-object-watcher-android:${leakCanaryVersion}"
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
index e3c391efbcb..a55dcfe6c8c 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
@@ -288,6 +288,10 @@ public void onViewCreated(@NonNull final View view, @Nullable final Bundle saved
prefs = PreferenceManager.getDefaultSharedPreferences(requireContext());
+ final boolean downloadCover = prefs.getBoolean("download_cover_preference", false);
+ Log.i("DEBUG_COVER", "" + downloadCover);
+ dialogBinding.coverButton.setChecked(downloadCover);
+
final int threads = prefs.getInt(getString(R.string.default_download_threads), 3);
dialogBinding.threadsCount.setText(String.valueOf(threads));
dialogBinding.threads.setProgress(threads - 1);
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index edfc5183332..c12b005d83b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -716,4 +716,7 @@
You can select your favorite night theme below
Download has started
Cover Image
+ Initially add cover image
+ cover_pref_key
+ The thumbnail will be downloaded and added to file as a cover image by default
diff --git a/app/src/main/res/xml/download_settings.xml b/app/src/main/res/xml/download_settings.xml
index 1bc0e84047e..15545d14435 100644
--- a/app/src/main/res/xml/download_settings.xml
+++ b/app/src/main/res/xml/download_settings.xml
@@ -70,5 +70,13 @@
android:summary="@string/enable_queue_limit_desc"
android:title="@string/enable_queue_limit"
app:iconSpaceReserved="false" />
+
From 42cd98a55de32ab7b39e1e246ceb080cce58bb83 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Fri, 7 May 2021 11:36:29 +0200
Subject: [PATCH 07/21] Update build.gradle
---
app/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 03c230b0018..d64888e6108 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -174,7 +174,7 @@ sonarqube {
}
dependencies {
- /** Desugaring **/
+/** Desugaring **/
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
/** NewPipe libraries **/
From 8d0f9b9a6130849e6109c22feb96b4ec1b135e57 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Sat, 8 May 2021 15:56:56 +0200
Subject: [PATCH 08/21] Update README.md
---
README.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/README.md b/README.md
index 801f7553984..8d882634852 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,14 @@
+# Progress of Cover image feature:
+ - jaudiotagger dependency exists: ✔
+ - Checkbox in Download dialogue exists: ✔
+ - Preference to usually enable that checkbox exists: ✔
+ - Preference does something: ❌
+ - Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
+ - Cover image gets added with jaudiotagger: ❌
+
## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
From c1eef31118b614c50a1fbeb501b32b6461b56cc7 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Sat, 8 May 2021 15:58:31 +0200
Subject: [PATCH 09/21] Update README.md
---
README.md | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/README.md b/README.md
index 8d882634852..8a390079b95 100644
--- a/README.md
+++ b/README.md
@@ -4,15 +4,6 @@
https://github.com/TeamNewPipe/NewPipe
A libre lightweight streaming frontend for Android.
-
-
-
-
-
-
-
-
-
# Progress of Cover image feature:
- jaudiotagger dependency exists: ✔
- Checkbox in Download dialogue exists: ✔
From 67a9af56948a29f8061a04614368fd00bf36ce7c Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Sat, 8 May 2021 15:58:56 +0200
Subject: [PATCH 10/21] Update README.md
---
README.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/README.md b/README.md
index 8a390079b95..427e2ee0a62 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,6 @@
NewPipe feature-cover-image
This is a feature branch trying to add cover images to downloaded files in NewPipe.
https://github.com/TeamNewPipe/NewPipe
-A libre lightweight streaming frontend for Android.
# Progress of Cover image feature:
- jaudiotagger dependency exists: ✔
From 1f2aaf9243084f36654f6aa1b5f6471e1069dcce Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Sat, 8 May 2021 15:59:14 +0200
Subject: [PATCH 11/21] Update README.md
---
README.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/README.md b/README.md
index 427e2ee0a62..194cb9ad796 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,14 @@
- Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
- Cover image gets added with jaudiotagger: ❌
+
+
+
+
+
+
+
+
## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
From 4d002b1b5302ab557b13d6dc2c125bdf7c233fe4 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Sat, 8 May 2021 15:59:43 +0200
Subject: [PATCH 12/21] Update README.md
---
README.md | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 194cb9ad796..8d59170bd2e 100644
--- a/README.md
+++ b/README.md
@@ -11,13 +11,15 @@
- Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
- Cover image gets added with jaudiotagger: ❌
+.
+.
+.
+.
-
-
-
+.
## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
From 6150fb126eada6a40bf4d3c33f7f78768f49d101 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 10:48:39 +0200
Subject: [PATCH 13/21] Update README.md
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 8d59170bd2e..170e31a5cf0 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,8 @@
- jaudiotagger dependency exists: ✔
- Checkbox in Download dialogue exists: ✔
- Preference to usually enable that checkbox exists: ✔
- - Preference does something: ❌
+ - Preference does something: ✔
+ ![image](https://user-images.githubusercontent.com/71931749/118102184-bff8e600-b3d8-11eb-917d-279f93cb424d.png)
- Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
- Cover image gets added with jaudiotagger: ❌
From 624d03a139a4b269c79f62d8249842d91c2ecd2d Mon Sep 17 00:00:00 2001
From: epicmango
Date: Thu, 13 May 2021 12:01:30 +0200
Subject: [PATCH 14/21] Wondering where i should add the cover image in the
code
---
.../org/schabi/newpipe/download/DownloadDialog.java | 11 +++++++----
.../java/us/shandian/giga/get/DownloadMission.java | 6 ++++++
.../us/shandian/giga/service/DownloadManager.java | 6 ++++++
.../shandian/giga/service/DownloadManagerService.java | 7 ++++++-
app/src/main/res/values/strings.xml | 6 +++---
app/src/main/res/xml/download_settings.xml | 6 +++---
6 files changed, 31 insertions(+), 11 deletions(-)
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
index a55dcfe6c8c..a515ce08bbd 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
@@ -288,9 +288,9 @@ public void onViewCreated(@NonNull final View view, @Nullable final Bundle saved
prefs = PreferenceManager.getDefaultSharedPreferences(requireContext());
- final boolean downloadCover = prefs.getBoolean("download_cover_preference", false);
- Log.i("DEBUG_COVER", "" + downloadCover);
- dialogBinding.coverButton.setChecked(downloadCover);
+ final boolean cover = prefs.getBoolean(getString(R.string.download_cover_pref), false);
+ Log.i("DEBUG_COVER", "" + cover);
+ dialogBinding.coverButton.setChecked(cover);
final int threads = prefs.getInt(getString(R.string.default_download_threads), 3);
dialogBinding.threadsCount.setText(String.valueOf(threads));
@@ -860,6 +860,9 @@ private void continueSelectedDownload(@NonNull final StoredFileHelper storage) {
long nearLength = 0;
// more download logic: select muxer, subtitle converter, etc.
+ final boolean cover;
+ cover = dialogBinding.coverButton.isChecked();
+
switch (dialogBinding.videoAudioGroup.getCheckedRadioButtonId()) {
case R.id.audio_button:
kind = 'a';
@@ -931,7 +934,7 @@ private void continueSelectedDownload(@NonNull final StoredFileHelper storage) {
new MissionRecoveryInfo(secondaryStream)};
}
- DownloadManagerService.startMission(context, urls, storage, kind, threads,
+ DownloadManagerService.startMission(context, urls, storage, kind, cover, threads,
currentInfo.getUrl(), psName, psArgs, nearLength, recoveryInfo);
dismiss();
diff --git a/app/src/main/java/us/shandian/giga/get/DownloadMission.java b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
index 2b3faa3e050..4e7c939f7ba 100644
--- a/app/src/main/java/us/shandian/giga/get/DownloadMission.java
+++ b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
@@ -125,6 +125,11 @@ public class DownloadMission extends Mission {
*/
volatile long fallbackResumeOffset;
+ /**
+ * If the cover gets downloaded, chosen by the user
+ */
+ public boolean cover = false;
+
/**
* Maximum of download threads running, chosen by the user
*/
@@ -159,6 +164,7 @@ public DownloadMission(String[] urls, StoredFileHelper storage, char kind, Postp
throw new IllegalArgumentException("urls array is empty");
this.urls = urls;
this.kind = kind;
+ this.cover = false;
this.offsets = new long[urls.length];
this.enqueued = true;
this.maxRetry = 3;
diff --git a/app/src/main/java/us/shandian/giga/service/DownloadManager.java b/app/src/main/java/us/shandian/giga/service/DownloadManager.java
index 8359fce9aa8..c54907c7276 100644
--- a/app/src/main/java/us/shandian/giga/service/DownloadManager.java
+++ b/app/src/main/java/us/shandian/giga/service/DownloadManager.java
@@ -23,6 +23,8 @@
import us.shandian.giga.io.StoredFileHelper;
import us.shandian.giga.util.Utility;
+import org.jaudiotagger.tag.Tag;
+
import static org.schabi.newpipe.BuildConfig.DEBUG;
public class DownloadManager {
@@ -247,6 +249,10 @@ void startMission(DownloadMission mission) {
if (canDownloadInCurrentNetwork() && start) {
mission.start();
}
+ // add cover image
+ if (mission.cover) {
+ Log.i("DEBUG_COVER", "Adding a cover is set to true");
+ }
}
}
diff --git a/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java b/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
index 568c3497add..2a3e8d6e25a 100755
--- a/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
+++ b/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
@@ -70,6 +70,7 @@ public class DownloadManagerService extends Service {
private static final String EXTRA_URLS = "DownloadManagerService.extra.urls";
private static final String EXTRA_KIND = "DownloadManagerService.extra.kind";
+ private static final String EXTRA_COVER = "DownloadManagerService.extra.cover";
private static final String EXTRA_THREADS = "DownloadManagerService.extra.threads";
private static final String EXTRA_POSTPROCESSING_NAME = "DownloadManagerService.extra.postprocessingName";
private static final String EXTRA_POSTPROCESSING_ARGS = "DownloadManagerService.extra.postprocessingArgs";
@@ -378,6 +379,7 @@ public void updateForegroundState(boolean state) {
* @param urls array of urls to download
* @param storage where the file is saved
* @param kind type of file (a: audio v: video s: subtitle ?: file-extension defined)
+ * @param cover if the cover image gets downloaded
* @param threads the number of threads maximal used to download chunks of the file.
* @param psName the name of the required post-processing algorithm, or {@code null} to ignore.
* @param source source url of the resource
@@ -386,12 +388,13 @@ public void updateForegroundState(boolean state) {
* @param recoveryInfo array of MissionRecoveryInfo, in case is required recover the download
*/
public static void startMission(Context context, String[] urls, StoredFileHelper storage,
- char kind, int threads, String source, String psName,
+ char kind, boolean cover, int threads, String source, String psName,
String[] psArgs, long nearLength, MissionRecoveryInfo[] recoveryInfo) {
Intent intent = new Intent(context, DownloadManagerService.class);
intent.setAction(Intent.ACTION_RUN);
intent.putExtra(EXTRA_URLS, urls);
intent.putExtra(EXTRA_KIND, kind);
+ intent.putExtra(EXTRA_COVER, cover);
intent.putExtra(EXTRA_THREADS, threads);
intent.putExtra(EXTRA_SOURCE, source);
intent.putExtra(EXTRA_POSTPROCESSING_NAME, psName);
@@ -412,6 +415,7 @@ private void startMission(Intent intent) {
Uri parentPath = intent.getParcelableExtra(EXTRA_PARENT_PATH);
int threads = intent.getIntExtra(EXTRA_THREADS, 1);
char kind = intent.getCharExtra(EXTRA_KIND, '?');
+ boolean cover = intent.getBooleanExtra(EXTRA_COVER, false);
String psName = intent.getStringExtra(EXTRA_POSTPROCESSING_NAME);
String[] psArgs = intent.getStringArrayExtra(EXTRA_POSTPROCESSING_ARGS);
String source = intent.getStringExtra(EXTRA_SOURCE);
@@ -437,6 +441,7 @@ private void startMission(Intent intent) {
recovery[i] = (MissionRecoveryInfo) parcelRecovery[i];
final DownloadMission mission = new DownloadMission(urls, storage, kind, ps);
+ mission.cover = cover;
mission.threadCount = threads;
mission.source = source;
mission.nearLength = nearLength;
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c12b005d83b..482d90c404c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -716,7 +716,7 @@
You can select your favorite night theme below
Download has started
Cover Image
- Initially add cover image
- cover_pref_key
- The thumbnail will be downloaded and added to file as a cover image by default
+ Add cover image by default
+ download_cover_pref
+ The thumbnail will be downloaded and added to file as a cover image by default
diff --git a/app/src/main/res/xml/download_settings.xml b/app/src/main/res/xml/download_settings.xml
index 15545d14435..182923ffd48 100644
--- a/app/src/main/res/xml/download_settings.xml
+++ b/app/src/main/res/xml/download_settings.xml
@@ -74,9 +74,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:defaultValue="false"
- android:key="@string/download_cover_preference"
- android:summary="@string/download_cover_preference_summary"
- android:title="@string/download_cover_preference_title"
+ android:key="@string/download_cover_pref"
+ android:summary="@string/download_cover_pref_summary"
+ android:title="@string/download_cover_pref_title"
app:iconSpaceReserved="false" />
From 8f65835e052bfb66e33c58190e40efaae98a0cac Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 12:40:21 +0200
Subject: [PATCH 15/21] Update README.md
---
README.md | 147 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 131 insertions(+), 16 deletions(-)
diff --git a/README.md b/README.md
index 170e31a5cf0..462e5757b11 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,141 @@
-NewPipe feature-cover-image
-This is a feature branch trying to add cover images to downloaded files in NewPipe.
-https://github.com/TeamNewPipe/NewPipe
+NewPipe
+A libre lightweight streaming frontend for Android.
-# Progress of Cover image feature:
- - jaudiotagger dependency exists: ✔
- - Checkbox in Download dialogue exists: ✔
- - Preference to usually enable that checkbox exists: ✔
- - Preference does something: ✔
- ![image](https://user-images.githubusercontent.com/71931749/118102184-bff8e600-b3d8-11eb-917d-279f93cb424d.png)
- - Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
- - Cover image gets added with jaudiotagger: ❌
+
-.
+
+
+
+
+
+
+
+
+
+Screenshots • Description • Features • Installation and updates • Contribution • Donate • License
+Website • Blog • FAQ • Press
+
-.
+*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
-.
+WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.
-.
+PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.
-.
+## Screenshots
+
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
+[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
+[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
+
+## Description
+
+NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
+
+### Features
+
+* Search videos
+* No Login Required
+* Display general info about videos
+* Watch YouTube videos
+* Listen to YouTube videos
+* Popup mode (floating player)
+* Select streaming player to watch video with
+* Download videos
+* Download audio only
+* Open a video in Kodi
+* Show next/related videos
+* Search YouTube in a specific language
+* Watch/Block age restricted material
+* Display general info about channels
+* Search channels
+* Watch videos from a channel
+* Orbot/Tor support (not yet directly)
+* 1080p/2K/4K support
+* View history
+* Subscribe to channels
+* Search history
+* Search/watch playlists
+* Watch as enqueued playlists
+* Enqueue videos
+* Local playlists
+* Subtitles
+* Livestream support
+* Show comments
+
+### Supported Services
+
+NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
+
+* YouTube
+* SoundCloud \[beta\]
+* media.ccc.de \[beta\]
+* PeerTube instances \[beta\]
+* Bandcamp \[beta\]
+
+
+
+
+## Installation and updates
+You can install NewPipe using one of the following methods:
+ 1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
+ 2. Download the APK from [Github Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
+ 3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
+ 4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
+
+We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
+
+In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality was broken and F-Droid doesn't have the update yet), we recommend following this procedure:
+1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
+2. Uninstall NewPipe
+3. Download the APK from the new source and install it
+4. Import the data from step 1 via Settings > Content > Import Database
+
+## Contribution
+Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
+The more is done the better it gets!
+
+If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
+
+
+
+
+
+## Donate
+If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
+
+
+
+ |
+ |
+ 16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh |
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+
+
+
+## Privacy Policy
+
+The NewPipe project aims to provide a private, anonymous experience for using media web services.
+Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
From e04b0ad8f66485f0e1e3dcd937638ced925514a4 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 12:41:33 +0200
Subject: [PATCH 16/21] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 462e5757b11..8d651d1f791 100644
--- a/README.md
+++ b/README.md
@@ -144,4 +144,4 @@ NewPipe is Free Software: You can use, study share and improve it at your
will. Specifically you can redistribute and/or modify it under the terms of the
[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
published by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+(at your option) any later version.
From aa203248eabcd7890591365eda3a09faeda5b706 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 12:41:58 +0200
Subject: [PATCH 17/21] Delete README.md
---
README.md | 147 ------------------------------------------------------
1 file changed, 147 deletions(-)
delete mode 100644 README.md
diff --git a/README.md b/README.md
deleted file mode 100644
index 8d651d1f791..00000000000
--- a/README.md
+++ /dev/null
@@ -1,147 +0,0 @@
-
-NewPipe
-A libre lightweight streaming frontend for Android.
-
-
-
-
-
-
-
-
-
-
-
-
-Screenshots • Description • Features • Installation and updates • Contribution • Donate • License
-Website • Blog • FAQ • Press
-
-
-*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
-
-WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.
-
-PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.
-
-## Screenshots
-
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
-[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
-[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
-
-## Description
-
-NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
-
-### Features
-
-* Search videos
-* No Login Required
-* Display general info about videos
-* Watch YouTube videos
-* Listen to YouTube videos
-* Popup mode (floating player)
-* Select streaming player to watch video with
-* Download videos
-* Download audio only
-* Open a video in Kodi
-* Show next/related videos
-* Search YouTube in a specific language
-* Watch/Block age restricted material
-* Display general info about channels
-* Search channels
-* Watch videos from a channel
-* Orbot/Tor support (not yet directly)
-* 1080p/2K/4K support
-* View history
-* Subscribe to channels
-* Search history
-* Search/watch playlists
-* Watch as enqueued playlists
-* Enqueue videos
-* Local playlists
-* Subtitles
-* Livestream support
-* Show comments
-
-### Supported Services
-
-NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
-
-* YouTube
-* SoundCloud \[beta\]
-* media.ccc.de \[beta\]
-* PeerTube instances \[beta\]
-* Bandcamp \[beta\]
-
-
-
-
-## Installation and updates
-You can install NewPipe using one of the following methods:
- 1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
- 2. Download the APK from [Github Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
- 3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
- 4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
-
-We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
-
-In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality was broken and F-Droid doesn't have the update yet), we recommend following this procedure:
-1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
-2. Uninstall NewPipe
-3. Download the APK from the new source and install it
-4. Import the data from step 1 via Settings > Content > Import Database
-
-## Contribution
-Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
-The more is done the better it gets!
-
-If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
-
-
-
-
-
-## Donate
-If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
-
-
-
- |
- |
- 16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh |
-
-
- |
- |
- |
-
-
- |
- |
- |
-
-
-
-## Privacy Policy
-
-The NewPipe project aims to provide a private, anonymous experience for using media web services.
-Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
-
-## License
-[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
-
-NewPipe is Free Software: You can use, study share and improve it at your
-will. Specifically you can redistribute and/or modify it under the terms of the
-[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
-published by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
From c3691528abef77be0693e7baae9b2cff4c112893 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 12:42:55 +0200
Subject: [PATCH 18/21] Update README.md
---
README.md | 147 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 131 insertions(+), 16 deletions(-)
diff --git a/README.md b/README.md
index 170e31a5cf0..462e5757b11 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,141 @@
-NewPipe feature-cover-image
-This is a feature branch trying to add cover images to downloaded files in NewPipe.
-https://github.com/TeamNewPipe/NewPipe
+NewPipe
+A libre lightweight streaming frontend for Android.
-# Progress of Cover image feature:
- - jaudiotagger dependency exists: ✔
- - Checkbox in Download dialogue exists: ✔
- - Preference to usually enable that checkbox exists: ✔
- - Preference does something: ✔
- ![image](https://user-images.githubusercontent.com/71931749/118102184-bff8e600-b3d8-11eb-917d-279f93cb424d.png)
- - Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
- - Cover image gets added with jaudiotagger: ❌
+
-.
+
+
+
+
+
+
+
+
+
+Screenshots • Description • Features • Installation and updates • Contribution • Donate • License
+Website • Blog • FAQ • Press
+
-.
+*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
-.
+WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.
-.
+PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.
-.
+## Screenshots
+
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
+[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
+[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
+
+## Description
+
+NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
+
+### Features
+
+* Search videos
+* No Login Required
+* Display general info about videos
+* Watch YouTube videos
+* Listen to YouTube videos
+* Popup mode (floating player)
+* Select streaming player to watch video with
+* Download videos
+* Download audio only
+* Open a video in Kodi
+* Show next/related videos
+* Search YouTube in a specific language
+* Watch/Block age restricted material
+* Display general info about channels
+* Search channels
+* Watch videos from a channel
+* Orbot/Tor support (not yet directly)
+* 1080p/2K/4K support
+* View history
+* Subscribe to channels
+* Search history
+* Search/watch playlists
+* Watch as enqueued playlists
+* Enqueue videos
+* Local playlists
+* Subtitles
+* Livestream support
+* Show comments
+
+### Supported Services
+
+NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
+
+* YouTube
+* SoundCloud \[beta\]
+* media.ccc.de \[beta\]
+* PeerTube instances \[beta\]
+* Bandcamp \[beta\]
+
+
+
+
+## Installation and updates
+You can install NewPipe using one of the following methods:
+ 1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
+ 2. Download the APK from [Github Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
+ 3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
+ 4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
+
+We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
+
+In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality was broken and F-Droid doesn't have the update yet), we recommend following this procedure:
+1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
+2. Uninstall NewPipe
+3. Download the APK from the new source and install it
+4. Import the data from step 1 via Settings > Content > Import Database
+
+## Contribution
+Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
+The more is done the better it gets!
+
+If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
+
+
+
+
+
+## Donate
+If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
+
+
+
+ |
+ |
+ 16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh |
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+
+
+
+## Privacy Policy
+
+The NewPipe project aims to provide a private, anonymous experience for using media web services.
+Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
From 2ad9d560986e8fb558746630092995dda302bfe3 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 12:43:40 +0200
Subject: [PATCH 19/21] Update README.md
---
README.md | 155 +++---------------------------------------------------
1 file changed, 8 insertions(+), 147 deletions(-)
diff --git a/README.md b/README.md
index 462e5757b11..5174fa5e4b6 100644
--- a/README.md
+++ b/README.md
@@ -1,147 +1,8 @@
-
-NewPipe
-A libre lightweight streaming frontend for Android.
-
-
-
-
-
-
-
-
-
-
-
-
-Screenshots • Description • Features • Installation and updates • Contribution • Donate • License
-Website • Blog • FAQ • Press
-
-
-*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
-
-WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.
-
-PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.
-
-## Screenshots
-
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
-[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
-[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
-
-## Description
-
-NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
-
-### Features
-
-* Search videos
-* No Login Required
-* Display general info about videos
-* Watch YouTube videos
-* Listen to YouTube videos
-* Popup mode (floating player)
-* Select streaming player to watch video with
-* Download videos
-* Download audio only
-* Open a video in Kodi
-* Show next/related videos
-* Search YouTube in a specific language
-* Watch/Block age restricted material
-* Display general info about channels
-* Search channels
-* Watch videos from a channel
-* Orbot/Tor support (not yet directly)
-* 1080p/2K/4K support
-* View history
-* Subscribe to channels
-* Search history
-* Search/watch playlists
-* Watch as enqueued playlists
-* Enqueue videos
-* Local playlists
-* Subtitles
-* Livestream support
-* Show comments
-
-### Supported Services
-
-NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
-
-* YouTube
-* SoundCloud \[beta\]
-* media.ccc.de \[beta\]
-* PeerTube instances \[beta\]
-* Bandcamp \[beta\]
-
-
-
-
-## Installation and updates
-You can install NewPipe using one of the following methods:
- 1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
- 2. Download the APK from [Github Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
- 3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
- 4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
-
-We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
-
-In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality was broken and F-Droid doesn't have the update yet), we recommend following this procedure:
-1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
-2. Uninstall NewPipe
-3. Download the APK from the new source and install it
-4. Import the data from step 1 via Settings > Content > Import Database
-
-## Contribution
-Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
-The more is done the better it gets!
-
-If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
-
-
-
-
-
-## Donate
-If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
-
-
-
- |
- |
- 16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh |
-
-
- |
- |
- |
-
-
- |
- |
- |
-
-
-
-## Privacy Policy
-
-The NewPipe project aims to provide a private, anonymous experience for using media web services.
-Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
-
-## License
-[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
-
-NewPipe is Free Software: You can use, study share and improve it at your
-will. Specifically you can redistribute and/or modify it under the terms of the
-[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
-published by the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+ - jaudiotagger dependency exists: ✔
+ - Checkbox in Download dialogue exists: ✔
+ - Preference to usually enable that checkbox exists: ✔
+ - Preference does something: ❌
+ - Preference does something: ✔
+ ![image](https://user-images.githubusercontent.com/71931749/118102184-bff8e600-b3d8-11eb-917d-279f93cb424d.png)
+ - Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
+ - Cover image gets added with jaudiotagger: ❌
From 860693a28235f59d62f853c4f24dbbdc9f9cc896 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 12:44:26 +0200
Subject: [PATCH 20/21] Create README.md
---
README.md | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 147 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 00000000000..462e5757b11
--- /dev/null
+++ b/README.md
@@ -0,0 +1,147 @@
+
+NewPipe
+A libre lightweight streaming frontend for Android.
+
+
+
+
+
+
+
+
+
+
+
+
+Screenshots • Description • Features • Installation and updates • Contribution • Donate • License
+Website • Blog • FAQ • Press
+
+
+*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
+
+WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.
+
+PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.
+
+## Screenshots
+
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
+[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
+[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
+
+## Description
+
+NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
+
+### Features
+
+* Search videos
+* No Login Required
+* Display general info about videos
+* Watch YouTube videos
+* Listen to YouTube videos
+* Popup mode (floating player)
+* Select streaming player to watch video with
+* Download videos
+* Download audio only
+* Open a video in Kodi
+* Show next/related videos
+* Search YouTube in a specific language
+* Watch/Block age restricted material
+* Display general info about channels
+* Search channels
+* Watch videos from a channel
+* Orbot/Tor support (not yet directly)
+* 1080p/2K/4K support
+* View history
+* Subscribe to channels
+* Search history
+* Search/watch playlists
+* Watch as enqueued playlists
+* Enqueue videos
+* Local playlists
+* Subtitles
+* Livestream support
+* Show comments
+
+### Supported Services
+
+NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
+
+* YouTube
+* SoundCloud \[beta\]
+* media.ccc.de \[beta\]
+* PeerTube instances \[beta\]
+* Bandcamp \[beta\]
+
+
+
+
+## Installation and updates
+You can install NewPipe using one of the following methods:
+ 1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
+ 2. Download the APK from [Github Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
+ 3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
+ 4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
+
+We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
+
+In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality was broken and F-Droid doesn't have the update yet), we recommend following this procedure:
+1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
+2. Uninstall NewPipe
+3. Download the APK from the new source and install it
+4. Import the data from step 1 via Settings > Content > Import Database
+
+## Contribution
+Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
+The more is done the better it gets!
+
+If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
+
+
+
+
+
+## Donate
+If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
+
+
+
+ |
+ |
+ 16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh |
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+
+
+
+## Privacy Policy
+
+The NewPipe project aims to provide a private, anonymous experience for using media web services.
+Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
+
+## License
+[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+
+NewPipe is Free Software: You can use, study share and improve it at your
+will. Specifically you can redistribute and/or modify it under the terms of the
+[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
+published by the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
From 4527253d2d8687977a2f2087168af963037308f6 Mon Sep 17 00:00:00 2001
From: tell me why <71931749+mangoepic@users.noreply.github.com>
Date: Thu, 13 May 2021 13:05:44 +0200
Subject: [PATCH 21/21] Update README.md
---
README.md | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/README.md b/README.md
index 2b142fadade..462e5757b11 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
NewPipe
A libre lightweight streaming frontend for Android.
@@ -146,13 +145,3 @@ will. Specifically you can redistribute and/or modify it under the terms of the
[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
published by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-=======
- - jaudiotagger dependency exists: ✔
- - Checkbox in Download dialogue exists: ✔
- - Preference to usually enable that checkbox exists: ✔
- - Preference does something: ❌
- - Preference does something: ✔
- ![image](https://user-images.githubusercontent.com/71931749/118102184-bff8e600-b3d8-11eb-917d-279f93cb424d.png)
- - Cover image gets fetched somehow (just use the same one as the newpipe thumbnail? is that full resolution): ❌
- - Cover image gets added with jaudiotagger: ❌
->>>>>>> feature-cover-image-dev