From 0a282cb77611a093ae2f9c5ffa1d9094f60e81cc Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 20 Jul 2020 14:50:11 +0200 Subject: [PATCH] begin implementing improved pet screen --- Habitica/res/drawable-hdpi/pet_status_egg.png | Bin 0 -> 592 bytes .../res/drawable-hdpi/pet_status_potion.png | Bin 0 -> 459 bytes Habitica/res/drawable-mdpi/pet_status_egg.png | Bin 0 -> 415 bytes .../res/drawable-mdpi/pet_status_potion.png | Bin 0 -> 299 bytes .../res/drawable-xhdpi/pet_status_egg.png | Bin 0 -> 817 bytes .../res/drawable-xhdpi/pet_status_potion.png | Bin 0 -> 612 bytes .../res/drawable-xxhdpi/pet_status_egg.png | Bin 0 -> 1259 bytes .../res/drawable-xxhdpi/pet_status_potion.png | Bin 0 -> 869 bytes Habitica/res/layout/pet_detail_item.xml | 17 +++++++++++++++ .../inventory/PetDetailRecyclerAdapter.kt | 20 +++++++++++++++++- 10 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 Habitica/res/drawable-hdpi/pet_status_egg.png create mode 100644 Habitica/res/drawable-hdpi/pet_status_potion.png create mode 100644 Habitica/res/drawable-mdpi/pet_status_egg.png create mode 100644 Habitica/res/drawable-mdpi/pet_status_potion.png create mode 100644 Habitica/res/drawable-xhdpi/pet_status_egg.png create mode 100644 Habitica/res/drawable-xhdpi/pet_status_potion.png create mode 100644 Habitica/res/drawable-xxhdpi/pet_status_egg.png create mode 100644 Habitica/res/drawable-xxhdpi/pet_status_potion.png diff --git a/Habitica/res/drawable-hdpi/pet_status_egg.png b/Habitica/res/drawable-hdpi/pet_status_egg.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd39f87de8adf45afa3da1d92cb42f93c00f801 GIT binary patch literal 592 zcmV-W0fquab+ZMblY>iIE7D098zV+* zTT~j0NhE`L6$giw77J!k=u*Lgf+*_fAWpW$p^H!#Q{>fm`kniF<7@EmLUPXe&i9>r z?>YC8x?oMcaUOeT-Y_ewC&l}UC^ItFzfel0AmBJoxNz*vF{|z%E+VzJn% z$%Tv~ws6evAnXic#+QP~3;&71Y~!Sp(=S1YoA?sj*!JL|`*n4BUGn< z4qqZF!bEgxlhrUZ`s|yfE4XgvCPLu~?~J`E@wFJp9SQzlw2Omv;0If>{_*{tt+Fnp z4+4~YbxnE8i}C&?vB2|z+yVJ~|IU(dCY{@bKl~o<8fKaekhPmm<`QsPLy_{QiA3*_ zfP^l82t_Ie4WOC$%e^B`Wty!9Gjx<$?xsV#B7}*q$ZppCi((# zlURvOE<5?Q{>1gRFxE$uO6I5l!5Q$Y!2c0~U;{v{ z0I;6|{TBj|3Bm-`8^v+ZCM{+Tk@C zKMkJdBhuo5SG_;2uzimdZC+JC^1>6o@bs~b01d(1a~(KVmttyW#kU|hQp7vB);u21 eB07$~`s*(X%fPuxYR~Kd0000ZsuJ$dNWwos6^7)q&_TBvO! z^em_c@uVlgSMcH!_yB_R;w9Cr^CxVww$XME*?<1|{@G*+DQkI+{+Uv`EY^Z$8yP4? zooc;UGX@(G?|%l-mVr?}iHwCaPfXx=Kw3Jf{H?0>5*f#9^t93TK7O*@o2rwr@B6u_ zv;a02g*|Vu@;TJcR`|=(kVy>=JWSSF6ODpfrS&!pEK+nGtN2NzZjxF!@KNr(>F*qdi62FxlIlWHdJX^p002ovPDHLkV1hyV B(nYU6vofF3DkxFMRZH0PTam{gsP8|8`g9^`OfNOA9UJ<_T58&R3e`m56PIY6i? zz?hj$=A~rqdz__r6AiR-zQP)GfR%{&d@NORnz9kbz zWwOaS-$MF7*oQb1hDYh@C|8+v!P(@yoADi_ng)74osB<9{|8|$gPiK%S@Zw^002ov JPDHLkV1f!8x3vHO literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-mdpi/pet_status_potion.png b/Habitica/res/drawable-mdpi/pet_status_potion.png new file mode 100644 index 0000000000000000000000000000000000000000..34a1c5c92c78b71d853bfa2274513ea637622ace GIT binary patch literal 299 zcmV+`0o4A9P)#ZIr zMF9eMYjB|R3Lsr(f7alu1Bk44o>?VXD1Z4>gUJjWXtluNDPwNH*qRtd@$~FKt1;AE z8J`(VfXMSaf3^JSJ5VEVYseo-8K1xxDYf%F-#K> z3xjcHDoiss3E3tKqPx1=MHpR3VJ#J<6rr$)AP9mOT^Qn|aA!MT&wI8rzRqbgJ8*da zp6B`g-tQdFsyxwftW9tp5R9E77-wt_aV*rQO;(}-<9`(D94=5*3|83bBZcu030C%&#h%1ZYV}1!A@IPaAXaS z9MpOmhalQ1=Qi+<%uX+OC({!zZCqJ>WGH#8kT(`l_+!>Ku!=Q3s`q&Cmj5kb%H%>J zpOE7!0?v|B;#zr2FgiHafembNBL6uC*U|t%C6W;4!75~vb3RhUi6CrwRWircu!_R# zeSqG2F9XQO2Cs1DxuEw4LiCbPITw!erJ{z#DV7t7M8nS&GbIE&Z;5gCVT;$>(H-)C zmIX$KlLvB!F%I0(67Jd7ZHiCRv{fsX!Rd5bou6Kc2rjnQH>v@@-@hi;Z9kbz)@7IT zal}7PwlsxWTU+yXjYq=qd#r{65q$xnXX`?uETi~ zy*+k979yXPmt8hqV|iC`bl1qIoD+9zw$w@@k3o76Tit^8T2j#l zGf=h#6##lMfIWdq7C50hi(t(toQWsS!vDq?Wt`I|D>@LLhq~)fHYLpYqTZ)9D_FN+ z9`z<{VN(JUn7AIsNkdqhsrPnG<6jYyFq?IIg8kYQk;)&~7wL()wlnSP809STIIE2x zni1X}-1Df7b`eJg6X#4}#&Ft)ZP4E=+Uujjl^el6?YUfc2~shYN_oC~`hL+g&C3Xz vF_FEL$N7DOSx^+^@%}?QpZa`0*S`M-cu zwDcg+ilQJkC1^YpJeq&N)}w_M>7_z1f~B+w=1?kHo1#f}d~eg$x3jUk6gv?1{rG-A zJF}S?1Y^wPUk(B|%NlgA(ekATxC@}}KN)|pCL2m7%{Uy!y50S>h@Xvm z;tvCGZfc>wUWYA1u-esgbu67uSB<)xmP)1gkIL^?lnl$hZ9`Jk8<>_wTIVLgMlXV~ zmV2yWt@JWWq1Ja~(L$UcLrvCN#jHWCCS{LVN(1`7UBiyOm!iML`ilL|*GKHL5kYHl zn6P#-Ka+pa@Ch$UYA2Skx+*@)-{^PC^AP+VUrv#RAtUcs-ZpO{nInj3wd=~VV1=|! z1bvvqVV250d-w?u12=D&JJ2Tvvv|qS-fiay`XL~SS|G2>AiWFBWHLvwc-s)2-HoUW zPsbkiGJ|WBpO136Y<=0@d+cb)(PrvA@3e>z_Z7li-_7f@sZ{E0oB4pAjc<G=}g1jQKz$J_ysy2c!vVFp)q4QRAkG8aK9VEA$?J z-)(Pq+Mc$QN|U?uo$veozTf%topbL{DNWTw#0BsPk;{`#UCeJVWQ)v*++la?w7H*!7BX+D6X7xpW#@;pFV( z$5`HVIzlBr&arrT>LVSeV5y^#c$;n8M|9vSd~JRGzN0EXN0^soadzrwA>}q@$`vR=A<*_7Ab)`%5K&$c5Tkddwf_9CLAO6L~gp z%=PJ7&dnNbEL&Wz!wScGVOu!-xiO;Sbt_kG>FRp@Ul*&kLqnh5vT%9kAU5+k)sF#T zTZCx_y}NS!YR9z)Lc=ei3J-8WFcIzhX0S5|+jcR!7C^%a$HU;h!vp6^2KSZx%Y(VO zvr@7RhKHN4Nb+J|4w?O($COZ6(+b63z-x4KEy-AS(3j8=Xdn{rF-Uylf4B3r4xsb# zvM$a{J4?5G)#~12%dg``cf{A*QaoW`Px_>7f6dFQ1Lpgz@CWxV%uFY+ac}U$Hv95% zx<0=LSc^3=Sy7+a%Ojb>(s3Lgh^NT_ zplvLSm-Jl3fjJ1oX7Dqg!Ap3YvoCm$$Cq5H#RM6Er&3W)0uFNvMKcN~4JcQ1Ml-~! z8rC#=1Ktam`q`>7RYazrSktLMRAi(gZdG6zX1a4_LYS;bJb@y6q^g`{$Phc@4|*TP z3QK3kY}5!(J9x=5+-kx}57oTITAaiYW}_$g_IHAa#c#|HxgCv6c8{uZV*JZ9&$K+d z0z-OS^;c_ScDv1fUsTQG?6K-#+ls{6g%mODea^u0apn40))cD9YX-d8FAtZa73SbT zWaLTQuOP@K7hG9O=Y(Oj_XRpm>Uc$k8O#^_>4_iT#Akr zrT#%LDeNZYS1Y5&`opJPIb3qp&11{*I+@dZ71x{h{42L}hUoXN+Dq}fm*f(Y<_ zY+q;)8Ppr%0u(3O8r^BNM}-VC*z5Fi7g-_04CaDrsO=coxVTI=7oHfGTrEC1<7pZ0 z*d6}|bC0hs8avg~)3XO^MKfiUfp1<<9k+g4tF;1C7G=8gO2CQ9x&C}Ew}kz9zuRb^ zOZkJ8U!rwSrraJ=F$YVTo3o(dA78|_!WG$eD?lJV_q*OP$j&z(1hlhU|Jc4TE zAul{R&PNPlQB7*CWg?b*gK;Ng&I+Z@h9hGOOwB08r)K+vWj%z!&zROj(Li^@ZeQCO zz{eN^){D3pjs_lZwMyDz=F$4;-hmBx&N05$m8GZ43efXR5synQhoa+mx!S*I)Jqwh zmzWCk-pv+;p5b&a8nW38Vk)5}_iV*3f8%p65YB7N08?R3_i|0G?M)v!-HT?-08=I= zlbg8pgJpr(iD=1}=^g|vu{^bIbGP8xzxQdWKVXY22cw}XD$xwrO-v=VeCEEQdY=roD4b$CB%q) + + + + \ No newline at end of file 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 b66dd1c0b..54a20772b 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 @@ -5,6 +5,7 @@ import android.graphics.PorterDuff import android.graphics.drawable.BitmapDrawable import android.view.View import android.view.ViewGroup +import android.widget.ImageView import android.widget.ProgressBar import android.widget.TextView import com.facebook.drawee.view.SimpleDraweeView @@ -86,6 +87,9 @@ class PetDetailRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: B private val imageView: SimpleDraweeView by bindView(R.id.imageView) private val trainedProgressbar: ProgressBar by bindView(R.id.trainedProgressBar) + private val availableWrapper: ViewGroup by bindView(R.id.items_available_wrapper) + private val eggAvailableView: ImageView by bindView(R.id.egg_available_view) + private val potionAvailableView: ImageView by bindView(R.id.egg_available_view) private val isOwned: Boolean get() = this.ownedPet?.trained ?: 0 > 0 @@ -100,9 +104,18 @@ class PetDetailRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: B return false } + private val hasEgg: Boolean + get() { + return ownedItems?.get(animal?.animal + "-eggs") != null + } + private val hasPotion: Boolean + get() { + return ownedItems?.get(animal?.color + "-hatchingPotions") != null + } + private val canHatch: Boolean get() { - return ownedItems?.get(animal?.animal + "-eggs") != null && ownedItems?.get(animal?.color + "-hatchingPotions") != null + return hasEgg && hasPotion } init { @@ -121,10 +134,15 @@ class PetDetailRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: B } else { this.trainedProgressbar.visibility = View.GONE } + availableWrapper.visibility = View.GONE } else { this.trainedProgressbar.visibility = View.GONE this.imageView.alpha = 0.1f + availableWrapper.visibility = View.VISIBLE + eggAvailableView.alpha = if (hasEgg) 1.0f else 0.2f + potionAvailableView.alpha = if (hasPotion) 1.0f else 0.2f } + if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.LOLLIPOP_MR1) { trainedProgressbar.progressBackgroundTintMode = PorterDuff.Mode.SRC_OVER }