diff --git a/Habitica/res/layout/animal_overview_item.xml b/Habitica/res/layout/animal_overview_item.xml
index 7ef273cbd..68c34da9d 100644
--- a/Habitica/res/layout/animal_overview_item.xml
+++ b/Habitica/res/layout/animal_overview_item.xml
@@ -1,15 +1,11 @@
-
-
+ android:layout_width="match_parent"
+ android:orientation="vertical"
+ android:background="@drawable/layout_rounded_bg_gray_700"
+ style="@style/CardContent">
-
\ No newline at end of file
diff --git a/Habitica/res/layout/fragment_recyclerview.xml b/Habitica/res/layout/fragment_recyclerview.xml
index 94d7275f6..0207251d9 100644
--- a/Habitica/res/layout/fragment_recyclerview.xml
+++ b/Habitica/res/layout/fragment_recyclerview.xml
@@ -13,7 +13,8 @@
android:scrollbarThumbVertical="@color/scrollbarThumb"
android:scrollbars="vertical"
android:clipToPadding="false"
- android:paddingBottom="?attr/actionBarSize"/>
+ android:paddingBottom="?attr/actionBarSize"
+ android:background="@color/white"/>
-
-
+
+
-
-
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/titleTextView"
+ style="@style/RowTitle"/>
-
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt
index d35653db1..87f150753 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt
@@ -1,5 +1,6 @@
package com.habitrpg.android.habitica.ui.adapter.inventory
+import android.content.Context
import android.content.res.Resources
import android.graphics.drawable.BitmapDrawable
import androidx.recyclerview.widget.RecyclerView
@@ -30,6 +31,7 @@ import io.realm.RealmRecyclerViewAdapter
class MountDetailRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: Boolean) : RealmRecyclerViewAdapter(data, autoUpdate) {
var itemType: String? = null
+ var context: Context? = null
private var ownedMounts: Map? = null
private val equipEvents = PublishSubject.create()
@@ -72,18 +74,20 @@ class MountDetailRecyclerAdapter(data: OrderedRealmCollection?, autoUpdat
titleView.text = item.color
ownedTextView.visibility = View.GONE
val imageName = "Mount_Icon_" + itemType + "-" + item.color
- if (ownedMount?.owned == true) {
- DataBindingUtils.loadImage(this.imageView, imageName)
- } else {
- DataBindingUtils.loadImage(imageName) {
- val drawable = BitmapDrawable(context?.resources, it.extractAlpha())
+ this.imageView.alpha = 1.0f
+ if (ownedMount?.owned != true) {
+ this.imageView.alpha = 0.1f
+ }
+ imageView.backgroundCompat = null
+ val owned = ownedMount?.owned ?: false
+ DataBindingUtils.loadImage(imageName) {
+ val drawable = BitmapDrawable(context?.resources, if (owned) it else it.extractAlpha())
- Observable.just(drawable)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(Consumer {
- imageView.backgroundCompat = drawable
- }, RxErrorHandler.handleEmptyError())
- }
+ Observable.just(drawable)
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(Consumer {
+ imageView.backgroundCompat = drawable
+ }, RxErrorHandler.handleEmptyError())
}
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt
index 01676c0a5..07d4086b3 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt
@@ -107,23 +107,19 @@ class PetDetailRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: B
} else {
this.trainedProgressbar.visibility = View.GONE
}
- DataBindingUtils.loadImage(this.imageView, imageName)
} else {
this.trainedProgressbar.visibility = View.GONE
- if (this.ownedPet?.trained == null || ownedPet?.trained == 0) {
- DataBindingUtils.loadImage(imageName) {
- val drawable = BitmapDrawable(context?.resources, it.extractAlpha())
-
- Observable.just(drawable)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(Consumer {
- imageView.backgroundCompat = drawable
- }, RxErrorHandler.handleEmptyError())
- }
- } else {
- DataBindingUtils.loadImage(this.imageView, imageName)
- }
- this.imageView.alpha = 0.3f
+ this.imageView.alpha = 0.1f
+ }
+ imageView.backgroundCompat = null
+ val trained = ownedPet?.trained ?: 0
+ DataBindingUtils.loadImage(imageName) {
+ val drawable = BitmapDrawable(context?.resources, if (trained == 0) it.extractAlpha() else it)
+ Observable.just(drawable)
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(Consumer {
+ imageView.backgroundCompat = drawable
+ }, RxErrorHandler.handleEmptyError())
}
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt
index eaf3e0f9e..3216713b2 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt
@@ -1,23 +1,31 @@
package com.habitrpg.android.habitica.ui.adapter.inventory
+import android.content.Context
+import android.graphics.drawable.BitmapDrawable
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.facebook.drawee.view.SimpleDraweeView
import com.habitrpg.android.habitica.R
+import com.habitrpg.android.habitica.extensions.backgroundCompat
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.MainNavigationController
+import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.inventory.Animal
import com.habitrpg.android.habitica.ui.activities.MainActivity
import com.habitrpg.android.habitica.ui.fragments.inventory.stable.StableFragmentDirections
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.viewHolders.SectionViewHolder
+import io.reactivex.Observable
+import io.reactivex.android.schedulers.AndroidSchedulers
+import io.reactivex.functions.Consumer
class StableRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter() {
var itemType: String? = null
+ var context: Context? = null
var activity: MainActivity? = null
private var itemList: List = ArrayList()
@@ -74,17 +82,24 @@ class StableRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<
titleView.text = item.animal
ownedTextView.visibility = View.VISIBLE
this.imageView.alpha = 1.0f
- if (item.numberOwned > 0) {
- this.ownedTextView.text = animal?.numberOwned?.toString()
- if (itemType == "pets") {
- DataBindingUtils.loadImage(this.imageView, "Pet-" + item.key)
- } else {
- DataBindingUtils.loadImage(this.imageView, "Mount_Icon_" + item.key)
- }
+ val imageName = if (itemType == "pets") {
+ "Pet-" + item.key
} else {
- ownedTextView.visibility = View.GONE
- DataBindingUtils.loadImage(this.imageView, "PixelPaw")
- this.imageView.alpha = 0.4f
+ "Mount_Icon_" + item.key
+ }
+ this.ownedTextView.text = animal?.numberOwned?.toString()
+ ownedTextView.visibility = View.GONE
+ imageView.backgroundCompat = null
+ DataBindingUtils.loadImage(imageName) {
+ val drawable = BitmapDrawable(context?.resources, if (item.numberOwned > 0) it else it.extractAlpha())
+ Observable.just(drawable)
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(Consumer {
+ imageView.backgroundCompat = drawable
+ }, RxErrorHandler.handleEmptyError())
+ }
+ if (item.numberOwned <= 0) {
+ this.imageView.alpha = 0.1f
}
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt
index 871193608..fb8338623 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt
@@ -63,6 +63,7 @@ class MountDetailRecyclerFragment : BaseMainFragment() {
if (adapter == null) {
adapter = MountDetailRecyclerAdapter(null, true)
adapter?.itemType = this.animalType
+ adapter?.context = context
recyclerView.adapter = adapter
recyclerView.itemAnimator = SafeDefaultItemAnimator()
this.loadItems()
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt
index 2c27e6d0f..2433a1209 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt
@@ -85,6 +85,7 @@ class StableRecyclerFragment : BaseFragment() {
adapter = StableRecyclerAdapter()
adapter?.activity = this.activity as? MainActivity
adapter?.itemType = this.itemType
+ adapter?.context = context
recyclerView?.adapter = adapter
recyclerView?.itemAnimator = SafeDefaultItemAnimator()
}