diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsBaseFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsBaseFragment.java index efb29350a..9505fb5f5 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsBaseFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsBaseFragment.java @@ -179,21 +179,30 @@ public abstract class SettingsBaseFragment extends MastodonToolbarFragment imple protected class SwitchItem extends Item{ - private String text; + private String title; + private String summary; private int icon; boolean checked; private Consumer onChanged; protected boolean enabled=true; - public SwitchItem(@StringRes int text, @DrawableRes int icon, boolean checked, Consumer onChanged){ - this.text=getString(text); + public SwitchItem(@StringRes int title, @DrawableRes int icon, boolean checked, Consumer onChanged){ + this.title=getString(title); this.icon=icon; this.checked=checked; this.onChanged=onChanged; } - public SwitchItem(@StringRes int text, @DrawableRes int icon, boolean checked, Consumer onChanged, boolean enabled){ - this.text=getString(text); + public SwitchItem(@StringRes int title, @StringRes int summary, @DrawableRes int icon, boolean checked, Consumer onChanged){ + this.title=getString(title); + this.summary=getString(summary); + this.icon=icon; + this.checked=checked; + this.onChanged=onChanged; + } + + public SwitchItem(@StringRes int title, @DrawableRes int icon, boolean checked, Consumer onChanged, boolean enabled){ + this.title=getString(title); this.icon=icon; this.checked=checked; this.onChanged=onChanged; @@ -573,20 +582,28 @@ public abstract class SettingsBaseFragment extends MastodonToolbarFragment imple } protected class SwitchViewHolder extends BindableViewHolder implements UsableRecyclerView.DisableableClickable{ - private final TextView text; + private final TextView title; + private final TextView summary; private final ImageView icon; private final Switch checkbox; public SwitchViewHolder(){ super(getActivity(), R.layout.item_settings_switch, list); - text=findViewById(R.id.text); + title=findViewById(R.id.title); + summary=findViewById(R.id.summary); icon=findViewById(R.id.icon); checkbox=findViewById(R.id.checkbox); } @Override public void onBind(SwitchItem item){ - text.setText(item.text); + title.setText(item.title); + + if (item.summary != null) { + summary.setText(item.summary); + summary.setVisibility(View.VISIBLE); + } + if (item.icon == 0) { icon.setVisibility(View.GONE); } else { diff --git a/mastodon/src/main/res/layout/item_settings_switch.xml b/mastodon/src/main/res/layout/item_settings_switch.xml index 20538dad7..897639ace 100644 --- a/mastodon/src/main/res/layout/item_settings_switch.xml +++ b/mastodon/src/main/res/layout/item_settings_switch.xml @@ -17,16 +17,33 @@ android:tint="?android:textColorPrimary" tools:src="@drawable/ic_fluent_star_24_regular"/> - + android:layout_marginStart="15dip" + android:layout_marginEnd="6dip" + android:layout_marginTop="6dip" + android:layout_marginBottom="6dip" + android:layout_weight="1"> + + + + + +