diff --git a/src/main/java/eu/siacs/conversations/ui/fragment/settings/MainSettingsFragment.java b/src/main/java/eu/siacs/conversations/ui/fragment/settings/MainSettingsFragment.java
index 4ab8ade3ceb472b2762017306aacda450ab2e82c..a335b724c4d9651d06b31e1183a0d2cb2fd4e1db 100644
--- a/src/main/java/eu/siacs/conversations/ui/fragment/settings/MainSettingsFragment.java
+++ b/src/main/java/eu/siacs/conversations/ui/fragment/settings/MainSettingsFragment.java
@@ -18,7 +18,8 @@ public class MainSettingsFragment extends PreferenceFragmentCompat {
setPreferencesFromResource(R.xml.preferences_main, rootKey);
final var about = findPreference("about");
final var connection = findPreference("connection");
- if (about == null || connection == null) {
+ final var up = findPreference("up");
+ if (about == null || connection == null || up == null) {
throw new IllegalStateException(
"The preference resource file is missing some preferences");
}
@@ -35,6 +36,7 @@ public class MainSettingsFragment extends PreferenceFragmentCompat {
if (ConnectionSettingsFragment.hideChannelDiscovery()) {
connection.setSummary(R.string.pref_connection_summary);
}
+ up.setVisible(!Strings.isNullOrEmpty(getString(R.string.default_push_server)));
}
@Override
diff --git a/src/main/res/xml/preferences_main.xml b/src/main/res/xml/preferences_main.xml
index 013f2506cd98a685155e200d0eae5dc16a032ec5..a1bd6fde1723fdd3b6b60272ccf03b5dfa42bde7 100644
--- a/src/main/res/xml/preferences_main.xml
+++ b/src/main/res/xml/preferences_main.xml
@@ -35,11 +35,12 @@
+ android:title="@string/backup"
+ app:fragment="eu.siacs.conversations.ui.fragment.settings.BackupSettingsFragment" />