override fun onCreatePreferences()

in tv/src/main/java/com/github/shadowsocks/tv/MainPreferenceFragment.kt [120:148]


    override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
        preferenceManager.preferenceDataStore = DataStore.publicStore
        DataStore.initGlobal()
        addPreferencesFromResource(R.xml.pref_main)
        fab = findPreference(Key.id)!!
        populateProfiles()
        stats = findPreference(Key.controlStats)!!
        controlImport = findPreference(Key.controlImport)!!

        findPreference<SwitchPreference>(Key.persistAcrossReboot)!!.setOnPreferenceChangeListener { _, value ->
            BootReceiver.enabled = value as Boolean
            true
        }

        serviceMode = findPreference(Key.serviceMode)!!
        shareOverLan = findPreference(Key.shareOverLan)!!
        portProxy = findPreference(Key.portProxy)!!
        portProxy.setOnBindEditTextListener(EditTextPreferenceModifiers.Port)
        portLocalDns = findPreference(Key.portLocalDns)!!
        portLocalDns.setOnBindEditTextListener(EditTextPreferenceModifiers.Port)
        portTransproxy = findPreference(Key.portTransproxy)!!
        portTransproxy.setOnBindEditTextListener(EditTextPreferenceModifiers.Port)
        serviceMode.onPreferenceChangeListener = onServiceModeChange
        findPreference<Preference>(Key.about)!!.summary = getString(R.string.about_title, BuildConfig.VERSION_NAME)

        changeState(BaseService.State.Idle) // reset everything to init state
        connection.connect(requireContext(), this)
        DataStore.publicStore.registerChangeListener(this)
    }