Display cards in toots

This commit is contained in:
stom79 2018-11-07 08:26:20 +01:00
parent 4d9295b42b
commit 729f2b1ec8
2 changed files with 16 additions and 15 deletions

View File

@ -1118,39 +1118,40 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_pin.setVisibility(View.GONE); 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){ holder.status_cardview_content.setText(card.getDescription());
if( status.getCard() != null){ holder.status_cardview_title.setText(card.getTitle());
holder.status_cardview_url.setText(card.getUrl());
holder.status_cardview_content.setText(status.getCard().getDescription()); if( card.getImage() != null && card.getImage().length() > 10) {
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_image.setVisibility(View.VISIBLE); holder.status_cardview_image.setVisibility(View.VISIBLE);
if( !((ShowConversationActivity)context).isFinishing()) if( !((Activity)context).isFinishing())
Glide.with(holder.status_cardview_image.getContext()) Glide.with(holder.status_cardview_image.getContext())
.load(status.getCard().getImage()) .load(card.getImage())
.into(holder.status_cardview_image); .into(holder.status_cardview_image);
}else }else
holder.status_cardview_image.setVisibility(View.GONE); 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.setVisibility(View.VISIBLE);
holder.status_cardview_video.setVisibility(View.GONE); holder.status_cardview_video.setVisibility(View.GONE);
holder.status_cardview.setOnClickListener(new View.OnClickListener() { holder.status_cardview.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
Helper.openBrowser(context, status.getCard().getUrl()); Helper.openBrowser(context, card.getUrl());
} }
}); });
}else { }else {
holder.status_cardview.setVisibility(View.GONE); holder.status_cardview.setVisibility(View.GONE);
holder.status_cardview_video.setVisibility(View.VISIBLE); holder.status_cardview_video.setVisibility(View.VISIBLE);
holder.status_cardview_webview.getSettings().setJavaScriptEnabled(true); holder.status_cardview_webview.getSettings().setJavaScriptEnabled(true);
String html = status.getCard().getHtml(); String html = card.getHtml();
String src = status.getCard().getUrl(); String src = card.getUrl();
if( html != null){ if( html != null){
Matcher matcher = Pattern.compile("src=\"([^\"]+)\"").matcher(html); Matcher matcher = Pattern.compile("src=\"([^\"]+)\"").matcher(html);
if( matcher.find()) if( matcher.find())

View File

@ -655,7 +655,7 @@
<string name="channels">Channels</string> <string name="channels">Channels</string>
<string name="set_display_emoji">Use Emoji One</string> <string name="set_display_emoji">Use Emoji One</string>
<string name="information">information</string> <string name="information">information</string>
<string name="set_display_card">Display cards in all toots</string> <string name="set_display_card">Display previews in all toots</string>
<string-array name="filter_expire"> <string-array name="filter_expire">
<item>Never</item> <item>Never</item>