added image preview blur for sensitive media
This commit is contained in:
parent
ec6afb12e2
commit
3d3ccb1476
|
@ -51,6 +51,7 @@ public class PreviewAdapter extends RecyclerView.Adapter<ViewHolder> implements
|
||||||
private OnCardClickListener listener;
|
private OnCardClickListener listener;
|
||||||
|
|
||||||
private List<Object> items = new ArrayList<>();
|
private List<Object> items = new ArrayList<>();
|
||||||
|
private boolean blurMedia = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -85,7 +86,7 @@ public class PreviewAdapter extends RecyclerView.Adapter<ViewHolder> implements
|
||||||
if (holder instanceof PreviewHolder && item instanceof Media) {
|
if (holder instanceof PreviewHolder && item instanceof Media) {
|
||||||
PreviewHolder previewHolder = ((PreviewHolder) holder);
|
PreviewHolder previewHolder = ((PreviewHolder) holder);
|
||||||
Media media = (Media) item;
|
Media media = (Media) item;
|
||||||
previewHolder.setContent(media);
|
previewHolder.setContent(media, blurMedia);
|
||||||
} else if (holder instanceof CardHolder && item instanceof Card) {
|
} else if (holder instanceof CardHolder && item instanceof Card) {
|
||||||
CardHolder cardHolder = (CardHolder) holder;
|
CardHolder cardHolder = (CardHolder) holder;
|
||||||
Card card = (Card) item;
|
Card card = (Card) item;
|
||||||
|
@ -171,6 +172,7 @@ public class PreviewAdapter extends RecyclerView.Adapter<ViewHolder> implements
|
||||||
items.addAll(Arrays.asList(status.getMedia()));
|
items.addAll(Arrays.asList(status.getMedia()));
|
||||||
if (status.getCards().length > 0)
|
if (status.getCards().length > 0)
|
||||||
items.addAll(Arrays.asList(status.getCards()));
|
items.addAll(Arrays.asList(status.getCards()));
|
||||||
|
blurMedia = status.isSensitive();
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,14 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||||
import com.squareup.picasso.MemoryPolicy;
|
import com.squareup.picasso.MemoryPolicy;
|
||||||
import com.squareup.picasso.NetworkPolicy;
|
import com.squareup.picasso.NetworkPolicy;
|
||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
import com.squareup.picasso.RequestCreator;
|
||||||
|
|
||||||
import org.nuclearfog.twidda.R;
|
import org.nuclearfog.twidda.R;
|
||||||
import org.nuclearfog.twidda.config.GlobalSettings;
|
import org.nuclearfog.twidda.config.GlobalSettings;
|
||||||
import org.nuclearfog.twidda.model.Media;
|
import org.nuclearfog.twidda.model.Media;
|
||||||
|
|
||||||
|
import jp.wasabeef.picasso.transformations.BlurTransformation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* holder class for {@link org.nuclearfog.twidda.ui.adapter.PreviewAdapter}
|
* holder class for {@link org.nuclearfog.twidda.ui.adapter.PreviewAdapter}
|
||||||
*
|
*
|
||||||
|
@ -65,14 +68,18 @@ public class PreviewHolder extends ViewHolder implements OnClickListener {
|
||||||
*
|
*
|
||||||
* @param media media content
|
* @param media media content
|
||||||
*/
|
*/
|
||||||
public void setContent(Media media) {
|
public void setContent(Media media, boolean blurImage) {
|
||||||
if (settings.imagesEnabled()) {
|
if (settings.imagesEnabled() && !media.getPreviewUrl().isEmpty()) {
|
||||||
if (!media.getPreviewUrl().isEmpty()) {
|
RequestCreator picassoBuilder = picasso.load(media.getPreviewUrl()).error(R.drawable.no_image);
|
||||||
picasso.load(media.getPreviewUrl()).networkPolicy(NetworkPolicy.NO_STORE).memoryPolicy(MemoryPolicy.NO_STORE).error(R.drawable.no_image).into(previewImage);
|
picassoBuilder.networkPolicy(NetworkPolicy.NO_STORE).memoryPolicy(MemoryPolicy.NO_STORE);
|
||||||
} else {
|
if (blurImage) {
|
||||||
previewImage.setImageDrawable(new ColorDrawable(EMPTY_COLOR));
|
BlurTransformation blurTransformation = new BlurTransformation(previewImage.getContext(), 30);
|
||||||
|
picassoBuilder.transform(blurTransformation);
|
||||||
}
|
}
|
||||||
}// todo add placeholder if image load is disabled
|
picassoBuilder.into(previewImage);
|
||||||
|
} else {
|
||||||
|
previewImage.setImageDrawable(new ColorDrawable(EMPTY_COLOR));
|
||||||
|
}
|
||||||
if (media.getMediaType() == Media.VIDEO || media.getMediaType() == Media.GIF) {
|
if (media.getMediaType() == Media.VIDEO || media.getMediaType() == Media.GIF) {
|
||||||
playIcon.setVisibility(View.VISIBLE);
|
playIcon.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue