diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java index 9100f4e8f..56227e0e7 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java @@ -256,6 +256,10 @@ public abstract class BaseMainActivity extends BaseActivity FloatingActionButton federatedTimelines = findViewById(R.id.federated_timeline); + + boolean displayFollowInstance = sharedpreferences.getBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, true); + if( !displayFollowInstance) + federatedTimelines.setVisibility(View.GONE); federatedTimelines.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -1881,6 +1885,15 @@ public abstract class BaseMainActivity extends BaseActivity } + public void refreshButton(){ + SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE); + FloatingActionButton federatedTimelines = findViewById(R.id.federated_timeline); + boolean displayFollowInstance = sharedpreferences.getBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, true); + if( !displayFollowInstance) + federatedTimelines.setVisibility(View.GONE); + else + federatedTimelines.setVisibility(View.VISIBLE); + } public DisplayStatusFragment getHomeFragment(){ return homeFragment; } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java index 4957351ec..e8c273b14 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java @@ -213,6 +213,21 @@ public class SettingsFragment extends Fragment { } }); + + boolean follow_instance = sharedpreferences.getBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, true); + final CheckBox set_follow_instance = rootView.findViewById(R.id.set_display_follow_instance); + set_follow_instance.setChecked(follow_instance); + + set_follow_instance.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + SharedPreferences.Editor editor = sharedpreferences.edit(); + editor.putBoolean(Helper.SET_DISPLAY_FOLLOW_INSTANCE, set_follow_instance.isChecked()); + editor.apply(); + ((MainActivity) context).refreshButton(); + } + }); + boolean display_bookmark = sharedpreferences.getBoolean(Helper.SET_SHOW_BOOKMARK, true); final CheckBox set_display_bookmark = rootView.findViewById(R.id.set_display_bookmarks); set_display_bookmark.setChecked(display_bookmark); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java index 0ba0d07d1..bd66764be 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java @@ -299,6 +299,7 @@ public class Helper { public static final String SET_NOTIF_SILENT = "set_notif_silent"; public static final String SET_EXPAND_CW = "set_expand_cw"; public static final String SET_EXPAND_MEDIA = "set_expand_media"; + public static final String SET_DISPLAY_FOLLOW_INSTANCE = "set_display_follow_instance"; public static final String SET_EMBEDDED_BROWSER = "set_embedded_browser"; public static final String SET_CUSTOM_TABS = "set_custom_tabs"; public static final String SET_JAVASCRIPT = "set_javascript"; diff --git a/app/src/main/res/layout-sw600dp/fragment_settings.xml b/app/src/main/res/layout-sw600dp/fragment_settings.xml index 0b1f8ffc6..70e691adb 100644 --- a/app/src/main/res/layout-sw600dp/fragment_settings.xml +++ b/app/src/main/res/layout-sw600dp/fragment_settings.xml @@ -130,6 +130,13 @@ android:text="@string/set_compact_mode" android:layout_height="wrap_content" /> + + + + + Account(s) can\'t be followed Fetching remote account Automatically expand hidden media + Display follow instances button