mirror of
https://github.com/Docile-Alligator/Infinity-For-Reddit.git
synced 2026-03-31 03:56:02 +00:00
Migrate to ViewBinding in some adapters.
This commit is contained in:
@ -1,10 +1,7 @@
|
||||
package ml.docilealligator.infinityforreddit.adapters.navigationdrawer;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
@ -16,14 +13,13 @@ import com.bumptech.glide.request.RequestOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.account.Account;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerAccountBinding;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuItemBinding;
|
||||
|
||||
public class AccountManagementSectionRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
@ -62,12 +58,10 @@ public class AccountManagementSectionRecyclerViewAdapter extends RecyclerView.Ad
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == VIEW_TYPE_ACCOUNT) {
|
||||
return new AccountViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_account, parent, false));
|
||||
return new AccountViewHolder(ItemNavDrawerAccountBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
|
||||
return new MenuItemViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_item, parent, false));
|
||||
return new MenuItemViewHolder(ItemNavDrawerMenuItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -76,8 +70,8 @@ public class AccountManagementSectionRecyclerViewAdapter extends RecyclerView.Ad
|
||||
glide.load(accounts.get(position).getProfileImageUrl())
|
||||
.error(glide.load(R.drawable.subreddit_default_icon))
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(128, 0)))
|
||||
.into(((AccountViewHolder) holder).profileImageGifImageView);
|
||||
((AccountViewHolder) holder).usernameTextView.setText(accounts.get(position).getAccountName());
|
||||
.into(((AccountViewHolder) holder).binding.profileImageItemAccount);
|
||||
((AccountViewHolder) holder).binding.usernameTextViewItemAccount.setText(accounts.get(position).getAccountName());
|
||||
holder.itemView.setOnClickListener(view ->
|
||||
itemClickListener.onAccountClick(accounts.get(position).getAccountName()));
|
||||
} else if (holder instanceof MenuItemViewHolder) {
|
||||
@ -102,8 +96,8 @@ public class AccountManagementSectionRecyclerViewAdapter extends RecyclerView.Ad
|
||||
}
|
||||
|
||||
if (stringId != 0) {
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(stringId);
|
||||
((MenuItemViewHolder) holder).imageView.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(stringId);
|
||||
((MenuItemViewHolder) holder).binding.imageViewItemNavDrawerMenuItem.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
}
|
||||
int finalStringId = stringId;
|
||||
holder.itemView.setOnClickListener(view -> itemClickListener.onMenuClick(finalStringId));
|
||||
@ -133,35 +127,29 @@ public class AccountManagementSectionRecyclerViewAdapter extends RecyclerView.Ad
|
||||
}
|
||||
|
||||
class AccountViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.profile_image_item_account)
|
||||
GifImageView profileImageGifImageView;
|
||||
@BindView(R.id.username_text_view_item_account)
|
||||
TextView usernameTextView;
|
||||
ItemNavDrawerAccountBinding binding;
|
||||
|
||||
AccountViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
AccountViewHolder(@NonNull ItemNavDrawerAccountBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
usernameTextView.setTypeface(baseActivity.typeface);
|
||||
binding.usernameTextViewItemAccount.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
usernameTextView.setTextColor(primaryTextColor);
|
||||
binding.usernameTextViewItemAccount.setTextColor(primaryTextColor);
|
||||
}
|
||||
}
|
||||
|
||||
class MenuItemViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.image_view_item_nav_drawer_menu_item)
|
||||
ImageView imageView;
|
||||
@BindView(R.id.text_view_item_nav_drawer_menu_item)
|
||||
TextView menuTextView;
|
||||
ItemNavDrawerMenuItemBinding binding;
|
||||
|
||||
MenuItemViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuItemViewHolder(@NonNull ItemNavDrawerMenuItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
menuTextView.setTypeface(baseActivity.typeface);
|
||||
binding.textViewItemNavDrawerMenuItem.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
menuTextView.setTextColor(primaryTextColor);
|
||||
imageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.textViewItemNavDrawerMenuItem.setTextColor(primaryTextColor);
|
||||
binding.imageViewItemNavDrawerMenuItem.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,21 +3,18 @@ package ml.docilealligator.infinityforreddit.adapters.navigationdrawer;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.activities.InboxActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuGroupTitleBinding;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuItemBinding;
|
||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||
|
||||
public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
@ -57,22 +54,22 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == VIEW_TYPE_MENU_GROUP_TITLE) {
|
||||
return new MenuGroupTitleViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_group_title, parent, false));
|
||||
return new MenuGroupTitleViewHolder(ItemNavDrawerMenuGroupTitleBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
} else {
|
||||
return new MenuItemViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_item, parent, false));
|
||||
return new MenuItemViewHolder(ItemNavDrawerMenuItemBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof MenuGroupTitleViewHolder) {
|
||||
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.label_account);
|
||||
((MenuGroupTitleViewHolder) holder).binding.titleTextViewItemNavDrawerMenuGroupTitle.setText(R.string.label_account);
|
||||
if (collapseAccountSection) {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
} else {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -107,11 +104,11 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
||||
case 4:
|
||||
setOnClickListener = false;
|
||||
if (inboxCount > 0) {
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(baseActivity.getString(R.string.inbox_with_count, inboxCount));
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(baseActivity.getString(R.string.inbox_with_count, inboxCount));
|
||||
} else {
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(R.string.inbox);
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(R.string.inbox);
|
||||
}
|
||||
((MenuItemViewHolder) holder).imageView.setImageDrawable(ContextCompat.getDrawable(baseActivity, R.drawable.ic_inbox_24dp));
|
||||
((MenuItemViewHolder) holder).binding.imageViewItemNavDrawerMenuItem.setImageDrawable(ContextCompat.getDrawable(baseActivity, R.drawable.ic_inbox_24dp));
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(baseActivity, InboxActivity.class);
|
||||
baseActivity.startActivity(intent);
|
||||
@ -139,8 +136,8 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
||||
}
|
||||
|
||||
if (stringId != 0) {
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(stringId);
|
||||
((MenuItemViewHolder) holder).imageView.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(stringId);
|
||||
((MenuItemViewHolder) holder).binding.imageViewItemNavDrawerMenuItem.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
}
|
||||
if (setOnClickListener) {
|
||||
int finalStringId = stringId;
|
||||
@ -164,36 +161,30 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
||||
}
|
||||
|
||||
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;
|
||||
ItemNavDrawerMenuGroupTitleBinding binding;
|
||||
|
||||
MenuGroupTitleViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuGroupTitleViewHolder(@NonNull ItemNavDrawerMenuGroupTitleBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
titleTextView.setTypeface(baseActivity.typeface);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
titleTextView.setTextColor(secondaryTextColor);
|
||||
collapseIndicatorImageView.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTextColor(secondaryTextColor);
|
||||
binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
||||
class MenuItemViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.image_view_item_nav_drawer_menu_item)
|
||||
ImageView imageView;
|
||||
@BindView(R.id.text_view_item_nav_drawer_menu_item)
|
||||
TextView menuTextView;
|
||||
ItemNavDrawerMenuItemBinding binding;
|
||||
|
||||
MenuItemViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuItemViewHolder(@NonNull ItemNavDrawerMenuItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
menuTextView.setTypeface(baseActivity.typeface);
|
||||
binding.textViewItemNavDrawerMenuItem.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
menuTextView.setTextColor(primaryTextColor);
|
||||
imageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.textViewItemNavDrawerMenuItem.setTextColor(primaryTextColor);
|
||||
binding.imageViewItemNavDrawerMenuItem.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,10 +2,7 @@ package ml.docilealligator.infinityforreddit.adapters.navigationdrawer;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@ -16,15 +13,14 @@ import com.bumptech.glide.request.RequestOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuGroupTitleBinding;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerSubscribedThingBinding;
|
||||
import ml.docilealligator.infinityforreddit.subscribedsubreddit.SubscribedSubredditData;
|
||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
public class FavoriteSubscribedSubredditsSectionRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
@ -62,22 +58,22 @@ public class FavoriteSubscribedSubredditsSectionRecyclerViewAdapter extends Recy
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == VIEW_TYPE_MENU_GROUP_TITLE) {
|
||||
return new MenuGroupTitleViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_group_title, parent, false));
|
||||
return new MenuGroupTitleViewHolder(ItemNavDrawerMenuGroupTitleBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
} else {
|
||||
return new FavoriteSubscribedThingViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_subscribed_thing, parent, false));
|
||||
return new FavoriteSubscribedThingViewHolder(ItemNavDrawerSubscribedThingBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof MenuGroupTitleViewHolder) {
|
||||
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.favorites);
|
||||
((MenuGroupTitleViewHolder) holder).binding.titleTextViewItemNavDrawerMenuGroupTitle.setText(R.string.favorites);
|
||||
if (collapseFavoriteSubredditsSection) {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
} else {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -94,17 +90,17 @@ public class FavoriteSubscribedSubredditsSectionRecyclerViewAdapter extends Recy
|
||||
SubscribedSubredditData subreddit = favoriteSubscribedSubreddits.get(position - 1);
|
||||
String subredditName = subreddit.getName();
|
||||
String iconUrl = subreddit.getIconUrl();
|
||||
((FavoriteSubscribedThingViewHolder) holder).subredditNameTextView.setText(subredditName);
|
||||
((FavoriteSubscribedThingViewHolder) holder).binding.thingNameTextViewItemNavDrawerSubscribedThing.setText(subredditName);
|
||||
if (iconUrl != null && !iconUrl.equals("")) {
|
||||
glide.load(iconUrl)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
|
||||
.error(glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0))))
|
||||
.into(((FavoriteSubscribedThingViewHolder) holder).iconGifImageView);
|
||||
.into(((FavoriteSubscribedThingViewHolder) holder).binding.thingIconGifImageViewItemNavDrawerSubscribedThing);
|
||||
} else {
|
||||
glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
|
||||
.into(((FavoriteSubscribedThingViewHolder) holder).iconGifImageView);
|
||||
.into(((FavoriteSubscribedThingViewHolder) holder).binding.thingIconGifImageViewItemNavDrawerSubscribedThing);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -125,7 +121,7 @@ public class FavoriteSubscribedSubredditsSectionRecyclerViewAdapter extends Recy
|
||||
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
|
||||
super.onViewRecycled(holder);
|
||||
if (holder instanceof FavoriteSubscribedThingViewHolder) {
|
||||
glide.clear(((FavoriteSubscribedThingViewHolder) holder).iconGifImageView);
|
||||
glide.clear(((FavoriteSubscribedThingViewHolder) holder).binding.thingIconGifImageViewItemNavDrawerSubscribedThing);
|
||||
}
|
||||
}
|
||||
|
||||
@ -135,35 +131,29 @@ public class FavoriteSubscribedSubredditsSectionRecyclerViewAdapter extends Recy
|
||||
}
|
||||
|
||||
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;
|
||||
ItemNavDrawerMenuGroupTitleBinding binding;
|
||||
|
||||
MenuGroupTitleViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuGroupTitleViewHolder(@NonNull ItemNavDrawerMenuGroupTitleBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
titleTextView.setTypeface(baseActivity.typeface);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
titleTextView.setTextColor(secondaryTextColor);
|
||||
collapseIndicatorImageView.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTextColor(secondaryTextColor);
|
||||
binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
||||
class FavoriteSubscribedThingViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.thing_icon_gif_image_view_item_nav_drawer_subscribed_thing)
|
||||
GifImageView iconGifImageView;
|
||||
@BindView(R.id.thing_name_text_view_item_nav_drawer_subscribed_thing)
|
||||
TextView subredditNameTextView;
|
||||
ItemNavDrawerSubscribedThingBinding binding;
|
||||
|
||||
FavoriteSubscribedThingViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
FavoriteSubscribedThingViewHolder(@NonNull ItemNavDrawerSubscribedThingBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
subredditNameTextView.setTypeface(baseActivity.typeface);
|
||||
binding.thingNameTextViewItemNavDrawerSubscribedThing.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
subredditNameTextView.setTextColor(primaryTextColor);
|
||||
binding.thingNameTextViewItemNavDrawerSubscribedThing.setTextColor(primaryTextColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,7 +10,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.biometric.BiometricManager;
|
||||
@ -24,15 +23,13 @@ import com.bumptech.glide.request.RequestOptions;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.account.Account;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.databinding.NavHeaderMainBinding;
|
||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
private final BaseActivity baseActivity;
|
||||
@ -72,58 +69,58 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new NavHeaderViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.nav_header_main, parent, false));
|
||||
return new NavHeaderViewHolder(NavHeaderMainBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof NavHeaderViewHolder) {
|
||||
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ((NavHeaderViewHolder) holder).profileImageView.getLayoutParams();
|
||||
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ((NavHeaderViewHolder) holder).binding.profileImageViewNavHeaderMain.getLayoutParams();
|
||||
if (showAvatarOnTheRightInTheNavigationDrawer) {
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_END);
|
||||
} else {
|
||||
params.removeRule(RelativeLayout.ALIGN_PARENT_END);
|
||||
}
|
||||
((NavHeaderViewHolder) holder).profileImageView.setLayoutParams(params);
|
||||
((NavHeaderViewHolder) holder).binding.profileImageViewNavHeaderMain.setLayoutParams(params);
|
||||
if (isLoggedIn) {
|
||||
if (hideKarma) {
|
||||
int karmaTextHeight = ((NavHeaderViewHolder) holder).karmaTextView.getHeight();
|
||||
((NavHeaderViewHolder) holder).karmaTextView.setVisibility(View.GONE);
|
||||
((NavHeaderViewHolder) holder).accountNameTextView.setTranslationY(karmaTextHeight / 2);
|
||||
int karmaTextHeight = ((NavHeaderViewHolder) holder).binding.karmaTextViewNavHeaderMain.getHeight();
|
||||
((NavHeaderViewHolder) holder).binding.karmaTextViewNavHeaderMain.setVisibility(View.GONE);
|
||||
((NavHeaderViewHolder) holder).binding.nameTextViewNavHeaderMain.setTranslationY(karmaTextHeight / 2);
|
||||
} else {
|
||||
((NavHeaderViewHolder) holder).karmaTextView.setVisibility(View.VISIBLE);
|
||||
((NavHeaderViewHolder) holder).karmaTextView.setText(baseActivity.getString(R.string.karma_info, karma));
|
||||
((NavHeaderViewHolder) holder).accountNameTextView.setTranslationY(0);
|
||||
((NavHeaderViewHolder) holder).binding.karmaTextViewNavHeaderMain.setVisibility(View.VISIBLE);
|
||||
((NavHeaderViewHolder) holder).binding.karmaTextViewNavHeaderMain.setText(baseActivity.getString(R.string.karma_info, karma));
|
||||
((NavHeaderViewHolder) holder).binding.nameTextViewNavHeaderMain.setTranslationY(0);
|
||||
}
|
||||
((NavHeaderViewHolder) holder).accountNameTextView.setText(accountName);
|
||||
((NavHeaderViewHolder) holder).binding.nameTextViewNavHeaderMain.setText(accountName);
|
||||
if (profileImageUrl != null && !profileImageUrl.equals("")) {
|
||||
glide.load(profileImageUrl)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(144, 0)))
|
||||
.error(glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(144, 0))))
|
||||
.into(((NavHeaderViewHolder) holder).profileImageView);
|
||||
.into(((NavHeaderViewHolder) holder).binding.profileImageViewNavHeaderMain);
|
||||
} else {
|
||||
glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(144, 0)))
|
||||
.into(((NavHeaderViewHolder) holder).profileImageView);
|
||||
.into(((NavHeaderViewHolder) holder).binding.profileImageViewNavHeaderMain);
|
||||
}
|
||||
|
||||
if (bannerImageUrl != null && !bannerImageUrl.equals("")) {
|
||||
glide.load(bannerImageUrl).into(((NavHeaderViewHolder) holder).bannerImageView);
|
||||
glide.load(bannerImageUrl).into(((NavHeaderViewHolder) holder).binding.bannerImageViewNavHeaderMain);
|
||||
}
|
||||
} else {
|
||||
((NavHeaderViewHolder) holder).karmaTextView.setText(R.string.press_here_to_login);
|
||||
((NavHeaderViewHolder) holder).accountNameTextView.setText(R.string.anonymous_account);
|
||||
((NavHeaderViewHolder) holder).binding.karmaTextViewNavHeaderMain.setText(R.string.press_here_to_login);
|
||||
((NavHeaderViewHolder) holder).binding.nameTextViewNavHeaderMain.setText(R.string.anonymous_account);
|
||||
glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(144, 0)))
|
||||
.into(((NavHeaderViewHolder) holder).profileImageView);
|
||||
.into(((NavHeaderViewHolder) holder).binding.profileImageViewNavHeaderMain);
|
||||
}
|
||||
|
||||
if (isInMainPage) {
|
||||
((NavHeaderViewHolder) holder).dropIconImageView.setImageDrawable(resources.getDrawable(R.drawable.ic_baseline_arrow_drop_down_24dp));
|
||||
((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain.setImageDrawable(resources.getDrawable(R.drawable.ic_baseline_arrow_drop_down_24dp));
|
||||
} else {
|
||||
((NavHeaderViewHolder) holder).dropIconImageView.setImageDrawable(resources.getDrawable(R.drawable.ic_baseline_arrow_drop_up_24dp));
|
||||
((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain.setImageDrawable(resources.getDrawable(R.drawable.ic_baseline_arrow_drop_up_24dp));
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -139,7 +136,7 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc
|
||||
@NonNull BiometricPrompt.AuthenticationResult result) {
|
||||
super.onAuthenticationSucceeded(result);
|
||||
pageToggle.openAccountSection();
|
||||
openAccountSection(((NavHeaderViewHolder) holder).dropIconImageView);
|
||||
openAccountSection(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain);
|
||||
}
|
||||
});
|
||||
|
||||
@ -151,14 +148,14 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc
|
||||
biometricPrompt.authenticate(promptInfo);
|
||||
} else {
|
||||
pageToggle.openAccountSection();
|
||||
openAccountSection(((NavHeaderViewHolder) holder).dropIconImageView);
|
||||
openAccountSection(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain);
|
||||
}
|
||||
} else {
|
||||
pageToggle.openAccountSection();
|
||||
openAccountSection(((NavHeaderViewHolder) holder).dropIconImageView);
|
||||
openAccountSection(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain);
|
||||
}
|
||||
} else {
|
||||
((NavHeaderViewHolder) holder).dropIconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_baseline_arrow_drop_down_24dp, null));
|
||||
((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_baseline_arrow_drop_down_24dp, null));
|
||||
pageToggle.closeAccountSectionWithoutChangeIconResource();
|
||||
closeAccountSectionWithoutChangeIconResource(false);
|
||||
}
|
||||
@ -207,30 +204,21 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc
|
||||
}
|
||||
|
||||
class NavHeaderViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.name_text_view_nav_header_main)
|
||||
TextView accountNameTextView;
|
||||
@BindView(R.id.karma_text_view_nav_header_main)
|
||||
TextView karmaTextView;
|
||||
@BindView(R.id.profile_image_view_nav_header_main)
|
||||
GifImageView profileImageView;
|
||||
@BindView(R.id.banner_image_view_nav_header_main)
|
||||
ImageView bannerImageView;
|
||||
@BindView(R.id.account_switcher_image_view_nav_header_main)
|
||||
ImageView dropIconImageView;
|
||||
NavHeaderMainBinding binding;
|
||||
|
||||
NavHeaderViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
NavHeaderViewHolder(@NonNull NavHeaderMainBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
|
||||
if (baseActivity.typeface != null) {
|
||||
accountNameTextView.setTypeface(baseActivity.typeface);
|
||||
karmaTextView.setTypeface(baseActivity.typeface);
|
||||
binding.nameTextViewNavHeaderMain.setTypeface(baseActivity.typeface);
|
||||
binding.karmaTextViewNavHeaderMain.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
|
||||
itemView.setBackgroundColor(customThemeWrapper.getColorPrimary());
|
||||
accountNameTextView.setTextColor(customThemeWrapper.getToolbarPrimaryTextAndIconColor());
|
||||
karmaTextView.setTextColor(customThemeWrapper.getToolbarSecondaryTextColor());
|
||||
dropIconImageView.setColorFilter(customThemeWrapper.getToolbarPrimaryTextAndIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.nameTextViewNavHeaderMain.setTextColor(customThemeWrapper.getToolbarPrimaryTextAndIconColor());
|
||||
binding.karmaTextViewNavHeaderMain.setTextColor(customThemeWrapper.getToolbarSecondaryTextColor());
|
||||
binding.accountSwitcherImageViewNavHeaderMain.setColorFilter(customThemeWrapper.getToolbarPrimaryTextAndIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2,20 +2,17 @@ package ml.docilealligator.infinityforreddit.adapters.navigationdrawer;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuGroupTitleBinding;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuItemBinding;
|
||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||
|
||||
public class PostSectionRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
@ -53,22 +50,22 @@ public class PostSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recycle
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == VIEW_TYPE_MENU_GROUP_TITLE) {
|
||||
return new MenuGroupTitleViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_group_title, parent, false));
|
||||
return new MenuGroupTitleViewHolder(ItemNavDrawerMenuGroupTitleBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
} else {
|
||||
return new MenuItemViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_item, parent, false));
|
||||
return new MenuItemViewHolder(ItemNavDrawerMenuItemBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof MenuGroupTitleViewHolder) {
|
||||
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.label_post);
|
||||
((MenuGroupTitleViewHolder) holder).binding.titleTextViewItemNavDrawerMenuGroupTitle.setText(R.string.label_post);
|
||||
if (collapsePostSection) {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
} else {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -106,8 +103,8 @@ public class PostSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recycle
|
||||
}
|
||||
}
|
||||
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(stringId);
|
||||
((MenuItemViewHolder) holder).imageView.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(stringId);
|
||||
((MenuItemViewHolder) holder).binding.imageViewItemNavDrawerMenuItem.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
int finalStringId = stringId;
|
||||
holder.itemView.setOnClickListener(view -> itemClickListener.onMenuClick(finalStringId));
|
||||
}
|
||||
@ -119,36 +116,30 @@ public class PostSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recycle
|
||||
}
|
||||
|
||||
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;
|
||||
ItemNavDrawerMenuGroupTitleBinding binding;
|
||||
|
||||
MenuGroupTitleViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuGroupTitleViewHolder(@NonNull ItemNavDrawerMenuGroupTitleBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
titleTextView.setTypeface(baseActivity.typeface);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
titleTextView.setTextColor(secondaryTextColor);
|
||||
collapseIndicatorImageView.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTextColor(secondaryTextColor);
|
||||
binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
||||
class MenuItemViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.image_view_item_nav_drawer_menu_item)
|
||||
ImageView imageView;
|
||||
@BindView(R.id.text_view_item_nav_drawer_menu_item)
|
||||
TextView menuTextView;
|
||||
ItemNavDrawerMenuItemBinding binding;
|
||||
|
||||
MenuItemViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuItemViewHolder(@NonNull ItemNavDrawerMenuItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
menuTextView.setTypeface(baseActivity.typeface);
|
||||
binding.textViewItemNavDrawerMenuItem.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
menuTextView.setTextColor(primaryTextColor);
|
||||
imageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.textViewItemNavDrawerMenuItem.setTextColor(primaryTextColor);
|
||||
binding.imageViewItemNavDrawerMenuItem.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,21 +4,18 @@ import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.account.Account;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuGroupTitleBinding;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuItemBinding;
|
||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||
|
||||
public class PreferenceSectionRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
@ -59,22 +56,22 @@ public class PreferenceSectionRecyclerViewAdapter extends RecyclerView.Adapter<R
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == VIEW_TYPE_MENU_GROUP_TITLE) {
|
||||
return new MenuGroupTitleViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_group_title, parent, false));
|
||||
return new MenuGroupTitleViewHolder(ItemNavDrawerMenuGroupTitleBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
} else {
|
||||
return new MenuItemViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_item, parent, false));
|
||||
return new MenuItemViewHolder(ItemNavDrawerMenuItemBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof MenuGroupTitleViewHolder) {
|
||||
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.label_preferences);
|
||||
((MenuGroupTitleViewHolder) holder).binding.titleTextViewItemNavDrawerMenuGroupTitle.setText(R.string.label_preferences);
|
||||
if (collapsePreferencesSection) {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
} else {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -115,13 +112,13 @@ public class PreferenceSectionRecyclerViewAdapter extends RecyclerView.Adapter<R
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
if (isNSFWEnabled) {
|
||||
isNSFWEnabled = false;
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(R.string.enable_nsfw);
|
||||
((MenuItemViewHolder) holder).imageView.setImageDrawable(ContextCompat.getDrawable(baseActivity, R.drawable.ic_nsfw_on_24dp));
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(R.string.enable_nsfw);
|
||||
((MenuItemViewHolder) holder).binding.imageViewItemNavDrawerMenuItem.setImageDrawable(ContextCompat.getDrawable(baseActivity, R.drawable.ic_nsfw_on_24dp));
|
||||
itemClickListener.onMenuClick(R.string.disable_nsfw);
|
||||
} else {
|
||||
isNSFWEnabled = true;
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(R.string.disable_nsfw);
|
||||
((MenuItemViewHolder) holder).imageView.setImageDrawable(ContextCompat.getDrawable(baseActivity, R.drawable.ic_nsfw_off_24dp));
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(R.string.disable_nsfw);
|
||||
((MenuItemViewHolder) holder).binding.imageViewItemNavDrawerMenuItem.setImageDrawable(ContextCompat.getDrawable(baseActivity, R.drawable.ic_nsfw_off_24dp));
|
||||
itemClickListener.onMenuClick(R.string.enable_nsfw);
|
||||
}
|
||||
});
|
||||
@ -132,8 +129,8 @@ public class PreferenceSectionRecyclerViewAdapter extends RecyclerView.Adapter<R
|
||||
}
|
||||
|
||||
if (stringId != 0) {
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(stringId);
|
||||
((MenuItemViewHolder) holder).imageView.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
((MenuItemViewHolder) holder).binding.textViewItemNavDrawerMenuItem.setText(stringId);
|
||||
((MenuItemViewHolder) holder).binding.imageViewItemNavDrawerMenuItem.setImageDrawable(ContextCompat.getDrawable(baseActivity, drawableId));
|
||||
if (setOnClickListener) {
|
||||
int finalStringId = stringId;
|
||||
holder.itemView.setOnClickListener(view -> itemClickListener.onMenuClick(finalStringId));
|
||||
@ -153,36 +150,30 @@ public class PreferenceSectionRecyclerViewAdapter extends RecyclerView.Adapter<R
|
||||
}
|
||||
|
||||
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;
|
||||
ItemNavDrawerMenuGroupTitleBinding binding;
|
||||
|
||||
MenuGroupTitleViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuGroupTitleViewHolder(@NonNull ItemNavDrawerMenuGroupTitleBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
titleTextView.setTypeface(baseActivity.typeface);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
titleTextView.setTextColor(secondaryTextColor);
|
||||
collapseIndicatorImageView.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTextColor(secondaryTextColor);
|
||||
binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
||||
class MenuItemViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.image_view_item_nav_drawer_menu_item)
|
||||
ImageView imageView;
|
||||
@BindView(R.id.text_view_item_nav_drawer_menu_item)
|
||||
TextView menuTextView;
|
||||
ItemNavDrawerMenuItemBinding binding;
|
||||
|
||||
MenuItemViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuItemViewHolder(@NonNull ItemNavDrawerMenuItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
menuTextView.setTypeface(baseActivity.typeface);
|
||||
binding.textViewItemNavDrawerMenuItem.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
menuTextView.setTextColor(primaryTextColor);
|
||||
imageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.textViewItemNavDrawerMenuItem.setTextColor(primaryTextColor);
|
||||
binding.imageViewItemNavDrawerMenuItem.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,19 +2,16 @@ package ml.docilealligator.infinityforreddit.adapters.navigationdrawer;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuGroupTitleBinding;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuItemBinding;
|
||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||
|
||||
public class RedditSectionRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
@ -50,22 +47,22 @@ public class RedditSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == VIEW_TYPE_MENU_GROUP_TITLE) {
|
||||
return new MenuGroupTitleViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_group_title, parent, false));
|
||||
return new MenuGroupTitleViewHolder(ItemNavDrawerMenuGroupTitleBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
} else {
|
||||
return new MenuItemViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_item, parent, false));
|
||||
return new MenuItemViewHolder(ItemNavDrawerMenuItemBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof MenuGroupTitleViewHolder) {
|
||||
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.label_reddit);
|
||||
((MenuGroupTitleViewHolder) holder).binding.titleTextViewItemNavDrawerMenuGroupTitle.setText(R.string.label_reddit);
|
||||
if (collapseRedditSection) {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
} else {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -95,36 +92,30 @@ public class RedditSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc
|
||||
}
|
||||
|
||||
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;
|
||||
ItemNavDrawerMenuGroupTitleBinding binding;
|
||||
|
||||
MenuGroupTitleViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuGroupTitleViewHolder(@NonNull ItemNavDrawerMenuGroupTitleBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
titleTextView.setTypeface(baseActivity.typeface);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
titleTextView.setTextColor(secondaryTextColor);
|
||||
collapseIndicatorImageView.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTextColor(secondaryTextColor);
|
||||
binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
||||
class MenuItemViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.image_view_item_nav_drawer_menu_item)
|
||||
ImageView imageView;
|
||||
@BindView(R.id.text_view_item_nav_drawer_menu_item)
|
||||
TextView menuTextView;
|
||||
ItemNavDrawerMenuItemBinding binding;
|
||||
|
||||
MenuItemViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuItemViewHolder(@NonNull ItemNavDrawerMenuItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
menuTextView.setTypeface(baseActivity.typeface);
|
||||
binding.textViewItemNavDrawerMenuItem.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
menuTextView.setTextColor(primaryTextColor);
|
||||
imageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.textViewItemNavDrawerMenuItem.setTextColor(primaryTextColor);
|
||||
binding.imageViewItemNavDrawerMenuItem.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,10 +2,7 @@ package ml.docilealligator.infinityforreddit.adapters.navigationdrawer;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@ -16,15 +13,14 @@ import com.bumptech.glide.request.RequestOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
|
||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerMenuGroupTitleBinding;
|
||||
import ml.docilealligator.infinityforreddit.databinding.ItemNavDrawerSubscribedThingBinding;
|
||||
import ml.docilealligator.infinityforreddit.subscribedsubreddit.SubscribedSubredditData;
|
||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
@ -62,22 +58,22 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == VIEW_TYPE_MENU_GROUP_TITLE) {
|
||||
return new MenuGroupTitleViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_menu_group_title, parent, false));
|
||||
return new MenuGroupTitleViewHolder(ItemNavDrawerMenuGroupTitleBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
} else {
|
||||
return new SubscribedThingViewHolder(LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_nav_drawer_subscribed_thing, parent, false));
|
||||
return new SubscribedThingViewHolder(ItemNavDrawerSubscribedThingBinding
|
||||
.inflate(LayoutInflater.from(parent.getContext()), parent, false));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof MenuGroupTitleViewHolder) {
|
||||
((MenuGroupTitleViewHolder) holder).titleTextView.setText(R.string.subscriptions);
|
||||
((MenuGroupTitleViewHolder) holder).binding.titleTextViewItemNavDrawerMenuGroupTitle.setText(R.string.subscriptions);
|
||||
if (collapseSubscribedSubredditsSection) {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24dp);
|
||||
} else {
|
||||
((MenuGroupTitleViewHolder) holder).collapseIndicatorImageView.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
((MenuGroupTitleViewHolder) holder).binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24dp);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -94,17 +90,17 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
SubscribedSubredditData subreddit = subscribedSubreddits.get(position - 1);
|
||||
String subredditName = subreddit.getName();
|
||||
String iconUrl = subreddit.getIconUrl();
|
||||
((SubscribedThingViewHolder) holder).subredditNameTextView.setText(subredditName);
|
||||
((SubscribedThingViewHolder) holder).binding.thingNameTextViewItemNavDrawerSubscribedThing.setText(subredditName);
|
||||
if (iconUrl != null && !iconUrl.equals("")) {
|
||||
glide.load(iconUrl)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
|
||||
.error(glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0))))
|
||||
.into(((SubscribedThingViewHolder) holder).iconGifImageView);
|
||||
.into(((SubscribedThingViewHolder) holder).binding.thingIconGifImageViewItemNavDrawerSubscribedThing);
|
||||
} else {
|
||||
glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
|
||||
.into(((SubscribedThingViewHolder) holder).iconGifImageView);
|
||||
.into(((SubscribedThingViewHolder) holder).binding.thingIconGifImageViewItemNavDrawerSubscribedThing);
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
@ -125,7 +121,7 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
|
||||
super.onViewRecycled(holder);
|
||||
if (holder instanceof SubscribedThingViewHolder) {
|
||||
glide.clear(((SubscribedThingViewHolder) holder).iconGifImageView);
|
||||
glide.clear(((SubscribedThingViewHolder) holder).binding.thingIconGifImageViewItemNavDrawerSubscribedThing);
|
||||
}
|
||||
}
|
||||
|
||||
@ -135,35 +131,29 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
}
|
||||
|
||||
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;
|
||||
ItemNavDrawerMenuGroupTitleBinding binding;
|
||||
|
||||
MenuGroupTitleViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
MenuGroupTitleViewHolder(@NonNull ItemNavDrawerMenuGroupTitleBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
titleTextView.setTypeface(baseActivity.typeface);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
titleTextView.setTextColor(secondaryTextColor);
|
||||
collapseIndicatorImageView.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
binding.titleTextViewItemNavDrawerMenuGroupTitle.setTextColor(secondaryTextColor);
|
||||
binding.collapseIndicatorImageViewItemNavDrawerMenuGroupTitle.setColorFilter(secondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
|
||||
class SubscribedThingViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.thing_icon_gif_image_view_item_nav_drawer_subscribed_thing)
|
||||
GifImageView iconGifImageView;
|
||||
@BindView(R.id.thing_name_text_view_item_nav_drawer_subscribed_thing)
|
||||
TextView subredditNameTextView;
|
||||
ItemNavDrawerSubscribedThingBinding binding;
|
||||
|
||||
SubscribedThingViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
SubscribedThingViewHolder(@NonNull ItemNavDrawerSubscribedThingBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
if (baseActivity.typeface != null) {
|
||||
subredditNameTextView.setTypeface(baseActivity.typeface);
|
||||
binding.thingNameTextViewItemNavDrawerSubscribedThing.setTypeface(baseActivity.typeface);
|
||||
}
|
||||
subredditNameTextView.setTextColor(primaryTextColor);
|
||||
binding.thingNameTextViewItemNavDrawerSubscribedThing.setTextColor(primaryTextColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user