Allow to display video previews separately of image previews
This commit is contained in:
parent
fb93823d16
commit
55d789085d
|
@ -1205,13 +1205,15 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
holder.status_cardview_video.setVisibility(View.GONE);
|
holder.status_cardview_video.setVisibility(View.GONE);
|
||||||
holder.webview_preview.setVisibility(View.VISIBLE);
|
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)
|
if( type == RetrieveFeedsAsyncTask.Type.CONTEXT)
|
||||||
holder.status_cardview_content.setVisibility(View.VISIBLE);
|
holder.status_cardview_content.setVisibility(View.VISIBLE);
|
||||||
else
|
else
|
||||||
holder.status_cardview_content.setVisibility(View.GONE);
|
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();
|
Card card = status.getReblog()!= null?status.getReblog().getCard():status.getCard();
|
||||||
if( card != null){
|
if( card != null){
|
||||||
|
@ -1228,7 +1230,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
.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( !card.getType().equals("video")) {
|
if( !card.getType().equals("video") && display_card) {
|
||||||
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() {
|
||||||
|
@ -1237,7 +1239,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
Helper.openBrowser(context, card.getUrl());
|
Helper.openBrowser(context, card.getUrl());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else {
|
}else if(card.getType().equals("video") && display_video_preview){
|
||||||
Glide.with(holder.status_cardview_image.getContext())
|
Glide.with(holder.status_cardview_image.getContext())
|
||||||
.load(card.getImage())
|
.load(card.getImage())
|
||||||
.apply(new RequestOptions().transforms(new CenterCrop(), new RoundedCorners(10)))
|
.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);
|
holder.status_cardview_webview.getSettings().setJavaScriptEnabled(true);
|
||||||
String html = card.getHtml();
|
String html = card.getHtml();
|
||||||
String src = card.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())
|
||||||
src = matcher.group(1);
|
src = matcher.group(1);
|
||||||
}
|
}
|
||||||
final String finalSrc = src;
|
final String finalSrc = src;
|
||||||
|
|
|
@ -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);
|
boolean notif_validation = sharedpreferences.getBoolean(Helper.SET_NOTIF_VALIDATION, true);
|
||||||
final CheckBox set_share_validation = rootView.findViewById(R.id.set_share_validation);
|
final CheckBox set_share_validation = rootView.findViewById(R.id.set_share_validation);
|
||||||
|
|
|
@ -277,6 +277,7 @@ public class Helper {
|
||||||
public static final String SET_KEEP_BACKGROUND_PROCESS = "set_keep_background_process";
|
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_EMOJI = "set_display_emoji";
|
||||||
public static final String SET_DISPLAY_CARD = "set_display_card";
|
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 String SET_OLD_DIRECT_TIMELINE = "sset_old_direct_timeline";
|
||||||
public static final int S_512KO = 1;
|
public static final int S_512KO = 1;
|
||||||
public static final int S_1MO = 2;
|
public static final int S_1MO = 2;
|
||||||
|
|
|
@ -174,6 +174,12 @@
|
||||||
android:text="@string/set_display_card"
|
android:text="@string/set_display_card"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
|
<CheckBox
|
||||||
|
android:id="@+id/set_display_video_preview"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:text="@string/set_display_video_preview"
|
||||||
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/set_old_direct_timeline"
|
android:id="@+id/set_old_direct_timeline"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
|
@ -174,6 +174,12 @@
|
||||||
android:text="@string/set_display_card"
|
android:text="@string/set_display_card"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
|
<CheckBox
|
||||||
|
android:id="@+id/set_display_video_preview"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:text="@string/set_display_video_preview"
|
||||||
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/set_old_direct_timeline"
|
android:id="@+id/set_old_direct_timeline"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
|
@ -658,6 +658,7 @@
|
||||||
<string name="set_display_card">Display previews in all toots</string>
|
<string name="set_display_card">Display previews in all toots</string>
|
||||||
<string name="thanks_text_ux">New UX/UI designer</string>
|
<string name="thanks_text_ux">New UX/UI designer</string>
|
||||||
<string name="set_old_direct_timeline">Use the direct timeline prior to Mastodon 2.6</string>
|
<string name="set_old_direct_timeline">Use the direct timeline prior to Mastodon 2.6</string>
|
||||||
|
<string name="set_display_video_preview">Display video previews</string>
|
||||||
|
|
||||||
<string-array name="filter_expire">
|
<string-array name="filter_expire">
|
||||||
<item>Never</item>
|
<item>Never</item>
|
||||||
|
|
Loading…
Reference in New Issue