From 29d8f761aaa0cade1ea2eb378fafc88a14569910 Mon Sep 17 00:00:00 2001 From: bacowan Date: Wed, 15 May 2019 10:05:05 -0300 Subject: [PATCH] Including the option to share a challenge (#1147) * Adding a Share button in the challenge overflow menu which copies the selected challenge's URL to the clipboard. * first attempt * mostly working, just need to add copy to clipboard * not using the ShareActionProvider * Removing unused dependencies and includes --- Habitica/res/menu/menu_challenge_details.xml | 3 +++ .../challenges/ChallengeDetailFragment.kt | 17 ++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Habitica/res/menu/menu_challenge_details.xml b/Habitica/res/menu/menu_challenge_details.xml index d171af226..8dc0d1443 100644 --- a/Habitica/res/menu/menu_challenge_details.xml +++ b/Habitica/res/menu/menu_challenge_details.xml @@ -5,4 +5,7 @@ + diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt index 0586a47f3..8ead16ad9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeDetailFragment.kt @@ -8,11 +8,9 @@ import android.os.Bundle import androidx.core.content.ContextCompat import androidx.appcompat.app.AlertDialog import android.text.method.LinkMovementMethod +import android.widget.* import android.view.* -import android.widget.Button -import android.widget.ImageView -import android.widget.LinearLayout -import android.widget.TextView +import com.habitrpg.android.habitica.BuildConfig import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent import com.habitrpg.android.habitica.data.ChallengeRepository @@ -151,9 +149,6 @@ class ChallengeDetailFragment: BaseMainFragment() { } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { - if (!isCreator) { - return - } inflater.inflate(R.menu.menu_challenge_details, menu) val editMenuItem = menu.findItem(R.id.action_edit) editMenuItem?.isVisible = isCreator @@ -168,6 +163,14 @@ class ChallengeDetailFragment: BaseMainFragment() { startActivity(intent) return true } + else if (item.itemId == R.id.action_share) { + val shareGuildIntent = Intent().apply { + action = Intent.ACTION_SEND + putExtra(Intent.EXTRA_TEXT, "${BuildConfig.BASE_URL}/challenges/$challengeID") + type = "text/plain" + } + startActivity(shareGuildIntent) + } return super.onOptionsItemSelected(item) }