diff --git a/Habitica/res/drawable-hdpi/gems_21.png b/Habitica/res/drawable-hdpi/gems_21.png
new file mode 100644
index 000000000..185d714f4
Binary files /dev/null and b/Habitica/res/drawable-hdpi/gems_21.png differ
diff --git a/Habitica/res/drawable-hdpi/gems_4.png b/Habitica/res/drawable-hdpi/gems_4.png
new file mode 100644
index 000000000..f8d2047e7
Binary files /dev/null and b/Habitica/res/drawable-hdpi/gems_4.png differ
diff --git a/Habitica/res/drawable-hdpi/gems_42.png b/Habitica/res/drawable-hdpi/gems_42.png
new file mode 100644
index 000000000..bc76ed2ba
Binary files /dev/null and b/Habitica/res/drawable-hdpi/gems_42.png differ
diff --git a/Habitica/res/drawable-hdpi/gems_84.png b/Habitica/res/drawable-hdpi/gems_84.png
new file mode 100644
index 000000000..fcc2d5810
Binary files /dev/null and b/Habitica/res/drawable-hdpi/gems_84.png differ
diff --git a/Habitica/res/drawable-mdpi/gems_21.png b/Habitica/res/drawable-mdpi/gems_21.png
new file mode 100644
index 000000000..4e907ffeb
Binary files /dev/null and b/Habitica/res/drawable-mdpi/gems_21.png differ
diff --git a/Habitica/res/drawable-mdpi/gems_4.png b/Habitica/res/drawable-mdpi/gems_4.png
new file mode 100644
index 000000000..9aab9c34d
Binary files /dev/null and b/Habitica/res/drawable-mdpi/gems_4.png differ
diff --git a/Habitica/res/drawable-mdpi/gems_42.png b/Habitica/res/drawable-mdpi/gems_42.png
new file mode 100644
index 000000000..95da7c62b
Binary files /dev/null and b/Habitica/res/drawable-mdpi/gems_42.png differ
diff --git a/Habitica/res/drawable-mdpi/gems_84.png b/Habitica/res/drawable-mdpi/gems_84.png
new file mode 100644
index 000000000..c12b83730
Binary files /dev/null and b/Habitica/res/drawable-mdpi/gems_84.png differ
diff --git a/Habitica/res/drawable-xhdpi/gems_21.png b/Habitica/res/drawable-xhdpi/gems_21.png
new file mode 100644
index 000000000..6fc6af0df
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/gems_21.png differ
diff --git a/Habitica/res/drawable-xhdpi/gems_4.png b/Habitica/res/drawable-xhdpi/gems_4.png
new file mode 100644
index 000000000..7c3678a9f
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/gems_4.png differ
diff --git a/Habitica/res/drawable-xhdpi/gems_42.png b/Habitica/res/drawable-xhdpi/gems_42.png
new file mode 100644
index 000000000..287f3bb38
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/gems_42.png differ
diff --git a/Habitica/res/drawable-xhdpi/gems_84.png b/Habitica/res/drawable-xhdpi/gems_84.png
new file mode 100644
index 000000000..a935cf1e7
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/gems_84.png differ
diff --git a/Habitica/res/drawable-xxhdpi/gems_21.png b/Habitica/res/drawable-xxhdpi/gems_21.png
new file mode 100644
index 000000000..f422827f4
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/gems_21.png differ
diff --git a/Habitica/res/drawable-xxhdpi/gems_4.png b/Habitica/res/drawable-xxhdpi/gems_4.png
new file mode 100644
index 000000000..84f5ecd3b
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/gems_4.png differ
diff --git a/Habitica/res/drawable-xxhdpi/gems_42.png b/Habitica/res/drawable-xxhdpi/gems_42.png
new file mode 100644
index 000000000..affd585f1
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/gems_42.png differ
diff --git a/Habitica/res/drawable-xxhdpi/gems_84.png b/Habitica/res/drawable-xxhdpi/gems_84.png
new file mode 100644
index 000000000..9c8367d74
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/gems_84.png differ
diff --git a/Habitica/res/drawable/purchase_button_background.xml b/Habitica/res/drawable/purchase_button_background.xml
new file mode 100644
index 000000000..697ac5c1d
--- /dev/null
+++ b/Habitica/res/drawable/purchase_button_background.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/fragment_gem_purchase.xml b/Habitica/res/layout/fragment_gem_purchase.xml
index 5c719c1c4..a88e89edb 100644
--- a/Habitica/res/layout/fragment_gem_purchase.xml
+++ b/Habitica/res/layout/fragment_gem_purchase.xml
@@ -1,24 +1,116 @@
-
-
-
-
-
-
-
\ No newline at end of file
+ android:padding="20dp">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/purchase_gem_view.xml b/Habitica/res/layout/purchase_gem_view.xml
new file mode 100644
index 000000000..9c08d9776
--- /dev/null
+++ b/Habitica/res/layout/purchase_gem_view.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/values/attrs_avatar_view.xml b/Habitica/res/values/attrs_avatar_view.xml
index 595b30f9d..0127fc1ae 100644
--- a/Habitica/res/values/attrs_avatar_view.xml
+++ b/Habitica/res/values/attrs_avatar_view.xml
@@ -4,4 +4,10 @@
+
+
+
+
+
+
diff --git a/Habitica/res/values/colors.xml b/Habitica/res/values/colors.xml
index 66b3c488b..fa8d37cc1 100644
--- a/Habitica/res/values/colors.xml
+++ b/Habitica/res/values/colors.xml
@@ -3,10 +3,10 @@
#36205D
#432874
- #4F2A93
+ #4f2a93
#6133B4
#9A62FF
- #BDA8FF
+ #bda8ff
#ede7f6
@color/brand_100
@@ -37,7 +37,7 @@
#50B5E9
#46A7D9
- #2995CD
+ #2995cd
#D9D9D9
#989898
@@ -96,10 +96,12 @@
@color/colorAccent
- #ff5cb85c
- #fff0ad4e
- #ffd9534f
+ @color/good_10
+ @color/neutral_10
+ @color/worse_10
#c8432874
+ #10bda8ff
+
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index f455eafcc..3231628bc 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -414,5 +414,11 @@ To start, which parts of your life do you want to improve?
Habitica Dailies
Habitica Add Task
Google play services could not be found.
+ Buying gems supports the developers and helps keep Habitica running
+ Gems allow you to buy fun extras for you account, including:
+ Cool costumes for your avatar
+ Awesome backgrounds
+ Quests that reward you with pet eggs
+ The ability to change your class before level 100
diff --git a/Habitica/res/values/styles.xml b/Habitica/res/values/styles.xml
index 826cef312..8bcd4ec8d 100644
--- a/Habitica/res/values/styles.xml
+++ b/Habitica/res/values/styles.xml
@@ -182,4 +182,13 @@
- 8dp
- center
+
+
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/GemPurchaseOptionsView.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/GemPurchaseOptionsView.java
new file mode 100644
index 000000000..77d9d0472
--- /dev/null
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/GemPurchaseOptionsView.java
@@ -0,0 +1,48 @@
+package com.habitrpg.android.habitica.ui;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.widget.Button;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.habitrpg.android.habitica.R;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+
+public class GemPurchaseOptionsView extends FrameLayout {
+
+ @BindView(R.id.gem_image)
+ ImageView gemImageView;
+
+ @BindView(R.id.gem_amount)
+ TextView gemAmountTextView;
+
+ @BindView(R.id.purchase_button)
+ Button purchaseButton;
+
+ public GemPurchaseOptionsView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+
+ inflate(context, R.layout.purchase_gem_view, this);
+
+ ButterKnife.bind(this);
+
+ TypedArray a = context.getTheme().obtainStyledAttributes(
+ attrs,
+ R.styleable.GemPurchaseOptionsView,
+ 0, 0);
+
+ gemAmountTextView.setText(a.getText(R.styleable.GemPurchaseOptionsView_gemAmount));
+
+ Drawable iconRes = a.getDrawable(R.styleable.GemPurchaseOptionsView_gemDrawable);
+ if (iconRes != null) {
+ gemImageView.setImageDrawable(iconRes);
+ }
+ }
+}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java
index 43eb1e4b0..88be40981 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java
@@ -34,7 +34,6 @@ import io.fabric.sdk.android.Fabric;
public class GemsPurchaseFragment extends BaseMainFragment {
private static final int GEMS_TO_ADD = 21;
- @BindView(R.id.btn_purchase_gems)
Button btnPurchaseGems;
private Listener listener;
private BillingRequests billingRequests;
@@ -64,11 +63,8 @@ public class GemsPurchaseFragment extends BaseMainFragment {
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- btnPurchaseGems.setEnabled(false);
- ViewHelper.SetBackgroundTint(btnPurchaseGems, ContextCompat.getColor(getContext(), R.color.brand));
-
final ActivityCheckout checkout = listener.getActivityCheckout();
-
+ /*
if (checkout != null) {
checkout.destroyPurchaseFlow();
@@ -126,7 +122,7 @@ public class GemsPurchaseFragment extends BaseMainFragment {
}
});
- }
+ }*/
}
private void updateBuyButtonText(String price) {
@@ -165,7 +161,6 @@ public class GemsPurchaseFragment extends BaseMainFragment {
});
}
- @OnClick(R.id.btn_purchase_gems)
public void doPurchaseGems(Button button) {
// check if the user already bought and if it hasn't validated yet
billingRequests.isPurchased(ProductTypes.IN_APP, HabiticaApplication.Purchase20Gems, new RequestListener() {