From a6997116719a989e76d8551c76b9632620d41bf6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Denis=20=C3=87erri?=
<64997243+deniscerri@users.noreply.github.com>
Date: Wed, 19 Oct 2022 23:41:59 +0200
Subject: [PATCH] added ability to share txt file to the app
txt file can have any links, playlist links or simple queries. The app will go through each line and put them in the result page
---
.idea/misc.xml | 2 +-
app/src/main/AndroidManifest.xml | 5 ++
.../com/deniscerri/ytdlnis/MainActivity.java | 31 +++++++-
.../deniscerri/ytdlnis/page/HomeFragment.java | 70 ++++++++++---------
app/src/main/res/values-sq-rAL/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
6 files changed, 73 insertions(+), 37 deletions(-)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 7f3baebb..cc6616c1 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -94,7 +94,7 @@
-
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0f45df91..b41dd5c1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -27,6 +27,11 @@
+
+
+
+
+
parseQuery(true));
+ }
+ if (inputQueries.length > 1){
+ Toast.makeText(context, getString(R.string.finished_loading), Toast.LENGTH_SHORT).show();
+ }
+ inputQueries = null;
+ } else {
+ initCards();
+ }
+
return fragmentView;
}
@@ -361,7 +358,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
downloadFabs.setVisibility(View.GONE);
selectedObjects = new ArrayList<>();
inputQuery = query.trim();
- parseQuery();
+ parseQuery(true);
return true;
}
@@ -400,7 +397,11 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
public void handleIntent(Intent intent) {
- inputQuery = intent.getStringExtra(Intent.EXTRA_TEXT);
+ inputQueries = new String[]{intent.getStringExtra(Intent.EXTRA_TEXT)};
+ }
+
+ public void handleFileIntent(String[] lines) {
+ inputQueries = lines;
}
public void scrollToTop() {
@@ -408,7 +409,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
new Handler(Looper.getMainLooper()).post(() -> ((AppBarLayout) topAppBar.getParent()).setExpanded(true, true));
}
- private void parseQuery() {
+ private void parseQuery(boolean resetResults) {
shimmerCards.startShimmer();
shimmerCards.setVisibility(View.VISIBLE);
homeRecyclerViewAdapter.clear();
@@ -444,11 +445,12 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
@Override
public void run() {
try {
- resultObjects = infoUtil.search(query);
+ if (resetResults) resultObjects.clear();
+ resultObjects.addAll(infoUtil.search(query));
} catch (Exception e) {
Log.e(TAG, e.toString());
}
- dbManager.clearResults();
+ if (resetResults) dbManager.clearResults();
dbManager.addToResults(resultObjects);
dbManager.close();
new Handler(Looper.getMainLooper()).post(() -> {
@@ -484,13 +486,13 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
@Override
public void run() {
try {
- resultObjects.clear();
+ if (resetResults) resultObjects.clear();
resultObjects.add(infoUtil.getVideo(query));
} catch (Exception e) {
Log.e(TAG, e.toString());
}
- dbManager.clearResults();
+ if (resetResults) dbManager.clearResults();
dbManager.addToResults(resultObjects);
dbManager.close();
new Handler(Looper.getMainLooper()).post(() -> {
@@ -516,10 +518,12 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
public void run() {
try {
String nextPageToken = "";
- dbManager.clearResults();
+ if (resetResults) dbManager.clearResults();
dbManager.close();
- resultObjects.clear();
- homeRecyclerViewAdapter.setVideoList(new ArrayList<>(), true);
+ if (resetResults){
+ resultObjects.clear();
+ homeRecyclerViewAdapter.setVideoList(new ArrayList<>(), true);
+ }
do {
InfoUtil.PlaylistTuple tmp = infoUtil.getPlaylist(query, nextPageToken);
ArrayList