Cleanup common methods in the about and help acitvities

This commit is contained in:
Bnyro 2023-02-01 18:49:59 +01:00
parent 766c7c82d9
commit 81568e2135
3 changed files with 20 additions and 19 deletions

View File

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

View File

@ -4,7 +4,6 @@ import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import androidx.core.text.HtmlCompat 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.WEBLATE_URL
import com.github.libretube.constants.WEBSITE_URL import com.github.libretube.constants.WEBSITE_URL
import com.github.libretube.databinding.ActivityAboutBinding import com.github.libretube.databinding.ActivityAboutBinding
import com.github.libretube.helpers.IntentHelper
import com.github.libretube.ui.base.BaseActivity import com.github.libretube.ui.base.BaseActivity
import com.google.android.material.card.MaterialCardView import com.google.android.material.card.MaterialCardView
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
@ -65,7 +65,7 @@ class AboutActivity : BaseActivity() {
private fun setupCard(card: MaterialCardView, link: String) { private fun setupCard(card: MaterialCardView, link: String) {
card.setOnClickListener { card.setOnClickListener {
openLinkFromHref(link) IntentHelper.openLinkFromHref(this, link)
} }
card.setOnLongClickListener { card.setOnLongClickListener {
onLongClick(link) 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) { private fun onLongClick(href: String) {
// copy the link to the clipboard // copy the link to the clipboard
val clipboard: ClipboardManager = val clipboard: ClipboardManager =
@ -92,7 +86,7 @@ class AboutActivity : BaseActivity() {
Snackbar.LENGTH_LONG Snackbar.LENGTH_LONG
) )
.setAction(R.string.open_copied) { .setAction(R.string.open_copied) {
openLinkFromHref(href) IntentHelper.openLinkFromHref(this, href)
} }
.setAnimationMode(Snackbar.ANIMATION_MODE_FADE) .setAnimationMode(Snackbar.ANIMATION_MODE_FADE)
.show() .show()

View File

@ -1,14 +1,14 @@
package com.github.libretube.ui.activities package com.github.libretube.ui.activities
import android.content.Intent
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import com.github.libretube.constants.DISCORD_URL import com.github.libretube.constants.DISCORD_URL
import com.github.libretube.constants.FAQ_URL import com.github.libretube.constants.FAQ_URL
import com.github.libretube.constants.MASTODON_URL import com.github.libretube.constants.MASTODON_URL
import com.github.libretube.constants.MATRIX_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.constants.TELEGRAM_URL
import com.github.libretube.databinding.ActivityHelpBinding import com.github.libretube.databinding.ActivityHelpBinding
import com.github.libretube.helpers.IntentHelper
import com.github.libretube.ui.base.BaseActivity import com.github.libretube.ui.base.BaseActivity
import com.google.android.material.card.MaterialCardView import com.google.android.material.card.MaterialCardView
@ -30,18 +30,12 @@ class HelpActivity : BaseActivity() {
setupCard(binding.mastodon, MASTODON_URL) setupCard(binding.mastodon, MASTODON_URL)
setupCard(binding.telegram, TELEGRAM_URL) setupCard(binding.telegram, TELEGRAM_URL)
setupCard(binding.discord, DISCORD_URL) setupCard(binding.discord, DISCORD_URL)
setupCard(binding.mastodon, MASTODON_URL) setupCard(binding.reddit, REDDIT_URL)
} }
private fun setupCard(card: MaterialCardView, link: String) { private fun setupCard(card: MaterialCardView, link: String) {
card.setOnClickListener { 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)
}
} }