From b5119e8b4edae5c0ae7beb5abf9a533fae3bcb08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Denis=20=C3=87erri?=
<64997243+deniscerri@users.noreply.github.com>
Date: Sun, 2 Oct 2022 01:19:18 +0200
Subject: [PATCH] fixed downloads delete dialogs not showing
also fixed certain files not getting recognized in the filesystem and giving a false negative on downloads tab, making them grey
made grey downloads' buttons grey too
switched the button to materialbutton like home
replaced basic progressbar to linearprogress. Now progress is buttery smooth
---
.idea/assetWizardSettings.xml | 4 +--
.idea/misc.xml | 2 ++
.../adapter/HistoryRecyclerViewAdapter.java | 34 +++++++++++++------
.../adapter/HomeRecyclerViewAdapter.java | 6 ++--
.../ytdlnis/page/HistoryFragment.java | 34 ++++++++++++++++---
.../deniscerri/ytdlnis/page/HomeFragment.java | 27 ++++++++-------
app/src/main/res/drawable/ic_delete_all.xml | 2 +-
app/src/main/res/drawable/ic_filter.xml | 5 +++
app/src/main/res/layout/fragment_history.xml | 2 +-
app/src/main/res/layout/result_card.xml | 6 ++--
app/src/main/res/menu/history_menu.xml | 7 ++--
app/src/main/res/values-sq-rAL/strings.xml | 2 +-
app/src/main/res/values/strings.xml | 2 +-
13 files changed, 89 insertions(+), 44 deletions(-)
create mode 100644 app/src/main/res/drawable/ic_filter.xml
diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 2375cff6..4d3ff620 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -320,7 +320,7 @@
@@ -331,7 +331,7 @@
diff --git a/.idea/misc.xml b/.idea/misc.xml
index d739b9ab..b893ad75 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -47,6 +47,7 @@
+
@@ -85,6 +86,7 @@
+
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryRecyclerViewAdapter.java b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryRecyclerViewAdapter.java
index 9ded68fb..289b6396 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryRecyclerViewAdapter.java
+++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryRecyclerViewAdapter.java
@@ -1,6 +1,7 @@
package com.deniscerri.ytdlnis.adapter;
import android.content.Context;
+import android.content.res.ColorStateList;
import android.graphics.Color;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
@@ -21,6 +22,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.deniscerri.ytdlnis.R;
import com.deniscerri.ytdlnis.database.Video;
+import com.google.android.material.button.MaterialButton;
import com.squareup.picasso.Picasso;
import java.io.File;
@@ -91,19 +93,31 @@ public class HistoryRecyclerViewAdapter extends RecyclerView.Adapter onItemClickListener.onCardClick(position));
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HomeRecyclerViewAdapter.java b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HomeRecyclerViewAdapter.java
index 45d723c8..8a251331 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HomeRecyclerViewAdapter.java
+++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HomeRecyclerViewAdapter.java
@@ -10,17 +10,15 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
-import android.widget.ProgressBar;
import android.widget.TextView;
-
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
-
import com.deniscerri.ytdlnis.R;
import com.deniscerri.ytdlnis.database.Video;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.card.MaterialCardView;
+import com.google.android.material.progressindicator.LinearProgressIndicator;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
@@ -105,7 +103,7 @@ public class HomeRecyclerViewAdapter extends RecyclerView.Adapter {
@@ -200,8 +200,34 @@ public class HistoryFragment extends Fragment implements HistoryRecyclerViewAdap
no_results.setVisibility(View.VISIBLE);
});
delete_dialog.show();
- }else if(itemID == R.id.refresh_history){
- initCards();
+ }else if(itemID == R.id.filter_history){
+// bottomSheet = new BottomSheetDialog(fragmentContext);
+// bottomSheet.requestWindowFeature(Window.FEATURE_NO_TITLE);
+// bottomSheet.setContentView(R.layout.history_bottom_sheet);
+// Video video = historyObjects.get(position);
+//
+// TextView title = bottomSheet.findViewById(R.id.bottom_sheet_title);
+// title.setText(video.getTitle());
+//
+// TextView author = bottomSheet.findViewById(R.id.bottom_sheet_author);
+// author.setText(video.getAuthor());
+//
+// Button link = bottomSheet.findViewById(R.id.bottom_sheet_link);
+// String url = video.getURL();
+// link.setText(url);
+// link.setTag(position);
+// link.setOnClickListener(this);
+//
+// Button remove = bottomSheet.findViewById(R.id.bottomsheet_remove_button);
+// remove.setTag(position);
+// remove.setOnClickListener(this);
+//
+// Button openLink = bottomSheet.findViewById(R.id.bottomsheet_open_link_button);
+// openLink.setTag(position);
+// openLink.setOnClickListener(this);
+//
+// bottomSheet.show();
+// bottomSheet.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
}
return true;
});
@@ -224,7 +250,7 @@ public class HistoryFragment extends Fragment implements HistoryRecyclerViewAdap
if(bottomSheet != null) bottomSheet.hide();
Video v = historyObjects.get(position);
- MaterialAlertDialogBuilder delete_dialog = new MaterialAlertDialogBuilder(context);
+ MaterialAlertDialogBuilder delete_dialog = new MaterialAlertDialogBuilder(fragmentContext);
delete_dialog.setTitle(getString(R.string.confirm_delete_history));
delete_dialog.setMessage(getString(R.string.you_are_going_to_delete) + " \""+v.getTitle()+"\"!");
delete_dialog.setNegativeButton(getString(R.string.cancel), (dialogInterface, i) -> {
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java b/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java
index f3ac6164..87d6014e 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java
+++ b/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java
@@ -40,6 +40,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.android.material.progressindicator.LinearProgressIndicator;
import com.google.android.material.textfield.TextInputLayout;
import java.io.File;
@@ -56,7 +57,7 @@ import java.util.regex.Pattern;
public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.OnItemClickListener, View.OnClickListener {
private boolean downloading = false;
private View fragmentView;
- private ProgressBar progressBar;
+ private LinearProgressIndicator progressBar;
private String inputQuery;
private RecyclerView recyclerView;
private HomeRecyclerViewAdapter homeRecyclerViewAdapter;
@@ -91,8 +92,6 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
MaterialButton clickedButton = recyclerView.findViewWithTag(id + "##"+type);
progressBar = recyclerView.findViewWithTag(id + "##progress");
progressBar.setVisibility(View.VISIBLE);
- progressBar.setIndeterminate(true);
- progressBar.setProgress(0);
downloading = true;
topAppBar.getMenu().findItem(R.id.cancel_download).setVisible(true);
@@ -111,12 +110,12 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
activity.runOnUiThread(() -> {
try{
int progress = info.getProgress();
- progressBar = fragmentView.findViewWithTag(info.getVideo().getVideoId()+"##progress");
- progressBar.setVisibility(View.VISIBLE);
- if (progress > 1){
- progressBar.setIndeterminate(false);
- progressBar.setProgress(info.getProgress());
+ if (progress > 0) {
+ progressBar = fragmentView.findViewWithTag(info.getVideo().getVideoId()+"##progress");
+ progressBar.setVisibility(View.VISIBLE);
+ progressBar.setProgressCompat(progress, true);
}
+
}catch(Exception ignored){}
});
}
@@ -154,16 +153,20 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
// MEDIA SCAN
ArrayList files = new ArrayList<>();
- String title = downloadInfo.getVideo().getTitle();
-
+ String title = downloadInfo.getVideo().getTitle().replaceAll("[^a-zA-Z0-9]","");
+ String pathTmp = "";
File path = new File(downloadInfo.getDownloadPath());
for( File file : path.listFiles() ){
- if(file.isFile() && file.getAbsolutePath().contains(title)) files.add(file);
+ if(file.isFile()){
+ pathTmp = file.getAbsolutePath().replaceAll("[^a-zA-Z0-9]","");
+ if (pathTmp.contains(title)){
+ files.add(file);
+ }
+ }
}
String[] paths = new String[files.size()];
for (int i = 0; i < files.size(); i++) paths[i] = files.get(i).getAbsolutePath();
-
MediaScannerConnection.scanFile(context, paths, null, null);
addToHistory(item, new Date(), paths);
updateDownloadStatusOnResult(item, type);
diff --git a/app/src/main/res/drawable/ic_delete_all.xml b/app/src/main/res/drawable/ic_delete_all.xml
index b6f77b76..216dc1e0 100644
--- a/app/src/main/res/drawable/ic_delete_all.xml
+++ b/app/src/main/res/drawable/ic_delete_all.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/app/src/main/res/drawable/ic_filter.xml b/app/src/main/res/drawable/ic_filter.xml
new file mode 100644
index 00000000..798fffd6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_filter.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/fragment_history.xml b/app/src/main/res/layout/fragment_history.xml
index 4e8f2a8e..1b668536 100644
--- a/app/src/main/res/layout/fragment_history.xml
+++ b/app/src/main/res/layout/fragment_history.xml
@@ -18,7 +18,7 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways|snap"
- app:title="@string/history"
+ app:title="@string/downloads"
app:menu="@menu/history_menu"
android:theme="@style/Toolbar"
/>
diff --git a/app/src/main/res/layout/result_card.xml b/app/src/main/res/layout/result_card.xml
index 74e611a0..5bc4f71f 100644
--- a/app/src/main/res/layout/result_card.xml
+++ b/app/src/main/res/layout/result_card.xml
@@ -36,15 +36,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent" />
-
-
- Pastro Historinë
Arrite fundin e rezultateve
Shkarko të gjitha
- Historia
Cilësime
Kryesore
Direktoritë
@@ -97,4 +96,5 @@
Përdor një çelës api për të marrë rezultate më të shpejta nga YouTube
Njoftohu kur një përditësim është i vlefshëm
Shkarkimet
+ Filtro Historinë
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c22a85b9..2bddce32 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -6,7 +6,6 @@
Trending
You reached the end of results
Download All
- History
Settings
Home
Directories
@@ -100,4 +99,5 @@
Use an api key to get faster results from YouTube
Let you know when updates are available right when you open the application
Downloads
+ Filter History