From 38aa26a3fface6337f4f6af6a9f797bd747a6845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Sat, 16 Mar 2019 14:22:51 +0100 Subject: [PATCH] Add homepage button in about fragment (#280) --- .../ui/modules/about/AboutFragment.kt | 39 +++++++++++++++---- .../ui/modules/about/AboutPresenter.kt | 16 ++++---- .../wulkanowy/ui/modules/about/AboutView.kt | 6 ++- app/src/main/res/values-pl/strings.xml | 3 +- app/src/main/res/values/strings.xml | 3 +- 5 files changed, 48 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt index ddc4e11f..1002f914 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt @@ -1,12 +1,14 @@ package io.github.wulkanowy.ui.modules.about import android.content.Intent +import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.mikepenz.aboutlibraries.LibsBuilder import com.mikepenz.aboutlibraries.LibsFragmentCompat +import io.github.wulkanowy.BuildConfig import io.github.wulkanowy.R import io.github.wulkanowy.ui.base.BaseFragment import io.github.wulkanowy.ui.modules.main.MainView @@ -36,12 +38,12 @@ class AboutFragment : BaseFragment(), AboutView, MainView.TitledView { .withAboutVersionShown(true) .withAboutIconShown(true) .withLicenseShown(true) - .withAboutSpecial1(getString(R.string.about_source_code)) - .withAboutSpecial2(getString(R.string.about_feedback)) + .withAboutSpecial1(getString(R.string.about_discord_invite)) + .withAboutSpecial2(getString(R.string.about_homepage)) + .withAboutSpecial3(getString(R.string.about_feedback)) .withFields(R.string::class.java.fields) .withCheckCachedDetection(false) - .withExcludedLibraries("fastadapter", "AndroidIconics", "gson", - "Jsoup", "Retrofit", "okio", "OkHttp") + .withExcludedLibraries("fastadapter", "AndroidIconics", "gson", "Jsoup", "Retrofit", "okio", "OkHttp") .withOnExtraListener { presenter.onExtraSelect(it) }) }.let { fragmentCompat.onCreateView(inflater.context, inflater, container, savedInstanceState, it) @@ -53,12 +55,33 @@ class AboutFragment : BaseFragment(), AboutView, MainView.TitledView { fragmentCompat.onViewCreated(view, savedInstanceState) } - override fun openSourceWebView() { - startActivity(Intent.parseUri("https://github.com/wulkanowy/wulkanowy", 0)) + override fun openDiscordInviteView() { + startActivity(Intent.parseUri("https://discord.gg/vccAQBr", 0)) } - override fun openIssuesWebView() { - startActivity(Intent.parseUri("https://github.com/wulkanowy/wulkanowy/issues", 0)) + override fun openHomepageWebView() { + startActivity(Intent.parseUri("https://wulkanowy.github.io/", 0)) + } + + override fun openEmailClientView() { + val intent = Intent(Intent.ACTION_SENDTO).apply { + data = Uri.parse("mailto:") + putExtra(Intent.EXTRA_EMAIL, Array(1) { "wulkanowyinc@gmail.com" }) + putExtra(Intent.EXTRA_SUBJECT, "Zgłoszenie błędu") + putExtra(Intent.EXTRA_TEXT,"Tu umieść treść zgłoszenia\n\n" + "-".repeat(40) + "\n" + """ + Build: ${BuildConfig.VERSION_CODE} + SDK: ${android.os.Build.VERSION.SDK_INT} + Device: ${android.os.Build.MANUFACTURER} ${android.os.Build.MODEL} + """.trimIndent()) + } + + context?.let { + if (intent.resolveActivity(it.packageManager) != null) { + startActivity(Intent.createChooser(intent, getString(R.string.about_feedback))) + } else { + startActivity(Intent.parseUri("https://github.com/wulkanowy/wulkanowy/issues", 0)) + } + } } override fun onDestroyView() { diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutPresenter.kt index ae68d7e7..116dbef3 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutPresenter.kt @@ -24,17 +24,19 @@ class AboutPresenter @Inject constructor( view?.run { when (type) { SPECIAL1 -> { - Timber.i("Opening github page") - analytics.logEvent("open_page", "name" to "github") - openSourceWebView() + Timber.i("Opening discord invide page") + analytics.logEvent("open_page", "name" to "discord") + openDiscordInviteView() } SPECIAL2 -> { - Timber.i("Opening issues page") - analytics.logEvent("open_page", "name" to "issues") - openIssuesWebView() + Timber.i("Opening home page") + analytics.logEvent("open_page", "name" to "home") + openHomepageWebView() } SPECIAL3 -> { - //empty for now + Timber.i("Opening email client") + analytics.logEvent("open_page", "name" to "email") + openEmailClientView() } } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutView.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutView.kt index a3ae2ada..5b206ad8 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutView.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutView.kt @@ -4,7 +4,9 @@ import io.github.wulkanowy.ui.base.BaseView interface AboutView : BaseView { - fun openSourceWebView() + fun openDiscordInviteView() - fun openIssuesWebView() + fun openEmailClientView() + + fun openHomepageWebView() } diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index a84a3f55..d2e5a35f 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -207,8 +207,9 @@ - Kod źródłowy + Discord Zgłoś błąd + Strona domowa diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 311fdf3c..56c9f2c0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -192,8 +192,9 @@ - Source code + Discord Report a bug + Homepage