Commit 68d9abea authored by Thomas's avatar Thomas
Browse files

settings to automatically fetch remote media when it fails (default: disabled)

parent 8c743438
Loading
Loading
Loading
Loading
+26 −8
Original line number Diff line number Diff line
@@ -186,6 +186,14 @@ public class FragmentMedia extends Fragment {
                                @Override
                                public void onLoadFailed(@Nullable Drawable errorDrawable) {
                                    scheduleStartPostponedTransition(binding.mediaPicture);
                                    SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity());
                                    boolean autofetch = sharedpreferences.getBoolean(getString(R.string.SET_FETCH_REMOTE_MEDIA), false);
                                    if (autofetch) {
                                        binding.loadRemote.setVisibility(View.GONE);
                                        binding.loader.setVisibility(View.GONE);
                                        Glide.with(requireActivity())
                                                .load(attachment.remote_url).into(binding.mediaPicture);
                                    } else {
                                        Toasty.error(requireActivity(), getString(R.string.toast_error_media), Toasty.LENGTH_SHORT).show();
                                        binding.loadRemote.setVisibility(View.VISIBLE);
                                        binding.loadRemote.setOnClickListener(v -> {
@@ -196,6 +204,8 @@ public class FragmentMedia extends Fragment {
                                        });
                                    }

                                }

                                @Override
                                public void onLoadCleared(@Nullable Drawable placeholder) {

@@ -259,6 +269,13 @@ public class FragmentMedia extends Fragment {
            @Override
            public void onPlayerError(@NonNull PlaybackException error) {
                Player.Listener.super.onPlayerError(error);
                SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity());
                boolean autofetch = sharedpreferences.getBoolean(getString(R.string.SET_FETCH_REMOTE_MEDIA), false);
                if (autofetch) {
                    binding.loadRemote.setVisibility(View.GONE);
                    binding.loader.setVisibility(View.GONE);
                    loadVideo(attachment.remote_url, type);
                } else {
                    Toasty.error(requireActivity(), getString(R.string.toast_error_media), Toasty.LENGTH_SHORT).show();
                    binding.loadRemote.setVisibility(View.VISIBLE);
                    binding.loadRemote.setOnClickListener(v -> {
@@ -267,6 +284,7 @@ public class FragmentMedia extends Fragment {
                        loadVideo(attachment.remote_url, type);
                    });
                }
            }

        });
    }
+1 −0
Original line number Diff line number Diff line
@@ -2,4 +2,5 @@
<resources>


    <string name="fetch_remote_media">Automatically fetch remote media when they are not available</string>
</resources>
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -1127,6 +1127,8 @@
    <string name="SET_DISPLAY_ALL_NOTIFICATIONS_TYPE" translatable="false">SET_DISPLAY_ALL_NOTIFICATIONS_TYPE</string>
    <string name="SET_EXCLUDED_NOTIFICATIONS_TYPE" translatable="false">SET_EXCLUDED_NOTIFICATIONS_TYPE</string>
    <string name="SET_EXPAND_MEDIA" translatable="false">SET_EXPAND_MEDIA</string>
    <string name="SET_FETCH_REMOTE_MEDIA" translatable="false">SET_FETCH_REMOTE_MEDIA</string>

    <string name="SET_GROUP_REBLOGS" translatable="false">SET_GROUP_REBLOGS</string>
    <string name="SET_BOOST_ORIGINAL_DATE" translatable="false">SET_BOOST_ORIGINAL_DATE</string>
    <string name="SET_TRUNCATE_LINKS" translatable="false">SET_TRUNCATE_LINKS</string>
+6 −0
Original line number Diff line number Diff line
@@ -25,6 +25,12 @@
        app:key="@string/SET_EXPAND_MEDIA"
        app:singleLineTitle="false"
        app:title="@string/expand_image" />
    <SwitchPreferenceCompat
        android:defaultValue="false"
        app:iconSpaceReserved="false"
        app:key="@string/SET_FETCH_REMOTE_MEDIA"
        app:singleLineTitle="false"
        app:title="@string/fetch_remote_media" />
    <SwitchPreferenceCompat
        android:defaultValue="true"
        app:iconSpaceReserved="false"
+9 −0
Original line number Diff line number Diff line
Added:
- Add a button to fetch remote media when it fails
- Add a settings to automatically fetch remote media when it fails (default: disabled)

Changed:


Fixed:
- Some settings not properly restored (multiple choices)
 No newline at end of file