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.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()

View File

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