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 d283997c..7ee4c449 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/DownloadsRecyclerViewAdapter.java +++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/DownloadsRecyclerViewAdapter.java @@ -77,9 +77,15 @@ public class DownloadsRecyclerViewAdapter extends RecyclerView.Adapter Picasso.get().load(imageURL).into(thumbnail)); - thumbnail.setColorFilter(Color.argb(70, 0, 0, 0)); + if (!imageURL.isEmpty()){ + Handler uiHandler = new Handler(Looper.getMainLooper()); + uiHandler.post(() -> Picasso.get().load(imageURL).into(thumbnail)); + thumbnail.setColorFilter(Color.argb(70, 0, 0, 0)); + }else { + Handler uiHandler = new Handler(Looper.getMainLooper()); + uiHandler.post(() -> Picasso.get().load(R.color.black).into(thumbnail)); + thumbnail.setColorFilter(Color.argb(70, 0, 0, 0)); + } // TITLE ---------------------------------- TextView videoTitle = card.findViewById(R.id.downloads_title); @@ -92,7 +98,11 @@ public class DownloadsRecyclerViewAdapter extends RecyclerView.Adapter Picasso.get().load(imageURL).into(thumbnail)); - thumbnail.setColorFilter(Color.argb(70, 0, 0, 0)); + if (!imageURL.isEmpty()){ + Handler uiHandler = new Handler(Looper.getMainLooper()); + uiHandler.post(() -> Picasso.get().load(imageURL).into(thumbnail)); + thumbnail.setColorFilter(Color.argb(70, 0, 0, 0)); + }else { + Handler uiHandler = new Handler(Looper.getMainLooper()); + uiHandler.post(() -> Picasso.get().load(R.color.black).into(thumbnail)); + thumbnail.setColorFilter(Color.argb(70, 0, 0, 0)); + } // TITLE ---------------------------------- TextView videoTitle = card.findViewById(R.id.result_title); @@ -84,7 +89,11 @@ public class HomeRecyclerViewAdapter extends RecyclerView.Adapter { // DOWNLOAD ALL BUTTON - if (resultObjects.get(0).getIsPlaylistItem() == 1 || inputQueriesLength > 1) { + if ((resultObjects.size() > 1 && resultObjects.get(1).getIsPlaylistItem() == 1) || inputQueriesLength > 1) { downloadAllFab.setVisibility(View.VISIBLE); } dbManager = new DBManager(context); @@ -385,7 +385,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On Thread thread = new Thread(() -> { parseQuery(true); // DOWNLOAD ALL BUTTON - if (resultObjects.get(0).getIsPlaylistItem() == 1) { + if (resultObjects.size() > 1 && resultObjects.get(1).getIsPlaylistItem() == 1) { new Handler(Looper.getMainLooper()).post(() -> downloadAllFab.setVisibility(View.VISIBLE)); } }); diff --git a/app/src/main/java/com/deniscerri/ytdlnis/util/InfoUtil.java b/app/src/main/java/com/deniscerri/ytdlnis/util/InfoUtil.java index d47c69a7..f797f1ba 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/util/InfoUtil.java +++ b/app/src/main/java/com/deniscerri/ytdlnis/util/InfoUtil.java @@ -291,13 +291,30 @@ public class InfoUtil { for (String result : results) { JSONObject jsonObject = new JSONObject(result); - if (jsonObject.getString("title").equals("[Private video]")) continue; + + String title = ""; + if (jsonObject.has("title")){ + if (jsonObject.getString("title").equals("[Private video]")) continue; + title = jsonObject.getString("title"); + }else{ + title = jsonObject.getString("webpage_url_basename"); + } + + String author = ""; + if (jsonObject.has("uploader")){ + author = jsonObject.getString("uploader"); + } + + String duration = ""; + if (jsonObject.has("duration")){ + duration = formatIntegerDuration(jsonObject.getInt("duration")); + } String url = jsonObject.getString("webpage_url"); String thumb = ""; if (jsonObject.has("thumbnail")){ thumb = jsonObject.getString("thumbnail"); - }else { + }else if (jsonObject.has("thumbnails")){ JSONArray thumbs = jsonObject.getJSONArray("thumbnails"); thumb = thumbs.getJSONObject(thumbs.length()-1).getString("url"); } @@ -312,9 +329,9 @@ public class InfoUtil { videos.add(new Video( jsonObject.getString("id"), url, - jsonObject.getString("title"), - jsonObject.getString("uploader"), - formatIntegerDuration(jsonObject.getInt("duration")), + title, + author, + duration, thumb, dbManager.checkDownloaded(url, "audio"), dbManager.checkDownloaded(url, "video"), diff --git a/build.gradle b/build.gradle index 14a8a708..2e4ae35c 100644 --- a/build.gradle +++ b/build.gradle @@ -16,8 +16,8 @@ buildscript { } def versionMajor = 1 -def versionMinor = 3 -def versionPatch = 2 +def versionMinor = 4 +def versionPatch = 1 def versionBuild = 0 // bump for dogfood builds, public betas, etc. ext {