override fun onActivityResult()

in mobile/src/main/java/com/github/shadowsocks/ProfileConfigFragment.kt [217:241]


    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        when (requestCode) {
            REQUEST_PICK_PLUGIN -> if (resultCode == Activity.RESULT_OK) {
                val selected = plugin.plugins.lookup.getValue(
                        data?.getStringExtra(PluginPreferenceDialogFragment.KEY_SELECTED_ID)!!)
                val override = pluginConfiguration.pluginsOptions.keys.firstOrNull {
                    plugin.plugins.lookup[it] == selected
                }
                pluginConfiguration = PluginConfiguration(pluginConfiguration.pluginsOptions, override ?: selected.id)
                DataStore.plugin = pluginConfiguration.toString()
                DataStore.dirty = true
                plugin.value = pluginConfiguration.selected
                pluginConfigure.isEnabled = selected !is NoPlugin
                pluginConfigure.text = pluginConfiguration.getOptions().toString()
                if (!selected.trusted) {
                    Snackbar.make(requireView(), R.string.plugin_untrusted, Snackbar.LENGTH_LONG).show()
                }
            }
            REQUEST_UNSAVED_CHANGES -> when (resultCode) {
                DialogInterface.BUTTON_POSITIVE -> saveAndExit()
                DialogInterface.BUTTON_NEGATIVE -> requireActivity().finish()
            }
            else -> super.onActivityResult(requestCode, resultCode, data)
        }
    }