diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsActivity.java index e74f5a21f..a900e4590 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsActivity.java @@ -19,6 +19,7 @@ package nodomain.freeyourgadget.gadgetbridge.activities.devicesettings; import android.os.Bundle; import android.view.MenuItem; +import androidx.appcompat.app.ActionBar; import androidx.fragment.app.Fragment; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; @@ -77,9 +78,17 @@ public class DeviceSettingsActivity extends AbstractGBActivity implements .replace(R.id.settings_container, fragment, preferenceScreen.getKey()) .addToBackStack(preferenceScreen.getKey()) .commit(); + return true; } + public void setActionBarTitle(final CharSequence title) { + final ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setTitle(title); + } + } + @Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java index 9b8059c87..389e95a9e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java @@ -39,6 +39,7 @@ import com.mobeta.android.dslv.DragSortListPreference; import com.mobeta.android.dslv.DragSortListPreferenceFragment; import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -199,6 +200,25 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp super.onStop(); } + @Override + public void onResume() { + super.onResume(); + + updateActionBarTitle(); + } + + private void updateActionBarTitle() { + try { + CharSequence title = getPreferenceScreen().getTitle(); + if (StringUtils.isBlank(title)) { + title = getString(R.string.title_activity_device_specific_settings); + } + ((DeviceSettingsActivity) requireActivity()).setActionBarTitle(title); + } catch (final Exception e) { + LOG.error("Failed to update action bar title", e); + } + } + /* * delayed execution so that the preferences are applied first */