From 729f2b1ec8431d405efd792f80ba8814bce88d61 Mon Sep 17 00:00:00 2001 From: stom79 Date: Wed, 7 Nov 2018 08:26:20 +0100 Subject: [PATCH] Display cards in toots --- .../mastodon/drawers/StatusListAdapter.java | 29 ++++++++++--------- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index 5072c5922..606f7194a 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -1118,39 +1118,40 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct holder.status_pin.setVisibility(View.GONE); } + boolean display_card = sharedpreferences.getBoolean(Helper.SET_DISPLAY_CARD, true); + if( type == RetrieveFeedsAsyncTask.Type.CONTEXT || display_card){ - if( type == RetrieveFeedsAsyncTask.Type.CONTEXT ){ + if( position == conversationPosition || display_card){ + Card card = status.getReblog()!= null?status.getReblog().getCard():status.getCard(); + if( card != null){ - if( position == conversationPosition){ - if( status.getCard() != null){ - - holder.status_cardview_content.setText(status.getCard().getDescription()); - holder.status_cardview_title.setText(status.getCard().getTitle()); - holder.status_cardview_url.setText(status.getCard().getUrl()); - if( status.getCard().getImage() != null && status.getCard().getImage().length() > 10) { + holder.status_cardview_content.setText(card.getDescription()); + holder.status_cardview_title.setText(card.getTitle()); + holder.status_cardview_url.setText(card.getUrl()); + if( card.getImage() != null && card.getImage().length() > 10) { holder.status_cardview_image.setVisibility(View.VISIBLE); - if( !((ShowConversationActivity)context).isFinishing()) + if( !((Activity)context).isFinishing()) Glide.with(holder.status_cardview_image.getContext()) - .load(status.getCard().getImage()) + .load(card.getImage()) .into(holder.status_cardview_image); }else holder.status_cardview_image.setVisibility(View.GONE); - if( !status.getCard().getType().equals("video")) { + if( !card.getType().equals("video")) { holder.status_cardview.setVisibility(View.VISIBLE); holder.status_cardview_video.setVisibility(View.GONE); holder.status_cardview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Helper.openBrowser(context, status.getCard().getUrl()); + Helper.openBrowser(context, card.getUrl()); } }); }else { holder.status_cardview.setVisibility(View.GONE); holder.status_cardview_video.setVisibility(View.VISIBLE); holder.status_cardview_webview.getSettings().setJavaScriptEnabled(true); - String html = status.getCard().getHtml(); - String src = status.getCard().getUrl(); + String html = card.getHtml(); + String src = card.getUrl(); if( html != null){ Matcher matcher = Pattern.compile("src=\"([^\"]+)\"").matcher(html); if( matcher.find()) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f34e46ff6..ea2f177d7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -655,7 +655,7 @@ Channels Use Emoji One information - Display cards in all toots + Display previews in all toots Never