From 0ab69c33efa8cc702b6efb5a44df314a099c642e Mon Sep 17 00:00:00 2001 From: Leland Wu Date: Fri, 15 May 2020 16:59:47 -0400 Subject: [PATCH] resolve merge conflict in strings --- .../layout_rounded_bg_animalitem_complete.xml | 6 ++++ Habitica/res/layout/animal_overview_item.xml | 10 +++++-- Habitica/res/values/colors.xml | 1 + Habitica/res/values/dimens.xml | 2 +- Habitica/res/values/strings.xml | 1 + Habitica/res/xml/network_security_config.xml | 2 +- .../habitica/models/inventory/Animal.java | 4 +++ .../habitica/models/inventory/Mount.java | 16 +++++++++- .../habitica/models/inventory/Pet.java | 15 ++++++++++ .../inventory/StableRecyclerAdapter.kt | 30 +++++++++++++------ .../stable/StableRecyclerFragment.kt | 6 ++-- 11 files changed, 76 insertions(+), 17 deletions(-) create mode 100644 Habitica/res/drawable/layout_rounded_bg_animalitem_complete.xml diff --git a/Habitica/res/drawable/layout_rounded_bg_animalitem_complete.xml b/Habitica/res/drawable/layout_rounded_bg_animalitem_complete.xml new file mode 100644 index 000000000..a8cb4e3d1 --- /dev/null +++ b/Habitica/res/drawable/layout_rounded_bg_animalitem_complete.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Habitica/res/layout/animal_overview_item.xml b/Habitica/res/layout/animal_overview_item.xml index 6253dc36e..7aa7a1f06 100644 --- a/Habitica/res/layout/animal_overview_item.xml +++ b/Habitica/res/layout/animal_overview_item.xml @@ -10,9 +10,9 @@ android:layout_marginTop="6dp" android:layout_marginBottom="6dp" android:layout_width="80dp" - android:layout_height="112dp" + android:layout_height="108dp" android:orientation="vertical" - android:background="@drawable/layout_rounded_bg_gray_700" + android:background="@drawable/layout_rounded_bg_shopitem" android:layout_centerInParent="true"> style="@style/CardContent"> diff --git a/Habitica/res/values/colors.xml b/Habitica/res/values/colors.xml index 295b8cd59..153ffc3a5 100644 --- a/Habitica/res/values/colors.xml +++ b/Habitica/res/values/colors.xml @@ -148,6 +148,7 @@ #000 #efeff4 #fafaff + #6ECDB2 #794b00 diff --git a/Habitica/res/values/dimens.xml b/Habitica/res/values/dimens.xml index 8c62b58d2..32120ca63 100644 --- a/Habitica/res/values/dimens.xml +++ b/Habitica/res/values/dimens.xml @@ -53,7 +53,7 @@ 84dp 28dp 68dp - 68dp + 65dp 124dp 10dp 16dp diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index d04de354c..8fb2b3694 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -1015,4 +1015,5 @@ You are unable to buy that amount. Still have a question? Delete Checklist entry + %1$s/%2$s diff --git a/Habitica/res/xml/network_security_config.xml b/Habitica/res/xml/network_security_config.xml index f808081d4..4c9e97462 100644 --- a/Habitica/res/xml/network_security_config.xml +++ b/Habitica/res/xml/network_security_config.xml @@ -6,6 +6,6 @@ - 192.168.178.52 + 10.0.0.107 \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java index a2f2bbd41..96c1b7f90 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java @@ -29,4 +29,8 @@ public interface Animal { Integer getNumberOwned(); void setNumberOwned(Integer numberOwned); + + Integer getTotalNumber(); + + void setTotalNumber(Integer totalNumber); } \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Mount.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Mount.java index 19326be4f..1fd23de3c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Mount.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Mount.java @@ -12,7 +12,10 @@ public class Mount extends RealmObject implements Animal { boolean premium; @Ignore - Integer numberOwned; + private Integer numberOwned; + + @Ignore + private Integer totalNumber; public String getKey() { return key; @@ -82,4 +85,15 @@ public class Mount extends RealmObject implements Animal { public void setNumberOwned(Integer numberOwned) { this.numberOwned = numberOwned; } + + public Integer getTotalNumber() { + if (totalNumber == null) { + return 0; + } + return totalNumber; + } + + public void setTotalNumber(Integer totalNumber) { + this.totalNumber = totalNumber; + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Pet.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Pet.java index cf8c531e6..642c2c1fc 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Pet.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Pet.java @@ -14,6 +14,9 @@ public class Pet extends RealmObject implements Animal{ @Ignore private Integer numberOwned; + @Ignore + private Integer totalNumber; + public String getKey() { return key; } @@ -83,4 +86,16 @@ public class Pet extends RealmObject implements Animal{ public void setNumberOwned(Integer numberOwned) { this.numberOwned = numberOwned; } + + public Integer getTotalNumber() { + if (totalNumber == null) { + return 0; + } + + return totalNumber; + } + + public void setTotalNumber(Integer totalNumber) { + this.totalNumber = totalNumber; + } } 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 280a3a0fe..a9eea4a2b 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,14 +1,12 @@ package com.habitrpg.android.habitica.ui.adapter.inventory import android.content.Context +import android.graphics.Color import android.graphics.drawable.BitmapDrawable import android.view.View import android.view.ViewGroup -import android.widget.FrameLayout -import android.widget.LinearLayout -import android.widget.RelativeLayout import android.widget.TextView -import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.GridLayoutManager import com.facebook.drawee.view.SimpleDraweeView import com.habitrpg.android.habitica.R @@ -118,16 +116,22 @@ class StableRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter< } ownedTextView.visibility = View.VISIBLE this.imageView.alpha = 1.0f + this.titleView.alpha = 1.0f + this.ownedTextView.alpha = 1.0f + val imageName = if (itemType == "pets") { - "Pet-" + item.key + "Pet_Egg_" + item.animal } else { "Mount_Icon_" + item.key } - this.ownedTextView.text = animal?.numberOwned?.toString() - ownedTextView.visibility = if (animal?.numberOwned == 0 || animal?.type == "special") View.GONE else View.VISIBLE + + var owned = animal?.numberOwned?.toString() + var totalNum = animal?.totalNumber?.toString() + this.ownedTextView.text = context?.getString(R.string.pet_ownership_fraction, owned, totalNum) + ownedTextView.visibility = if (animal?.type == "special") View.GONE else View.VISIBLE imageView.background = null DataBindingUtils.loadImage(imageName) { - val drawable = BitmapDrawable(context?.resources, if (item.numberOwned > 0) it else it.extractAlpha()) + val drawable = BitmapDrawable(context?.resources, it) Observable.just(drawable) .observeOn(AndroidSchedulers.mainThread()) .subscribe(Consumer { @@ -135,7 +139,15 @@ class StableRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter< }, RxErrorHandler.handleEmptyError()) } if (item.numberOwned <= 0) { - this.imageView.alpha = 0.1f + this.imageView.alpha = 0.2f + this.titleView.alpha = 0.2f + this.ownedTextView.alpha = 0.2f + } + + if (item.numberOwned == item.totalNumber) { + this.ownedTextView.setTextColor(Color.parseColor("#FFFFFF")) + var new_background = context?.getDrawable(R.drawable.layout_rounded_bg_animalitem_complete)?.mutate() + this.ownedTextView.background = new_background } } 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 2919a411a..ebbd660d2 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 @@ -144,7 +144,6 @@ class StableRecyclerFragment : BaseFragment() { val items = ArrayList() var lastAnimal: Animal = unsortedAnimals[0] ?: return items var lastSectionTitle = "" - for (animal in unsortedAnimals) { val identifier = if (animal.animal.isNotEmpty() && animal.type != "special") animal.animal else animal.key val lastIdentifier = if (lastAnimal.animal.isNotEmpty()) lastAnimal.animal else lastAnimal.key @@ -154,6 +153,9 @@ class StableRecyclerFragment : BaseFragment() { } lastAnimal = animal } + + lastAnimal.totalNumber += 1 + if (animal.type != lastSectionTitle) { if (items.size > 0 && items[items.size - 1].javaClass == String::class.java) { items.removeAt(items.size - 1) @@ -175,6 +177,7 @@ class StableRecyclerFragment : BaseFragment() { } } } + } if (!((lastAnimal.type == "premium" || lastAnimal.type == "special") && lastAnimal.numberOwned == 0)) { items.add(lastAnimal) @@ -187,6 +190,5 @@ class StableRecyclerFragment : BaseFragment() { companion object { private const val ITEM_TYPE_KEY = "CLASS_TYPE_KEY" private const val HEADER_VIEW_TYPE = 0 - private const val SECTION_VIEW_TYPE = 1 } }