aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/NavigationDrawerRecyclerViewAdapter.java53
1 files changed, 41 insertions, 12 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/NavigationDrawerRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/NavigationDrawerRecyclerViewAdapter.java
index 3780f24d..9a51e181 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/NavigationDrawerRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/NavigationDrawerRecyclerViewAdapter.java
@@ -290,13 +290,28 @@ public class NavigationDrawerRecyclerViewAdapter extends RecyclerView.Adapter<Re
int type;
if (position == 1) {
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.label_account);
+ if (collapseAccountSection) {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24px);
+ } else {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24px);
+ }
type = 0;
} else if (position == 6 - (collapseAccountSection ? ACCOUNT_SECTION_ITEMS : 0)) {
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.label_post);
+ if (collapsePostSection) {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24px);
+ } else {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24px);
+ }
type = 1;
} else if (position == 12 - (collapseAccountSection ? ACCOUNT_SECTION_ITEMS : 0)
- (collapsePostSection ? POST_SECTION_ITEMS : 0)) {
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.label_preferences);
+ if (collapsePreferencesSection) {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24px);
+ } else {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24px);
+ }
type = 2;
} else {
if (!favoriteSubscribedSubreddits.isEmpty() && position == CURRENT_MENU_ITEMS
@@ -304,9 +319,19 @@ public class NavigationDrawerRecyclerViewAdapter extends RecyclerView.Adapter<Re
- (collapsePostSection ? POST_SECTION_ITEMS : 0)
- (collapsePreferencesSection ? PREFERENCES_SECTION_ITEMS : 0)) {
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.favorites);
+ if (collapseFavoriteSubredditsSection) {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24px);
+ } else {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24px);
+ }
type = 3;
} else {
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.subscriptions);
+ if (collapseSubscribedSubredditsSection) {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24px);
+ } else {
+ ((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24px);
+ }
type = 4;
}
}
@@ -316,50 +341,50 @@ public class NavigationDrawerRecyclerViewAdapter extends RecyclerView.Adapter<Re
case 0:
if (collapseAccountSection) {
collapseAccountSection = !collapseAccountSection;
- notifyItemRangeInserted(position + 1, ACCOUNT_SECTION_ITEMS);
+ notifyItemRangeInserted(holder.getBindingAdapterPosition() + 1, ACCOUNT_SECTION_ITEMS);
} else {
collapseAccountSection = !collapseAccountSection;
- notifyItemRangeRemoved(position + 1, ACCOUNT_SECTION_ITEMS);
+ notifyItemRangeRemoved(holder.getBindingAdapterPosition() + 1, ACCOUNT_SECTION_ITEMS);
}
break;
case 1:
if (collapsePostSection) {
collapsePostSection = !collapsePostSection;
- notifyItemRangeInserted(position + 1, POST_SECTION_ITEMS);
+ notifyItemRangeInserted(holder.getBindingAdapterPosition() + 1, POST_SECTION_ITEMS);
} else {
collapsePostSection = !collapsePostSection;
- notifyItemRangeRemoved(position + 1, POST_SECTION_ITEMS);
+ notifyItemRangeRemoved(holder.getBindingAdapterPosition() + 1, POST_SECTION_ITEMS);
}
break;
case 2:
if (collapsePreferencesSection) {
collapsePreferencesSection = !collapsePreferencesSection;
- notifyItemRangeInserted(position + 1, PREFERENCES_SECTION_ITEMS);
+ notifyItemRangeInserted(holder.getBindingAdapterPosition() + 1, PREFERENCES_SECTION_ITEMS);
} else {
collapsePreferencesSection = !collapsePreferencesSection;
- notifyItemRangeRemoved(position + 1, PREFERENCES_SECTION_ITEMS);
+ notifyItemRangeRemoved(holder.getBindingAdapterPosition() + 1, PREFERENCES_SECTION_ITEMS);
}
break;
case 3:
if (collapseFavoriteSubredditsSection) {
collapseFavoriteSubredditsSection = !collapseFavoriteSubredditsSection;
- notifyItemRangeInserted(position + 1, favoriteSubscribedSubreddits.size());
+ notifyItemRangeInserted(holder.getBindingAdapterPosition() + 1, favoriteSubscribedSubreddits.size());
} else {
collapseFavoriteSubredditsSection = !collapseFavoriteSubredditsSection;
- notifyItemRangeRemoved(position + 1, favoriteSubscribedSubreddits.size());
+ notifyItemRangeRemoved(holder.getBindingAdapterPosition() + 1, favoriteSubscribedSubreddits.size());
}
break;
case 4:
if (collapseSubscribedSubredditsSection) {
collapseSubscribedSubredditsSection = !collapseSubscribedSubredditsSection;
- notifyItemRangeInserted(position + 1, subscribedSubreddits.size());
+ notifyItemRangeInserted(holder.getBindingAdapterPosition() + 1, subscribedSubreddits.size());
} else {
collapseSubscribedSubredditsSection = !collapseSubscribedSubredditsSection;
- notifyItemRangeRemoved(position + 1, subscribedSubreddits.size());
+ notifyItemRangeRemoved(holder.getBindingAdapterPosition() + 1, subscribedSubreddits.size());
}
break;
}
- notifyDataSetChanged();
+ notifyItemChanged(holder.getBindingAdapterPosition());
});
} else if (holder instanceof MenuItemViewHolder) {
int stringId = 0;
@@ -748,12 +773,16 @@ public class NavigationDrawerRecyclerViewAdapter extends RecyclerView.Adapter<Re
}
class MenuGroupTitleViewHolder extends RecyclerView.ViewHolder {
+ @BindView(R.id.title_text_view_item_nav_drawer_menu_group_title)
TextView titleTextView;
+ @BindView(R.id.collapse_indicator_image_view_item_nav_drawer_menu_group_title)
+ ImageView collapseIndicatorImageView;
MenuGroupTitleViewHolder(@NonNull View itemView) {
super(itemView);
- titleTextView = (TextView) itemView;
+ ButterKnife.bind(this, itemView);
titleTextView.setTextColor(secondaryTextColor);
+ collapseIndicatorImageView.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
}
}