diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java index 8a7ecf8c7..37a5ebc08 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java @@ -194,7 +194,11 @@ public class ControlCenterv2 extends AppCompatActivity // Initialize bottom navigation BottomNavigationView navigationView = findViewById(R.id.bottom_nav_bar); - navigationView.setVisibility(activityTrackerAvailable ? View.VISIBLE : View.GONE); + if (activityTrackerAvailable && prefs.getBoolean("display_bottom_navigation_bar", true)) { + navigationView.setVisibility(View.VISIBLE); + } else { + navigationView.setVisibility(View.GONE); + } navigationView.setOnItemSelectedListener(menuItem -> { switch (menuItem.getItemId()) { case R.id.bottom_nav_dashboard: diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java index c45be8b7f..4cb76457c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java @@ -45,7 +45,6 @@ import android.widget.Toast; import androidx.core.app.ActivityCompat; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.ListPreference; -import androidx.preference.MultiSelectListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; @@ -56,8 +55,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Locale; @@ -75,7 +72,6 @@ import nodomain.freeyourgadget.gadgetbridge.devices.pebble.PebbleSettingsActivit import nodomain.freeyourgadget.gadgetbridge.devices.qhybrid.ConfigActivity; import nodomain.freeyourgadget.gadgetbridge.devices.zetime.ZeTimePreferenceActivity; import nodomain.freeyourgadget.gadgetbridge.externalevents.TimeChangeReceiver; -import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.Weather; import nodomain.freeyourgadget.gadgetbridge.util.AndroidUtils; import nodomain.freeyourgadget.gadgetbridge.util.FileUtils; @@ -244,6 +240,21 @@ public class SettingsActivity extends AbstractSettingsActivityV2 { }); } + pref = findPreference("display_add_device_fab"); + if (pref != null) { + pref.setOnPreferenceChangeListener((preference, newValue) -> { + sendThemeChangeIntent(); + return true; + }); + } + pref = findPreference("display_bottom_navigation_bar"); + if (pref != null) { + pref.setOnPreferenceChangeListener((preference, newVal) -> { + sendThemeChangeIntent(); + return true; + }); + } + final Preference unit = findPreference(PREF_MEASUREMENT_SYSTEM); if (unit != null) { unit.setOnPreferenceChangeListener((preference, newVal) -> { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5ae3a95ad..2df890e0c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2791,4 +2791,7 @@ Notifications will be read aloud through the headphones Speak Notifications Aloud Calls and notifications + Bottom navigation bar + Switch between main screens using the navigation bar or horizontal swiping + Switch between main screens only using horizontal swiping diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index c010bab55..40ae1f9e5 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -33,6 +33,14 @@ android:summaryOn="@string/pref_display_add_device_fab_on" android:title="@string/pref_display_add_device_fab" app:iconSpaceReserved="false" /> +