override fun onViewCreated()

in mobile/src/main/java/com/github/shadowsocks/AboutFragment.kt [44:72]


    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        view.setOnApplyWindowInsetsListener(ListHolderListener)
        toolbar.title = getString(R.string.about_title, BuildConfig.VERSION_NAME)
        view.findViewById<TextView>(R.id.tv_about).apply {
            setOnApplyWindowInsetsListener(MainListListener)
            text = SpannableStringBuilder(resources.openRawResource(R.raw.about).bufferedReader().readText()
                    .parseAsHtml(HtmlCompat.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM)).apply {
                for (span in getSpans(0, length, URLSpan::class.java)) {
                    setSpan(object : ClickableSpan() {
                        override fun onClick(view: View) = when {
                            span.url.startsWith("#") -> {
                                startActivity(Intent(context, OssLicensesMenuActivity::class.java))
                            }
                            span.url.startsWith("mailto:") -> {
                                startActivity(Intent.createChooser(Intent().apply {
                                    action = Intent.ACTION_SENDTO
                                    data = span.url.toUri()
                                }, getString(R.string.send_email)))
                            }
                            else -> (activity as MainActivity).launchUrl(span.url)
                        }
                    }, getSpanStart(span), getSpanEnd(span), getSpanFlags(span))
                    removeSpan(span)
                }
            }
            movementMethod = LinkMovementMethod.getInstance()
        }
    }