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,21 +93,33 @@ 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