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