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