From 81568e21359c48c72117c9c3254dde9eec240cb7 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Wed, 1 Feb 2023 18:49:59 +0100 Subject: [PATCH] Cleanup common methods in the about and help acitvities --- .../com/github/libretube/helpers/IntentHelper.kt | 13 +++++++++++++ .../libretube/ui/activities/AboutActivity.kt | 12 +++--------- .../github/libretube/ui/activities/HelpActivity.kt | 14 ++++---------- 3 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 app/src/main/java/com/github/libretube/helpers/IntentHelper.kt diff --git a/app/src/main/java/com/github/libretube/helpers/IntentHelper.kt b/app/src/main/java/com/github/libretube/helpers/IntentHelper.kt new file mode 100644 index 000000000..0c3c3f095 --- /dev/null +++ b/app/src/main/java/com/github/libretube/helpers/IntentHelper.kt @@ -0,0 +1,13 @@ +package com.github.libretube.helpers + +import android.content.Context +import android.content.Intent +import android.net.Uri + +object IntentHelper { + fun openLinkFromHref(context: Context, link: String) { + val uri = Uri.parse(link) + val launchIntent = Intent(Intent.ACTION_VIEW).setData(uri) + context.startActivity(launchIntent) + } +} diff --git a/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt index 616d241f0..61a80bdd5 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt @@ -4,7 +4,6 @@ import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.content.Intent -import android.net.Uri import android.os.Build import android.os.Bundle import androidx.core.text.HtmlCompat @@ -16,6 +15,7 @@ import com.github.libretube.constants.PIPED_GITHUB_URL import com.github.libretube.constants.WEBLATE_URL import com.github.libretube.constants.WEBSITE_URL import com.github.libretube.databinding.ActivityAboutBinding +import com.github.libretube.helpers.IntentHelper import com.github.libretube.ui.base.BaseActivity import com.google.android.material.card.MaterialCardView import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -65,7 +65,7 @@ class AboutActivity : BaseActivity() { private fun setupCard(card: MaterialCardView, link: String) { card.setOnClickListener { - openLinkFromHref(link) + IntentHelper.openLinkFromHref(this, link) } card.setOnLongClickListener { onLongClick(link) @@ -73,12 +73,6 @@ class AboutActivity : BaseActivity() { } } - private fun openLinkFromHref(link: String) { - val uri = Uri.parse(link) - val intent = Intent(Intent.ACTION_VIEW).setData(uri) - startActivity(intent) - } - private fun onLongClick(href: String) { // copy the link to the clipboard val clipboard: ClipboardManager = @@ -92,7 +86,7 @@ class AboutActivity : BaseActivity() { Snackbar.LENGTH_LONG ) .setAction(R.string.open_copied) { - openLinkFromHref(href) + IntentHelper.openLinkFromHref(this, href) } .setAnimationMode(Snackbar.ANIMATION_MODE_FADE) .show() diff --git a/app/src/main/java/com/github/libretube/ui/activities/HelpActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/HelpActivity.kt index 01380eec3..bff219596 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/HelpActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/HelpActivity.kt @@ -1,14 +1,14 @@ package com.github.libretube.ui.activities -import android.content.Intent -import android.net.Uri import android.os.Bundle import com.github.libretube.constants.DISCORD_URL import com.github.libretube.constants.FAQ_URL import com.github.libretube.constants.MASTODON_URL import com.github.libretube.constants.MATRIX_URL +import com.github.libretube.constants.REDDIT_URL import com.github.libretube.constants.TELEGRAM_URL import com.github.libretube.databinding.ActivityHelpBinding +import com.github.libretube.helpers.IntentHelper import com.github.libretube.ui.base.BaseActivity import com.google.android.material.card.MaterialCardView @@ -30,18 +30,12 @@ class HelpActivity : BaseActivity() { setupCard(binding.mastodon, MASTODON_URL) setupCard(binding.telegram, TELEGRAM_URL) setupCard(binding.discord, DISCORD_URL) - setupCard(binding.mastodon, MASTODON_URL) + setupCard(binding.reddit, REDDIT_URL) } private fun setupCard(card: MaterialCardView, link: String) { card.setOnClickListener { - openLinkFromHref(link) + IntentHelper.openLinkFromHref(this, link) } } - - private fun openLinkFromHref(link: String) { - val uri = Uri.parse(link) - val intent = Intent(Intent.ACTION_VIEW).setData(uri) - startActivity(intent) - } }