From edc62302a225e2ce763a40f2a1de3bc1fd38565b Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 7 Oct 2019 18:35:08 +0200 Subject: [PATCH] Implement gifting gems --- Habitica/AndroidManifest.xml | 6 +- .../res/drawable-xhdpi/icon_gift_gems.png | Bin 0 -> 5101 bytes .../drawable-xhdpi/icon_gift_subscription.png | Bin 0 -> 4934 bytes Habitica/res/drawable-xhdpi/icon_messages.png | Bin 0 -> 3719 bytes .../drawable/layout_rounded_bg_light_gray.xml | 2 +- Habitica/res/layout/activity_full_profile.xml | 47 ++++- Habitica/res/layout/activity_gift_gems.xml | 120 +++++++++++++ ...iap.xml => activity_gift_subscription.xml} | 0 Habitica/res/navigation/navigation.xml | 26 +++ Habitica/res/values/strings.xml | 12 +- .../habitica/components/UserComponent.java | 7 +- .../implementation/SocialRepositoryImpl.kt | 14 +- .../habitica/helpers/PurchaseHandler.kt | 3 +- .../ui/activities/FullProfileActivity.kt | 23 +-- .../ui/activities/GiftGemsActivity.kt | 162 ++++++++++++++++++ ...ctivity.kt => GiftSubscriptionActivity.kt} | 19 +- .../ui/fragments/SubscriptionFragment.kt | 4 +- 17 files changed, 409 insertions(+), 36 deletions(-) create mode 100644 Habitica/res/drawable-xhdpi/icon_gift_gems.png create mode 100644 Habitica/res/drawable-xhdpi/icon_gift_subscription.png create mode 100644 Habitica/res/drawable-xhdpi/icon_messages.png create mode 100644 Habitica/res/layout/activity_gift_gems.xml rename Habitica/res/layout/{activity_gift_iap.xml => activity_gift_subscription.xml} (100%) create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GiftGemsActivity.kt rename Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/{GiftIAPActivity.kt => GiftSubscriptionActivity.kt} (90%) diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index a36793af0..81a52524a 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -99,9 +99,13 @@ android:label="@string/app_name"> + + diff --git a/Habitica/res/drawable-xhdpi/icon_gift_gems.png b/Habitica/res/drawable-xhdpi/icon_gift_gems.png new file mode 100644 index 0000000000000000000000000000000000000000..40175d0ec4e3ff5db6827bc7baef58e1cc116c19 GIT binary patch literal 5101 zcmZ{oc|4Te`^U$=GnNPuLzXaOA0{Tt$eLZ&vJNK3I+n>c#=cdSjD1NcL@JCWTPm_v z_T{l>4Iw;=zV!5bpML$G@BMn6``qWcKJRm#>pJKBbH^F#YckMs(E z{Wp+@@6W7G@`D80dqJeYl8}FcFevALmiK?CQ_ugzkb$WGft`B(!hRIvuQe*2R1|jA z(+TB_Mc8AIaA`>?MF}ZM2}xN~DJV=z5(bq~g8ZiWC&M4Kx)0JGFEwPLFax{m;9;!)%LsI z80qWj?sq!9nFk63m;Q}Vq{2j3PH{e&}FTm+WzPj>Y0TL`Cpotr}h0GR&JMyQ&)Qhc(a!I-_`3=Ig{Z{BBNVbSVrZ|(wtz;-Gs z$x{^8)#DG@?h5F%l@+{+A1)d-AvjvE`il>gnLRO6s`0?7#JR^m=i|FXOHM7Ae0Sk- zz#4S(V{h))^o)J#yj5>T;hrOxWlmg6unI|?jr@V(>&Z1i8c#O7-`mLuM%P$_4wT`+V@+BK`e(fWwYcMxsO zPnMr5#?Yk2C9StUVJor{Ye1M_uvbvUV3l$vdgD@bf$pJvE+zMUL_>1yGmftm9i|xt zj2EN8Mhi`Fc->=Nqt@^Qj{9NgR6F@WXiq+O;9|eL^>Vlb->s(L>~jQh-)k*TA_l6T z4LqVN6w*eVy`w1tJ_8H50K6ti^*HUkXrJmxO%)?0yYl(tnd|er(1p+)rKKGj3MXvy zgEa9t{ja2b1dW3k?2AKFq67LHjGEMR$h3d?i_2V0MN-{f-h7~K`q%h(&6fM|WMIJ& zNN)PKbBW_w(J>oz;2^mRq7@8}1fk4;OK-eODzlRqTpsm0Y{JobHnH5DqB?JjSt(Px z?6Q&#pm}*pBqIX$$BI<3%C~B;dm5;%f%N?7kV5nZ=KA+lKw4XL4w9)XaURbe2hy*? zP7N`xm$!t~);d~u-;vFPtMsm|UDs36twmh3nZ5g{jJ%ItPWXD7U-Lsm^Wm-iyM;N{ z@?4?p(0jLE4Nwx$pgvrI5nW%@8_!GTs(c|m&-eG% zc@zCspf(|!JiZ+p%Ayy?ifYPx>~Lx+{?Y`JhO@Ued01xOz1{&9M7@p#Rr3^@xL_yc z))^9mw>^tWvT{>L`)w%aoy@k9%q_&gdn;9XU`>mAL_IowL;n2%=89{rCdp_#zxGs0 zH|`)xgMV1EPuP_!xZd9mk{cZr67WY7F-c8&WlJf}w{ibIk*L3V=;u7zT#1SGKi4F$ zI-A{e14hQ9AT(;oj<=J49?Yr4M$vu%a&^PvRG8;s!Hs)w4MJbvl*dDfj4aRx3Q11K z;Y)ww)mS(>EFw*0R{OVj;c(GyEoZ#$pB3(_-ks8e zUuP`v;R7+7DI#*ik?o*Bqz|-|YTP%_c zl#t+hzKIk+cyrCAfPHM2#$li$CZDfzcr2w0AUeJP9C{G!b}`OHMT!g3YKXWN(g7A_ z0Dri{GsGdI;^NRtg3cj_ox;AVwJeEFW>~?r|hmwEp%?4(F^hYSZ^glHamoM za=P@mq-?e1%lNGNp2Ing8(-|t3csYaW6*@Y&%^pFcL-3kv7iKVB2aT_H9Qmcz-4!q zp(y;q2T9SncSq9+O;UsmEgSnGC|q>m`roYs9V znZ;|#AscRb2*{C7QMKfEHcYc)6s1{zU}-+`+}lV5&%79&txcakkR!d^(D23N!Mk;S zAlnD}D$6*PShs9VC*39)8q7S2-GGFEz|zx+ttg%j59L4SSjcZHvFyITP0bodUk#*_ z7a)GS+VO`t^Pg{}whAlgN{bjdf#z$PjM>aWtg%;3>)ee4Lim}u zxs)rFV5*!V7eikV>q^B7JwE5fk{s*3Eesw@gWW`J-!nH3=qcUjIWGGgaEGf@e|(Y_zh4=2SJ%#uyL0!Pv>i*k zGxGhy%(U$tnJ}Ac?4Kc{iW;i^LVM={Oi>WiX034Q!Bh!5Qy!)lFM9gG1^V2>nG7vD z7syy%&Xgw%es{N5z;p>zZBHs)I790UL&oN1Z60fS70sBqtKpY({YwMe3WOpOj5&_S zUW(p|W*$4toFA^YQ8S_uJ-8t600ynTrp;izHvPoAGbys2G43qedqFah!J(n9r{dJ@ z+N$xBh8q)miX4gKCOvY!H;u|FluB|c#V%g-X`J#}WRFwfGqkp*!x*uh(IBC?^Cse* zmY`2yzsLUN^tXxrnY^C8TSmeLre}!6$w?cZM6koo?Tu-Uu@>{m>Z{lgntsy{dX|q` z(63Rp+_q+Bs;c2>J&HKBRQh+9?%QE;<7e0gZ33$m?ST6$lnF+JLNRW!4w_V-OMaw9 zS6i3EZd8r5w-a8m@|ek*jefmwgm{zTm5V`TR-vsg0&t}LE+Mr>A#?VXhivRmmwa=i zobM~#%t;~Sr>3Ur0D9_b$hlFo5xNHURH3_pd+|FHwGB+`L!2YgFX}#8S8zv@FzJVn zUKc&P(8i9wFPO+BCSbX9>(TS*N@%4eN<5=K7m?FW4XAjp-=4;)V^5XeuUQwz;&`c+ zo(N#4TJ9Vha~Sig#MMW&0c@+e`bZM34rU^J5^qm$GDWG$`-)8GSNh3GBCoM&!u*o$ z$Q)vmy@;XeQQ!MSUq8B-F8qEUN%L$;C*-iPx+osc&3ifg&stu;cBlp!r(g2BD*Z7EKt?91c@6SZfu zZ+;Rh7&XU_J%dgcl{O2ce~D2)EMuA?T=&poIVeeeR|l7%Cdb_^Xf=u9L8h`A9wo4M z73C8zujEVv1mbfM)JN0jGS&Y78p(X^yVq6Uo&W~rcPrcMRP^ldE6t}ovJ^{Z| znDTwGP@rSZ82?JvUv1|okdwt_Craa?%2POZRo(c;^>tHtL@4(9Ki>$=F3;J4M_7;M7*H9ilro#(0^ zPG-gli`+F{9})(CE+~>%32vk>0I?A|&66CvqTmO@c@HeKZ1U6YSWG~~9^kK}sSeeC zCp=chD?I(6u=^ZtEl9S_gzZ7>5senweOb#1x6KOafw&Nht}cxV63)c&)q$4uXPl&Z z=Lr>7vwWlLnh8!gX{{wD!7)B`1MjUhhWTtR+Ss+b4|2S{7DgzZ((_?`$DVfO_3UhP zSGfvlK65GAsL`XGT&l(9ad(edCnQQeb-pkwhjOFD z6o%R4A&o0?sZBDv{4xG%N5Ii?F7a>y^Juq5zlMQ&x(I@HU9mJy zKF?Jds+c5xo0KWOf+1-e=R+cj@3?Q*YFNn6WSelqP7EBFf;b8{d!{F-#pU(@6!~f) zZe+HOdXLXc~}Btfa~d zO8>SIubmhx4BxI%ezRyC5Za~>;7NP2^|r0Ai}PYjf+~8Vx1(=+l$Vf;|kru)w&Rh-w2NDB7HTOquZcC zVA|K>QO{ONCCJ#-ANN56nvayIfZOpyVyowys9Gk&&o0mayD(}I-wui`hF{WcvE@r< zDDts#-qk0@F!txQw9eWZx!Kf>e}7ZD>v%6+@UvbV2-CXX{Z*?zC2nHAwD@~&GX0bN zjz0bE-puY2O@*X^3Eh|H!wNo4%o_rpL`{3^f%m7R8ZWdgYMawGRwjdmc;QVSHq~}N z+8)Rrby0r1?mFhSP@2&fjcX6sjM!q)_gV`ct7+(2p8Zt*dF2fmbD-C3cRi+{s zJz5Soj2)=Ap464%xp`0DtrM3&!q_6cC@-+T48?sz9Ol&YAXO@d2gy}CSh-Dfp4Dqy zusaYzEqj>&CC8%cZbEiGkr;@4vCPTTcy(Zgc3S+J2K`2E+2HV8)*(%H`{J{Qh!1|{ zxR^uA+z(c{JxBmmV1jFz#o^Nq&SzU>)MR-ieFX&(K_92y`$4_1SQupaVen0^i=#_w zfTuQYJW@81pByGK)4% z05C?uU5t?)ge-f7t^q|>fLn;Uv>Oe*rB`uD3b3jPS$;lxk zq!3b4Vn+%wcOO?G##_wQUGUE!f5$;%-R<0*2t+5mE9^Kf#uo2Eyab0IC;IR4*F0Sa z|4roT{#R8;^&z}51caox1mfQyqSK9kruToSW6%G@u-;Dp13UKoiT!NGpL3Ky>L^MV zZ|`)&2aO?O6{I92<-{Z<#3Yc$lCmgC3DkL6dBks;e=7V*tGZz^M7*0Z9*VLKU zuD^nH$KyPX!<)D|5f!BVLVh#3@BE{x;XRHcxLSlaZ_mC z77@)rN&B|5?v(d%A`2*8QdZtU;ZEC!$EB4sPcFjs2c~J)K-cahZ1&!#xu4*4=r%wa4I3 zs#B7Ft!Z)#4z~8M;)cFs?0*PKSJ2?+Aq9O9d2U`q=8))GpyIw<*|YreR&ft{VeT!+ zXHYo5m9Ou|54Qq0MUwnX-D|ZM*EKk#d(Brqa>EsCGy_(#zH5>nG@GL;BBb@sX4)+j zD-<`3Fz52~r&N$C#{wCmrabLFX3;Vg`e)e-&GfnJ=S_JJnsCa0{xnmeAJ(h+v{#RZ zmK80(8kug;7Em12Ie5M|beK9?t~=wkP0ORFS3^7=md?iZL^CP=8hjYHQ#WMOr^8? z?vl~&Cut?er?CcLh~{>G^aQVu0#Lif2}9GjOW(<%rCTjk+n7)yB&lFC&e}g zDWW(t7F+bETlM1)w`DGG&P;4~zvz4L?i{{`!J4yO$TNF$}q8r@~3(&jTfs_5Ss!JyT zIFs`i-Pq*yhP%lE7W?aQjWHT)$bN~nZaY6!7$jgehneeeL#GfAi34Rvxq5W`-* zb8_QiUgB&W* z4en-jM4V);!bK$;Q=8;qIPwi)B*wfDK8KpMxe`PCQ0FEg>nUHEj#u)t4Iyr4dL_pC z#iCTfaXg(f=Jz`2-zr$jZ?JiydA*(D7JP^{tAn6z&uUCcuZO>e{%!&XEr<2v+jC&_ z*DLuD89F9gtqabzynfDiF)^Vi%}WQx<-!_qRkCnWQ`OMe`>i6q6z5Z>6#U56qJAV& zT?Z#-zCUM`*iWu;TNU<=pGek#XsxYgIkYtZt#dL0C?{!gbZKHhhU zg1Zp(ww+4hf$@?Oq_w3X)Yz+Tu@)u84ljhJnrW&G%e{&6D$sSU*a=jgj5?$!!;5n(Y z#_-LM7T`PgQS0Ho6}edhn`!hsTzFJl6!?>+9i_J)MM51zJb%O)8Y!f?!mFU&V%Ejuv5wMNn)Mi!R0_8MHT?G+<9U-E!x9{d(16oJ}@F zC{@5LC0}_DtNdv1qmKA&s^U82dYIy4(Yo)b+NsL@+*0e?A-mmGAX}*Ud~s{T%{ygD z&Y<}Zr3-{V0@s7U9F`^}iWp}(BY{0XvKduXg=u#{QxzJXVI0h^k`{g~odh6sT+D`R zdo3q4Wam~PgZg0zT4|B*tvPel3Ex=jhdPtP0{-2UX{2m+-Y zTb5r^GW+5@d8{n<%C+|cFSAQZn7tTGEp~>}bV9VdgkBmO#_yENq?dYl7~*t=WGgDN zFO3nsyei7dNSyp#@{@!mk8@D1Cdj}S79Dy zJK)P{qC*3lF?4&E-P4TE(iE&mh%XSgBHL(vCb??tO2z$x8K3{^T_BQIM8od#$q0xbw+~;h$!|3#5RmWKY z9^kEoZ;oI-+w+FO@|R#-kTAl4DZE!io#}od%mziIcVM}CW6g{=(~CZ%MKv;amRPfr2~J%qSH8 zfs8!2QiaW-)uzk37sY*5x*fa!74AXjA9TK~`kJ{e%+AcTs z>n$^#eb=Eezy+NiO7*niluG%cFHf2g*_M~TaT0pM{D?f?6#aAJjd*9 ze?b92^WcL7OS!fSudI`lk@S7{^YfjK6rDrCr*O6^ zqPBg%sJnioC{qSADj>gF@!e1da!&`sw}7xl+1rrZDoUFVbjax0ZUMIH-O(+h=;Vbn z^iM5mffyaLyz+xMQH%M*`UlzK#E#{>SI7{nJmIEr_k{iMI+ z((D$c;J4bFe?ZX0F>G<~>Q^N`O8%7dvKla-pqiG>w4f9Drrk5##V%`ZOCj(EagC?V zSHZY~_2e&QVcV5|2>giRXbVuKJe{=B*mnnhk~2J~cVV+jU+d6*9-AjeP_-tFJ$mE=AE}nM7_o9!3cp6V>^yzg&%P&6FM6*1&<49rDmHv@ z)znNe3IZFbuIRmO_oR2?>?6{{#)W&PQ!dOfoJ(#=$&ZJgp{}>1Eee|W8i7Frj_(0L z<{3pb{8?>7>(`Sgs?DqLO6BLTYIap<=AO0JTo2@H^vv-RWn*WjYRMu`pUma)P)ntr z)UXh67Oi`K?Q~uocv9mbUXgzBI^Yi}TXyf_z#jI=B6t|hB7?K4hJD8yYGi9XmgVDi z@I9Nm1u#>M-~&Rw&DZ+i{6csVH}(_F1H8GNvk6S4@BZoi=_g~hXf9h=xEQdzsiI^p(Z6#_0t0e2z@v)?FqpC8e6DV=XPF z#xpsJL5mYx(y-crc=DTO;Vg~P9d15veqZ$VTGFhRP!+?MZ~Pc}U^|;Ct8JVni}>Zp z1BG#chBkP$S}bIw!`dS81+Xo=Cnp?bI;RQEacL2Y^5ov@m?-}R&2 z?+aSgcW^m#I15d&qQ0bx9%h$&q|J=mxZop3e{M7>n%2gk>Xpabv+(9=3g%Z;{@mgf zgo|p{lZ=!ZWuXq4Antk{fqBe14riU(4u?hYUBRaAO literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-xhdpi/icon_messages.png b/Habitica/res/drawable-xhdpi/icon_messages.png new file mode 100644 index 0000000000000000000000000000000000000000..0e377aad8b37739273ff2d6d1db4e73960a180d2 GIT binary patch literal 3719 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 - + \ No newline at end of file diff --git a/Habitica/res/layout/activity_full_profile.xml b/Habitica/res/layout/activity_full_profile.xml index efead96d4..899137d69 100644 --- a/Habitica/res/layout/activity_full_profile.xml +++ b/Habitica/res/layout/activity_full_profile.xml @@ -138,13 +138,12 @@ - + tools:text="Blurb" /> + fresco:actualImageScaleType="fitCenter" + android:visibility="gone"/> + + +