From 250e4397e412e93e3c475332d6bd52d75dffd555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=97=D0=B0=D1=86=D0=B5=D0=BF=D0=B8=D0=BD?= Date: Thu, 18 Oct 2018 19:14:39 +0300 Subject: [PATCH] [android] Made native banner for search categories list [android] Added ads removal on search categories screen --- .../res/drawable-hdpi/ic_category_taxi.png | Bin 0 -> 1291 bytes .../drawable-hdpi/ic_category_taxi_night.png | Bin 0 -> 1231 bytes .../res/drawable-mdpi/ic_category_taxi.png | Bin 1053 -> 896 bytes .../drawable-mdpi/ic_category_taxi_night.png | Bin 0 -> 845 bytes .../res/drawable-xhdpi/ic_category_taxi.png | Bin 0 -> 1552 bytes .../drawable-xhdpi/ic_category_taxi_night.png | Bin 0 -> 1501 bytes .../res/drawable-xxhdpi/ic_category_taxi.png | Bin 0 -> 2588 bytes .../ic_category_taxi_night.png | Bin 0 -> 2433 bytes .../res/drawable-xxxhdpi/ic_category_taxi.png | Bin 0 -> 3219 bytes .../ic_category_taxi_night.png | Bin 0 -> 3087 bytes .../layout/item_search_category_luggage.xml | 27 ----- .../res/layout/item_search_promo_category.xml | 69 +++++++++++++ .../purchase/AdsRemovalPurchaseDialog.java | 17 +++- .../maps/search/CategoriesAdapter.java | 93 +++++++++++++++--- .../mapswithme/maps/search/PromoCategory.java | 2 +- .../maps/search/SearchActivity.java | 33 ++++++- .../maps/search/SearchCategoriesFragment.java | 33 ++++++- .../maps/search/SearchFragment.java | 8 +- android/src/com/mapswithme/util/UiUtils.java | 2 +- 19 files changed, 229 insertions(+), 55 deletions(-) create mode 100644 android/res/drawable-hdpi/ic_category_taxi.png create mode 100644 android/res/drawable-hdpi/ic_category_taxi_night.png create mode 100644 android/res/drawable-mdpi/ic_category_taxi_night.png create mode 100644 android/res/drawable-xhdpi/ic_category_taxi.png create mode 100644 android/res/drawable-xhdpi/ic_category_taxi_night.png create mode 100644 android/res/drawable-xxhdpi/ic_category_taxi.png create mode 100644 android/res/drawable-xxhdpi/ic_category_taxi_night.png create mode 100644 android/res/drawable-xxxhdpi/ic_category_taxi.png create mode 100644 android/res/drawable-xxxhdpi/ic_category_taxi_night.png delete mode 100644 android/res/layout/item_search_category_luggage.xml create mode 100644 android/res/layout/item_search_promo_category.xml diff --git a/android/res/drawable-hdpi/ic_category_taxi.png b/android/res/drawable-hdpi/ic_category_taxi.png new file mode 100644 index 0000000000000000000000000000000000000000..d021e140d244f790e93045b936a4e2ae3aceb484 GIT binary patch literal 1291 zcmV+m1@!ufP)e5TRUtMK@c5Z90CMnWQk7~3p$X9DQIY73S3YnMcf74 zMif9njj2;W3It^kosqx|6sEvwXedYuN|4h*5EfPle-kv9S#!2;cjj)-jve!)Q{ubb zy?MJcv$L~%v8}Bw=mu)JY#IPE0Dyl}05HY8W*Gpg0I&i8m1MEJ(ha#HC0xs8rvX4+ z3Crf{08qj!SuB?#649P;Etfq60M`H@4*(NU3D$-+09XQmJIP}CvrR)*gloBMfymm9 zrWAD|T?pGiD8jW|HbXt$tr6vbBc4wd%ax!N0}&?m#ooOdq3||XM0tX!xtMS*mraoq zncM+lCaj{9Ocu*kNnsITnqn$FwAG+M+s;U)GKVWL0Azt=tB|Zl7zqyuSp^YktxA*4 zt_%oSFHpVHI-B+#Ve-bM0VE3~bBQ=~K&R4$KJ>;xFi9Lb(4o>4RJ`b8GC^>@Jvi|j z;ibM4J3KnLv=FA)c&Ea}ZeW5qHPKXQGVWi!<*3qo*d_-y;*p#c%!g=%IV*kSvys^*3(afM0J`#qVpw z3}#N^baPr#V{7wEQ(*NMi6i1CPs3Oy3(n!A+WLP!eh4e93k$M997~SpM_?$jQkV#j zq)yn7k-+5`r(j#;tWYQ@~xp*cl>j6->2YuKtJSN~5mgwqZs$*sYuq^-kpHOn3;N3bIx0;iH3;h+vM zB&K4YW-o}ccqq`pn+w|K=v2Ng-P1lFyEp@T&Ysgg|FQfWepd88!1QhiFh|GP5(Li1 z(5aYSxNmmOSRYl^W}f{mRCzXur@*Ofql-3b3T70fUR+L?b4u&)jn8rJ4vUc^$IR~z z(Ai?baZaVbZib|@4XH}{p(}(rbWTLb?Fi!R9NKwj!8t7(mE?ko z2p1O1I1gi@>oQl83k6hiw6~9HunSo=nzQe_!sB)<58VQ#cwBb>ynN zbm&tuql`c!%#_3tl1ynrxE!qsv&%w89odDy<&@>YKf-hlYAsAFTnuem0Ra;wAz6vj z6JSl9_3{QDq4t!%YtlWSmVB>Xn(IH)XNS?tN93@Y+`NSEgmGRtZG2fMw2Tyv45o26 z@0!=JKplofyL6o%^95^Sq>m9}9* z$Jsjobp%m+?$Vg?poPVtkQSY{WK%o?LOQy`rSOk*x=$V1D%q^)qY!Zt&tud5G-WMv zHrtN>p8y2G(0t_K#ZZ05(~hC|P)mot{1guW{sMTUE}ScUQF;IX002ovPDHLkV1nVW BN)iA7 literal 0 HcmV?d00001 diff --git a/android/res/drawable-hdpi/ic_category_taxi_night.png b/android/res/drawable-hdpi/ic_category_taxi_night.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4c2f92f0d211dcaf6430bc809df5bba9f6ca7f GIT binary patch literal 1231 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 XB{`J|tc^DB00000NkvXXu0mjfI~o1O diff --git a/android/res/drawable-mdpi/ic_category_taxi_night.png b/android/res/drawable-mdpi/ic_category_taxi_night.png new file mode 100644 index 0000000000000000000000000000000000000000..73485a8352b71ddd525114b29b979118ddd9f7a1 GIT binary patch literal 845 zcmV-T1G4;yP)|JS*e}N-Otb4 zy>x9ppOdeKLC_+iE?*%LbsSwxh-gei3Rf?RX1-&20S4M#ktVun<6j*?LtK;VQJtOw{Dgj-*Z>uCLRRtu5!hsjJy6xlFwXLwdBi6!Y{m zj_J#IT;?6Xq?$bOi*xI*+uQW-r>$1<`K;X*AwQg)WS%__!}NDrc!`pL`(SJEibT`~ zzr8(3jp{b@0B_=W$%=5X3--t5W#*aG)((RLC4k}-qXj^-Q@B?e*nE)+6*hbeGpuOq zw*co#CM1c6I%|XNZRdLHO+Q;2zmCV5AV;<$A#6#B^ZM{G^X#)y$t9^NKFty0(vBln zT-xn6tdgUZ7arnrE3Y%jMP-x0u8CSwf)xU~I=k_Up}&?BP)Y`uBx{$oG!>MdCNH@& znT)uQ0vDZOAbhV~Bh3tG2XJ@-?R2?vC4)l~WHD0hZJE|69o>V2)cqJ3nJNYO%e_5n z@9d=apU%$8PI0E*H+ThIN+z5JmdXptjtQrM?;uqg5N?$cM~YPm`hiDG8&VBEju;iS zbk!;;8KkzJGYB*So6h3nqSlBvJKLmL1)5%5EZt)&RHvuDfC-biCsAcq)p`*M;BV8Z zvmG)Ru7)+gPp7{1^Sl>DT^sOzZ<_eQV5L|K4a`F&X{SmOOdwYm3fY$SG2qO9e XC}?_&8~Fxr00000NkvXXu0mjf^YMjd literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/ic_category_taxi.png b/android/res/drawable-xhdpi/ic_category_taxi.png new file mode 100644 index 0000000000000000000000000000000000000000..db269266e1fc100e06c8ec9e7ccdd5af0dadf36d GIT binary patch literal 1552 zcmV+r2JiWaP)OyNZGb~ zhQu?Vh#N`SIkpN@J8$<4iU(BYUD6>!d*>kyV(wXWwL?kh9>`sBYg> z0m*H<8S2|=)2DcNs>>Huh3mO^W2{A0J^T61kdB!=V&6o$~ z-p69h3nx7=_r7GtG#YszW!~GVeB|`;xXH-H(4)zRa#kOPV)?m~_baQg9C}}P@@ZIp z;wh2Mf4|#@zd!pl@jATEYVA79=252|ygX8)Y11(Qx1{!mhkuR!FFyZb@b{q?*2msU zK>;}w@XKS~gKJa3)|h}a+G5r2GY@C}PI?b|3W~aN^=+>uC@4sc+{iGPMbz_R8YfEw6d z?NPGgpp-xiWpx21g*|4*zarD4K`((A%1gh$b=hihj3hDK`QQfYx|P~>SYCT}E;h0G zbi4Kj%VwA&|5AH=ccm~>b8T|J5L-_buZNnyE2noqW2LEQtnNJdw$sQbTV$@(AAxrb*uK5hD}Sl!NmHYT2a}uiG{rIT66~;yLo@s z-xn2l^_?4V{?cWyHf<@j+DoPxv*+75dP$skKz-k&YbI^RiDzTefj~1O;I41$E6h~` z=Qk_fZJvAS6}C+W0?mwoUe6o|f;+RV$h}TtlRK*8NT69DAnk|f`?4(R#4{V(8a5s1 zn>{4quH3fvU8kY2ZbilB1S74&0yJ@lBDi)SjdVW$Txm?(xf!=p$y>W{0q95Nhp7Tm zmJu&HUtnrcN25f}iO}xEyej`+btAjFoc+S;sV&9qTkjV( z(22zPBG$YxjXa1q;$)aD?kPs>iFG=R=Gqw$Pv_tr7#DF7tMh?WJjf3p8!@}X$KWI; zqKJ#o#M!58Yc;)Vy*ewDowMB7Zg8`06!{ULj(AxgNDs1+5pQfzmGv?cnID7fNPZBv zBl%JAj^sZ^;7A&N4g+82r!b^Hhk-(M=k{|L0Pr6TgSnq8VUx-L0000<6+xB8EU_Xks0iXi_hYaru1$yZ*01Ucu{Lb=0W&-x32%F;(06Z~y z0G|^qM>meg7RG}MSRvuEm3?+R-B+gEZ|R0#Y;`EU=F&3-*zn5YfAo zfHm?uAEmufEgG?x9!Qb*Z6%9bJ$76~-bxisJe70n_HEeN-Sz%`cY7P|Z09EOH~4crhTl$$ zXWH>OUp{`!viW8-g4d&ZPBbtDex1X_Jwl{ecS1+ZPMPn+QIEtjl9p%UWkDA zQn_Isl5~R`M2z}BMvXU8_(B;gc63}88C8;bIiwq!(xd(EQ%-C3@JKBC#CE&8B zr>Yi2E~Woefw?#q7X505$tG>#5Mj|dOZrudAfjZvNv9q~RA?xb3s*pG0730=D2EFq zKZGc79_bltEO3Z^%)+LS@3%BfSi+}!d&zh-+izksJbUp%)kj*`R5D5y*85Rpa%2-L ziR&gluzBO8fTY4-9UQ>tZT}Re#-^5T9B;TZ<}9>v^pZUBfSO>@d$Kn3#M9U;L86%x za2VP;cOCeP0zou3QRoGbXyybAdglOo0XJ9VzE5IPk|mTN(JT>=&O=N>S(fBq@0op- zh0PL7+!>PeQ100Jsq?r9zi-9FW`?O&X#v^i!-|k3&u(#k88%BW)oLmr?RPr~VI5Nl zP9<>L8FyHQHs3I|s7Y)pIZ5x#|_QE<{M)PzH#Iw102WCZF#pZk|6%U%r$EGaq@-g_( zC!&a}km8(Ev{fzds&{9lqH~>-?H)JU`e?2IElH65fmD!oO}w#3O*Y6%WOEI2Nt%ne zOVV5gUy|m_2uf0gufxEX`zj3S*I}SgqosWv1_1mA10KMwQO9DP00000NkvXXu0mjf D{8PPT literal 0 HcmV?d00001 diff --git a/android/res/drawable-xxhdpi/ic_category_taxi.png b/android/res/drawable-xxhdpi/ic_category_taxi.png new file mode 100644 index 0000000000000000000000000000000000000000..8731c3132f2639045739265725d6e894683da4bf GIT binary patch literal 2588 zcmV+%3gh*OP);ei=L=;d!fs`52!N?sSgT?}!PaHGv^431fCu#5A z+mDm>H{(e(iF|kazxVd-+qb(D+uPeB?Q}}Tf)FAvgqRUR6!3B2b5`-uxwn?49olX})9&#Rst)xmvxg`FgCRLf}rRIFEwDpQkL}&bkm{ z6~$h)d@n7vjpE(mQ^;1LtH7bk?aCUB=ztc<9zy>wCJij9jK7Z}H^ zRR^MB(?IlHHa)gBCNR2V5cVA-7j&036xxW}&X~9ej$_+i+yH2UHnxd&v|2D)E%ZGf zn|PQMauwP~r!{L67*mR?DICw52FB0xx>BH8Tr>t!O)stz&_+#cGj`Yo?v#p)98TP=mW zt6H+FBrv*#ws+0W0R8c-$~2>@i>`Wcog#~x3}vVV`yr9j3>`YDSTIXY)T4!=+6)vJ z(`4gT{g@_B4NGPAbQ^ep3k}ffo<|6^z4Qyhb>vFz<_*<<)8PzxVh)w!J;$MM}j}4 zg~Mk~Yfb|71>9=?V(ZqU1;+Va7l(r^ zEsLL$0@iE`s^{2R|JB;PBRg7#U9^z}$r9;`1^!(MD*I?^BUAd|$>S$U*WR|*|4QUm zR8IxQN=epPBM=D0nmRqV6DgbQS8WDaTb2VnoMnQfM_XDjyL*NPe%Po7KLW*-mJt>@ zJXB&GCK0TN8el#7<2TaxnFuz!(I#*&Ab1?BdcJy#)DK&XVqGB+SO!^n*Y3`0kVWi+ z|GRsK?Oq53no5D4s&$^g;43NAD0b4~_?wYH(~PdYAt;2?n@ONXvE&!bjXpRin9R87 zo~cmNgp;RUAbsCtQVy3tB=zCU^T^#P9WzMOF)U<) zl0GCg69z7p(!dVnp~GagxM-U$mO4>Dh5Ujs2Z&k(rX~uu?`}BbUe3{7EEEp#<67B1-4!8VsjizeRdsnWb6Xl zE_b0$6i}jAn^mCwaLz?jqgd)hfz5HOj!6o3fzw>>LXBdnL6$CoyX?Q!64U@|1ZSbT znb67CEZ8h}u{}}XV35`153(!<8n)Aft_E4GXX)82cd?l!q&~N%Dv$;U%zElpn#)}% zK^C=+Ow)63OmX+Yy{iXJ0*yqu{-YnhOZ;8%Jd|r|61W*G0PmEFP9EeBQ88GCbiEMe zKE8X$$XHb_UYEl@ux!?*l{yM3u4*O>Cida~Q=?Z2hzl>4YQX@!1WNnC3XZ3VnC4_6-Y6HxN#ZOjX1!rz<83!x~+Qx>q(l!e&*HJ$=6RJuD}=U znb+PRUta_3@^qGPCQIoI03A?V9W*i}$qz3G#R@rIFb(Wz85Y=zn+_I+6O$v9Lc0TQ zS|F7jEq4UQU0ICJEZHt|9g(G?VY=ZHS$ZcMjBnr1u^}2M#i)5hHVf?0(7M1JnIXz7 z5H&@}U8v4Le}Qq2L!�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 literal 0 HcmV?d00001 diff --git a/android/res/drawable-xxxhdpi/ic_category_taxi.png b/android/res/drawable-xxxhdpi/ic_category_taxi.png new file mode 100644 index 0000000000000000000000000000000000000000..8cb5d4943308aa2e0de4de551bf18bd21345340d GIT binary patch literal 3219 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 - - - - diff --git a/android/res/layout/item_search_promo_category.xml b/android/res/layout/item_search_promo_category.xml new file mode 100644 index 0000000000..ad426d71b4 --- /dev/null +++ b/android/res/layout/item_search_promo_category.xml @@ -0,0 +1,69 @@ + + + + + + + + diff --git a/android/src/com/mapswithme/maps/purchase/AdsRemovalPurchaseDialog.java b/android/src/com/mapswithme/maps/purchase/AdsRemovalPurchaseDialog.java index 657269b94c..f453874ce5 100644 --- a/android/src/com/mapswithme/maps/purchase/AdsRemovalPurchaseDialog.java +++ b/android/src/com/mapswithme/maps/purchase/AdsRemovalPurchaseDialog.java @@ -25,6 +25,7 @@ import com.mapswithme.util.log.Logger; import com.mapswithme.util.log.LoggerFactory; import com.mapswithme.util.statistics.Statistics; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -50,8 +51,8 @@ public class AdsRemovalPurchaseDialog extends BaseMwmDialogFragment implements A private AdsRemovalPurchaseControllerProvider mControllerProvider; @NonNull private PurchaseCallback mPurchaseCallback = new PurchaseCallback(); - @Nullable - private AdsRemovalActivationCallback mActivationCallback; + @NonNull + private List mActivationCallbacks = new ArrayList<>(); @SuppressWarnings("NullableProblems") @NonNull private View mYearlyButton; @@ -79,7 +80,9 @@ public class AdsRemovalPurchaseDialog extends BaseMwmDialogFragment implements A LOGGER.d(TAG, "onAttach"); mControllerProvider = (AdsRemovalPurchaseControllerProvider) context; if (context instanceof AdsRemovalActivationCallback) - mActivationCallback = (AdsRemovalActivationCallback) context; + mActivationCallbacks.add((AdsRemovalActivationCallback) context); + if (getParentFragment() instanceof AdsRemovalActivationCallback) + mActivationCallbacks.add((AdsRemovalActivationCallback) getParentFragment()); } @Nullable @@ -236,13 +239,17 @@ public class AdsRemovalPurchaseDialog extends BaseMwmDialogFragment implements A { LOGGER.d(TAG, "onDetach"); mControllerProvider = null; + mActivationCallbacks.clear(); super.onDetach(); } void finishValidation() { - if (mActivationResult && mActivationCallback != null) - mActivationCallback.onAdsRemovalActivation(); + if (mActivationResult) + { + for (AdsRemovalActivationCallback callback : mActivationCallbacks) + callback.onAdsRemovalActivation(); + } dismissAllowingStateLoss(); } diff --git a/android/src/com/mapswithme/maps/search/CategoriesAdapter.java b/android/src/com/mapswithme/maps/search/CategoriesAdapter.java index 1720fab9c0..d1faf22d73 100644 --- a/android/src/com/mapswithme/maps/search/CategoriesAdapter.java +++ b/android/src/com/mapswithme/maps/search/CategoriesAdapter.java @@ -11,10 +11,12 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TextView; import com.mapswithme.maps.R; import com.mapswithme.util.ThemeUtils; +import com.mapswithme.util.UiUtils; import com.mapswithme.util.statistics.Statistics; import java.lang.annotation.Retention; @@ -30,22 +32,31 @@ class CategoriesAdapter extends RecyclerView.Adapter= amountSize) - throw new AssertionError("Promo position must in range: " + throw new AssertionError("Promo position must be in range: " + "[0 - " + amountSize + ")"); allCategories[promo.getPosition()] = promo.getKey(); @@ -119,17 +125,24 @@ class CategoriesAdapter extends RecyclerView.Adapter mAdsRemovalPurchaseController; + public static void start(@NonNull Activity activity, @Nullable String query, @Nullable HotelsFilter filter, @Nullable BookingFilterParams params) { @@ -45,6 +53,22 @@ public class SearchActivity extends BaseMwmFragmentActivity implements CustomNav activity.overridePendingTransition(R.anim.search_fade_in, R.anim.search_fade_out); } + @Override + protected void safeOnCreate(@Nullable Bundle savedInstanceState) + { + super.safeOnCreate(savedInstanceState); + mAdsRemovalPurchaseController = PurchaseFactory.createPurchaseController(); + mAdsRemovalPurchaseController.initialize(this); + } + + @Override + protected void onDestroy() + { + super.onDestroy(); + if (mAdsRemovalPurchaseController != null) + mAdsRemovalPurchaseController.destroy(); + } + @Override @StyleRes public int getThemeResourceId(@NonNull String theme) @@ -111,4 +135,11 @@ public class SearchActivity extends BaseMwmFragmentActivity implements CustomNav super.onBackPressed(); overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); } + + @Nullable + @Override + public PurchaseController getAdsRemovalPurchaseController() + { + return mAdsRemovalPurchaseController; + } } diff --git a/android/src/com/mapswithme/maps/search/SearchCategoriesFragment.java b/android/src/com/mapswithme/maps/search/SearchCategoriesFragment.java index 563deab406..6696417d6d 100644 --- a/android/src/com/mapswithme/maps/search/SearchCategoriesFragment.java +++ b/android/src/com/mapswithme/maps/search/SearchCategoriesFragment.java @@ -3,13 +3,24 @@ package com.mapswithme.maps.search; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.View; import com.mapswithme.maps.R; import com.mapswithme.maps.base.BaseMwmRecyclerFragment; +import com.mapswithme.maps.purchase.AdsRemovalActivationCallback; +import com.mapswithme.maps.purchase.AdsRemovalPurchaseDialog; public class SearchCategoriesFragment extends BaseMwmRecyclerFragment - implements CategoriesAdapter.OnCategorySelectedListener + implements CategoriesAdapter.CategoriesUiListener, AdsRemovalActivationCallback { + @Override + public void onViewCreated(View view, Bundle savedInstanceState) + { + super.onViewCreated(view, savedInstanceState); + getAdapter().updateCategories(this); + } + @NonNull @Override protected CategoriesAdapter createAdapter() @@ -43,12 +54,28 @@ public class SearchCategoriesFragment extends BaseMwmRecyclerFragment