From 36af713252e0f6fa2ec1bfbf88e771ae73daa960 Mon Sep 17 00:00:00 2001 From: johan12345 Date: Fri, 7 Feb 2025 19:13:15 +0100 Subject: [PATCH] embed referral links as webpage instead of native Android buttons --- .../evmap/fragment/DonateFragmentBase.kt | 51 ++++--------- .../res/layout/fragment_donate_referral.xml | 73 ++++--------------- app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values/donottranslate.xml | 11 --- app/src/main/res/values/strings.xml | 1 + 5 files changed, 30 insertions(+), 107 deletions(-) diff --git a/app/src/main/java/net/vonforst/evmap/fragment/DonateFragmentBase.kt b/app/src/main/java/net/vonforst/evmap/fragment/DonateFragmentBase.kt index f5e45536..47f0d808 100644 --- a/app/src/main/java/net/vonforst/evmap/fragment/DonateFragmentBase.kt +++ b/app/src/main/java/net/vonforst/evmap/fragment/DonateFragmentBase.kt @@ -1,47 +1,26 @@ package net.vonforst.evmap.fragment +import android.content.Intent +import android.webkit.WebResourceRequest +import android.webkit.WebView +import android.webkit.WebViewClient import androidx.fragment.app.Fragment -import net.vonforst.evmap.MapsActivity import net.vonforst.evmap.R import net.vonforst.evmap.databinding.FragmentDonateReferralBinding abstract class DonateFragmentBase : Fragment() { fun setupReferrals(referrals: FragmentDonateReferralBinding) { - referrals.referralTesla.setOnClickListener { - (requireActivity() as MapsActivity).openUrl( - getString(R.string.tesla_referral_link), - requireView() - ) - } - referrals.referralJuicify.setOnClickListener { - (requireActivity() as MapsActivity).openUrl( - getString(R.string.juicify_referral_link), - requireView() - ) - } - referrals.referralGeldfuereauto.setOnClickListener { - (requireActivity() as MapsActivity).openUrl( - getString(R.string.geldfuereauto_referral_link), - requireView() - ) - } - referrals.referralMaingau.setOnClickListener { - (requireActivity() as MapsActivity).openUrl( - getString(R.string.maingau_referral_link), - requireView() - ) - } - referrals.referralEwieeinfach.setOnClickListener { - (requireActivity() as MapsActivity).openUrl( - getString(R.string.ewieeinfach_referral_link), - requireView() - ) - } - referrals.referralEprimo.setOnClickListener { - (requireActivity() as MapsActivity).openUrl( - getString(R.string.eprimo_referral_link), - requireView() - ) + referrals.referralWebView.loadUrl(getString(R.string.referral_link)) + referrals.referralWebView.webViewClient = object : WebViewClient() { + override fun shouldOverrideUrlLoading( + view: WebView, + request: WebResourceRequest + ): Boolean { + Intent(Intent.ACTION_VIEW, request.url).apply { + startActivity(this) + } + return true + } } } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_donate_referral.xml b/app/src/main/res/layout/fragment_donate_referral.xml index aaccf987..69338f54 100644 --- a/app/src/main/res/layout/fragment_donate_referral.xml +++ b/app/src/main/res/layout/fragment_donate_referral.xml @@ -8,7 +8,8 @@ android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" - android:layout_marginBottom="16dp"> + android:layout_marginBottom="16dp" + tools:ignore="WebViewLayout"> + app:layout_constraintTop_toTopOf="parent" /> - - + app:layout_constraintTop_toBottomOf="@+id/textView20" /> -