Showing
8 changed files
with
284 additions
and
5 deletions
... | @@ -31,6 +31,7 @@ import ly.warp.sdk.activities.LoyaltyAnalysisActivity; | ... | @@ -31,6 +31,7 @@ import ly.warp.sdk.activities.LoyaltyAnalysisActivity; |
31 | import ly.warp.sdk.activities.LoyaltyHistoryActivity; | 31 | import ly.warp.sdk.activities.LoyaltyHistoryActivity; |
32 | import ly.warp.sdk.activities.LoyaltyMarketAnalysisActivity; | 32 | import ly.warp.sdk.activities.LoyaltyMarketAnalysisActivity; |
33 | import ly.warp.sdk.activities.WarpViewActivity; | 33 | import ly.warp.sdk.activities.WarpViewActivity; |
34 | +import ly.warp.sdk.io.models.ActiveBoxCouponEventModel; | ||
34 | import ly.warp.sdk.io.models.ActiveDFYCouponEventModel; | 35 | import ly.warp.sdk.io.models.ActiveDFYCouponEventModel; |
35 | import ly.warp.sdk.io.models.Coupon; | 36 | import ly.warp.sdk.io.models.Coupon; |
36 | import ly.warp.sdk.io.models.Couponset; | 37 | import ly.warp.sdk.io.models.Couponset; |
... | @@ -53,7 +54,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -53,7 +54,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
53 | // Fields | 54 | // Fields |
54 | // =========================================================== | 55 | // =========================================================== |
55 | 56 | ||
56 | - private TextView mTvUserBadge, mTvUserBadgeCentered, | 57 | + private TextView mTvUserBadge, mTvUserBadgeCentered, mTvBoxCountBadge, |
57 | mTvDealsCountBadge, mTvUnifiedCountBadge, mTvGiftsCountBadge, | 58 | mTvDealsCountBadge, mTvUnifiedCountBadge, mTvGiftsCountBadge, |
58 | mTvVouchersDisabledTitle, mTvVouchersDisabledSubtitle, mTvVouchersTitle, mTvVouchersSubtitle; | 59 | mTvVouchersDisabledTitle, mTvVouchersDisabledSubtitle, mTvVouchersTitle, mTvVouchersSubtitle; |
59 | private ConstraintLayout mLlQuestionnaireCentered, | 60 | private ConstraintLayout mLlQuestionnaireCentered, |
... | @@ -69,8 +70,8 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -69,8 +70,8 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
69 | private boolean mDfyPressed = false, mDealsBannerPressed = false, mQuestionnairePressed = false, | 70 | private boolean mDfyPressed = false, mDealsBannerPressed = false, mQuestionnairePressed = false, |
70 | mHistoryPressed = false, mHistoryMarketPressed = false, | 71 | mHistoryPressed = false, mHistoryMarketPressed = false, |
71 | mHistoryBadgePressed = false, mUnifiedCountPressed = false, | 72 | mHistoryBadgePressed = false, mUnifiedCountPressed = false, |
72 | - mGiftsCountPressed = false; | 73 | + mGiftsCountPressed = false, mBoxCountPressed = false; |
73 | - private RelativeLayout mRlDeals, mRlUnified, mRlGifts; | 74 | + private RelativeLayout mRlDeals, mRlUnified, mRlGifts, mRlBox; |
74 | private boolean mIsDealsEmpty = false, mIsMarketsEmpty = false, mIsCouponsEmpty = false; | 75 | private boolean mIsDealsEmpty = false, mIsMarketsEmpty = false, mIsCouponsEmpty = false; |
75 | 76 | ||
76 | // =========================================================== | 77 | // =========================================================== |
... | @@ -103,10 +104,12 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -103,10 +104,12 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
103 | mTvDealsCountBadge = view.findViewById(R.id.tv_deals_count); | 104 | mTvDealsCountBadge = view.findViewById(R.id.tv_deals_count); |
104 | mTvUnifiedCountBadge = view.findViewById(R.id.tv_sm_count); | 105 | mTvUnifiedCountBadge = view.findViewById(R.id.tv_sm_count); |
105 | mTvGiftsCountBadge = view.findViewById(R.id.tv_gifts_count); | 106 | mTvGiftsCountBadge = view.findViewById(R.id.tv_gifts_count); |
107 | + mTvBoxCountBadge = view.findViewById(R.id.tv_box_count); | ||
106 | mLlBannerInfo = view.findViewById(R.id.ll_banner_info_new); | 108 | mLlBannerInfo = view.findViewById(R.id.ll_banner_info_new); |
107 | mRlDeals = view.findViewById(R.id.rv_deals_count); | 109 | mRlDeals = view.findViewById(R.id.rv_deals_count); |
108 | mRlUnified = view.findViewById(R.id.rv_sm_count); | 110 | mRlUnified = view.findViewById(R.id.rv_sm_count); |
109 | mRlGifts = view.findViewById(R.id.rv_gifts_count); | 111 | mRlGifts = view.findViewById(R.id.rv_gifts_count); |
112 | + mRlBox = view.findViewById(R.id.rv_box_count); | ||
110 | mCvVouchers = view.findViewById(R.id.cv_vouchers); | 113 | mCvVouchers = view.findViewById(R.id.cv_vouchers); |
111 | mCvVouchersDisabled = view.findViewById(R.id.cv_vouchers_disabled); | 114 | mCvVouchersDisabled = view.findViewById(R.id.cv_vouchers_disabled); |
112 | mLlVouchers = view.findViewById(R.id.ll_vouchers); | 115 | mLlVouchers = view.findViewById(R.id.ll_vouchers); |
... | @@ -158,6 +161,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -158,6 +161,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
158 | mHistoryBadgePressed = false; | 161 | mHistoryBadgePressed = false; |
159 | mGiftsCountPressed = false; | 162 | mGiftsCountPressed = false; |
160 | mUnifiedCountPressed = false; | 163 | mUnifiedCountPressed = false; |
164 | + mBoxCountPressed = false; | ||
161 | initViews(); | 165 | initViews(); |
162 | } | 166 | } |
163 | 167 | ||
... | @@ -270,6 +274,25 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -270,6 +274,25 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
270 | } | 274 | } |
271 | return; | 275 | return; |
272 | } | 276 | } |
277 | + /** Active Box Banner */ | ||
278 | + if (view.getId() == R.id.rv_box_count) { | ||
279 | + if (!mBoxCountPressed) { | ||
280 | + mBoxCountPressed = true; | ||
281 | + WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen") | ||
282 | + .concat(":") | ||
283 | + .concat("ActiveBoxBanner")); | ||
284 | + | ||
285 | + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel(); | ||
286 | + analyticsEvent.setEventName("did_tap_box_active_badge"); | ||
287 | + analyticsEvent.setParameter("screen", "Loyalty Wallet"); | ||
288 | + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent)); | ||
289 | + | ||
290 | + ActiveBoxCouponEventModel activeBoxEventModel = new ActiveBoxCouponEventModel(); | ||
291 | + activeBoxEventModel.setPressed(true); | ||
292 | + EventBus.getDefault().post(new WarplyEventBusManager(activeBoxEventModel)); | ||
293 | + } | ||
294 | + return; | ||
295 | + } | ||
273 | /** Unified History */ | 296 | /** Unified History */ |
274 | if (view.getId() == R.id.cl_market_inner) { | 297 | if (view.getId() == R.id.cl_market_inner) { |
275 | if (!mHistoryMarketPressed) { | 298 | if (!mHistoryMarketPressed) { |
... | @@ -461,6 +484,13 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -461,6 +484,13 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
461 | mTvDealsCountBadge.setText("0"); | 484 | mTvDealsCountBadge.setText("0"); |
462 | /** Deals Badge */ | 485 | /** Deals Badge */ |
463 | 486 | ||
487 | + /** Box Badge */ | ||
488 | + if (WarplyManagerHelper.getActiveBoxCoupons() != null) | ||
489 | + mTvBoxCountBadge.setText(String.valueOf(WarplyManagerHelper.getActiveBoxCoupons().size())); | ||
490 | + else | ||
491 | + mTvBoxCountBadge.setText("0"); | ||
492 | + /** Deals Badge */ | ||
493 | + | ||
464 | // if (WarplyManagerHelper.getConsumer() != null) { | 494 | // if (WarplyManagerHelper.getConsumer() != null) { |
465 | // if (!TextUtils.isEmpty(WarplyManagerHelper.getUserTag(getContext()))) { | 495 | // if (!TextUtils.isEmpty(WarplyManagerHelper.getUserTag(getContext()))) { |
466 | // mTvUserBadge.setText(WarplyManagerHelper.getUserTag(getContext())); | 496 | // mTvUserBadge.setText(WarplyManagerHelper.getUserTag(getContext())); |
... | @@ -520,6 +550,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -520,6 +550,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
520 | mRlDeals.setOnClickListener(this); | 550 | mRlDeals.setOnClickListener(this); |
521 | mRlUnified.setOnClickListener(this); | 551 | mRlUnified.setOnClickListener(this); |
522 | mRlGifts.setOnClickListener(this); | 552 | mRlGifts.setOnClickListener(this); |
553 | + mRlBox.setOnClickListener(this); | ||
523 | mCvVouchers.setOnClickListener(this); | 554 | mCvVouchers.setOnClickListener(this); |
524 | mCvVouchersDisabled.setOnClickListener(this); | 555 | mCvVouchersDisabled.setOnClickListener(this); |
525 | } | 556 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2010-2013 Warply Ltd. All rights reserved. | ||
3 | + * | ||
4 | + * Redistribution and use in source and binary forms, without modification, are | ||
5 | + * permitted provided that the following conditions are met: | ||
6 | + * | ||
7 | + * 1. Redistributions of source code must retain the above copyright notice, | ||
8 | + * this list of conditions and the following disclaimer. | ||
9 | + * | ||
10 | + * 2. Redistributions in binary form must reproduce the above copyright notice, | ||
11 | + * this list of conditions and the following disclaimer in the documentation | ||
12 | + * and/or other materials provided with the distribution. | ||
13 | + * | ||
14 | + * THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR | ||
15 | + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
16 | + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
17 | + * EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
19 | + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
20 | + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
21 | + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
22 | + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
23 | + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | + */ | ||
25 | + | ||
26 | +package ly.warp.sdk.io.models; | ||
27 | + | ||
28 | + | ||
29 | +/** | ||
30 | + * Created by Panagiotis Triantafyllou on 30-April-24. | ||
31 | + */ | ||
32 | + | ||
33 | +public class ActiveBoxCouponEventModel { | ||
34 | + private boolean pressed; | ||
35 | + | ||
36 | + public ActiveBoxCouponEventModel() { | ||
37 | + this.pressed = true; | ||
38 | + } | ||
39 | + | ||
40 | + public boolean isPressed() { | ||
41 | + return pressed; | ||
42 | + } | ||
43 | + | ||
44 | + public void setPressed(boolean pressed) { | ||
45 | + this.pressed = pressed; | ||
46 | + } | ||
47 | +} |
1 | +/* | ||
2 | + * Copyright 2010-2013 Warply Ltd. All rights reserved. | ||
3 | + * | ||
4 | + * Redistribution and use in source and binary forms, without modification, are | ||
5 | + * permitted provided that the following conditions are met: | ||
6 | + * | ||
7 | + * 1. Redistributions of source code must retain the above copyright notice, | ||
8 | + * this list of conditions and the following disclaimer. | ||
9 | + * | ||
10 | + * 2. Redistributions in binary form must reproduce the above copyright notice, | ||
11 | + * this list of conditions and the following disclaimer in the documentation | ||
12 | + * and/or other materials provided with the distribution. | ||
13 | + * | ||
14 | + * THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR | ||
15 | + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
16 | + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
17 | + * EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
19 | + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
20 | + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
21 | + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
22 | + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
23 | + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | + */ | ||
25 | + | ||
26 | +package ly.warp.sdk.io.models; | ||
27 | + | ||
28 | + | ||
29 | +/** | ||
30 | + * Created by Panagiotis Triantafyllou on 30-April-24. | ||
31 | + */ | ||
32 | + | ||
33 | +public class ActiveBoxCouponModel { | ||
34 | + private String value; | ||
35 | + private String code; | ||
36 | + | ||
37 | + public ActiveBoxCouponModel() { | ||
38 | + this.value = ""; | ||
39 | + this.code = ""; | ||
40 | + } | ||
41 | + | ||
42 | + public String getValue() { | ||
43 | + return value; | ||
44 | + } | ||
45 | + | ||
46 | + public void setValue(String value) { | ||
47 | + this.value = value; | ||
48 | + } | ||
49 | + | ||
50 | + public String getCode() { | ||
51 | + return code; | ||
52 | + } | ||
53 | + | ||
54 | + public void setCode(String code) { | ||
55 | + this.code = code; | ||
56 | + } | ||
57 | +} |
... | @@ -57,6 +57,7 @@ import ly.warp.sdk.activities.TelcoActivity; | ... | @@ -57,6 +57,7 @@ import ly.warp.sdk.activities.TelcoActivity; |
57 | import ly.warp.sdk.activities.WarpViewActivity; | 57 | import ly.warp.sdk.activities.WarpViewActivity; |
58 | import ly.warp.sdk.db.WarplyDBHelper; | 58 | import ly.warp.sdk.db.WarplyDBHelper; |
59 | import ly.warp.sdk.io.callbacks.CallbackReceiver; | 59 | import ly.warp.sdk.io.callbacks.CallbackReceiver; |
60 | +import ly.warp.sdk.io.models.ActiveBoxCouponModel; | ||
60 | import ly.warp.sdk.io.models.ActiveDFYCouponModel; | 61 | import ly.warp.sdk.io.models.ActiveDFYCouponModel; |
61 | import ly.warp.sdk.io.models.Campaign; | 62 | import ly.warp.sdk.io.models.Campaign; |
62 | import ly.warp.sdk.io.models.CampaignList; | 63 | import ly.warp.sdk.io.models.CampaignList; |
... | @@ -111,6 +112,7 @@ public class WarplyManagerHelper { | ... | @@ -111,6 +112,7 @@ public class WarplyManagerHelper { |
111 | private static ArrayList<Campaign> mCampaignListAll = new ArrayList<Campaign>(); | 112 | private static ArrayList<Campaign> mCampaignListAll = new ArrayList<Campaign>(); |
112 | private static ArrayList<Campaign> mCarouselList = new ArrayList<Campaign>(); | 113 | private static ArrayList<Campaign> mCarouselList = new ArrayList<Campaign>(); |
113 | private static ArrayList<ActiveDFYCouponModel> mDfyCoupons = new ArrayList(); | 114 | private static ArrayList<ActiveDFYCouponModel> mDfyCoupons = new ArrayList(); |
115 | + private static ArrayList<ActiveBoxCouponModel> mBoxCoupons = new ArrayList(); | ||
114 | private static ArrayList<LoyaltyGiftsForYouPackage> mSeasonalList = new ArrayList<>(); | 116 | private static ArrayList<LoyaltyGiftsForYouPackage> mSeasonalList = new ArrayList<>(); |
115 | private static ArrayList<LoyaltyContextualOfferModel> mCCMSList = new ArrayList<>(); | 117 | private static ArrayList<LoyaltyContextualOfferModel> mCCMSList = new ArrayList<>(); |
116 | private static AlertDialog mAlertDialogSharing, mAlertDialogAcceptSharing, | 118 | private static AlertDialog mAlertDialogSharing, mAlertDialogAcceptSharing, |
... | @@ -1205,6 +1207,21 @@ public class WarplyManagerHelper { | ... | @@ -1205,6 +1207,21 @@ public class WarplyManagerHelper { |
1205 | return mDfyCoupons; | 1207 | return mDfyCoupons; |
1206 | } | 1208 | } |
1207 | 1209 | ||
1210 | + /** | ||
1211 | + * Set the List with active Box coupons | ||
1212 | + */ | ||
1213 | + public static void setActiveBoxCoupons(ArrayList<ActiveBoxCouponModel> boxCoupons) { | ||
1214 | + mBoxCoupons.clear(); | ||
1215 | + mBoxCoupons = boxCoupons; | ||
1216 | + } | ||
1217 | + | ||
1218 | + /** | ||
1219 | + * Get the List with active Box coupons | ||
1220 | + */ | ||
1221 | + public static ArrayList<ActiveBoxCouponModel> getActiveBoxCoupons() { | ||
1222 | + return mBoxCoupons; | ||
1223 | + } | ||
1224 | + | ||
1208 | public static Consumer getConsumerInternal() { | 1225 | public static Consumer getConsumerInternal() { |
1209 | return mConsumerInternal; | 1226 | return mConsumerInternal; |
1210 | } | 1227 | } | ... | ... |
... | @@ -2,6 +2,7 @@ package ly.warp.sdk.utils.managers; | ... | @@ -2,6 +2,7 @@ package ly.warp.sdk.utils.managers; |
2 | 2 | ||
3 | import java.util.HashMap; | 3 | import java.util.HashMap; |
4 | 4 | ||
5 | +import ly.warp.sdk.io.models.ActiveBoxCouponEventModel; | ||
5 | import ly.warp.sdk.io.models.ActiveDFYCouponEventModel; | 6 | import ly.warp.sdk.io.models.ActiveDFYCouponEventModel; |
6 | import ly.warp.sdk.io.models.ContexualEventModel; | 7 | import ly.warp.sdk.io.models.ContexualEventModel; |
7 | import ly.warp.sdk.io.models.CouponEventModel; | 8 | import ly.warp.sdk.io.models.CouponEventModel; |
... | @@ -54,6 +55,7 @@ public class WarplyEventBusManager { | ... | @@ -54,6 +55,7 @@ public class WarplyEventBusManager { |
54 | private VouchersFetchedEventModel vouchersFetched; | 55 | private VouchersFetchedEventModel vouchersFetched; |
55 | private CouponEventModel coupon; | 56 | private CouponEventModel coupon; |
56 | private ActiveDFYCouponEventModel activeCoupon; | 57 | private ActiveDFYCouponEventModel activeCoupon; |
58 | + private ActiveBoxCouponEventModel activeBoxCoupon; | ||
57 | private ContexualEventModel ccmsAdded; | 59 | private ContexualEventModel ccmsAdded; |
58 | private CouponsEventModel couponsAdded; | 60 | private CouponsEventModel couponsAdded; |
59 | private RefreshVouchersEventModel vouchersRefreshed; | 61 | private RefreshVouchersEventModel vouchersRefreshed; |
... | @@ -163,6 +165,10 @@ public class WarplyEventBusManager { | ... | @@ -163,6 +165,10 @@ public class WarplyEventBusManager { |
163 | this.activeCoupon = activeCoupon; | 165 | this.activeCoupon = activeCoupon; |
164 | } | 166 | } |
165 | 167 | ||
168 | + public WarplyEventBusManager(ActiveBoxCouponEventModel activeBoxCoupon) { | ||
169 | + this.activeBoxCoupon = activeBoxCoupon; | ||
170 | + } | ||
171 | + | ||
166 | public WarplyEventBusManager(LoyaltySDKFirebaseEventModel fireEvent) { | 172 | public WarplyEventBusManager(LoyaltySDKFirebaseEventModel fireEvent) { |
167 | this.fireEvent = fireEvent; | 173 | this.fireEvent = fireEvent; |
168 | } | 174 | } |
... | @@ -276,6 +282,9 @@ public class WarplyEventBusManager { | ... | @@ -276,6 +282,9 @@ public class WarplyEventBusManager { |
276 | public ActiveDFYCouponEventModel getActiveCoupon() { | 282 | public ActiveDFYCouponEventModel getActiveCoupon() { |
277 | return activeCoupon; | 283 | return activeCoupon; |
278 | } | 284 | } |
285 | + public ActiveBoxCouponEventModel getActiveBoxCoupon() { | ||
286 | + return activeBoxCoupon; | ||
287 | + } | ||
279 | 288 | ||
280 | public WarplyPacingEventModel getPacing() { | 289 | public WarplyPacingEventModel getPacing() { |
281 | return pacing; | 290 | return pacing; | ... | ... |
1 | +<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
2 | + android:width="32dp" | ||
3 | + android:height="32dp" | ||
4 | + android:viewportWidth="32" | ||
5 | + android:viewportHeight="32"> | ||
6 | + <path | ||
7 | + android:pathData="M5.704,27.89V23.636H1.002V18.815H5.711V4.076H31.054V18.562H30.932L30.524,18.559H26.426V24.337H17.337V27.89H5.704Z" | ||
8 | + android:fillColor="#F87A1D" | ||
9 | + android:fillType="evenOdd"/> | ||
10 | + <path | ||
11 | + android:pathData="M11.682,11.773C11.677,11.811 11.703,11.846 11.741,11.851C11.748,11.852 11.754,11.852 11.761,11.851H12.591C12.749,11.857 12.901,11.789 13.001,11.667C13.203,11.424 13.203,11.072 13.001,10.828C12.902,10.704 12.75,10.634 12.591,10.64H11.761C11.708,10.64 11.682,10.667 11.682,10.723V11.773ZM11.682,9.442C11.676,9.479 11.703,9.514 11.74,9.519C11.747,9.52 11.754,9.52 11.761,9.519H12.591C12.73,9.519 12.862,9.462 12.958,9.363C13.06,9.269 13.118,9.137 13.118,8.998C13.119,8.861 13.06,8.731 12.958,8.639C12.861,8.541 12.729,8.486 12.591,8.486H11.761C11.708,8.486 11.682,8.514 11.682,8.569V9.442ZM10.574,12.814V7.527C10.575,7.485 10.593,7.444 10.624,7.415C10.654,7.385 10.694,7.368 10.737,7.367H12.653C12.872,7.365 13.088,7.409 13.288,7.495C13.479,7.579 13.651,7.698 13.797,7.846C13.942,7.996 14.057,8.173 14.134,8.366C14.217,8.568 14.259,8.784 14.257,9.002C14.255,9.192 14.213,9.379 14.135,9.552C14.064,9.724 13.96,9.88 13.827,10.012C13.773,10.064 13.773,10.112 13.827,10.157C13.896,10.218 13.957,10.288 14.006,10.366C14.06,10.449 14.104,10.538 14.14,10.63C14.178,10.729 14.207,10.831 14.227,10.935C14.247,11.039 14.257,11.144 14.257,11.249C14.261,11.491 14.222,11.731 14.142,11.96C14.072,12.164 13.959,12.35 13.81,12.507C13.664,12.658 13.487,12.777 13.291,12.855C13.077,12.939 12.848,12.981 12.618,12.978H10.734C10.692,12.978 10.652,12.96 10.623,12.929C10.592,12.899 10.574,12.858 10.574,12.814Z" | ||
12 | + android:fillColor="#2A292E" | ||
13 | + android:fillType="evenOdd"/> | ||
14 | + <path | ||
15 | + android:pathData="M19.351,9.585C19.338,9.773 19.333,9.97 19.333,10.168C19.333,10.367 19.333,10.564 19.348,10.757C19.363,10.95 19.375,11.134 19.4,11.297C19.417,11.47 19.495,11.631 19.619,11.753C19.745,11.879 19.93,11.941 20.176,11.941C20.421,11.941 20.608,11.879 20.735,11.753C20.86,11.632 20.938,11.47 20.957,11.297C20.977,11.132 20.991,10.952 21,10.758C21.008,10.564 21.011,10.369 21.01,10.168C21.009,9.968 21.01,9.776 20.999,9.585C20.988,9.394 20.977,9.214 20.957,9.041C20.939,8.869 20.86,8.708 20.735,8.588C20.609,8.462 20.423,8.4 20.176,8.4C19.972,8.385 19.772,8.453 19.619,8.588C19.496,8.709 19.418,8.869 19.4,9.04C19.378,9.214 19.362,9.396 19.351,9.585ZM18.243,10.757C18.231,10.564 18.226,10.369 18.226,10.168C18.226,9.968 18.231,9.776 18.243,9.586C18.254,9.396 18.27,9.217 18.291,9.045C18.316,8.81 18.38,8.58 18.479,8.365C18.574,8.155 18.705,7.964 18.867,7.8C19.031,7.638 19.225,7.508 19.438,7.417C19.914,7.231 20.443,7.231 20.919,7.417C21.132,7.507 21.327,7.637 21.491,7.8C21.653,7.964 21.784,8.155 21.878,8.365C21.976,8.581 22.039,8.81 22.067,9.045C22.087,9.217 22.101,9.398 22.109,9.586C22.117,9.774 22.12,9.968 22.12,10.168C22.12,10.368 22.117,10.564 22.109,10.756C22.101,10.944 22.087,11.126 22.067,11.293C22.042,11.529 21.978,11.759 21.878,11.974C21.784,12.183 21.652,12.375 21.49,12.538C21.327,12.703 21.133,12.834 20.92,12.924C20.443,13.111 19.914,13.111 19.437,12.924C19.224,12.833 19.03,12.703 18.866,12.538C18.704,12.375 18.572,12.183 18.478,11.974C18.379,11.758 18.315,11.529 18.289,11.293C18.27,11.129 18.254,10.95 18.243,10.757Z" | ||
16 | + android:fillColor="#2A292E" | ||
17 | + android:fillType="evenOdd"/> | ||
18 | + <path | ||
19 | + android:pathData="M10.384,21.184L11.562,18.516C11.575,18.49 11.583,18.461 11.586,18.432C11.583,18.399 11.575,18.368 11.562,18.338L10.522,16.022C10.494,15.972 10.494,15.912 10.522,15.863C10.547,15.818 10.595,15.792 10.647,15.794H11.551C11.614,15.794 11.664,15.835 11.703,15.915L12.368,17.575C12.379,17.596 12.392,17.606 12.407,17.606H12.423C12.439,17.606 12.452,17.596 12.463,17.575L13.127,15.915C13.148,15.847 13.209,15.798 13.28,15.794H14.188C14.238,15.793 14.285,15.819 14.311,15.863C14.342,15.911 14.344,15.972 14.317,16.022L13.272,18.345C13.259,18.375 13.252,18.407 13.249,18.44C13.252,18.469 13.26,18.498 13.272,18.525L14.45,21.186C14.462,21.211 14.468,21.239 14.469,21.267C14.47,21.294 14.462,21.32 14.446,21.342C14.421,21.385 14.375,21.411 14.325,21.409H13.378C13.3,21.415 13.229,21.364 13.21,21.288L12.463,19.39C12.452,19.369 12.439,19.358 12.423,19.358H12.407C12.392,19.358 12.379,19.369 12.368,19.39L11.62,21.288C11.601,21.364 11.53,21.415 11.452,21.409H10.511C10.46,21.41 10.412,21.382 10.386,21.338C10.371,21.315 10.362,21.288 10.363,21.261C10.364,21.234 10.371,21.207 10.384,21.184Z" | ||
20 | + android:fillColor="#2A292E" | ||
21 | + android:fillType="evenOdd"/> | ||
22 | + <path | ||
23 | + android:pathData="M18.919,19.004V18.202C18.919,18.16 18.936,18.119 18.966,18.089C18.995,18.057 19.036,18.039 19.079,18.04H21.266C21.354,18.043 21.425,18.114 21.427,18.202V19.004C21.427,19.047 21.409,19.087 21.378,19.115C21.349,19.146 21.309,19.163 21.266,19.163H19.079C19.037,19.163 18.997,19.146 18.968,19.115C18.936,19.087 18.919,19.047 18.919,19.004Z" | ||
24 | + android:fillColor="#2A292E" | ||
25 | + android:fillType="evenOdd"/> | ||
26 | + <path | ||
27 | + android:pathData="M26.585,17.535V16.183L26.622,16.221L28.328,17.989L28.585,18.256H27.282L27.024,17.989L26.622,17.573L26.585,17.535ZM25.705,23.656H6.43V4.826H25.428V4.829H25.705V23.656ZM6.423,27.139H16.794V24.623H6.423V27.139ZM26.585,13.737L26.622,13.775L30.24,17.525L30.339,17.627V18.256H29.643L29.385,17.989L26.622,15.126L26.585,15.088V13.737ZM26.585,11.291L26.622,11.329L30.24,15.079L30.339,15.181V16.531L30.24,16.428L26.622,12.681L26.585,12.642V11.291ZM26.585,8.845L26.622,8.883L30.24,12.632L30.339,12.735V14.084L30.24,13.982L26.622,10.234L26.585,10.196V8.845ZM26.585,6.398L26.622,6.437L30.24,10.186L30.339,10.288V11.638L30.24,11.536L26.622,7.788L26.585,7.75V6.398ZM26.585,4.74H27.346L27.431,4.829L30.24,7.74L30.339,7.842V9.192L30.24,9.09L26.622,5.341L26.585,5.303V4.74ZM28.404,4.74H29.706L29.791,4.829L30.24,5.294L30.339,5.396V6.745L30.24,6.643L28.49,4.829L28.404,4.74ZM1.813,22.969H5.506V19.276H1.813V22.969ZM26.622,3.909H26.568H5.513V18.359H0.896V23.886H5.506V28.056H17.712V24.574H26.622V18.908H30.24V18.912H31.158V18.908H31.16V3.909H26.622Z" | ||
28 | + android:fillColor="#2A292E" | ||
29 | + android:fillType="evenOdd"/> | ||
30 | +</vector> |
... | @@ -147,7 +147,6 @@ | ... | @@ -147,7 +147,6 @@ |
147 | android:id="@+id/rv_sm_count" | 147 | android:id="@+id/rv_sm_count" |
148 | android:layout_width="0dp" | 148 | android:layout_width="0dp" |
149 | android:layout_height="104dp" | 149 | android:layout_height="104dp" |
150 | - android:layout_marginHorizontal="12dp" | ||
151 | app:layout_constraintBottom_toBottomOf="parent" | 150 | app:layout_constraintBottom_toBottomOf="parent" |
152 | app:layout_constraintEnd_toStartOf="@+id/rv_gifts_count" | 151 | app:layout_constraintEnd_toStartOf="@+id/rv_gifts_count" |
153 | app:layout_constraintStart_toEndOf="@+id/rv_deals_count" | 152 | app:layout_constraintStart_toEndOf="@+id/rv_deals_count" |
... | @@ -237,7 +236,7 @@ | ... | @@ -237,7 +236,7 @@ |
237 | android:layout_width="0dp" | 236 | android:layout_width="0dp" |
238 | android:layout_height="104dp" | 237 | android:layout_height="104dp" |
239 | app:layout_constraintBottom_toBottomOf="parent" | 238 | app:layout_constraintBottom_toBottomOf="parent" |
240 | - app:layout_constraintEnd_toEndOf="parent" | 239 | + app:layout_constraintEnd_toStartOf="@+id/rv_box_count" |
241 | app:layout_constraintStart_toEndOf="@+id/rv_sm_count" | 240 | app:layout_constraintStart_toEndOf="@+id/rv_sm_count" |
242 | app:layout_constraintTop_toTopOf="parent"> | 241 | app:layout_constraintTop_toTopOf="parent"> |
243 | 242 | ||
... | @@ -319,6 +318,94 @@ | ... | @@ -319,6 +318,94 @@ |
319 | tools:text="6" /> | 318 | tools:text="6" /> |
320 | </LinearLayout> | 319 | </LinearLayout> |
321 | </RelativeLayout> | 320 | </RelativeLayout> |
321 | + | ||
322 | + <RelativeLayout | ||
323 | + android:id="@+id/rv_box_count" | ||
324 | + android:layout_width="0dp" | ||
325 | + android:layout_height="104dp" | ||
326 | + app:layout_constraintBottom_toBottomOf="parent" | ||
327 | + app:layout_constraintEnd_toEndOf="parent" | ||
328 | + app:layout_constraintStart_toEndOf="@+id/rv_gifts_count" | ||
329 | + app:layout_constraintTop_toTopOf="parent"> | ||
330 | + | ||
331 | + <androidx.cardview.widget.CardView | ||
332 | + android:id="@+id/cv_box_count" | ||
333 | + android:layout_width="match_parent" | ||
334 | + android:layout_height="match_parent" | ||
335 | + android:layout_marginHorizontal="2dp" | ||
336 | + android:layout_marginVertical="4dp" | ||
337 | + app:cardCornerRadius="16dp" | ||
338 | + app:cardElevation="2dp"> | ||
339 | + | ||
340 | + <androidx.constraintlayout.widget.ConstraintLayout | ||
341 | + android:layout_width="match_parent" | ||
342 | + android:layout_height="match_parent" | ||
343 | + android:background="@color/white"> | ||
344 | + | ||
345 | + <ImageView | ||
346 | + android:id="@+id/iv_box_logo_count" | ||
347 | + android:layout_width="34dp" | ||
348 | + android:layout_height="34dp" | ||
349 | + android:src="@drawable/sv_box_logo" | ||
350 | + app:layout_constraintBottom_toTopOf="@+id/v_separator_box_count" | ||
351 | + app:layout_constraintEnd_toEndOf="parent" | ||
352 | + app:layout_constraintStart_toStartOf="parent" | ||
353 | + app:layout_constraintTop_toTopOf="parent" /> | ||
354 | + | ||
355 | + <View | ||
356 | + android:id="@+id/v_separator_box_count" | ||
357 | + android:layout_width="match_parent" | ||
358 | + android:layout_height="1dp" | ||
359 | + android:layout_marginHorizontal="8dp" | ||
360 | + android:background="@color/cos_grey2" | ||
361 | + app:layout_constraintBottom_toBottomOf="parent" | ||
362 | + app:layout_constraintEnd_toEndOf="parent" | ||
363 | + app:layout_constraintStart_toStartOf="parent" | ||
364 | + app:layout_constraintTop_toTopOf="parent" /> | ||
365 | + | ||
366 | + <TextView | ||
367 | + android:id="@+id/tv_box_count_title" | ||
368 | + fontPath="fonts/PeridotPE-SemiBold.ttf" | ||
369 | + android:layout_width="0dp" | ||
370 | + android:layout_height="wrap_content" | ||
371 | + android:layout_marginHorizontal="8dp" | ||
372 | + android:gravity="center" | ||
373 | + android:includeFontPadding="false" | ||
374 | + android:text="@string/cos_box" | ||
375 | + android:textColor="@color/cos_light_black" | ||
376 | + android:textSize="10sp" | ||
377 | + app:layout_constraintBottom_toBottomOf="parent" | ||
378 | + app:layout_constraintEnd_toEndOf="parent" | ||
379 | + app:layout_constraintStart_toStartOf="parent" | ||
380 | + app:layout_constraintTop_toBottomOf="@+id/v_separator_box_count" /> | ||
381 | + </androidx.constraintlayout.widget.ConstraintLayout> | ||
382 | + </androidx.cardview.widget.CardView> | ||
383 | + | ||
384 | + <LinearLayout | ||
385 | + android:layout_width="16dp" | ||
386 | + android:layout_height="16dp" | ||
387 | + android:layout_alignParentEnd="true" | ||
388 | + android:layout_marginTop="4dp" | ||
389 | + android:layout_marginEnd="1dp" | ||
390 | + android:background="@drawable/shape_cos_counter_orange" | ||
391 | + android:gravity="center" | ||
392 | + android:orientation="vertical" | ||
393 | + android:translationZ="2dp" | ||
394 | + app:layout_constraintEnd_toEndOf="parent" | ||
395 | + app:layout_constraintTop_toTopOf="parent"> | ||
396 | + | ||
397 | + <TextView | ||
398 | + android:id="@+id/tv_box_count" | ||
399 | + fontPath="fonts/PeridotPE-SemiBold.ttf" | ||
400 | + android:layout_width="wrap_content" | ||
401 | + android:layout_height="16dp" | ||
402 | + android:includeFontPadding="false" | ||
403 | + android:maxLines="1" | ||
404 | + android:textColor="@color/cos_light_black" | ||
405 | + android:textSize="12sp" | ||
406 | + tools:text="6" /> | ||
407 | + </LinearLayout> | ||
408 | + </RelativeLayout> | ||
322 | </androidx.constraintlayout.widget.ConstraintLayout> | 409 | </androidx.constraintlayout.widget.ConstraintLayout> |
323 | </LinearLayout> | 410 | </LinearLayout> |
324 | 411 | ... | ... |
... | @@ -20,6 +20,7 @@ | ... | @@ -20,6 +20,7 @@ |
20 | <string name="cos_gifts_title">GIFTS FOR YOU</string> | 20 | <string name="cos_gifts_title">GIFTS FOR YOU</string> |
21 | <string name="cos_more_title">MORE FOR YOU</string> | 21 | <string name="cos_more_title">MORE FOR YOU</string> |
22 | <string name="cos_free_coupons">FREE COUPONS</string> | 22 | <string name="cos_free_coupons">FREE COUPONS</string> |
23 | + <string name="cos_box">BOX</string> | ||
23 | <string name="menu_home">Αρχική</string> | 24 | <string name="menu_home">Αρχική</string> |
24 | <string name="menu_explore">Ανακάλυψε</string> | 25 | <string name="menu_explore">Ανακάλυψε</string> |
25 | <string name="menu_shop">Shop</string> | 26 | <string name="menu_shop">Shop</string> | ... | ... |
-
Please register or login to post a comment