diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java index 27ac9895..49bd04ba 100644 --- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java +++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java @@ -355,6 +355,8 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt }; private NetworkStateReceiver networkStateReceiver; + SharedPreferences sharedpreferences; + public static void fetchRecentAccounts(Activity activity, NavHeaderMainBinding headerMainBinding) { SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(activity); //Fetch some db values to initialize data @@ -1111,7 +1113,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(BaseMainActivity.this); + sharedpreferences = PreferenceManager.getDefaultSharedPreferences(BaseMainActivity.this); if (!Helper.isLoggedIn(BaseMainActivity.this)) { //It is not, the user is redirected to the login page Intent myIntent = new Intent(BaseMainActivity.this, LoginActivity.class); @@ -1593,8 +1595,14 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt fetchRecentAccounts(BaseMainActivity.this, headerMainBinding); } + @Override + protected void onResume() { + super.onResume(); + if (!sharedpreferences.getBoolean(getString(R.string.SET_AUTO_HIDE_COMPOSE), true) && !getFloatingVisibility()) + manageFloatingButton(true); + } + private void manageTopBarScrolling(Toolbar toolbar) { - final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(this); final boolean topBarScrolling = !sharedpreferences.getBoolean(getString(R.string.SET_DISABLE_TOPBAR_SCROLLING), false); final AppBarLayout.LayoutParams toolbarLayoutParams = (AppBarLayout.LayoutParams) toolbar.getLayoutParams(); @@ -2017,10 +2025,12 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt } public void manageFloatingButton(boolean display) { - if (display) { - binding.compose.show(); - } else { - binding.compose.hide(); + if (sharedpreferences.getBoolean(getString(R.string.SET_AUTO_HIDE_COMPOSE), true)) { + if (display) { + binding.compose.show(); + } else { + binding.compose.hide(); + } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 162fc786..302fc920 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1132,6 +1132,7 @@ SET_UNFOLLOW_VALIDATION SET_USE_SINGLE_TOPBAR SET_DISABLE_TOPBAR_SCROLLING + SET_AUTO_HIDE_COMPOSE SET_DISPLAY_COUNTERS SET_DISPLAY_COMPACT_ACTION_BUTTON @@ -1810,6 +1811,8 @@ Push distributor Single action bar Disable top bar scrolling + Auto hide compose button + Automatically hide compose button when scrolling up on a timeline When enabled, the app will only have a single bar for timelines Timelines in a list When enabled, all pinned timelines will be displayed in a drop-down menu diff --git a/app/src/main/res/xml/pref_interface.xml b/app/src/main/res/xml/pref_interface.xml index b60c07b6..1347e720 100644 --- a/app/src/main/res/xml/pref_interface.xml +++ b/app/src/main/res/xml/pref_interface.xml @@ -19,6 +19,14 @@ app:singleLineTitle="false" app:title="@string/set_disable_topbar_scrolling_title" /> + +