add option to always expand content warnings (#1422)
This commit is contained in:
parent
588775ff9b
commit
8834c22120
13 changed files with 742 additions and 210 deletions
|
@ -162,6 +162,7 @@ public class NotificationsFragment extends SFragment implements
|
|||
private boolean bottomLoading;
|
||||
private String bottomId;
|
||||
private boolean alwaysShowSensitiveMedia;
|
||||
private boolean alwaysOpenSpoiler;
|
||||
private boolean showNotificationsFilter;
|
||||
|
||||
// Each element is either a Notification for loading data or a Placeholder
|
||||
|
@ -173,7 +174,8 @@ public class NotificationsFragment extends SFragment implements
|
|||
Notification notification = input.asRight();
|
||||
return ViewDataUtils.notificationToViewData(
|
||||
notification,
|
||||
alwaysShowSensitiveMedia
|
||||
alwaysShowSensitiveMedia,
|
||||
alwaysOpenSpoiler
|
||||
);
|
||||
} else {
|
||||
return new NotificationViewData.Placeholder(input.asLeft().id, false);
|
||||
|
@ -236,6 +238,7 @@ public class NotificationsFragment extends SFragment implements
|
|||
adapter = new NotificationsAdapter(accountManager.getActiveAccount().getAccountId(),
|
||||
dataSource, this, this);
|
||||
alwaysShowSensitiveMedia = accountManager.getActiveAccount().getAlwaysShowSensitiveMedia();
|
||||
alwaysOpenSpoiler = accountManager.getActiveAccount().getAlwaysOpenSpoiler();
|
||||
boolean mediaPreviewEnabled = accountManager.getActiveAccount().getMediaPreviewEnabled();
|
||||
adapter.setMediaPreviewEnabled(mediaPreviewEnabled);
|
||||
boolean useAbsoluteTime = preferences.getBoolean("absoluteTimeView", false);
|
||||
|
|
|
@ -166,6 +166,7 @@ public class TimelineFragment extends SFragment implements
|
|||
|
||||
private boolean didLoadEverythingBottom;
|
||||
private boolean alwaysShowSensitiveMedia;
|
||||
private boolean alwaysOpenSpoiler;
|
||||
private boolean initialUpdateFailed = false;
|
||||
|
||||
private PairedList<Either<Placeholder, Status>, StatusViewData> statuses =
|
||||
|
@ -176,7 +177,8 @@ public class TimelineFragment extends SFragment implements
|
|||
if (status != null) {
|
||||
return ViewDataUtils.statusToViewData(
|
||||
status,
|
||||
alwaysShowSensitiveMedia
|
||||
alwaysShowSensitiveMedia,
|
||||
alwaysOpenSpoiler
|
||||
);
|
||||
} else {
|
||||
Placeholder placeholder = input.asLeft();
|
||||
|
@ -340,6 +342,7 @@ public class TimelineFragment extends SFragment implements
|
|||
private void setupTimelinePreferences() {
|
||||
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
||||
alwaysShowSensitiveMedia = accountManager.getActiveAccount().getAlwaysShowSensitiveMedia();
|
||||
alwaysOpenSpoiler = accountManager.getActiveAccount().getAlwaysOpenSpoiler();
|
||||
boolean mediaPreviewEnabled = accountManager.getActiveAccount().getMediaPreviewEnabled();
|
||||
adapter.setMediaPreviewEnabled(mediaPreviewEnabled);
|
||||
boolean useAbsoluteTime = preferences.getBoolean("absoluteTimeView", false);
|
||||
|
|
|
@ -92,6 +92,7 @@ public final class ViewThreadFragment extends SFragment implements
|
|||
private ThreadAdapter adapter;
|
||||
private String thisThreadsStatusId;
|
||||
private boolean alwaysShowSensitiveMedia;
|
||||
private boolean alwaysOpenSpoiler;
|
||||
|
||||
private int statusIndex = 0;
|
||||
|
||||
|
@ -101,7 +102,8 @@ public final class ViewThreadFragment extends SFragment implements
|
|||
public StatusViewData.Concrete apply(Status input) {
|
||||
return ViewDataUtils.statusToViewData(
|
||||
input,
|
||||
alwaysShowSensitiveMedia
|
||||
alwaysShowSensitiveMedia,
|
||||
alwaysOpenSpoiler
|
||||
);
|
||||
}
|
||||
});
|
||||
|
@ -149,6 +151,7 @@ public final class ViewThreadFragment extends SFragment implements
|
|||
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(
|
||||
getActivity());
|
||||
alwaysShowSensitiveMedia = accountManager.getActiveAccount().getAlwaysShowSensitiveMedia();
|
||||
alwaysOpenSpoiler = accountManager.getActiveAccount().getAlwaysOpenSpoiler();
|
||||
boolean mediaPreviewEnabled = accountManager.getActiveAccount().getMediaPreviewEnabled();
|
||||
adapter.setMediaPreviewEnabled(mediaPreviewEnabled);
|
||||
boolean useAbsoluteTime = preferences.getBoolean("absoluteTimeView", false);
|
||||
|
|
|
@ -65,6 +65,7 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(),
|
|||
private lateinit var defaultPostPrivacyPreference: ListPreference
|
||||
private lateinit var defaultMediaSensitivityPreference: SwitchPreferenceCompat
|
||||
private lateinit var alwaysShowSensitiveMediaPreference: SwitchPreferenceCompat
|
||||
private lateinit var alwaysOpenSpoilerPreference: SwitchPreferenceCompat
|
||||
private lateinit var mediaPreviewEnabledPreference: SwitchPreferenceCompat
|
||||
private lateinit var homeFiltersPreference: Preference
|
||||
private lateinit var notificationFiltersPreference: Preference
|
||||
|
@ -85,6 +86,7 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(),
|
|||
defaultMediaSensitivityPreference = requirePreference("defaultMediaSensitivity") as SwitchPreferenceCompat
|
||||
mediaPreviewEnabledPreference = requirePreference("mediaPreviewEnabled") as SwitchPreferenceCompat
|
||||
alwaysShowSensitiveMediaPreference = requirePreference("alwaysShowSensitiveMedia") as SwitchPreferenceCompat
|
||||
alwaysOpenSpoilerPreference = requirePreference("alwaysOpenSpoiler") as SwitchPreferenceCompat
|
||||
homeFiltersPreference = requirePreference("homeFilters")
|
||||
notificationFiltersPreference = requirePreference("notificationFilters")
|
||||
publicFiltersPreference = requirePreference("publicFilters")
|
||||
|
@ -109,6 +111,7 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(),
|
|||
defaultMediaSensitivityPreference.onPreferenceChangeListener = this
|
||||
mediaPreviewEnabledPreference.onPreferenceChangeListener = this
|
||||
alwaysShowSensitiveMediaPreference.onPreferenceChangeListener = this
|
||||
alwaysOpenSpoilerPreference.onPreferenceChangeListener = this
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
|
@ -124,6 +127,7 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(),
|
|||
|
||||
mediaPreviewEnabledPreference.isChecked = it.mediaPreviewEnabled
|
||||
alwaysShowSensitiveMediaPreference.isChecked = it.alwaysShowSensitiveMedia
|
||||
alwaysOpenSpoilerPreference.isChecked = it.alwaysOpenSpoiler
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -150,6 +154,12 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(),
|
|||
accountManager.saveAccount(it)
|
||||
}
|
||||
}
|
||||
alwaysOpenSpoilerPreference -> {
|
||||
accountManager.activeAccount?.let {
|
||||
it.alwaysOpenSpoiler = newValue as Boolean
|
||||
accountManager.saveAccount(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
eventHub.dispatch(PreferenceChangedEvent(preference.key))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue