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()) {