diff --git a/Habitica/res/drawable/layout_rounded_bg_gray_600.xml b/Habitica/res/drawable/layout_rounded_bg_gray_600.xml
new file mode 100644
index 000000000..30464dd0d
--- /dev/null
+++ b/Habitica/res/drawable/layout_rounded_bg_gray_600.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/fragment_group_info.xml b/Habitica/res/layout/fragment_group_info.xml
index c1d8b8e28..ba3b6fe10 100644
--- a/Habitica/res/layout/fragment_group_info.xml
+++ b/Habitica/res/layout/fragment_group_info.xml
@@ -52,20 +52,118 @@
-
+ android:orientation="vertical">
-
-
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_margin="@dimen/spacing_large">
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Matt the beast master
Hide Boss Art
Active World Boss
+ Take on quests with friends or on your own. Battle monsters, create Challenges, and help yourself stay accountable through Parties.
+ Play Habitica in a Party
+ Give them your User ID or have them scan your QR code while inviting
+ Want to join a party?
+ Open website to create party
+ ID copied to clipboard
diff --git a/Habitica/res/values/styles.xml b/Habitica/res/values/styles.xml
index c692fb92f..4f97c6a32 100644
--- a/Habitica/res/values/styles.xml
+++ b/Habitica/res/values/styles.xml
@@ -376,6 +376,11 @@
- @color/brand_400
+
+
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt
index b88e8d98a..7aca0dd8a 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.kt
@@ -16,9 +16,16 @@ import com.habitrpg.android.habitica.models.social.Group
import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.ui.fragments.BaseFragment
import kotlinx.android.synthetic.main.fragment_group_info.*
-import kotlinx.android.synthetic.main.qr_code.*
import rx.functions.Action1
import javax.inject.Inject
+import android.content.ClipData
+import android.content.ClipboardManager
+import android.content.Context
+import com.habitrpg.android.habitica.ui.activities.MainActivity
+import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar
+import android.content.Intent
+import android.net.Uri
+
class GroupInformationFragment : BaseFragment() {
@@ -74,6 +81,20 @@ class GroupInformationFragment : BaseFragment() {
}
})
+ userIdView.setOnClickListener {
+ val clipboard = context?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
+ val clip = ClipData.newPlainText(context?.getString(R.string.user_id), user?.id)
+ clipboard.primaryClip = clip
+ val activity = activity as MainActivity?
+ if (activity != null) {
+ HabiticaSnackbar.showSnackbar(activity.getFloatingMenuWrapper(), getString(R.string.id_copied), HabiticaSnackbar.SnackbarDisplayType.NORMAL)
+ }
+ }
+
+ craetePartyButton.setOnClickListener {
+ val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse("https://habitica.com/party"))
+ startActivity(browserIntent)
+ }
}
private fun setUser(user: User?) {
@@ -82,6 +103,7 @@ class GroupInformationFragment : BaseFragment() {
} else {
setInvitation(null)
}
+ userIdView.text = user?.id
}
private fun setInvitation(invitation: PartyInvite?) {
@@ -101,15 +123,16 @@ class GroupInformationFragment : BaseFragment() {
fun setGroup(group: Group?) {
this.group = group
- if (qrWrapper == null) {
+ if (noPartyWrapper == null) {
return
}
val hasGroup = group != null
val groupItemVisibility = if (hasGroup) View.VISIBLE else View.GONE
- qrWrapper.visibility = if (hasGroup) View.GONE else View.VISIBLE
+ noPartyWrapper.visibility = if (hasGroup) View.GONE else View.VISIBLE
groupNameView.visibility = groupItemVisibility
groupDescriptionView.visibility = groupItemVisibility
+ groupDescriptionWrapper.visibility = groupItemVisibility
groupDescriptionView.text = group?.description
leadernameWrapper.visibility = if (group?.leaderName != null) View.VISIBLE else View.GONE
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java
index 6a36d4160..c579e7268 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java
@@ -31,7 +31,6 @@ import com.habitrpg.android.habitica.ui.fragments.social.QuestDetailFragment;
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
import com.habitrpg.android.habitica.ui.helpers.MarkdownParser;
import com.habitrpg.android.habitica.ui.views.social.OldQuestProgressView;
-import com.habitrpg.android.habitica.ui.views.social.QuestProgressView;
import javax.inject.Inject;
import javax.inject.Named;
@@ -196,7 +195,7 @@ public class PartyDetailFragment extends BaseFragment {
DataBindingUtils.INSTANCE.loadImage(questImageView, "quest_"+questContent.getKey());
if (isQuestActive()) {
questProgressView.setVisibility(View.VISIBLE);
- questProgressView.setData(questContent, quest);
+ questProgressView.setData(questContent, quest.getProgress());
questParticipationView.setText(getString(R.string.number_participants, quest.getMembers().size()));
} else {