diff --git a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/AddonDialogFragment.kt b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/AddonDialogFragment.kt index ef465781c71e..73646d21f097 100644 --- a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/AddonDialogFragment.kt +++ b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/AddonDialogFragment.kt @@ -48,6 +48,8 @@ open class AddonDialogFragment : AppCompatDialogFragment() { @ColorRes val confirmButtonBackgroundColor: Int? = null, @ColorRes + val learnMoreLinkTextColor: Int? = null, + @ColorRes val confirmButtonTextColor: Int? = null, val confirmButtonRadius: Float? = null, ) diff --git a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt index 66f7772e7ace..974f0995b07f 100644 --- a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt +++ b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt @@ -8,6 +8,7 @@ import android.annotation.SuppressLint import android.app.Dialog import android.content.DialogInterface import android.graphics.Color +import android.graphics.Paint import android.graphics.drawable.ColorDrawable import android.graphics.drawable.GradientDrawable import android.os.Bundle @@ -35,6 +36,7 @@ private const val KEY_DIALOG_WIDTH_MATCH_PARENT = "KEY_DIALOG_WIDTH_MATCH_PARENT private const val KEY_POSITIVE_BUTTON_BACKGROUND_COLOR = "KEY_POSITIVE_BUTTON_BACKGROUND_COLOR" private const val KEY_POSITIVE_BUTTON_TEXT_COLOR = "KEY_POSITIVE_BUTTON_TEXT_COLOR" private const val KEY_POSITIVE_BUTTON_RADIUS = "KEY_POSITIVE_BUTTON_RADIUS" +private const val KEY_LEARN_MORE_LINK_TEXT_COLOR = "KEY_LEARN_MORE_LINK_TEXT_COLOR" private const val KEY_FOR_OPTIONAL_PERMISSIONS = "KEY_FOR_OPTIONAL_PERMISSIONS" internal const val KEY_PERMISSIONS = "KEY_PERMISSIONS" private const val DEFAULT_VALUE = Int.MAX_VALUE @@ -55,6 +57,11 @@ class PermissionsDialogFragment : AddonDialogFragment() { */ var onNegativeButtonClicked: (() -> Unit)? = null + /** + * A lambda called when the learn more link is clicked. + */ + var onLearnMoreClicked: (() -> Unit)? = null + internal val addon get() = requireNotNull(safeArguments.getParcelableCompat(KEY_ADDON, Addon::class.java)) internal val positiveButtonRadius @@ -85,6 +92,13 @@ class PermissionsDialogFragment : AddonDialogFragment() { DEFAULT_VALUE, ) + internal val learnMoreLinkTextColor + get() = + safeArguments.getInt( + KEY_LEARN_MORE_LINK_TEXT_COLOR, + DEFAULT_VALUE, + ) + /** * This flag is used to adjust the permissions prompt for optional permissions (instead of asking * users to grant the required permissions at install time, which is the default). @@ -160,6 +174,9 @@ class PermissionsDialogFragment : AddonDialogFragment() { rootView.findViewById(R.id.optional_or_required_text).text = buildOptionalOrRequiredText(listPermissions.isNotEmpty()) + val learnMoreLink = rootView.findViewById(R.id.learn_more_link) + learnMoreLink.paintFlags = Paint.UNDERLINE_TEXT_FLAG + val permissionsRecyclerView = rootView.findViewById(R.id.permissions) val positiveButton = rootView.findViewById