feat(settings): add summary to ambiguous settings

This commit is contained in:
FineFindus
2023-05-18 22:42:55 +02:00
parent 6fb7e97f13
commit 4e188503a2
5 changed files with 25 additions and 15 deletions

View File

@@ -52,7 +52,7 @@ public class AccountFragment extends SettingsBaseFragment{
if (!TextUtils.isEmpty(getInstance().version)) items.add(new SmallTextItem(getString(R.string.sk_settings_server_version, getInstance().version))); if (!TextUtils.isEmpty(getInstance().version)) items.add(new SmallTextItem(getString(R.string.sk_settings_server_version, getInstance().version)));
items.add(new HeaderItem(R.string.sk_instance_features)); items.add(new HeaderItem(R.string.sk_instance_features));
items.add(new SwitchItem(R.string.sk_settings_support_local_only, 0, GlobalUserPreferences.accountsWithLocalOnlySupport.contains(accountID), i->{ items.add(new SwitchItem(R.string.sk_settings_support_local_only, R.string.sk_settings_local_only_explanation, 0, GlobalUserPreferences.accountsWithLocalOnlySupport.contains(accountID), i->{
glitchModeItem.enabled = i.checked; glitchModeItem.enabled = i.checked;
if (i.checked) { if (i.checked) {
GlobalUserPreferences.accountsWithLocalOnlySupport.add(accountID); GlobalUserPreferences.accountsWithLocalOnlySupport.add(accountID);
@@ -65,8 +65,7 @@ public class AccountFragment extends SettingsBaseFragment{
if (list.findViewHolderForAdapterPosition(items.indexOf(glitchModeItem)) instanceof SwitchViewHolder svh) svh.rebind(); if (list.findViewHolderForAdapterPosition(items.indexOf(glitchModeItem)) instanceof SwitchViewHolder svh) svh.rebind();
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
items.add(new SmallTextItem(getString(R.string.sk_settings_local_only_explanation))); items.add(glitchModeItem = new SwitchItem(R.string.sk_settings_glitch_instance, R.string.sk_settings_glitch_mode_explanation, 0, GlobalUserPreferences.accountsInGlitchMode.contains(accountID), i->{
items.add(glitchModeItem = new SwitchItem(R.string.sk_settings_glitch_instance, 0, GlobalUserPreferences.accountsInGlitchMode.contains(accountID), i->{
if (i.checked) { if (i.checked) {
GlobalUserPreferences.accountsInGlitchMode.add(accountID); GlobalUserPreferences.accountsInGlitchMode.add(accountID);
} else { } else {
@@ -75,7 +74,6 @@ public class AccountFragment extends SettingsBaseFragment{
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
glitchModeItem.enabled = GlobalUserPreferences.accountsWithLocalOnlySupport.contains(accountID); glitchModeItem.enabled = GlobalUserPreferences.accountsWithLocalOnlySupport.contains(accountID);
items.add(new SmallTextItem(getString(R.string.sk_settings_glitch_mode_explanation)));
boolean translationAvailable = getInstance().v2 != null && getInstance().v2.configuration.translation != null && getInstance().v2.configuration.translation.enabled; boolean translationAvailable = getInstance().v2 != null && getInstance().v2.configuration.translation != null && getInstance().v2.configuration.translation.enabled;

View File

@@ -10,7 +10,7 @@ import org.joinmastodon.android.R;
import java.util.ArrayList; import java.util.ArrayList;
public class SettingsAppearanceFragment extends SettingsBaseFragment { public class AppearanceFragment extends SettingsBaseFragment {
@Override @Override
public void addItems(ArrayList<Item> items) { public void addItems(ArrayList<Item> items) {
@@ -35,17 +35,17 @@ public class SettingsAppearanceFragment extends SettingsBaseFragment {
case NORD -> R.string.mo_color_palette_nord; case NORD -> R.string.mo_color_palette_nord;
}); });
})); }));
items.add(new SwitchItem(R.string.theme_true_black, R.drawable.ic_fluent_dark_theme_24_regular, GlobalUserPreferences.trueBlackTheme, this::onTrueBlackThemeChanged)); items.add(new SwitchItem(R.string.theme_true_black, R.string.mo_setting_true_black_summary, R.drawable.ic_fluent_dark_theme_24_regular, GlobalUserPreferences.trueBlackTheme, this::onTrueBlackThemeChanged));
items.add(new SwitchItem(R.string.sk_disable_marquee, R.drawable.ic_fluent_text_more_24_regular, GlobalUserPreferences.disableMarquee, i -> { items.add(new SwitchItem(R.string.sk_disable_marquee, R.drawable.ic_fluent_text_more_24_regular, GlobalUserPreferences.disableMarquee, i -> {
GlobalUserPreferences.disableMarquee = i.checked; GlobalUserPreferences.disableMarquee = i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
needAppRestart = true; needAppRestart = true;
})); }));
items.add(new SwitchItem(R.string.sk_settings_uniform_icon_for_notifications, R.drawable.ic_ntf_logo, GlobalUserPreferences.uniformNotificationIcon, i -> { items.add(new SwitchItem(R.string.sk_settings_uniform_icon_for_notifications, R.string.mo_setting_uniform_summary, R.drawable.ic_ntf_logo, GlobalUserPreferences.uniformNotificationIcon, i -> {
GlobalUserPreferences.uniformNotificationIcon = i.checked; GlobalUserPreferences.uniformNotificationIcon = i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
items.add(new SwitchItem(R.string.sk_settings_reduce_motion, R.drawable.ic_fluent_star_emphasis_24_regular, GlobalUserPreferences.reduceMotion, i -> { items.add(new SwitchItem(R.string.sk_settings_reduce_motion, R.string.mo_setting_reduced_motion_summary, R.drawable.ic_fluent_star_emphasis_24_regular, GlobalUserPreferences.reduceMotion, i -> {
GlobalUserPreferences.reduceMotion = i.checked; GlobalUserPreferences.reduceMotion = i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
needAppRestart = true; needAppRestart = true;

View File

@@ -18,7 +18,7 @@ public class BehaviourFragment extends SettingsBaseFragment{
@Override @Override
public void addItems(ArrayList<Item> items) { public void addItems(ArrayList<Item> items) {
items.add(new HeaderItem(R.string.settings_behavior)); items.add(new HeaderItem(R.string.settings_behavior));
items.add(new SwitchItem(R.string.settings_gif, R.drawable.ic_fluent_gif_24_regular, GlobalUserPreferences.playGifs, i->{ items.add(new SwitchItem(R.string.settings_gif, R.string.mo_setting_play_gif_summary, R.drawable.ic_fluent_gif_24_regular, GlobalUserPreferences.playGifs, i->{
GlobalUserPreferences.playGifs=i.checked; GlobalUserPreferences.playGifs=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
@@ -31,11 +31,11 @@ public class BehaviourFragment extends SettingsBaseFragment{
GlobalUserPreferences.save(); GlobalUserPreferences.save();
needAppRestart=true; needAppRestart=true;
})); }));
items.add(new SwitchItem(R.string.mo_load_remote_followers, R.drawable.ic_fluent_people_24_regular, GlobalUserPreferences.loadRemoteAccountFollowers, i -> { items.add(new SwitchItem(R.string.mo_load_remote_followers, R.string.mo_setting_remote_follower_summary, R.drawable.ic_fluent_people_24_regular, GlobalUserPreferences.loadRemoteAccountFollowers, i -> {
GlobalUserPreferences.loadRemoteAccountFollowers=i.checked; GlobalUserPreferences.loadRemoteAccountFollowers=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
items.add(new SwitchItem(R.string.sk_settings_show_interaction_counts, R.drawable.ic_fluent_number_row_24_regular, GlobalUserPreferences.showInteractionCounts, i->{ items.add(new SwitchItem(R.string.sk_settings_show_interaction_counts, R.string.mo_setting_interaction_count_summary, R.drawable.ic_fluent_number_row_24_regular, GlobalUserPreferences.showInteractionCounts, i->{
GlobalUserPreferences.showInteractionCounts=i.checked; GlobalUserPreferences.showInteractionCounts=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
@@ -45,7 +45,7 @@ public class BehaviourFragment extends SettingsBaseFragment{
})); }));
// items.add(new SwitchItem(R.string.sk_settings_show_differentiated_notification_icons, R.drawable.ic_ntf_logo, GlobalUserPreferences.showUniformPushNoticationIcons, this::onNotificationStyleChanged)); // items.add(new SwitchItem(R.string.sk_settings_show_differentiated_notification_icons, R.drawable.ic_ntf_logo, GlobalUserPreferences.showUniformPushNoticationIcons, this::onNotificationStyleChanged));
items.add(new SwitchItem(R.string.sk_tabs_disable_swipe, R.drawable.ic_fluent_swipe_right_24_regular, GlobalUserPreferences.disableSwipe, i->{ items.add(new SwitchItem(R.string.sk_tabs_disable_swipe, R.string.mo_setting_disable_swipe_summary, R.drawable.ic_fluent_swipe_right_24_regular, GlobalUserPreferences.disableSwipe, i->{
GlobalUserPreferences.disableSwipe=i.checked; GlobalUserPreferences.disableSwipe=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
needAppRestart=true; needAppRestart=true;
@@ -98,11 +98,11 @@ public class BehaviourFragment extends SettingsBaseFragment{
} }
}); });
})); }));
items.add(new SwitchItem(R.string.mo_relocate_publish_button, R.drawable.ic_fluent_arrow_autofit_down_24_regular, GlobalUserPreferences.relocatePublishButton, i->{ items.add(new SwitchItem(R.string.mo_relocate_publish_button, R.string.mo_setting_relocate_publish_summary, R.drawable.ic_fluent_arrow_autofit_down_24_regular, GlobalUserPreferences.relocatePublishButton, i->{
GlobalUserPreferences.relocatePublishButton=i.checked; GlobalUserPreferences.relocatePublishButton=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));
items.add(new SwitchItem(R.string.mo_change_default_reply_visibility_to_unlisted, R.drawable.ic_fluent_lock_open_24_regular, GlobalUserPreferences.defaultToUnlistedReplies, i->{ items.add(new SwitchItem(R.string.mo_change_default_reply_visibility_to_unlisted, R.string.mo_setting_default_reply_privacy_summary, R.drawable.ic_fluent_lock_open_24_regular, GlobalUserPreferences.defaultToUnlistedReplies, i->{
GlobalUserPreferences.defaultToUnlistedReplies=i.checked; GlobalUserPreferences.defaultToUnlistedReplies=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
})); }));

View File

@@ -23,7 +23,7 @@ public class NotificationsFragment extends SettingsBaseFragment {
items.add(new SwitchItem(R.string.sk_notify_poll_results, R.drawable.ic_fluent_poll_24_regular, pushSubscription.alerts.poll, i -> onNotificationsChanged(PushNotification.Type.POLL, i.checked), switchEnabled)); items.add(new SwitchItem(R.string.sk_notify_poll_results, R.drawable.ic_fluent_poll_24_regular, pushSubscription.alerts.poll, i -> onNotificationsChanged(PushNotification.Type.POLL, i.checked), switchEnabled));
items.add(new HeaderItem(R.string.mo_miscellaneous_settings)); items.add(new HeaderItem(R.string.mo_miscellaneous_settings));
items.add(new SwitchItem(R.string.sk_enable_delete_notifications, R.drawable.ic_fluent_mail_inbox_dismiss_24_regular, GlobalUserPreferences.enableDeleteNotifications, i->{ items.add(new SwitchItem(R.string.sk_enable_delete_notifications, R.drawable.ic_fluent_mail_inbox_dismiss_24_regular, GlobalUserPreferences.enableDeleteNotifications, i->{
GlobalUserPreferences.enableDeleteNotifications=i.checked; GlobalUserPreferences.enableDeleteNotifications=i.checked;
GlobalUserPreferences.save(); GlobalUserPreferences.save();
needAppRestart=true; needAppRestart=true;

View File

@@ -69,4 +69,16 @@
<string name="mo_instance_info_moderated_servers">Moderated servers</string> <string name="mo_instance_info_moderated_servers">Moderated servers</string>
<string name="mo_severity_silence">Silenced</string> <string name="mo_severity_silence">Silenced</string>
<string name="mo_severity_suspend">Blocked</string> <string name="mo_severity_suspend">Blocked</string>
<!-- Settings summaries-->
<string name="mo_setting_true_black_summary">Might save your power on AMOLED displays</string>
<string name="mo_setting_marquee_summary">Disables the ellipsized title scrolling</string>
<string name="mo_setting_uniform_summary">Use the app icon for all notifications</string>
<string name="mo_setting_reduced_motion_summary">Disable animations of interactions</string>
<string name="mo_setting_play_gif_summary">Automatically play GIFs in avatars and emoji</string>
<string name="mo_setting_remote_follower_summary">Show followers from other instances</string>
<string name="mo_setting_relocate_publish_summary">Move the publish button to the bottom bar</string>
<string name="mo_setting_default_reply_privacy_summary">Replies will be opted out of discovery features by default</string>
<string name="mo_setting_interaction_count_summary">Show how many people interacted with a post in the timeline</string>
<string name="mo_setting_disable_swipe_summary">Swipe to change viewed timeline</string>
</resources> </resources>