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 f0aa9c4c3..b1ea8329f 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
@@ -1205,13 +1205,15 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_cardview_video.setVisibility(View.GONE);
holder.webview_preview.setVisibility(View.VISIBLE);
}
- if( type == RetrieveFeedsAsyncTask.Type.CONTEXT || display_card){
+ boolean display_video_preview = sharedpreferences.getBoolean(Helper.SET_DISPLAY_VIDEO_PREVIEWS, true);
+ if( type == RetrieveFeedsAsyncTask.Type.CONTEXT || display_card || display_video_preview){
if( type == RetrieveFeedsAsyncTask.Type.CONTEXT)
holder.status_cardview_content.setVisibility(View.VISIBLE);
else
holder.status_cardview_content.setVisibility(View.GONE);
- if( position == conversationPosition || display_card){
+
+ if( position == conversationPosition || display_card || display_video_preview){
Card card = status.getReblog()!= null?status.getReblog().getCard():status.getCard();
if( card != null){
@@ -1228,7 +1230,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
.into(holder.status_cardview_image);
}else
holder.status_cardview_image.setVisibility(View.GONE);
- if( !card.getType().equals("video")) {
+ if( !card.getType().equals("video") && display_card) {
holder.status_cardview.setVisibility(View.VISIBLE);
holder.status_cardview_video.setVisibility(View.GONE);
holder.status_cardview.setOnClickListener(new View.OnClickListener() {
@@ -1237,7 +1239,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
Helper.openBrowser(context, card.getUrl());
}
});
- }else {
+ }else if(card.getType().equals("video") && display_video_preview){
Glide.with(holder.status_cardview_image.getContext())
.load(card.getImage())
.apply(new RequestOptions().transforms(new CenterCrop(), new RoundedCorners(10)))
@@ -1247,9 +1249,9 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_cardview_webview.getSettings().setJavaScriptEnabled(true);
String html = card.getHtml();
String src = card.getUrl();
- if( html != null){
+ if (html != null) {
Matcher matcher = Pattern.compile("src=\"([^\"]+)\"").matcher(html);
- if( matcher.find())
+ if (matcher.find())
src = matcher.group(1);
}
final String finalSrc = src;
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
index d93082b9a..11b5a3510 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
@@ -128,6 +128,19 @@ public class SettingsFragment extends Fragment {
}
});
+ boolean display_video_preview = sharedpreferences.getBoolean(Helper.SET_DISPLAY_VIDEO_PREVIEWS, true);
+ final CheckBox set_display_video_preview = rootView.findViewById(R.id.set_display_video_preview);
+ set_display_video_preview.setChecked(display_video_preview);
+
+ set_display_video_preview.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putBoolean(Helper.SET_DISPLAY_VIDEO_PREVIEWS, set_display_video_preview.isChecked());
+ editor.apply();
+ }
+ });
+
boolean notif_validation = sharedpreferences.getBoolean(Helper.SET_NOTIF_VALIDATION, true);
final CheckBox set_share_validation = rootView.findViewById(R.id.set_share_validation);
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
index b11c5a086..054bf0880 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
@@ -277,6 +277,7 @@ public class Helper {
public static final String SET_KEEP_BACKGROUND_PROCESS = "set_keep_background_process";
public static final String SET_DISPLAY_EMOJI = "set_display_emoji";
public static final String SET_DISPLAY_CARD = "set_display_card";
+ public static final String SET_DISPLAY_VIDEO_PREVIEWS= "set_display_video_previews";
public static final String SET_OLD_DIRECT_TIMELINE = "sset_old_direct_timeline";
public static final int S_512KO = 1;
public static final int S_1MO = 2;
diff --git a/app/src/main/res/layout-sw600dp/fragment_settings.xml b/app/src/main/res/layout-sw600dp/fragment_settings.xml
index a7a71a48d..2e257acdf 100644
--- a/app/src/main/res/layout-sw600dp/fragment_settings.xml
+++ b/app/src/main/res/layout-sw600dp/fragment_settings.xml
@@ -174,6 +174,12 @@
android:text="@string/set_display_card"
android:layout_height="wrap_content" />
+
+
+
+
Display previews in all toots
New UX/UI designer
Use the direct timeline prior to Mastodon 2.6
+ Display video previews
- Never