refactor(settings): add red header item
This commit is contained in:
parent
5a5181fde8
commit
cdeeb24eac
|
@ -40,10 +40,6 @@ public class AboutFragment extends SettingsBaseFragment{
|
||||||
public void addItems(ArrayList<Item> items) {
|
public void addItems(ArrayList<Item> items) {
|
||||||
items.add(new HeaderItem(R.string.sk_settings_about));
|
items.add(new HeaderItem(R.string.sk_settings_about));
|
||||||
|
|
||||||
// if(BuildConfig.BUILD_TYPE.equals("nightly")){
|
|
||||||
// items.add(new TextItem(R.string.mo_download_latest_nightly_release, ()->UiUtils.launchWebBrowser(getActivity(), "https://nightly.link/LucasGGamerM/moshidon/workflows/nightly-builds/master/moshidon-nightly.apk.zip"), R.drawable.ic_fluent_open_24_regular));
|
|
||||||
// }
|
|
||||||
|
|
||||||
items.add(new TextItem(R.string.mo_settings_contribute, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/LucasGGamerM/moshidon"), R.drawable.ic_fluent_open_24_regular));
|
items.add(new TextItem(R.string.mo_settings_contribute, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/LucasGGamerM/moshidon"), R.drawable.ic_fluent_open_24_regular));
|
||||||
items.add(new TextItem(R.string.sk_settings_donate, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/sponsors/LucasGGamerM"), R.drawable.ic_fluent_heart_24_regular));
|
items.add(new TextItem(R.string.sk_settings_donate, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/sponsors/LucasGGamerM"), R.drawable.ic_fluent_heart_24_regular));
|
||||||
|
|
||||||
|
@ -70,7 +66,7 @@ public class AboutFragment extends SettingsBaseFragment{
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if(BuildConfig.DEBUG){
|
if(BuildConfig.DEBUG){
|
||||||
items.add(new HeaderItem("Debug options"));
|
items.add(new RedHeaderItem("Debug options"));
|
||||||
|
|
||||||
items.add(new TextItem("Test E-Mail confirmation flow", ()->{
|
items.add(new TextItem("Test E-Mail confirmation flow", ()->{
|
||||||
AccountSession sess=AccountSessionManager.getInstance().getAccount(accountID);
|
AccountSession sess=AccountSessionManager.getInstance().getAccount(accountID);
|
||||||
|
|
|
@ -161,6 +161,23 @@ public abstract class SettingsBaseFragment extends MastodonToolbarFragment imple
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected class RedHeaderItem extends HeaderItem {
|
||||||
|
|
||||||
|
public RedHeaderItem(int text){
|
||||||
|
super(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
public RedHeaderItem(String text){
|
||||||
|
super(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getViewType(){
|
||||||
|
return Type.RED_HEADER.ordinal();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected class SwitchItem extends Item{
|
protected class SwitchItem extends Item{
|
||||||
private String text;
|
private String text;
|
||||||
private int icon;
|
private int icon;
|
||||||
|
@ -329,6 +346,7 @@ public abstract class SettingsBaseFragment extends MastodonToolbarFragment imple
|
||||||
|
|
||||||
public enum Type{
|
public enum Type{
|
||||||
HEADER,
|
HEADER,
|
||||||
|
RED_HEADER,
|
||||||
SWITCH,
|
SWITCH,
|
||||||
THEME,
|
THEME,
|
||||||
TEXT,
|
TEXT,
|
||||||
|
@ -337,7 +355,7 @@ public abstract class SettingsBaseFragment extends MastodonToolbarFragment imple
|
||||||
BUTTON,
|
BUTTON,
|
||||||
SMALL_TEXT,
|
SMALL_TEXT,
|
||||||
UPDATER,
|
UPDATER,
|
||||||
SETTINGS_CATEGORY
|
SETTINGS_CATEGORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -349,6 +367,7 @@ public abstract class SettingsBaseFragment extends MastodonToolbarFragment imple
|
||||||
//noinspection unchecked
|
//noinspection unchecked
|
||||||
return (BindableViewHolder<Item>) switch(Type.values()[viewType]){
|
return (BindableViewHolder<Item>) switch(Type.values()[viewType]){
|
||||||
case HEADER -> new HeaderViewHolder();
|
case HEADER -> new HeaderViewHolder();
|
||||||
|
case RED_HEADER -> new HeaderViewHolder(true);
|
||||||
case SWITCH -> new SwitchViewHolder();
|
case SWITCH -> new SwitchViewHolder();
|
||||||
case THEME -> new ThemeViewHolder();
|
case THEME -> new ThemeViewHolder();
|
||||||
case TEXT -> new TextViewHolder();
|
case TEXT -> new TextViewHolder();
|
||||||
|
@ -384,6 +403,13 @@ public abstract class SettingsBaseFragment extends MastodonToolbarFragment imple
|
||||||
text=(TextView) itemView;
|
text=(TextView) itemView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HeaderViewHolder(boolean red){
|
||||||
|
super(getActivity(), R.layout.item_settings_header, list);
|
||||||
|
text=(TextView) itemView;
|
||||||
|
if(red)
|
||||||
|
text.setTextColor(getResources().getColor(UiUtils.isDarkTheme() ? R.color.error_400 : R.color.error_700));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBind(HeaderItem item){
|
public void onBind(HeaderItem item){
|
||||||
text.setText(item.text);
|
text.setText(item.text);
|
||||||
|
|
Loading…
Reference in New Issue