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()
}
}