MainSettingsFragment.java

 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}