From b81add6008d098bd31e0149ef513b83024b6c593 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Denis=20=C3=87erri?=
<64997243+deniscerri@users.noreply.github.com>
Date: Fri, 16 Sep 2022 23:43:50 +0200
Subject: [PATCH] new features
added download range for playlists functionality
made result cards clickable so you can download only them
---
.idea/misc.xml | 6 +-
.../com/deniscerri/ytdl/MainActivity.java | 1 -
.../ytdl/adapter/HomeRecyclerViewAdapter.java | 19 ++-
.../deniscerri/ytdl/page/HomeFragment.java | 113 ++++++++++++++---
.../ytdl/util/NotificationUtil.java | 2 +-
app/src/main/res/layout/download_all_card.xml | 34 +----
app/src/main/res/layout/fragment_home.xml | 50 ++++++++
.../layout/home_download_all_bottom_sheet.xml | 119 ++++++++++++++++++
app/src/main/res/layout/result_card.xml | 6 +-
app/src/main/res/values/strings.xml | 8 ++
10 files changed, 300 insertions(+), 58 deletions(-)
create mode 100644 app/src/main/res/layout/home_download_all_bottom_sheet.xml
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8afb8e95..937122e8 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -64,10 +64,10 @@
-
+
-
+
@@ -75,6 +75,8 @@
+
+
diff --git a/app/src/main/java/com/deniscerri/ytdl/MainActivity.java b/app/src/main/java/com/deniscerri/ytdl/MainActivity.java
index 3689ca53..cb45ec97 100644
--- a/app/src/main/java/com/deniscerri/ytdl/MainActivity.java
+++ b/app/src/main/java/com/deniscerri/ytdl/MainActivity.java
@@ -156,5 +156,4 @@ public class MainActivity extends AppCompatActivity{
isDownloadServiceRunning = false;
}
-
}
diff --git a/app/src/main/java/com/deniscerri/ytdl/adapter/HomeRecyclerViewAdapter.java b/app/src/main/java/com/deniscerri/ytdl/adapter/HomeRecyclerViewAdapter.java
index d4cc6cf9..72ee9ba9 100644
--- a/app/src/main/java/com/deniscerri/ytdl/adapter/HomeRecyclerViewAdapter.java
+++ b/app/src/main/java/com/deniscerri/ytdl/adapter/HomeRecyclerViewAdapter.java
@@ -20,6 +20,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.deniscerri.ytdl.R;
import com.deniscerri.ytdl.database.Video;
import com.google.android.material.button.MaterialButton;
+import com.google.android.material.card.MaterialCardView;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
@@ -41,7 +42,7 @@ public class HomeRecyclerViewAdapter extends RecyclerView.Adapter {
+ if(card.isChecked()){
+ card.setStrokeWidth(0);
+ }else{
+ card.setStrokeWidth(5);
+ }
+ card.setChecked(!card.isChecked());
+ onItemClickListener.onCardClick(position, card.isChecked());
+ });
}
@Override
@@ -123,7 +134,7 @@ public class HomeRecyclerViewAdapter extends RecyclerView.Adapter videoList){
diff --git a/app/src/main/java/com/deniscerri/ytdl/page/HomeFragment.java b/app/src/main/java/com/deniscerri/ytdl/page/HomeFragment.java
index 5fc57780..098e8162 100644
--- a/app/src/main/java/com/deniscerri/ytdl/page/HomeFragment.java
+++ b/app/src/main/java/com/deniscerri/ytdl/page/HomeFragment.java
@@ -12,10 +12,12 @@ import android.os.Handler;
import android.os.Looper;
import android.text.InputType;
import android.util.Log;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.view.Window;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
@@ -25,6 +27,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.SearchView;
import androidx.cardview.widget.CardView;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.widget.NestedScrollView;
@@ -44,7 +47,11 @@ import com.deniscerri.ytdl.util.NotificationUtil;
import com.facebook.shimmer.ShimmerFrameLayout;
import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.appbar.MaterialToolbar;
+import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.button.MaterialButton;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.android.material.textfield.TextInputLayout;
import com.yausername.youtubedl_android.DownloadProgressCallback;
import com.yausername.youtubedl_android.YoutubeDL;
import com.yausername.youtubedl_android.YoutubeDLRequest;
@@ -77,6 +84,8 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
private HomeRecyclerViewAdapter homeRecyclerViewAdapter;
private NestedScrollView scrollView;
private ShimmerFrameLayout shimmerCards;
+ private CoordinatorLayout downloadFabs;
+ private BottomSheetDialog bottomSheet;
private LayoutInflater layoutinflater;
Context context;
@@ -86,6 +95,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
private static final String TAG = "HomeFragment";
private ArrayList