diff --git a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java b/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java index 20a58652..93ab853f 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java +++ b/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java @@ -318,7 +318,6 @@ public class DownloaderService extends Service { video.setAuthor(video.getAuthor().replaceAll(":|'|\"|[.]|,", "")); String sponsorBlockFilters = sharedPreferences.getString("sponsorblock_filter", ""); - Toast.makeText(context, sponsorBlockFilters, Toast.LENGTH_LONG).show(); if (!sponsorBlockFilters.isEmpty()){ request.addOption("--sponsorblock-remove", sponsorBlockFilters); } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/adapter/DownloadsRecyclerViewAdapter.java b/app/src/main/java/com/deniscerri/ytdlnis/adapter/DownloadsRecyclerViewAdapter.java index 7ee4c449..0433d5bc 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/DownloadsRecyclerViewAdapter.java +++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/DownloadsRecyclerViewAdapter.java @@ -197,17 +197,11 @@ public class DownloadsRecyclerViewAdapter extends RecyclerView.Adapter videoList){ - this.videoList = videoList; - setWebsiteList(); - notifyDataSetChanged(); - } - public ArrayList getWebsites(){ return websites; } - public void setWebsiteList(){ + public void updateWebsiteList(){ websites = new ArrayList<>(); for (Video video : videoList){ if (!websites.contains(video.getWebsite())) websites.add(video.getWebsite()); @@ -230,4 +224,17 @@ public class DownloadsRecyclerViewAdapter extends RecyclerView.Adapter vids){ + int position = videoList.size() + 1; + videoList.addAll(vids); + notifyItemRangeInserted(position, vids.size()); + updateWebsiteList(); + } + + public void remove(int index){ + videoList.remove(index); + notifyItemRemoved(index); + updateWebsiteList(); + } + } 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 3ed7952c..71181c1f 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HomeRecyclerViewAdapter.java +++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HomeRecyclerViewAdapter.java @@ -11,6 +11,8 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import android.widget.Toast; + import androidx.annotation.NonNull; import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.RecyclerView; @@ -190,13 +192,6 @@ public class HomeRecyclerViewAdapter extends RecyclerView.Adapter list, boolean reset){ - int size = videoList.size(); - if(reset || size == 0) clear(); - videoList.addAll(list); - notifyItemRangeInserted(size, videoList.size()); - } - public void updateVideoListItem(Video v, int position){ videoList.set(position, v); notifyItemChanged(position); @@ -217,4 +212,9 @@ public class HomeRecyclerViewAdapter extends RecyclerView.Adapter vids){ + int position = videoList.size() + 1; + videoList.addAll(vids); + notifyItemRangeInserted(position, vids.size()); + } } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/page/DownloadsFragment.java b/app/src/main/java/com/deniscerri/ytdlnis/page/DownloadsFragment.java index c6ac3216..13c48319 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/page/DownloadsFragment.java +++ b/app/src/main/java/com/deniscerri/ytdlnis/page/DownloadsFragment.java @@ -196,7 +196,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView dbManager = new DBManager(context); dbManager.clearHistoryItem(v,false); dbManager.close(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.notifyItemRemoved(downloadsObjects.indexOf(v)); if (downloadsObjects.isEmpty()) initCards(); downloading = false; @@ -283,14 +283,13 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView downloadsRecyclerViewAdapter.clear(); no_results.setVisibility(View.GONE); selectionChips.setVisibility(View.VISIBLE); - dbManager = new DBManager(context); try{ Thread thread = new Thread(() -> { if (!downloading) dbManager.clearDownloadingHistory(); downloadsObjects = dbManager.getHistory("", format,website,sort); uiHandler.post(() -> { - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); shimmerCards.stopShimmer(); shimmerCards.setVisibility(View.GONE); updateWebsiteChips(); @@ -346,7 +345,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView topAppBar.getMenu().findItem(R.id.search_downloads).collapseActionView(); downloadsObjects = dbManager.getHistory(query, format,website,sort); downloadsRecyclerViewAdapter.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); if(downloadsObjects.size() == 0) { no_results.setVisibility(View.VISIBLE); @@ -361,7 +360,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView searchQuery = newText; downloadsObjects = dbManager.getHistory(newText, format,website,sort); downloadsRecyclerViewAdapter.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); if (downloadsObjects.size() == 0) { no_results.setVisibility(View.VISIBLE); @@ -395,7 +394,6 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView dbManager.clearHistory(); downloadsRecyclerViewAdapter.clear(); downloadsObjects.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); no_results.setVisibility(View.VISIBLE); selectionChips.setVisibility(View.GONE); websiteGroup.removeAllViews(); @@ -474,7 +472,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView sort = "DESC"; downloadsObjects = dbManager.getHistory(searchQuery, format,website,sort); downloadsRecyclerViewAdapter.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); sortSheet.cancel(); }); @@ -482,7 +480,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView sort = "ASC"; downloadsObjects = dbManager.getHistory(searchQuery, format,website,sort); downloadsRecyclerViewAdapter.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); sortSheet.cancel(); }); @@ -512,7 +510,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView } downloadsRecyclerViewAdapter.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); }); Chip video = fragmentView.findViewById(R.id.video_chip); @@ -528,7 +526,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView } downloadsRecyclerViewAdapter.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); }); } @@ -555,7 +553,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView websiteGroup.clearCheck(); } downloadsRecyclerViewAdapter.clear(); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.add(downloadsObjects); }); websiteGroup.addView(tmp); } @@ -601,8 +599,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView Video v = selectedObjects.get(j); int position = downloadsObjects.indexOf(v); downloadsObjects.remove(v); - downloadsRecyclerViewAdapter.notifyItemRemoved(position); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.remove(position); dbManager.clearHistoryItem(v, delete_file[0]); } updateWebsiteChips(); @@ -636,8 +633,7 @@ public class DownloadsFragment extends Fragment implements DownloadsRecyclerView }); delete_dialog.setPositiveButton(getString(R.string.ok), (dialogInterface, i) -> { downloadsObjects.remove(position); - downloadsRecyclerViewAdapter.notifyItemRemoved(position); - downloadsRecyclerViewAdapter.setVideoList(downloadsObjects); + downloadsRecyclerViewAdapter.remove(position); updateWebsiteChips(); dbManager.clearHistoryItem(v, delete_file[0]); dbManager.close(); 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 07f09b66..6c30e469 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java +++ b/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java @@ -260,6 +260,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On dbManager.clearResults(); dbManager.close(); inputQueriesLength = inputQueries.size(); + homeRecyclerViewAdapter.clear(); shimmerCards.startShimmer(); shimmerCards.setVisibility(View.VISIBLE); @@ -318,7 +319,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On } }else { if (!downloading){ - homeRecyclerViewAdapter.setVideoList(resultObjects, true); + homeRecyclerViewAdapter.add(resultObjects); for (int i = 0; i < resultObjects.size(); i++){ Video tmp = resultObjects.get(i); if(tmp.isDownloading()){ @@ -330,7 +331,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On } uiHandler.post(() -> { - homeRecyclerViewAdapter.setVideoList(resultObjects, true); + homeRecyclerViewAdapter.add(resultObjects); shimmerCards.stopShimmer(); shimmerCards.setVisibility(View.GONE); }); @@ -499,17 +500,22 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On case "Search": { try { if (resetResults) resultObjects.clear(); - resultObjects.addAll(infoUtil.search(inputQuery)); + ArrayList