diff --git a/Habitica/res/drawable-hdpi/checkmark_small.png b/Habitica/res/drawable-hdpi/checkmark_small.png
new file mode 100644
index 000000000..c23aec127
Binary files /dev/null and b/Habitica/res/drawable-hdpi/checkmark_small.png differ
diff --git a/Habitica/res/drawable-hdpi/indicator_subscribe.png b/Habitica/res/drawable-hdpi/indicator_subscribe.png
new file mode 100644
index 000000000..9ffc0beee
Binary files /dev/null and b/Habitica/res/drawable-hdpi/indicator_subscribe.png differ
diff --git a/Habitica/res/drawable-mdpi/checkmark_small.png b/Habitica/res/drawable-mdpi/checkmark_small.png
new file mode 100644
index 000000000..8365cc635
Binary files /dev/null and b/Habitica/res/drawable-mdpi/checkmark_small.png differ
diff --git a/Habitica/res/drawable-night/indicator_subscribe.png b/Habitica/res/drawable-night/indicator_subscribe.png
new file mode 100644
index 000000000..9ffc0beee
Binary files /dev/null and b/Habitica/res/drawable-night/indicator_subscribe.png differ
diff --git a/Habitica/res/drawable-xhdpi/checkmark_small.png b/Habitica/res/drawable-xhdpi/checkmark_small.png
new file mode 100644
index 000000000..4545f631f
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/checkmark_small.png differ
diff --git a/Habitica/res/drawable-xhdpi/indicator_subscribe.png b/Habitica/res/drawable-xhdpi/indicator_subscribe.png
new file mode 100644
index 000000000..84bf95ac7
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/indicator_subscribe.png differ
diff --git a/Habitica/res/drawable-xxhdpi/checkmark_small.png b/Habitica/res/drawable-xxhdpi/checkmark_small.png
new file mode 100644
index 000000000..d35a15dac
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/checkmark_small.png differ
diff --git a/Habitica/res/drawable-xxhdpi/indicator_subscribe.png b/Habitica/res/drawable-xxhdpi/indicator_subscribe.png
new file mode 100644
index 000000000..cb4d663b6
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/indicator_subscribe.png differ
diff --git a/Habitica/res/drawable/item_indicator_subscribe.xml b/Habitica/res/drawable/item_indicator_subscribe.xml
new file mode 100644
index 000000000..638af238a
--- /dev/null
+++ b/Habitica/res/drawable/item_indicator_subscribe.xml
@@ -0,0 +1,11 @@
+
+
+-
+
+
+
+
+ -
+
+
+
diff --git a/Habitica/res/layout/row_shopitem.xml b/Habitica/res/layout/row_shopitem.xml
index 35e4b3aea..865c65947 100644
--- a/Habitica/res/layout/row_shopitem.xml
+++ b/Habitica/res/layout/row_shopitem.xml
@@ -1,10 +1,11 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:clickable="true"
+ android:focusable="true">
-
+ android:padding="6dp">
+
+
+
()
val specialCategory = ShopCategory()
specialCategory.text = getString(R.string.special)
val item = ShopItem.makeGemItem(context?.resources)
- item.limitedNumberLeft = user?.purchased?.plan?.numberOfGemsLeft
+ if (user?.isSubscribed == true) {
+ item.limitedNumberLeft = user.purchased?.plan?.numberOfGemsLeft
+ } else {
+ item.limitedNumberLeft = -1
+ }
specialCategory.items.add(item)
specialCategory.items.add(ShopItem.makeFortifyItem(context?.resources))
shop1.categories.add(specialCategory)
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt
index c022b63ab..8725fdc93 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/ShopItemViewHolder.kt
@@ -4,7 +4,9 @@ import android.content.Context
import android.graphics.drawable.BitmapDrawable
import android.view.View
import android.view.ViewGroup
+import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.RecyclerView
+import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.databinding.RowShopitemBinding
import com.habitrpg.android.habitica.models.shops.ShopItem
import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
@@ -26,7 +28,13 @@ class ShopItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), Vi
var isPinned = false
set(value) {
field = value
- binding.pinIndicator.visibility = if (isPinned) View.VISIBLE else View.GONE
+ binding.pinIndicator.visibility = if (field) View.VISIBLE else View.GONE
+ }
+
+ var isCompleted = false
+ set(value) {
+ field = value
+ binding.completedIndicator.visibility = if (field) View.VISIBLE else View.GONE
}
init {
@@ -78,6 +86,10 @@ class ShopItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), Vi
binding.itemDetailIndicator.visibility = View.VISIBLE
}
+ if (item.key == "gem" && item.limitedNumberLeft == -1) {
+ binding.itemDetailIndicator.background = AppCompatResources.getDrawable(context, R.drawable.item_indicator_subscribe)
+ }
+
if (binding.itemDetailIndicator.visibility == View.VISIBLE) {
val layoutParams = binding.itemDetailIndicator.layoutParams
layoutParams.width = if (binding.itemDetailIndicator.text.isBlank()) {