From 4130026caddd5f0243adcc067f7e0eaf930df3fe Mon Sep 17 00:00:00 2001 From: Ammar Githam <ammargitham786@gmail.com> Date: Sun, 6 Sep 2020 03:51:41 +0900 Subject: [PATCH] Fixing codacy warnings/issues (Ongoing) --- .../adapters/CommentsAdapter.java | 1 + .../adapters/DiscoverAdapter.java | 4 +- .../adapters/MultiSelectListAdapter.java | 62 +++++++++---------- .../instagrabber/adapters/PostsAdapter.java | 6 +- .../viewholder/feed/FeedItemViewHolder.java | 28 ++++----- .../viewholder/feed/FeedSliderViewHolder.java | 16 ++--- .../viewholder/feed/FeedVideoViewHolder.java | 2 +- .../instagrabber/asyncs/DiscoverFetcher.java | 2 +- .../instagrabber/asyncs/RespondAction.java | 2 +- .../awais/instagrabber/asyncs/SeenAction.java | 2 +- 10 files changed, 63 insertions(+), 62 deletions(-) diff --git a/app/src/main/java/awais/instagrabber/adapters/CommentsAdapter.java b/app/src/main/java/awais/instagrabber/adapters/CommentsAdapter.java index 77e308cd..66d5af6f 100755 --- a/app/src/main/java/awais/instagrabber/adapters/CommentsAdapter.java +++ b/app/src/main/java/awais/instagrabber/adapters/CommentsAdapter.java @@ -76,6 +76,7 @@ public final class CommentsAdapter extends RecyclerView.Adapter<CommentViewHolde final boolean isParent, final View.OnClickListener onClickListener, final MentionClickListener mentionClickListener) { + super(); this.commentModels = this.filteredCommentModels = commentModels; this.isParent = isParent; this.onClickListener = onClickListener; diff --git a/app/src/main/java/awais/instagrabber/adapters/DiscoverAdapter.java b/app/src/main/java/awais/instagrabber/adapters/DiscoverAdapter.java index 052451ff..fd1e7b1f 100755 --- a/app/src/main/java/awais/instagrabber/adapters/DiscoverAdapter.java +++ b/app/src/main/java/awais/instagrabber/adapters/DiscoverAdapter.java @@ -44,8 +44,8 @@ public final class DiscoverAdapter extends MultiSelectListAdapter<DiscoverItemMo if (itemModel != null) { itemModel.setPosition(position); holder.itemView.setTag(itemModel); - holder.itemView.setOnClickListener(v -> internalOnItemClickListener.onItemClick(itemModel, position)); - holder.itemView.setOnLongClickListener(v -> internalOnLongItemClickListener.onItemLongClick(itemModel, position)); + holder.itemView.setOnClickListener(v -> getInternalOnItemClickListener().onItemClick(itemModel, position)); + holder.itemView.setOnLongClickListener(v -> getInternalOnLongItemClickListener().onItemLongClick(itemModel, position)); final MediaItemType mediaType = itemModel.getItemType(); holder.typeIcon.setVisibility(mediaType == MediaItemType.MEDIA_TYPE_VIDEO || mediaType == MediaItemType.MEDIA_TYPE_SLIDER ? View.VISIBLE : View.GONE); holder.typeIcon.setImageResource(mediaType == MediaItemType.MEDIA_TYPE_SLIDER ? R.drawable.slider : R.drawable.video); diff --git a/app/src/main/java/awais/instagrabber/adapters/MultiSelectListAdapter.java b/app/src/main/java/awais/instagrabber/adapters/MultiSelectListAdapter.java index 392be0c1..d196b2c9 100644 --- a/app/src/main/java/awais/instagrabber/adapters/MultiSelectListAdapter.java +++ b/app/src/main/java/awais/instagrabber/adapters/MultiSelectListAdapter.java @@ -1,7 +1,6 @@ package awais.instagrabber.adapters; import androidx.annotation.NonNull; -import androidx.recyclerview.widget.AsyncDifferConfig; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.ListAdapter; import androidx.recyclerview.widget.RecyclerView; @@ -9,47 +8,46 @@ import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; import java.util.List; -public abstract class MultiSelectListAdapter<T extends MultiSelectListAdapter.Selectable, VH extends RecyclerView.ViewHolder> extends ListAdapter<T, VH> { +public abstract class MultiSelectListAdapter<T extends MultiSelectListAdapter.Selectable, VH extends RecyclerView.ViewHolder> extends + ListAdapter<T, VH> { - private boolean isSelecting = false; - private OnItemClickListener<T> clickListener; - private OnItemLongClickListener<T> longClickListener; + private boolean isSelecting; + private final OnItemClickListener<T> internalOnItemClickListener; + private final OnItemLongClickListener<T> internalOnLongItemClickListener; private final List<T> selectedItems = new ArrayList<>(); - protected final OnItemClickListener<T> internalOnItemClickListener = (item, position) -> { - if (isSelecting) { - toggleSelection(item, position); - } - if (clickListener == null) { - return; - } - clickListener.onItemClick(item, position); - }; - protected final OnItemLongClickListener<T> internalOnLongItemClickListener = (item, position) -> { - if (!isSelecting) { - isSelecting = true; - } - toggleSelection(item, position); - if (longClickListener == null) { - return true; - } - return longClickListener.onItemLongClick(item, position); - }; protected MultiSelectListAdapter(@NonNull final DiffUtil.ItemCallback<T> diffCallback, final OnItemClickListener<T> clickListener, final OnItemLongClickListener<T> longClickListener) { super(diffCallback); - this.clickListener = clickListener; - this.longClickListener = longClickListener; + internalOnItemClickListener = (item, position) -> { + if (isSelecting) { + toggleSelection(item, position); + } + if (clickListener == null) { + return; + } + clickListener.onItemClick(item, position); + }; + internalOnLongItemClickListener = (item, position) -> { + if (!isSelecting) { + isSelecting = true; + } + toggleSelection(item, position); + if (longClickListener == null) { + return true; + } + return longClickListener.onItemLongClick(item, position); + }; } - protected MultiSelectListAdapter(@NonNull final AsyncDifferConfig<T> config, - final OnItemClickListener<T> clickListener, - final OnItemLongClickListener<T> longClickListener) { - super(config); - this.clickListener = clickListener; - this.longClickListener = longClickListener; + public OnItemClickListener<T> getInternalOnItemClickListener() { + return internalOnItemClickListener; + } + + public OnItemLongClickListener<T> getInternalOnLongItemClickListener() { + return internalOnLongItemClickListener; } private void toggleSelection(final T item, final int position) { diff --git a/app/src/main/java/awais/instagrabber/adapters/PostsAdapter.java b/app/src/main/java/awais/instagrabber/adapters/PostsAdapter.java index 9365357e..521f261a 100755 --- a/app/src/main/java/awais/instagrabber/adapters/PostsAdapter.java +++ b/app/src/main/java/awais/instagrabber/adapters/PostsAdapter.java @@ -12,7 +12,7 @@ import awais.instagrabber.models.PostModel; public final class PostsAdapter extends MultiSelectListAdapter<PostModel, PostViewHolder> { - private static final DiffUtil.ItemCallback<PostModel> diffCallback = new DiffUtil.ItemCallback<PostModel>() { + private static final DiffUtil.ItemCallback<PostModel> DIFF_CALLBACK = new DiffUtil.ItemCallback<PostModel>() { @Override public boolean areItemsTheSame(@NonNull final PostModel oldItem, @NonNull final PostModel newItem) { return oldItem.getPostId().equals(newItem.getPostId()); @@ -26,7 +26,7 @@ public final class PostsAdapter extends MultiSelectListAdapter<PostModel, PostVi public PostsAdapter(final OnItemClickListener<PostModel> clickListener, final OnItemLongClickListener<PostModel> longClickListener) { - super(diffCallback, clickListener, longClickListener); + super(DIFF_CALLBACK, clickListener, longClickListener); } @NonNull @@ -40,6 +40,6 @@ public final class PostsAdapter extends MultiSelectListAdapter<PostModel, PostVi @Override public void onBindViewHolder(@NonNull final PostViewHolder holder, final int position) { final PostModel postModel = getItem(position); - holder.bind(postModel, position, internalOnItemClickListener, internalOnLongItemClickListener); + holder.bind(postModel, position, getInternalOnItemClickListener(), getInternalOnLongItemClickListener()); } } diff --git a/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedItemViewHolder.java b/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedItemViewHolder.java index f65bb88f..68f82c5f 100644 --- a/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedItemViewHolder.java +++ b/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedItemViewHolder.java @@ -114,23 +114,23 @@ public abstract class FeedItemViewHolder extends RecyclerView.ViewHolder { final TextView.BufferType bufferType = caption instanceof Spanned ? TextView.BufferType.SPANNABLE : TextView.BufferType.NORMAL; - if (!textView.isCaptionExpanded()) { - int i = Utils.indexOfChar(caption, '\r', 0); - if (i == -1) i = Utils.indexOfChar(caption, '\n', 0); - if (i == -1) i = MAX_CHARS; - - final int captionLen = caption.length(); - final int minTrim = Math.min(MAX_CHARS, i); - if (captionLen <= minTrim) return false; - - if (Utils.hasMentions(caption)) - textView.setText(Utils.getMentionText(caption), TextView.BufferType.SPANNABLE); - textView.setCaptionIsExpandable(true); - textView.setCaptionIsExpanded(true); - } else { + if (textView.isCaptionExpanded()) { textView.setText(caption, bufferType); textView.setCaptionIsExpanded(false); + return true; } + int i = Utils.indexOfChar(caption, '\r', 0); + if (i == -1) i = Utils.indexOfChar(caption, '\n', 0); + if (i == -1) i = MAX_CHARS; + + final int captionLen = caption.length(); + final int minTrim = Math.min(MAX_CHARS, i); + if (captionLen <= minTrim) return false; + + if (Utils.hasMentions(caption)) + textView.setText(Utils.getMentionText(caption), TextView.BufferType.SPANNABLE); + textView.setCaptionIsExpandable(true); + textView.setCaptionIsExpanded(true); return true; } diff --git a/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedSliderViewHolder.java b/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedSliderViewHolder.java index fe8d7ccf..9fa5fcf5 100644 --- a/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedSliderViewHolder.java +++ b/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedSliderViewHolder.java @@ -93,8 +93,10 @@ public class FeedSliderViewHolder extends FeedItemViewHolder { } } final ChildMediaItemsAdapter itemsAdapter = new ChildMediaItemsAdapter(sliderItems, - cacheDataSourceFactory != null ? cacheDataSourceFactory : dataSourceFactory, - playerChangeListener); + cacheDataSourceFactory != null + ? cacheDataSourceFactory + : dataSourceFactory, + playerChangeListener); binding.mediaList.setAdapter(itemsAdapter); //noinspection deprecation @@ -176,10 +178,10 @@ public class FeedSliderViewHolder extends FeedItemViewHolder { } final ViewSwitcher viewSwitcher = (ViewSwitcher) binding.mediaList.getChildAt(position); loadPlayer(binding.getRoot().getContext(), - position, sliderItem.getDisplayUrl(), - viewSwitcher, - cacheDataSourceFactory != null ? cacheDataSourceFactory : dataSourceFactory, - playerChangeListener); + position, sliderItem.getDisplayUrl(), + viewSwitcher, + cacheDataSourceFactory != null ? cacheDataSourceFactory : dataSourceFactory, + playerChangeListener); } public void startPlayingVideo() { @@ -329,7 +331,7 @@ public class FeedSliderViewHolder extends FeedItemViewHolder { @Override public boolean isViewFromObject(@NonNull final View view, @NonNull final Object object) { - return view == object; + return view.equals(object); } public ViewerPostModel getItemAtPosition(final int position) { diff --git a/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedVideoViewHolder.java b/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedVideoViewHolder.java index 30d57e97..39ee0e15 100644 --- a/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedVideoViewHolder.java +++ b/app/src/main/java/awais/instagrabber/adapters/viewholder/feed/FeedVideoViewHolder.java @@ -41,7 +41,7 @@ public class FeedVideoViewHolder extends FeedItemViewHolder { private FeedModel feedModel; private SimpleExoPlayer player; - final Runnable loadRunnable = new Runnable() { + private final Runnable loadRunnable = new Runnable() { @Override public void run() { loadPlayer(feedModel); diff --git a/app/src/main/java/awais/instagrabber/asyncs/DiscoverFetcher.java b/app/src/main/java/awais/instagrabber/asyncs/DiscoverFetcher.java index 3b2957f2..4b16c8e7 100755 --- a/app/src/main/java/awais/instagrabber/asyncs/DiscoverFetcher.java +++ b/app/src/main/java/awais/instagrabber/asyncs/DiscoverFetcher.java @@ -176,7 +176,7 @@ public final class DiscoverFetcher extends AsyncTask<Void, Void, DiscoverItemMod final String customPath = settingsHelper.getString(FOLDER_PATH); if (!Utils.isEmpty(customPath)) customDir = new File(customPath + (Utils.settingsHelper.getBoolean(DOWNLOAD_USER_FOLDER) - ? ("/" + username) + ? "/" + username : "")); } diff --git a/app/src/main/java/awais/instagrabber/asyncs/RespondAction.java b/app/src/main/java/awais/instagrabber/asyncs/RespondAction.java index 990a0290..96bf2d0f 100644 --- a/app/src/main/java/awais/instagrabber/asyncs/RespondAction.java +++ b/app/src/main/java/awais/instagrabber/asyncs/RespondAction.java @@ -39,7 +39,7 @@ public class RespondAction extends AsyncTask<String, Void, Boolean> { + storyModel.getStoryMediaId().split("_")[0] + "/" + questionModel.getId() + "/story_question_response/"; HttpURLConnection urlConnection = null; try { - JSONObject ogbody = new JSONObject("{\"client_context\":\"" + UUID.randomUUID().toString() + final JSONObject ogbody = new JSONObject("{\"client_context\":\"" + UUID.randomUUID().toString() + "\",\"mutation_token\":\"" + UUID.randomUUID().toString() + "\",\"_csrftoken\":\"" + cookie.split("csrftoken=")[1].split(";")[0] + "\",\"_uid\":\"" + Utils.getUserIdFromCookie(cookie) diff --git a/app/src/main/java/awais/instagrabber/asyncs/SeenAction.java b/app/src/main/java/awais/instagrabber/asyncs/SeenAction.java index 805942e9..39a798ae 100644 --- a/app/src/main/java/awais/instagrabber/asyncs/SeenAction.java +++ b/app/src/main/java/awais/instagrabber/asyncs/SeenAction.java @@ -24,7 +24,7 @@ public class SeenAction extends AsyncTask<Void, Void, Void> { protected Void doInBackground(Void... voids) { final String url = "https://www.instagram.com/stories/reel/seen"; try { - String urlParameters = "reelMediaId=" + storyModel.getStoryMediaId().split("_")[0] + final String urlParameters = "reelMediaId=" + storyModel.getStoryMediaId().split("_")[0] + "&reelMediaOwnerId=" + storyModel.getUserId() + "&reelId=" + storyModel.getUserId() + "&reelMediaTakenAt=" + storyModel.getTimestamp()