@Override
    public void onCreate(final Bundle savedInstanceState) {
        ApplicationSettings.setLocale(this);
        super.onCreate(savedInstanceState);

        backupUtils = new BackupUtils(SettingsActivity.this, savedInstanceState == null ? null : savedInstanceState.getBundle(STATE_BACKUPUTILS));

        this.contentStorageHelper = new ContentStorageActivityHelper(this, savedInstanceState == null ? null : savedInstanceState.getBundle(STATE_CSAH))
                .addSelectActionCallback(ContentStorageActivityHelper.SelectAction.SELECT_FOLDER_PERSISTED, PersistableFolder.class, folder -> {
                    final List<Fragment> fragments = getSupportFragmentManager().getFragments();
                    for (Fragment f : fragments) {
                        if (f instanceof PreferenceFragmentCompat) {
                            initPublicFolders((PreferenceFragmentCompat) f, contentStorageHelper);
                        }
                    }
                    if (PersistableFolder.OFFLINE_MAP_THEMES.equals(folder)) {
                        RenderThemeHelper.resynchronizeOrDeleteMapThemeFolder();
                    }
                })
                .addSelectActionCallback(ContentStorageActivityHelper.SelectAction.SELECT_FILE, Uri.class, file -> {
                    final List<Fragment> fragments = getSupportFragmentManager().getFragments();
                    for (Fragment f : fragments) {
                        if (f instanceof PreferenceMapContentBehaviorFragment) {
                            ((PreferenceMapContentBehaviorFragment) f).updateNotificationAudioInfo();
                        }
                    }
                });

        setContentView(R.layout.layout_settings);
        if (findViewById(R.id.settings_fragment_content_root) != null) {
            // landscape mode?
            preferenceContentView = R.id.settings_fragment_content_root;
        }
        buildSearchIndex();

        handleIntent(savedInstanceState);
        getSupportFragmentManager().addOnBackStackChangedListener(() -> {
            if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
                setTitle(R.string.settings_titlebar);
            }
        });
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        setResult(NO_RESTART_NEEDED);
    }
An {@link AppCompatActivity} that presents a set of application settings. On
handset devices, settings are presented as a single list. On tablets,
settings are split by category, with category headers shown to the left of
the list of settings.
<p>
See <a href="http://developer.android.com/design/patterns/settings.html"> Android Design: Settings</a> for design
guidelines and the <a href="http://developer.android.com/guide/topics/ui/settings.html">Settings API Guide</a> for
more information on developing a Settings UI.
main/src/main/java/cgeo/geocaching/settings/SettingsActivity.java