@@ -6,13 +6,17 @@ import android.annotation.SuppressLint
66import android.content.Context
77import android.graphics.drawable.AnimatedVectorDrawable
88import android.os.Bundle
9+ import android.text.SpannableString
10+ import android.text.SpannableStringBuilder
11+ import android.text.style.URLSpan
912import android.view.LayoutInflater
1013import android.view.View
1114import android.view.ViewGroup
1215import android.view.animation.DecelerateInterpolator
1316import android.widget.ImageView
1417import androidx.core.content.ContextCompat
1518import androidx.core.text.HtmlCompat
19+ import androidx.core.text.getSpans
1620import androidx.core.text.method.LinkMovementMethodCompat
1721import androidx.fragment.app.Fragment
1822import androidx.navigation.fragment.findNavController
@@ -27,6 +31,8 @@ import net.vonforst.evmap.databinding.FragmentOnboardingWelcomeBinding
2731import net.vonforst.evmap.model.FILTERS_DISABLED
2832import net.vonforst.evmap.navigation.safeNavigate
2933import net.vonforst.evmap.storage.PreferenceDataSource
34+ import net.vonforst.evmap.ui.CustomUrlSpan
35+ import net.vonforst.evmap.ui.replaceUrlSpansWithCustom
3036import net.vonforst.evmap.waitForLayout
3137
3238class OnboardingFragment : Fragment () {
@@ -237,13 +243,14 @@ class DataSourceSelectFragment : OnboardingPageFragment() {
237243 }
238244
239245 override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
240- binding.cbAcceptPrivacy. text =
246+ val text =
241247 HtmlCompat .fromHtml(
242248 getString(
243249 R .string.accept_privacy,
244250 getString(R .string.privacy_link)
245251 ), HtmlCompat .FROM_HTML_MODE_LEGACY
246- )
252+ ).replaceUrlSpansWithCustom()
253+ binding.cbAcceptPrivacy.text = text
247254 binding.cbAcceptPrivacy.linksClickable = true
248255 binding.cbAcceptPrivacy.movementMethod = LinkMovementMethodCompat .getInstance()
249256 binding.btnGetStarted.visibility = View .INVISIBLE
0 commit comments