1package eu.siacs.conversations.ui.fragment.settings;
2
3import android.os.Build;
4import android.os.Bundle;
5
6import androidx.annotation.Nullable;
7import androidx.preference.PreferenceFragmentCompat;
8
9import com.google.common.base.Strings;
10
11import eu.siacs.conversations.BuildConfig;
12import eu.siacs.conversations.R;
13
14public class MainSettingsFragment extends PreferenceFragmentCompat {
15
16 @Override
17 public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
18 setPreferencesFromResource(R.xml.preferences_main, rootKey);
19 final var about = findPreference("about");
20 final var connection = findPreference("connection");
21 if (about == null || connection == null) {
22 throw new IllegalStateException(
23 "The preference resource file is missing some preferences");
24 }
25 about.setTitle(getString(R.string.title_activity_about_x, BuildConfig.APP_NAME));
26 about.setSummary(
27 String.format(
28 "%s %s %s @ %s · %s · %s",
29 BuildConfig.APP_NAME,
30 BuildConfig.VERSION_NAME,
31 im.conversations.webrtc.BuildConfig.WEBRTC_VERSION,
32 Strings.nullToEmpty(Build.MANUFACTURER),
33 Strings.nullToEmpty(Build.DEVICE),
34 Strings.nullToEmpty(Build.VERSION.RELEASE)));
35 about.setCopyingEnabled(true);
36 if (ConnectionSettingsFragment.hideChannelDiscovery()) {
37 connection.setSummary(R.string.pref_connection_summary);
38 }
39 }
40
41 @Override
42 public void onStart() {
43 super.onStart();
44 requireActivity().setTitle(R.string.title_activity_settings);
45 }
46}