Panagiotis Triantafyllou

my rewards box tile part2

...@@ -2,7 +2,7 @@ apply plugin: 'com.android.library' ...@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
2 2
3 ext { 3 ext {
4 PUBLISH_GROUP_ID = 'ly.warp' 4 PUBLISH_GROUP_ID = 'ly.warp'
5 - PUBLISH_VERSION = '4.5.5.4r23' 5 + PUBLISH_VERSION = '4.5.5.4r24'
6 PUBLISH_ARTIFACT_ID = 'warply-android-sdk' 6 PUBLISH_ARTIFACT_ID = 'warply-android-sdk'
7 } 7 }
8 8
......
...@@ -2,6 +2,7 @@ package ly.warp.sdk.fragments; ...@@ -2,6 +2,7 @@ package ly.warp.sdk.fragments;
2 2
3 import static android.app.Activity.RESULT_OK; 3 import static android.app.Activity.RESULT_OK;
4 4
5 +import android.content.Context;
5 import android.content.Intent; 6 import android.content.Intent;
6 import android.os.Bundle; 7 import android.os.Bundle;
7 import android.os.Handler; 8 import android.os.Handler;
...@@ -10,6 +11,8 @@ import android.text.TextUtils; ...@@ -10,6 +11,8 @@ import android.text.TextUtils;
10 import android.view.LayoutInflater; 11 import android.view.LayoutInflater;
11 import android.view.View; 12 import android.view.View;
12 import android.view.ViewGroup; 13 import android.view.ViewGroup;
14 +import android.view.ViewTreeObserver;
15 +import android.widget.HorizontalScrollView;
13 import android.widget.ImageView; 16 import android.widget.ImageView;
14 import android.widget.LinearLayout; 17 import android.widget.LinearLayout;
15 import android.widget.RelativeLayout; 18 import android.widget.RelativeLayout;
...@@ -24,6 +27,10 @@ import androidx.fragment.app.Fragment; ...@@ -24,6 +27,10 @@ import androidx.fragment.app.Fragment;
24 import org.greenrobot.eventbus.EventBus; 27 import org.greenrobot.eventbus.EventBus;
25 import org.greenrobot.eventbus.Subscribe; 28 import org.greenrobot.eventbus.Subscribe;
26 29
30 +import java.util.ArrayList;
31 +import java.util.Collections;
32 +import java.util.Comparator;
33 +
27 import ly.warp.sdk.R; 34 import ly.warp.sdk.R;
28 import ly.warp.sdk.activities.ActiveCouponsActivity; 35 import ly.warp.sdk.activities.ActiveCouponsActivity;
29 import ly.warp.sdk.activities.ActiveUnifiedCouponsActivity; 36 import ly.warp.sdk.activities.ActiveUnifiedCouponsActivity;
...@@ -36,6 +43,7 @@ import ly.warp.sdk.io.models.ActiveDFYCouponEventModel; ...@@ -36,6 +43,7 @@ import ly.warp.sdk.io.models.ActiveDFYCouponEventModel;
36 import ly.warp.sdk.io.models.Coupon; 43 import ly.warp.sdk.io.models.Coupon;
37 import ly.warp.sdk.io.models.Couponset; 44 import ly.warp.sdk.io.models.Couponset;
38 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel; 45 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel;
46 +import ly.warp.sdk.io.models.SortTileModel;
39 import ly.warp.sdk.io.models.VouchersActivityEventModel; 47 import ly.warp.sdk.io.models.VouchersActivityEventModel;
40 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel; 48 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel;
41 import ly.warp.sdk.utils.WarpUtils; 49 import ly.warp.sdk.utils.WarpUtils;
...@@ -59,7 +67,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -59,7 +67,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
59 mTvVouchersDisabledTitle, mTvVouchersDisabledSubtitle, mTvVouchersTitle, mTvVouchersSubtitle; 67 mTvVouchersDisabledTitle, mTvVouchersDisabledSubtitle, mTvVouchersTitle, mTvVouchersSubtitle;
60 private ConstraintLayout mLlQuestionnaireCentered, 68 private ConstraintLayout mLlQuestionnaireCentered,
61 mLlQuestionnaire, mLlUserBadge, mLlUserBadgeCentered; 69 mLlQuestionnaire, mLlUserBadge, mLlUserBadgeCentered;
62 - private LinearLayout mLlEmptyWallet, 70 + private LinearLayout mLlEmptyWallet, mLlTilesParent,
63 mLlBannerInfo, mLlVouchers, mLlVouchersSpinner, 71 mLlBannerInfo, mLlVouchers, mLlVouchersSpinner,
64 mLlVouchersDisabled; 72 mLlVouchersDisabled;
65 private ImageView mIvHistory; 73 private ImageView mIvHistory;
...@@ -73,6 +81,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -73,6 +81,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
73 mGiftsCountPressed = false, mBoxCountPressed = false; 81 mGiftsCountPressed = false, mBoxCountPressed = false;
74 private RelativeLayout mRlDeals, mRlUnified, mRlGifts, mRlBox; 82 private RelativeLayout mRlDeals, mRlUnified, mRlGifts, mRlBox;
75 private boolean mIsDealsEmpty = false, mIsMarketsEmpty = false, mIsCouponsEmpty = false; 83 private boolean mIsDealsEmpty = false, mIsMarketsEmpty = false, mIsCouponsEmpty = false;
84 + private HorizontalScrollView mTilesScroll;
85 + private View mFirstStart, mFirstEnd, mSecondStart, mSecondEnd;
86 + private ArrayList<SortTileModel> mSortTileList = new ArrayList<>();
76 87
77 // =========================================================== 88 // ===========================================================
78 // Methods for/from SuperClass/Interfaces 89 // Methods for/from SuperClass/Interfaces
...@@ -101,15 +112,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -101,15 +112,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
101 mTvUserBadgeCentered = view.findViewById(R.id.tv_type_centered); 112 mTvUserBadgeCentered = view.findViewById(R.id.tv_type_centered);
102 mLlEmptyWallet = view.findViewById(R.id.ll_empty_wallet); 113 mLlEmptyWallet = view.findViewById(R.id.ll_empty_wallet);
103 mIvHistory = view.findViewById(R.id.iv_loyalty_history); 114 mIvHistory = view.findViewById(R.id.iv_loyalty_history);
104 - mTvDealsCountBadge = view.findViewById(R.id.tv_deals_count); 115 +// mTvDealsCountBadge = view.findViewById(R.id.tv_deals_count);
105 - mTvUnifiedCountBadge = view.findViewById(R.id.tv_sm_count); 116 +// mTvUnifiedCountBadge = view.findViewById(R.id.tv_sm_count);
106 - mTvGiftsCountBadge = view.findViewById(R.id.tv_gifts_count); 117 +// mTvGiftsCountBadge = view.findViewById(R.id.tv_gifts_count);
107 - mTvBoxCountBadge = view.findViewById(R.id.tv_box_count); 118 +// mTvBoxCountBadge = view.findViewById(R.id.tv_box_count);
108 mLlBannerInfo = view.findViewById(R.id.ll_banner_info_new); 119 mLlBannerInfo = view.findViewById(R.id.ll_banner_info_new);
109 - mRlDeals = view.findViewById(R.id.rv_deals_count); 120 +// mRlDeals = view.findViewById(R.id.rv_deals_count);
110 - mRlUnified = view.findViewById(R.id.rv_sm_count); 121 +// mRlUnified = view.findViewById(R.id.rv_sm_count);
111 - mRlGifts = view.findViewById(R.id.rv_gifts_count); 122 +// mRlGifts = view.findViewById(R.id.rv_gifts_count);
112 - mRlBox = view.findViewById(R.id.rv_box_count); 123 +// mRlBox = view.findViewById(R.id.rv_box_count);
113 mCvVouchers = view.findViewById(R.id.cv_vouchers); 124 mCvVouchers = view.findViewById(R.id.cv_vouchers);
114 mCvVouchersDisabled = view.findViewById(R.id.cv_vouchers_disabled); 125 mCvVouchersDisabled = view.findViewById(R.id.cv_vouchers_disabled);
115 mLlVouchers = view.findViewById(R.id.ll_vouchers); 126 mLlVouchers = view.findViewById(R.id.ll_vouchers);
...@@ -119,6 +130,43 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -119,6 +130,43 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
119 mTvVouchersDisabledSubtitle = view.findViewById(R.id.tv_vouchers_info_title_disabled); 130 mTvVouchersDisabledSubtitle = view.findViewById(R.id.tv_vouchers_info_title_disabled);
120 mTvVouchersTitle = view.findViewById(R.id.tv_vouchers_title); 131 mTvVouchersTitle = view.findViewById(R.id.tv_vouchers_title);
121 mTvVouchersSubtitle = view.findViewById(R.id.tv_vouchers_info_title); 132 mTvVouchersSubtitle = view.findViewById(R.id.tv_vouchers_info_title);
133 + mTilesScroll = view.findViewById(R.id.scr_tiles);
134 + mLlTilesParent = view.findViewById(R.id.ll_tiles_parent);
135 + mFirstStart = view.findViewById(R.id.v_first_start);
136 + mFirstEnd = view.findViewById(R.id.v_first_end);
137 + mSecondStart = view.findViewById(R.id.v_second_start);
138 + mSecondEnd = view.findViewById(R.id.v_second_end);
139 +
140 + defineAndSortTiles();
141 + createTiles();
142 +
143 + // Smooth scroll to the start initially
144 + // Comment out if needed
145 +// mTilesScroll.post(new Runnable() {
146 +// @Override
147 +// public void run() {
148 +// mTilesScroll.fullScroll(HorizontalScrollView.FOCUS_LEFT);
149 +// }
150 +// });
151 +
152 + mTilesScroll.setOnScrollChangeListener((v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
153 + // Check scroll position
154 + int maxScrollX = mTilesScroll.getChildAt(0).getWidth() - mTilesScroll.getWidth();
155 +
156 + if (scrollX == 0) {
157 + // Scrolled to the start
158 + mFirstStart.setVisibility(View.VISIBLE);
159 + mFirstEnd.setVisibility(View.GONE);
160 + mSecondStart.setVisibility(View.GONE);
161 + mSecondEnd.setVisibility(View.VISIBLE);
162 + } else if (scrollX == maxScrollX) {
163 + // Scrolled to the end
164 + mFirstStart.setVisibility(View.GONE);
165 + mFirstEnd.setVisibility(View.VISIBLE);
166 + mSecondStart.setVisibility(View.VISIBLE);
167 + mSecondEnd.setVisibility(View.GONE);
168 + }
169 + });
122 } 170 }
123 171
124 @Override 172 @Override
...@@ -221,41 +269,41 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -221,41 +269,41 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
221 return; 269 return;
222 } 270 }
223 /** Active Unified Banner */ 271 /** Active Unified Banner */
224 - if (view.getId() == R.id.rv_sm_count) { 272 +// if (view.getId() == R.id.rv_sm_count) {
225 - if (!mUnifiedCountPressed) { 273 +// if (!mUnifiedCountPressed) {
226 - mUnifiedCountPressed = true; 274 +// mUnifiedCountPressed = true;
227 - WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen") 275 +// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
228 - .concat(":") 276 +// .concat(":")
229 - .concat("ActiveMarketBanner")); 277 +// .concat("ActiveMarketBanner"));
230 - 278 +//
231 - LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel(); 279 +// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
232 - analyticsEvent.setEventName("did_tap_market_active_badge"); 280 +// analyticsEvent.setEventName("did_tap_market_active_badge");
233 - analyticsEvent.setParameter("screen", "Loyalty Wallet"); 281 +// analyticsEvent.setParameter("screen", "Loyalty Wallet");
234 - EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent)); 282 +// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
235 - 283 +//
236 - Intent intent = new Intent(getContext(), ActiveUnifiedCouponsActivity.class); 284 +// Intent intent = new Intent(getContext(), ActiveUnifiedCouponsActivity.class);
237 - startActivity(intent); 285 +// startActivity(intent);
238 - } 286 +// }
239 - return; 287 +// return;
240 - } 288 +// }
241 /** Active Coupons Banner */ 289 /** Active Coupons Banner */
242 - if (view.getId() == R.id.rv_gifts_count) { 290 +// if (view.getId() == R.id.rv_gifts_count) {
243 - if (!mGiftsCountPressed) { 291 +// if (!mGiftsCountPressed) {
244 - mGiftsCountPressed = true; 292 +// mGiftsCountPressed = true;
245 - WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen") 293 +// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
246 - .concat(":") 294 +// .concat(":")
247 - .concat("ActiveLoyaltyBanner")); 295 +// .concat("ActiveLoyaltyBanner"));
248 - 296 +//
249 - LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel(); 297 +// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
250 - analyticsEvent.setEventName("did_tap_gifts_for_you_active_badge"); 298 +// analyticsEvent.setEventName("did_tap_gifts_for_you_active_badge");
251 - analyticsEvent.setParameter("screen", "Loyalty Wallet"); 299 +// analyticsEvent.setParameter("screen", "Loyalty Wallet");
252 - EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent)); 300 +// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
253 - 301 +//
254 - Intent intent = new Intent(getContext(), ActiveCouponsActivity.class); 302 +// Intent intent = new Intent(getContext(), ActiveCouponsActivity.class);
255 - startActivity(intent); 303 +// startActivity(intent);
256 - } 304 +// }
257 - return; 305 +// return;
258 - } 306 +// }
259 /** Coupons History */ 307 /** Coupons History */
260 if (view.getId() == R.id.cl_deals_win_inner) { 308 if (view.getId() == R.id.cl_deals_win_inner) {
261 if (!mHistoryPressed) { 309 if (!mHistoryPressed) {
...@@ -275,24 +323,24 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -275,24 +323,24 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
275 return; 323 return;
276 } 324 }
277 /** Active Box Banner */ 325 /** Active Box Banner */
278 - if (view.getId() == R.id.rv_box_count) { 326 +// if (view.getId() == R.id.rv_box_count) {
279 - if (!mBoxCountPressed) { 327 +// if (!mBoxCountPressed) {
280 - mBoxCountPressed = true; 328 +// mBoxCountPressed = true;
281 - WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen") 329 +// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
282 - .concat(":") 330 +// .concat(":")
283 - .concat("ActiveBoxBanner")); 331 +// .concat("ActiveBoxBanner"));
284 - 332 +//
285 - LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel(); 333 +// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
286 - analyticsEvent.setEventName("did_tap_box_active_badge"); 334 +// analyticsEvent.setEventName("did_tap_box_active_badge");
287 - analyticsEvent.setParameter("screen", "Loyalty Wallet"); 335 +// analyticsEvent.setParameter("screen", "Loyalty Wallet");
288 - EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent)); 336 +// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
289 - 337 +//
290 - ActiveBoxCouponEventModel activeBoxEventModel = new ActiveBoxCouponEventModel(); 338 +// ActiveBoxCouponEventModel activeBoxEventModel = new ActiveBoxCouponEventModel();
291 - activeBoxEventModel.setPressed(true); 339 +// activeBoxEventModel.setPressed(true);
292 - EventBus.getDefault().post(new WarplyEventBusManager(activeBoxEventModel)); 340 +// EventBus.getDefault().post(new WarplyEventBusManager(activeBoxEventModel));
293 - } 341 +// }
294 - return; 342 +// return;
295 - } 343 +// }
296 /** Unified History */ 344 /** Unified History */
297 if (view.getId() == R.id.cl_market_inner) { 345 if (view.getId() == R.id.cl_market_inner) {
298 if (!mHistoryMarketPressed) { 346 if (!mHistoryMarketPressed) {
...@@ -344,23 +392,23 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -344,23 +392,23 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
344 return; 392 return;
345 } 393 }
346 /** Active Deals Banner */ 394 /** Active Deals Banner */
347 - if (view.getId() == R.id.cl_mygifts || view.getId() == R.id.rv_deals_count) { 395 +// if (view.getId() == R.id.rv_deals_count) {
348 - if (!mDfyPressed) { 396 +// if (!mDfyPressed) {
349 - mDfyPressed = true; 397 +// mDfyPressed = true;
350 - WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen") 398 +// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
351 - .concat(":") 399 +// .concat(":")
352 - .concat("ActiveDealsBanner")); 400 +// .concat("ActiveDealsBanner"));
353 - 401 +//
354 - LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel(); 402 +// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
355 - analyticsEvent.setEventName("did_tap_deals_for_you_active_badge"); 403 +// analyticsEvent.setEventName("did_tap_deals_for_you_active_badge");
356 - analyticsEvent.setParameter("screen", "Loyalty Wallet"); 404 +// analyticsEvent.setParameter("screen", "Loyalty Wallet");
357 - EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent)); 405 +// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
358 - 406 +//
359 - ActiveDFYCouponEventModel activeCouponEventModel = new ActiveDFYCouponEventModel(); 407 +// ActiveDFYCouponEventModel activeCouponEventModel = new ActiveDFYCouponEventModel();
360 - activeCouponEventModel.setPressed(true); 408 +// activeCouponEventModel.setPressed(true);
361 - EventBus.getDefault().post(new WarplyEventBusManager(activeCouponEventModel)); 409 +// EventBus.getDefault().post(new WarplyEventBusManager(activeCouponEventModel));
362 - } 410 +// }
363 - } 411 +// }
364 } 412 }
365 413
366 @Override 414 @Override
...@@ -442,11 +490,170 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -442,11 +490,170 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
442 // Methods 490 // Methods
443 // =========================================================== 491 // ===========================================================
444 492
493 + private void defineAndSortTiles() {
494 + SortTileModel tileDeals = new SortTileModel();
495 + if (WarplyManagerHelper.getActiveDFYCoupons() != null && WarplyManagerHelper.getActiveDFYCoupons().size() > 0) {
496 + tileDeals.setCount(WarplyManagerHelper.getActiveDFYCoupons().size());
497 + tileDeals.setWeight(3);
498 + } else {
499 + tileDeals.setCount(0);
500 + tileDeals.setWeight(3);
501 + }
502 + mSortTileList.add(tileDeals);
503 +
504 + SortTileModel tileUnified = new SortTileModel();
505 + if (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0) {
506 + tileUnified.setCount(WarplyManagerHelper.getMarketCouponsList().size());
507 + tileUnified.setWeight(2);
508 + } else {
509 + tileUnified.setCount(0);
510 + tileUnified.setWeight(2);
511 + }
512 + mSortTileList.add(tileUnified);
513 +
514 + SortTileModel tileCoupons = new SortTileModel();
515 + if (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0) {
516 + tileCoupons.setCount(WarplyManagerHelper.getCouponList().size());
517 + tileCoupons.setWeight(1);
518 + } else {
519 + tileCoupons.setCount(0);
520 + tileCoupons.setWeight(1);
521 + }
522 + mSortTileList.add(tileCoupons);
523 +
524 + SortTileModel tileBoxCoupons = new SortTileModel();
525 + if (WarplyManagerHelper.getActiveBoxCoupons() != null && WarplyManagerHelper.getActiveBoxCoupons().size() > 0) {
526 + tileBoxCoupons.setCount(WarplyManagerHelper.getActiveBoxCoupons().size());
527 + tileBoxCoupons.setWeight(0);
528 + } else {
529 + tileBoxCoupons.setCount(0);
530 + tileBoxCoupons.setWeight(0);
531 + }
532 + mSortTileList.add(tileBoxCoupons);
533 +
534 + Collections.sort(mSortTileList, (o1, o2) -> {
535 + // First, compare by count in descending order
536 + int countComparison = Integer.compare(o2.getCount(), o1.getCount());
537 + if (countComparison != 0) {
538 + return countComparison;
539 + } else {
540 + // If count is the same, compare by weight in descending order
541 + return Integer.compare(o2.getWeight(), o1.getWeight());
542 + }
543 + });
544 + }
545 +
546 + private void createTiles() {
547 + if (getContext() != null || (getActivity() != null && !getActivity().isFinishing())) {
548 + if (mSortTileList != null && mSortTileList.size() > 0) {
549 + for (SortTileModel sortModel : mSortTileList) {
550 + /** Deals Badge */
551 + if (sortModel.getWeight() == 3) {
552 + View view = LayoutInflater.from(getContext()).inflate(R.layout.tile_active_dfy, mLlTilesParent, false);
553 + view.setOnClickListener(v -> {
554 + if (!mDfyPressed) {
555 + mDfyPressed = true;
556 + WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
557 + .concat(":")
558 + .concat("ActiveDealsBanner"));
559 +
560 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
561 + analyticsEvent.setEventName("did_tap_deals_for_you_active_badge");
562 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
563 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
564 +
565 + ActiveDFYCouponEventModel activeCouponEventModel = new ActiveDFYCouponEventModel();
566 + activeCouponEventModel.setPressed(true);
567 + EventBus.getDefault().post(new WarplyEventBusManager(activeCouponEventModel));
568 + }
569 + });
570 + mTvDealsCountBadge = (TextView) view.findViewById(R.id.tv_deals_count);
571 + mLlTilesParent.addView(view);
572 + }
573 + /** Unified Coupons List */
574 + else if (sortModel.getWeight() == 2) {
575 + View view = LayoutInflater.from(getContext()).inflate(R.layout.tile_active_unified, mLlTilesParent, false);
576 + view.setOnClickListener(v -> {
577 + if (!mUnifiedCountPressed) {
578 + mUnifiedCountPressed = true;
579 + WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
580 + .concat(":")
581 + .concat("ActiveMarketBanner"));
582 +
583 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
584 + analyticsEvent.setEventName("did_tap_market_active_badge");
585 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
586 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
587 +
588 + Intent intent = new Intent(getContext(), ActiveUnifiedCouponsActivity.class);
589 + startActivity(intent);
590 + }
591 + });
592 + mTvUnifiedCountBadge = (TextView) view.findViewById(R.id.tv_sm_count);
593 + mLlTilesParent.addView(view);
594 + }
595 + /** Coupon List */
596 + else if (sortModel.getWeight() == 1) {
597 + View view = LayoutInflater.from(getContext()).inflate(R.layout.tile_active_coupons, mLlTilesParent, false);
598 + view.setOnClickListener(v -> {
599 + if (!mGiftsCountPressed) {
600 + mGiftsCountPressed = true;
601 + WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
602 + .concat(":")
603 + .concat("ActiveLoyaltyBanner"));
604 +
605 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
606 + analyticsEvent.setEventName("did_tap_gifts_for_you_active_badge");
607 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
608 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
609 +
610 + Intent intent = new Intent(getContext(), ActiveCouponsActivity.class);
611 + startActivity(intent);
612 + }
613 + });
614 + mTvGiftsCountBadge = (TextView) view.findViewById(R.id.tv_gifts_count);
615 + mLlTilesParent.addView(view);
616 + }
617 + /** Box Badge */
618 + else if (sortModel.getWeight() == 0) {
619 + View view = LayoutInflater.from(getContext()).inflate(R.layout.tile_active_box, mLlTilesParent, false);
620 + view.setOnClickListener(v -> {
621 + if (!mBoxCountPressed) {
622 + mBoxCountPressed = true;
623 + WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
624 + .concat(":")
625 + .concat("ActiveBoxBanner"));
626 +
627 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
628 + analyticsEvent.setEventName("did_tap_box_active_badge");
629 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
630 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
631 +
632 + ActiveBoxCouponEventModel activeBoxEventModel = new ActiveBoxCouponEventModel();
633 + activeBoxEventModel.setPressed(true);
634 + EventBus.getDefault().post(new WarplyEventBusManager(activeBoxEventModel));
635 + }
636 + });
637 + mTvBoxCountBadge = (TextView) view.findViewById(R.id.tv_box_count);
638 + mLlTilesParent.addView(view);
639 + }
640 + }
641 + }
642 + }
643 + }
644 +
445 private void initViews() { 645 private void initViews() {
446 if (WarpUtils.getUserNonTelco(getContext())) { 646 if (WarpUtils.getUserNonTelco(getContext())) {
447 nonTelcoDialog(); 647 nonTelcoDialog();
448 } 648 }
449 649
650 + /** Deals Badge */
651 + if (WarplyManagerHelper.getActiveDFYCoupons() != null && WarplyManagerHelper.getActiveDFYCoupons().size() > 0)
652 + mTvDealsCountBadge.setText(String.valueOf(WarplyManagerHelper.getActiveDFYCoupons().size()));
653 + else
654 + mTvDealsCountBadge.setText("0");
655 + /** Deals Badge */
656 +
450 /** Unified Coupons List */ 657 /** Unified Coupons List */
451 if (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0) 658 if (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0)
452 mTvUnifiedCountBadge.setText(String.valueOf(WarplyManagerHelper.getMarketCouponsList().size())); 659 mTvUnifiedCountBadge.setText(String.valueOf(WarplyManagerHelper.getMarketCouponsList().size()));
...@@ -461,35 +668,13 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -461,35 +668,13 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
461 mTvGiftsCountBadge.setText("0"); 668 mTvGiftsCountBadge.setText("0");
462 /** Coupon List */ 669 /** Coupon List */
463 670
464 - /** Deals Badge */
465 - if (WarplyManagerHelper.getActiveDFYCoupons() != null)
466 - mTvDealsCountBadge.setText(String.valueOf(WarplyManagerHelper.getActiveDFYCoupons().size()));
467 - else
468 - mTvDealsCountBadge.setText("0");
469 - /** Deals Badge */
470 -
471 /** Box Badge */ 671 /** Box Badge */
472 - if (WarplyManagerHelper.getActiveBoxCoupons() != null) 672 + if (WarplyManagerHelper.getActiveBoxCoupons() != null && WarplyManagerHelper.getActiveBoxCoupons().size() > 0)
473 mTvBoxCountBadge.setText(String.valueOf(WarplyManagerHelper.getActiveBoxCoupons().size())); 673 mTvBoxCountBadge.setText(String.valueOf(WarplyManagerHelper.getActiveBoxCoupons().size()));
474 else 674 else
475 mTvBoxCountBadge.setText("0"); 675 mTvBoxCountBadge.setText("0");
476 /** Deals Badge */ 676 /** Deals Badge */
477 677
478 -// if (WarplyManagerHelper.getConsumer() != null) {
479 -// if (!TextUtils.isEmpty(WarplyManagerHelper.getUserTag(getContext()))) {
480 -// mTvUserBadge.setText(WarplyManagerHelper.getUserTag(getContext()));
481 -// mLlQuestionnaire.setVisibility(View.GONE);
482 -// mLlUserBadge.setVisibility(View.VISIBLE);
483 -// } else {
484 -// mLlUserBadge.setVisibility(View.GONE);
485 -// mLlQuestionnaire.setVisibility(View.VISIBLE);
486 -// }
487 -// }
488 -
489 - /** History View */
490 -// checkHistoryEmpty();
491 - /** History View */
492 -
493 /** Empty View */ 678 /** Empty View */
494 checkForEmpty(); 679 checkForEmpty();
495 /** Empty View */ 680 /** Empty View */
...@@ -531,10 +716,10 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -531,10 +716,10 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
531 mLlUserBadge.setOnClickListener(this); 716 mLlUserBadge.setOnClickListener(this);
532 mLlUserBadgeCentered.setOnClickListener(this); 717 mLlUserBadgeCentered.setOnClickListener(this);
533 mIvHistory.setOnClickListener(this); 718 mIvHistory.setOnClickListener(this);
534 - mRlDeals.setOnClickListener(this); 719 +// mRlDeals.setOnClickListener(this);
535 - mRlUnified.setOnClickListener(this); 720 +// mRlUnified.setOnClickListener(this);
536 - mRlGifts.setOnClickListener(this); 721 +// mRlGifts.setOnClickListener(this);
537 - mRlBox.setOnClickListener(this); 722 +// mRlBox.setOnClickListener(this);
538 mCvVouchers.setOnClickListener(this); 723 mCvVouchers.setOnClickListener(this);
539 mCvVouchersDisabled.setOnClickListener(this); 724 mCvVouchersDisabled.setOnClickListener(this);
540 } 725 }
......
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 01-May-24.
31 + */
32 +
33 +public class SortTileModel {
34 + private int count;
35 + private int weight;
36 +
37 + public SortTileModel() {
38 + this.count = 0;
39 + this.weight = 0;
40 + }
41 +
42 + public int getCount() {
43 + return count;
44 + }
45 +
46 + public void setCount(int count) {
47 + this.count = count;
48 + }
49 +
50 + public int getWeight() {
51 + return weight;
52 + }
53 +
54 + public void setWeight(int weight) {
55 + this.weight = weight;
56 + }
57 +}
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape xmlns:android="http://schemas.android.com/apk/res/android" >
3 + <size android:width="4dp"/>
4 + <solid android:color="#ffffff"/>
5 +</shape>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape
3 + xmlns:android="http://schemas.android.com/apk/res/android"
4 + android:shape="oval">
5 +
6 + <solid
7 + android:color="@color/cos_light_blue"/>
8 +
9 + <size
10 + android:width="24dp"
11 + android:height="24dp"/>
12 +</shape>
...\ No newline at end of file ...\ No newline at end of file
...@@ -49,364 +49,401 @@ ...@@ -49,364 +49,401 @@
49 app:layout_constraintStart_toStartOf="parent" 49 app:layout_constraintStart_toStartOf="parent"
50 app:layout_constraintTop_toTopOf="parent" /> 50 app:layout_constraintTop_toTopOf="parent" />
51 </LinearLayout> 51 </LinearLayout>
52 + </LinearLayout>
53 +
54 + <HorizontalScrollView
55 + android:id="@+id/scr_tiles"
56 + android:layout_width="match_parent"
57 + android:layout_height="wrap_content"
58 + android:layout_marginTop="18dp"
59 + android:fillViewport="true"
60 + android:scrollbars="none">
52 61
53 - <androidx.constraintlayout.widget.ConstraintLayout 62 + <LinearLayout
63 + android:id="@+id/ll_tiles_parent"
54 android:layout_width="match_parent" 64 android:layout_width="match_parent"
55 android:layout_height="wrap_content" 65 android:layout_height="wrap_content"
56 - android:layout_marginTop="18dp"> 66 + android:clipToPadding="false"
57 - 67 + android:divider="@drawable/divider_vertical"
58 - <RelativeLayout 68 + android:orientation="horizontal"
59 - android:id="@+id/rv_deals_count" 69 + android:paddingHorizontal="14dp"
60 - android:layout_width="0dp" 70 + android:showDividers="middle">
61 - android:layout_height="104dp" 71 +
62 - app:layout_constraintBottom_toBottomOf="parent" 72 +<!-- <RelativeLayout-->
63 - app:layout_constraintEnd_toStartOf="@+id/rv_sm_count" 73 +<!-- android:id="@+id/rv_deals_count"-->
64 - app:layout_constraintStart_toStartOf="parent" 74 +<!-- android:layout_width="104dp"-->
65 - app:layout_constraintTop_toTopOf="parent"> 75 +<!-- android:layout_height="104dp">-->
66 - 76 +
67 - <androidx.cardview.widget.CardView 77 +<!-- <androidx.cardview.widget.CardView-->
68 - android:id="@+id/cv_deals_count" 78 +<!-- android:id="@+id/cv_deals_count"-->
69 - android:layout_width="match_parent" 79 +<!-- android:layout_width="match_parent"-->
70 - android:layout_height="match_parent" 80 +<!-- android:layout_height="match_parent"-->
71 - android:layout_marginHorizontal="2dp" 81 +<!-- android:layout_marginHorizontal="2dp"-->
72 - android:layout_marginVertical="4dp" 82 +<!-- android:layout_marginVertical="4dp"-->
73 - app:cardCornerRadius="16dp" 83 +<!-- app:cardCornerRadius="16dp"-->
74 - app:cardElevation="2dp"> 84 +<!-- app:cardElevation="2dp">-->
75 - 85 +
76 - <androidx.constraintlayout.widget.ConstraintLayout 86 +<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
77 - android:layout_width="match_parent" 87 +<!-- android:layout_width="match_parent"-->
78 - android:layout_height="match_parent" 88 +<!-- android:layout_height="match_parent"-->
79 - android:background="@color/white"> 89 +<!-- android:background="@color/white">-->
80 - 90 +
81 - <ImageView 91 +<!-- <ImageView-->
82 - android:id="@+id/iv_deals_logo_count" 92 +<!-- android:id="@+id/iv_deals_logo_count"-->
83 - android:layout_width="52dp" 93 +<!-- android:layout_width="52dp"-->
84 - android:layout_height="32dp" 94 +<!-- android:layout_height="32dp"-->
85 - android:src="@drawable/sv_deals_logo_redesign" 95 +<!-- android:src="@drawable/sv_deals_logo_redesign"-->
86 - app:layout_constraintBottom_toTopOf="@+id/v_separator_deals_count" 96 +<!-- app:layout_constraintBottom_toTopOf="@+id/v_separator_deals_count"-->
87 - app:layout_constraintEnd_toEndOf="parent" 97 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
88 - app:layout_constraintStart_toStartOf="parent" 98 +<!-- app:layout_constraintStart_toStartOf="parent"-->
89 - app:layout_constraintTop_toTopOf="parent" /> 99 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
90 - 100 +
91 - <View 101 +<!-- <View-->
92 - android:id="@+id/v_separator_deals_count" 102 +<!-- android:id="@+id/v_separator_deals_count"-->
93 - android:layout_width="match_parent" 103 +<!-- android:layout_width="match_parent"-->
94 - android:layout_height="1dp" 104 +<!-- android:layout_height="1dp"-->
95 - android:layout_marginHorizontal="8dp" 105 +<!-- android:layout_marginHorizontal="8dp"-->
96 - android:background="@color/cos_grey2" 106 +<!-- android:background="@color/cos_grey2"-->
97 - app:layout_constraintBottom_toBottomOf="parent" 107 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
98 - app:layout_constraintEnd_toEndOf="parent" 108 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
99 - app:layout_constraintStart_toStartOf="parent" 109 +<!-- app:layout_constraintStart_toStartOf="parent"-->
100 - app:layout_constraintTop_toTopOf="parent" /> 110 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
101 - 111 +
102 - <TextView 112 +<!-- <TextView-->
103 - android:id="@+id/tv_deals_count_title" 113 +<!-- android:id="@+id/tv_deals_count_title"-->
104 - fontPath="fonts/PeridotPE-SemiBold.ttf" 114 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
105 - android:layout_width="0dp" 115 +<!-- android:layout_width="0dp"-->
106 - android:layout_height="wrap_content" 116 +<!-- android:layout_height="wrap_content"-->
107 - android:layout_marginHorizontal="8dp" 117 +<!-- android:layout_marginHorizontal="8dp"-->
108 - android:gravity="center" 118 +<!-- android:gravity="center"-->
109 - android:includeFontPadding="false" 119 +<!-- android:includeFontPadding="false"-->
110 - android:text="@string/cos_deals_title2" 120 +<!-- android:text="@string/cos_deals_tile"-->
111 - android:textColor="@color/cos_light_black" 121 +<!-- android:textColor="@color/cos_light_black"-->
112 - android:textSize="10sp" 122 +<!-- android:textSize="10sp"-->
113 - app:layout_constraintBottom_toBottomOf="parent" 123 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
114 - app:layout_constraintEnd_toEndOf="parent" 124 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
115 - app:layout_constraintStart_toStartOf="parent" 125 +<!-- app:layout_constraintStart_toStartOf="parent"-->
116 - app:layout_constraintTop_toBottomOf="@+id/v_separator_deals_count" /> 126 +<!-- app:layout_constraintTop_toBottomOf="@+id/v_separator_deals_count" />-->
117 - </androidx.constraintlayout.widget.ConstraintLayout> 127 +<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
118 - </androidx.cardview.widget.CardView> 128 +<!-- </androidx.cardview.widget.CardView>-->
119 - 129 +
120 - <LinearLayout 130 +<!-- <LinearLayout-->
121 - android:layout_width="16dp" 131 +<!-- android:layout_width="16dp"-->
122 - android:layout_height="16dp" 132 +<!-- android:layout_height="16dp"-->
123 - android:layout_alignParentEnd="true" 133 +<!-- android:layout_alignParentEnd="true"-->
124 - android:layout_marginTop="4dp" 134 +<!-- android:layout_marginTop="4dp"-->
125 - android:layout_marginEnd="1dp" 135 +<!-- android:layout_marginEnd="1dp"-->
126 - android:background="@drawable/shape_cos_counter_orange" 136 +<!-- android:background="@drawable/shape_cos_counter_orange"-->
127 - android:gravity="center" 137 +<!-- android:gravity="center"-->
128 - android:orientation="vertical" 138 +<!-- android:orientation="vertical"-->
129 - android:translationZ="2dp" 139 +<!-- android:translationZ="2dp"-->
130 - app:layout_constraintEnd_toEndOf="parent" 140 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
131 - app:layout_constraintTop_toTopOf="parent"> 141 +<!-- app:layout_constraintTop_toTopOf="parent">-->
132 - 142 +
133 - <TextView 143 +<!-- <TextView-->
134 - android:id="@+id/tv_deals_count" 144 +<!-- android:id="@+id/tv_deals_count"-->
135 - fontPath="fonts/PeridotPE-SemiBold.ttf" 145 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
136 - android:layout_width="wrap_content" 146 +<!-- android:layout_width="wrap_content"-->
137 - android:layout_height="16dp" 147 +<!-- android:layout_height="16dp"-->
138 - android:includeFontPadding="false" 148 +<!-- android:includeFontPadding="false"-->
139 - android:maxLines="1" 149 +<!-- android:maxLines="1"-->
140 - android:textColor="@color/cos_light_black" 150 +<!-- android:textColor="@color/cos_light_black"-->
141 - android:textSize="12sp" 151 +<!-- android:textSize="12sp"-->
142 - tools:text="6" /> 152 +<!-- tools:text="6" />-->
143 - </LinearLayout> 153 +<!-- </LinearLayout>-->
144 - </RelativeLayout> 154 +<!-- </RelativeLayout>-->
145 - 155 +
146 - <RelativeLayout 156 +<!-- <RelativeLayout-->
147 - android:id="@+id/rv_sm_count" 157 +<!-- android:id="@+id/rv_sm_count"-->
148 - android:layout_width="0dp" 158 +<!-- android:layout_width="104dp"-->
149 - android:layout_height="104dp" 159 +<!-- android:layout_height="104dp">-->
150 - app:layout_constraintBottom_toBottomOf="parent" 160 +
151 - app:layout_constraintEnd_toStartOf="@+id/rv_gifts_count" 161 +<!-- <androidx.cardview.widget.CardView-->
152 - app:layout_constraintStart_toEndOf="@+id/rv_deals_count" 162 +<!-- android:id="@+id/cv_sm_count"-->
153 - app:layout_constraintTop_toTopOf="parent"> 163 +<!-- android:layout_width="match_parent"-->
154 - 164 +<!-- android:layout_height="match_parent"-->
155 - <androidx.cardview.widget.CardView 165 +<!-- android:layout_marginHorizontal="2dp"-->
156 - android:id="@+id/cv_sm_count" 166 +<!-- android:layout_marginVertical="4dp"-->
157 - android:layout_width="match_parent" 167 +<!-- app:cardCornerRadius="16dp"-->
158 - android:layout_height="match_parent" 168 +<!-- app:cardElevation="2dp">-->
159 - android:layout_marginHorizontal="2dp" 169 +
160 - android:layout_marginVertical="4dp" 170 +<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
161 - app:cardCornerRadius="16dp" 171 +<!-- android:layout_width="match_parent"-->
162 - app:cardElevation="2dp"> 172 +<!-- android:layout_height="match_parent"-->
163 - 173 +<!-- android:background="@color/white">-->
164 - <androidx.constraintlayout.widget.ConstraintLayout 174 +
165 - android:layout_width="match_parent" 175 +<!-- <ImageView-->
166 - android:layout_height="match_parent" 176 +<!-- android:id="@+id/iv_sm_logo_count"-->
167 - android:background="@color/white"> 177 +<!-- android:layout_width="32dp"-->
168 - 178 +<!-- android:layout_height="32dp"-->
169 - <ImageView 179 +<!-- android:src="@drawable/sv_unified_redesign"-->
170 - android:id="@+id/iv_sm_logo_count" 180 +<!-- app:layout_constraintBottom_toTopOf="@+id/v_separator_sm_count"-->
171 - android:layout_width="32dp" 181 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
172 - android:layout_height="32dp" 182 +<!-- app:layout_constraintStart_toStartOf="parent"-->
173 - android:src="@drawable/sv_unified_redesign" 183 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
174 - app:layout_constraintBottom_toTopOf="@+id/v_separator_sm_count" 184 +
175 - app:layout_constraintEnd_toEndOf="parent" 185 +<!-- <View-->
176 - app:layout_constraintStart_toStartOf="parent" 186 +<!-- android:id="@+id/v_separator_sm_count"-->
177 - app:layout_constraintTop_toTopOf="parent" /> 187 +<!-- android:layout_width="match_parent"-->
178 - 188 +<!-- android:layout_height="1dp"-->
179 - <View 189 +<!-- android:layout_marginHorizontal="8dp"-->
180 - android:id="@+id/v_separator_sm_count" 190 +<!-- android:background="@color/cos_grey2"-->
181 - android:layout_width="match_parent" 191 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
182 - android:layout_height="1dp" 192 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
183 - android:layout_marginHorizontal="8dp" 193 +<!-- app:layout_constraintStart_toStartOf="parent"-->
184 - android:background="@color/cos_grey2" 194 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
185 - app:layout_constraintBottom_toBottomOf="parent" 195 +
186 - app:layout_constraintEnd_toEndOf="parent" 196 +<!-- <TextView-->
187 - app:layout_constraintStart_toStartOf="parent" 197 +<!-- android:id="@+id/tv_sm_count_title"-->
188 - app:layout_constraintTop_toTopOf="parent" /> 198 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
189 - 199 +<!-- android:layout_width="0dp"-->
190 - <TextView 200 +<!-- android:layout_height="wrap_content"-->
191 - android:id="@+id/tv_sm_count_title" 201 +<!-- android:layout_marginHorizontal="8dp"-->
192 - fontPath="fonts/PeridotPE-SemiBold.ttf" 202 +<!-- android:gravity="center"-->
193 - android:layout_width="0dp" 203 +<!-- android:includeFontPadding="false"-->
194 - android:layout_height="wrap_content" 204 +<!-- android:text="@string/cos_market_title"-->
195 - android:layout_marginHorizontal="8dp" 205 +<!-- android:textColor="@color/cos_light_black"-->
196 - android:gravity="center" 206 +<!-- android:textSize="10sp"-->
197 - android:includeFontPadding="false" 207 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
198 - android:text="@string/cos_market_title" 208 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
199 - android:textColor="@color/cos_light_black" 209 +<!-- app:layout_constraintStart_toStartOf="parent"-->
200 - android:textSize="10sp" 210 +<!-- app:layout_constraintTop_toBottomOf="@+id/v_separator_sm_count" />-->
201 - app:layout_constraintBottom_toBottomOf="parent" 211 +<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
202 - app:layout_constraintEnd_toEndOf="parent" 212 +<!-- </androidx.cardview.widget.CardView>-->
203 - app:layout_constraintStart_toStartOf="parent" 213 +
204 - app:layout_constraintTop_toBottomOf="@+id/v_separator_sm_count" /> 214 +<!-- <LinearLayout-->
205 - </androidx.constraintlayout.widget.ConstraintLayout> 215 +<!-- android:layout_width="16dp"-->
206 - </androidx.cardview.widget.CardView> 216 +<!-- android:layout_height="16dp"-->
207 - 217 +<!-- android:layout_alignParentEnd="true"-->
208 - <LinearLayout 218 +<!-- android:layout_marginTop="4dp"-->
209 - android:layout_width="16dp" 219 +<!-- android:layout_marginEnd="1dp"-->
210 - android:layout_height="16dp" 220 +<!-- android:background="@drawable/shape_cos_counter_orange"-->
211 - android:layout_alignParentEnd="true" 221 +<!-- android:gravity="center"-->
212 - android:layout_marginTop="4dp" 222 +<!-- android:orientation="vertical"-->
213 - android:layout_marginEnd="1dp" 223 +<!-- android:translationZ="2dp"-->
214 - android:background="@drawable/shape_cos_counter_orange" 224 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
215 - android:gravity="center" 225 +<!-- app:layout_constraintTop_toTopOf="parent">-->
216 - android:orientation="vertical" 226 +
217 - android:translationZ="2dp" 227 +<!-- <TextView-->
218 - app:layout_constraintEnd_toEndOf="parent" 228 +<!-- android:id="@+id/tv_sm_count"-->
219 - app:layout_constraintTop_toTopOf="parent"> 229 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
220 - 230 +<!-- android:layout_width="wrap_content"-->
221 - <TextView 231 +<!-- android:layout_height="16dp"-->
222 - android:id="@+id/tv_sm_count" 232 +<!-- android:includeFontPadding="false"-->
223 - fontPath="fonts/PeridotPE-SemiBold.ttf" 233 +<!-- android:maxLines="1"-->
224 - android:layout_width="wrap_content" 234 +<!-- android:textColor="@color/cos_light_black"-->
225 - android:layout_height="16dp" 235 +<!-- android:textSize="12sp"-->
226 - android:includeFontPadding="false" 236 +<!-- tools:text="6" />-->
227 - android:maxLines="1" 237 +<!-- </LinearLayout>-->
228 - android:textColor="@color/cos_light_black" 238 +<!-- </RelativeLayout>-->
229 - android:textSize="12sp" 239 +
230 - tools:text="6" /> 240 +<!-- <RelativeLayout-->
231 - </LinearLayout> 241 +<!-- android:id="@+id/rv_gifts_count"-->
232 - </RelativeLayout> 242 +<!-- android:layout_width="104dp"-->
233 - 243 +<!-- android:layout_height="104dp">-->
234 - <RelativeLayout 244 +
235 - android:id="@+id/rv_gifts_count" 245 +<!-- <androidx.cardview.widget.CardView-->
236 - android:layout_width="0dp" 246 +<!-- android:id="@+id/cv_gifts_count"-->
237 - android:layout_height="104dp" 247 +<!-- android:layout_width="match_parent"-->
238 - app:layout_constraintBottom_toBottomOf="parent" 248 +<!-- android:layout_height="match_parent"-->
239 - app:layout_constraintEnd_toStartOf="@+id/rv_box_count" 249 +<!-- android:layout_marginHorizontal="2dp"-->
240 - app:layout_constraintStart_toEndOf="@+id/rv_sm_count" 250 +<!-- android:layout_marginVertical="4dp"-->
241 - app:layout_constraintTop_toTopOf="parent"> 251 +<!-- app:cardCornerRadius="16dp"-->
242 - 252 +<!-- app:cardElevation="2dp">-->
243 - <androidx.cardview.widget.CardView 253 +
244 - android:id="@+id/cv_gifts_count" 254 +<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
245 - android:layout_width="match_parent" 255 +<!-- android:layout_width="match_parent"-->
246 - android:layout_height="match_parent" 256 +<!-- android:layout_height="match_parent"-->
247 - android:layout_marginHorizontal="2dp" 257 +<!-- android:background="@color/white">-->
248 - android:layout_marginVertical="4dp" 258 +
249 - app:cardCornerRadius="16dp" 259 +<!-- <ImageView-->
250 - app:cardElevation="2dp"> 260 +<!-- android:id="@+id/iv_gifts_logo_count"-->
251 - 261 +<!-- android:layout_width="34dp"-->
252 - <androidx.constraintlayout.widget.ConstraintLayout 262 +<!-- android:layout_height="34dp"-->
253 - android:layout_width="match_parent" 263 +<!-- android:src="@drawable/sv_gifts_redesign"-->
254 - android:layout_height="match_parent" 264 +<!-- app:layout_constraintBottom_toTopOf="@+id/v_separator_gifts_count"-->
255 - android:background="@color/white"> 265 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
256 - 266 +<!-- app:layout_constraintStart_toStartOf="parent"-->
257 - <ImageView 267 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
258 - android:id="@+id/iv_gifts_logo_count" 268 +
259 - android:layout_width="34dp" 269 +<!-- <View-->
260 - android:layout_height="34dp" 270 +<!-- android:id="@+id/v_separator_gifts_count"-->
261 - android:src="@drawable/sv_gifts_redesign" 271 +<!-- android:layout_width="match_parent"-->
262 - app:layout_constraintBottom_toTopOf="@+id/v_separator_gifts_count" 272 +<!-- android:layout_height="1dp"-->
263 - app:layout_constraintEnd_toEndOf="parent" 273 +<!-- android:layout_marginHorizontal="8dp"-->
264 - app:layout_constraintStart_toStartOf="parent" 274 +<!-- android:background="@color/cos_grey2"-->
265 - app:layout_constraintTop_toTopOf="parent" /> 275 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
266 - 276 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
267 - <View 277 +<!-- app:layout_constraintStart_toStartOf="parent"-->
268 - android:id="@+id/v_separator_gifts_count" 278 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
269 - android:layout_width="match_parent" 279 +
270 - android:layout_height="1dp" 280 +<!-- <TextView-->
271 - android:layout_marginHorizontal="8dp" 281 +<!-- android:id="@+id/tv_gifts_count_title"-->
272 - android:background="@color/cos_grey2" 282 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
273 - app:layout_constraintBottom_toBottomOf="parent" 283 +<!-- android:layout_width="0dp"-->
274 - app:layout_constraintEnd_toEndOf="parent" 284 +<!-- android:layout_height="wrap_content"-->
275 - app:layout_constraintStart_toStartOf="parent" 285 +<!-- android:layout_marginHorizontal="8dp"-->
276 - app:layout_constraintTop_toTopOf="parent" /> 286 +<!-- android:gravity="center"-->
277 - 287 +<!-- android:includeFontPadding="false"-->
278 - <TextView 288 +<!-- android:text="@string/cos_free_coupons_tile"-->
279 - android:id="@+id/tv_gifts_count_title" 289 +<!-- android:textColor="@color/cos_light_black"-->
280 - fontPath="fonts/PeridotPE-SemiBold.ttf" 290 +<!-- android:textSize="10sp"-->
281 - android:layout_width="0dp" 291 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
282 - android:layout_height="wrap_content" 292 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
283 - android:layout_marginHorizontal="8dp" 293 +<!-- app:layout_constraintStart_toStartOf="parent"-->
284 - android:gravity="center" 294 +<!-- app:layout_constraintTop_toBottomOf="@+id/v_separator_gifts_count" />-->
285 - android:includeFontPadding="false" 295 +<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
286 - android:text="@string/cos_free_coupons" 296 +<!-- </androidx.cardview.widget.CardView>-->
287 - android:textColor="@color/cos_light_black" 297 +
288 - android:textSize="10sp" 298 +<!-- <LinearLayout-->
289 - app:layout_constraintBottom_toBottomOf="parent" 299 +<!-- android:layout_width="16dp"-->
290 - app:layout_constraintEnd_toEndOf="parent" 300 +<!-- android:layout_height="16dp"-->
291 - app:layout_constraintStart_toStartOf="parent" 301 +<!-- android:layout_alignParentEnd="true"-->
292 - app:layout_constraintTop_toBottomOf="@+id/v_separator_gifts_count" /> 302 +<!-- android:layout_marginTop="4dp"-->
293 - </androidx.constraintlayout.widget.ConstraintLayout> 303 +<!-- android:layout_marginEnd="1dp"-->
294 - </androidx.cardview.widget.CardView> 304 +<!-- android:background="@drawable/shape_cos_counter_orange"-->
295 - 305 +<!-- android:gravity="center"-->
296 - <LinearLayout 306 +<!-- android:orientation="vertical"-->
297 - android:layout_width="16dp" 307 +<!-- android:translationZ="2dp"-->
298 - android:layout_height="16dp" 308 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
299 - android:layout_alignParentEnd="true" 309 +<!-- app:layout_constraintTop_toTopOf="parent">-->
300 - android:layout_marginTop="4dp" 310 +
301 - android:layout_marginEnd="1dp" 311 +<!-- <TextView-->
302 - android:background="@drawable/shape_cos_counter_orange" 312 +<!-- android:id="@+id/tv_gifts_count"-->
303 - android:gravity="center" 313 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
304 - android:orientation="vertical" 314 +<!-- android:layout_width="wrap_content"-->
305 - android:translationZ="2dp" 315 +<!-- android:layout_height="16dp"-->
306 - app:layout_constraintEnd_toEndOf="parent" 316 +<!-- android:includeFontPadding="false"-->
307 - app:layout_constraintTop_toTopOf="parent"> 317 +<!-- android:maxLines="1"-->
308 - 318 +<!-- android:textColor="@color/cos_light_black"-->
309 - <TextView 319 +<!-- android:textSize="12sp"-->
310 - android:id="@+id/tv_gifts_count" 320 +<!-- tools:text="6" />-->
311 - fontPath="fonts/PeridotPE-SemiBold.ttf" 321 +<!-- </LinearLayout>-->
312 - android:layout_width="wrap_content" 322 +<!-- </RelativeLayout>-->
313 - android:layout_height="16dp" 323 +
314 - android:includeFontPadding="false" 324 +<!-- <RelativeLayout-->
315 - android:maxLines="1" 325 +<!-- android:id="@+id/rv_box_count"-->
316 - android:textColor="@color/cos_light_black" 326 +<!-- android:layout_width="104dp"-->
317 - android:textSize="12sp" 327 +<!-- android:layout_height="104dp">-->
318 - tools:text="6" /> 328 +
319 - </LinearLayout> 329 +<!-- <androidx.cardview.widget.CardView-->
320 - </RelativeLayout> 330 +<!-- android:id="@+id/cv_box_count"-->
321 - 331 +<!-- android:layout_width="match_parent"-->
322 - <RelativeLayout 332 +<!-- android:layout_height="match_parent"-->
323 - android:id="@+id/rv_box_count" 333 +<!-- android:layout_marginHorizontal="2dp"-->
324 - android:layout_width="0dp" 334 +<!-- android:layout_marginVertical="4dp"-->
325 - android:layout_height="104dp" 335 +<!-- app:cardCornerRadius="16dp"-->
326 - app:layout_constraintBottom_toBottomOf="parent" 336 +<!-- app:cardElevation="2dp">-->
327 - app:layout_constraintEnd_toEndOf="parent" 337 +
328 - app:layout_constraintStart_toEndOf="@+id/rv_gifts_count" 338 +<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
329 - app:layout_constraintTop_toTopOf="parent"> 339 +<!-- android:layout_width="match_parent"-->
330 - 340 +<!-- android:layout_height="match_parent"-->
331 - <androidx.cardview.widget.CardView 341 +<!-- android:background="@color/white">-->
332 - android:id="@+id/cv_box_count" 342 +
333 - android:layout_width="match_parent" 343 +<!-- <ImageView-->
334 - android:layout_height="match_parent" 344 +<!-- android:id="@+id/iv_box_logo_count"-->
335 - android:layout_marginHorizontal="2dp" 345 +<!-- android:layout_width="34dp"-->
336 - android:layout_marginVertical="4dp" 346 +<!-- android:layout_height="34dp"-->
337 - app:cardCornerRadius="16dp" 347 +<!-- android:src="@drawable/sv_box_logo"-->
338 - app:cardElevation="2dp"> 348 +<!-- app:layout_constraintBottom_toTopOf="@+id/v_separator_box_count"-->
339 - 349 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
340 - <androidx.constraintlayout.widget.ConstraintLayout 350 +<!-- app:layout_constraintStart_toStartOf="parent"-->
341 - android:layout_width="match_parent" 351 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
342 - android:layout_height="match_parent" 352 +
343 - android:background="@color/white"> 353 +<!-- <View-->
344 - 354 +<!-- android:id="@+id/v_separator_box_count"-->
345 - <ImageView 355 +<!-- android:layout_width="match_parent"-->
346 - android:id="@+id/iv_box_logo_count" 356 +<!-- android:layout_height="1dp"-->
347 - android:layout_width="34dp" 357 +<!-- android:layout_marginHorizontal="8dp"-->
348 - android:layout_height="34dp" 358 +<!-- android:background="@color/cos_grey2"-->
349 - android:src="@drawable/sv_box_logo" 359 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
350 - app:layout_constraintBottom_toTopOf="@+id/v_separator_box_count" 360 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
351 - app:layout_constraintEnd_toEndOf="parent" 361 +<!-- app:layout_constraintStart_toStartOf="parent"-->
352 - app:layout_constraintStart_toStartOf="parent" 362 +<!-- app:layout_constraintTop_toTopOf="parent" />-->
353 - app:layout_constraintTop_toTopOf="parent" /> 363 +
354 - 364 +<!-- <TextView-->
355 - <View 365 +<!-- android:id="@+id/tv_box_count_title"-->
356 - android:id="@+id/v_separator_box_count" 366 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
357 - android:layout_width="match_parent" 367 +<!-- android:layout_width="0dp"-->
358 - android:layout_height="1dp" 368 +<!-- android:layout_height="wrap_content"-->
359 - android:layout_marginHorizontal="8dp" 369 +<!-- android:layout_marginHorizontal="8dp"-->
360 - android:background="@color/cos_grey2" 370 +<!-- android:gravity="center"-->
361 - app:layout_constraintBottom_toBottomOf="parent" 371 +<!-- android:includeFontPadding="false"-->
362 - app:layout_constraintEnd_toEndOf="parent" 372 +<!-- android:text="@string/cos_box_tile"-->
363 - app:layout_constraintStart_toStartOf="parent" 373 +<!-- android:textColor="@color/cos_light_black"-->
364 - app:layout_constraintTop_toTopOf="parent" /> 374 +<!-- android:textSize="10sp"-->
365 - 375 +<!-- app:layout_constraintBottom_toBottomOf="parent"-->
366 - <TextView 376 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
367 - android:id="@+id/tv_box_count_title" 377 +<!-- app:layout_constraintStart_toStartOf="parent"-->
368 - fontPath="fonts/PeridotPE-SemiBold.ttf" 378 +<!-- app:layout_constraintTop_toBottomOf="@+id/v_separator_box_count" />-->
369 - android:layout_width="0dp" 379 +<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
370 - android:layout_height="wrap_content" 380 +<!-- </androidx.cardview.widget.CardView>-->
371 - android:layout_marginHorizontal="8dp" 381 +
372 - android:gravity="center" 382 +<!-- <LinearLayout-->
373 - android:includeFontPadding="false" 383 +<!-- android:layout_width="16dp"-->
374 - android:text="@string/cos_box" 384 +<!-- android:layout_height="16dp"-->
375 - android:textColor="@color/cos_light_black" 385 +<!-- android:layout_alignParentEnd="true"-->
376 - android:textSize="10sp" 386 +<!-- android:layout_marginTop="4dp"-->
377 - app:layout_constraintBottom_toBottomOf="parent" 387 +<!-- android:layout_marginEnd="1dp"-->
378 - app:layout_constraintEnd_toEndOf="parent" 388 +<!-- android:background="@drawable/shape_cos_counter_orange"-->
379 - app:layout_constraintStart_toStartOf="parent" 389 +<!-- android:gravity="center"-->
380 - app:layout_constraintTop_toBottomOf="@+id/v_separator_box_count" /> 390 +<!-- android:orientation="vertical"-->
381 - </androidx.constraintlayout.widget.ConstraintLayout> 391 +<!-- android:translationZ="2dp"-->
382 - </androidx.cardview.widget.CardView> 392 +<!-- app:layout_constraintEnd_toEndOf="parent"-->
383 - 393 +<!-- app:layout_constraintTop_toTopOf="parent">-->
384 - <LinearLayout 394 +
385 - android:layout_width="16dp" 395 +<!-- <TextView-->
386 - android:layout_height="16dp" 396 +<!-- android:id="@+id/tv_box_count"-->
387 - android:layout_alignParentEnd="true" 397 +<!-- fontPath="fonts/PeridotPE-SemiBold.ttf"-->
388 - android:layout_marginTop="4dp" 398 +<!-- android:layout_width="wrap_content"-->
389 - android:layout_marginEnd="1dp" 399 +<!-- android:layout_height="16dp"-->
390 - android:background="@drawable/shape_cos_counter_orange" 400 +<!-- android:includeFontPadding="false"-->
391 - android:gravity="center" 401 +<!-- android:maxLines="1"-->
392 - android:orientation="vertical" 402 +<!-- android:textColor="@color/cos_light_black"-->
393 - android:translationZ="2dp" 403 +<!-- android:textSize="12sp"-->
394 - app:layout_constraintEnd_toEndOf="parent" 404 +<!-- tools:text="6" />-->
395 - app:layout_constraintTop_toTopOf="parent"> 405 +<!-- </LinearLayout>-->
406 +<!-- </RelativeLayout>-->
407 + </LinearLayout>
408 + </HorizontalScrollView>
396 409
397 - <TextView 410 + <LinearLayout
398 - android:id="@+id/tv_box_count" 411 + android:layout_width="match_parent"
399 - fontPath="fonts/PeridotPE-SemiBold.ttf" 412 + android:layout_height="wrap_content"
400 - android:layout_width="wrap_content" 413 + android:layout_marginTop="20dp"
401 - android:layout_height="16dp" 414 + android:orientation="horizontal"
402 - android:includeFontPadding="false" 415 + android:gravity="center">
403 - android:maxLines="1" 416 +
404 - android:textColor="@color/cos_light_black" 417 + <View
405 - android:textSize="12sp" 418 + android:id="@+id/v_first_start"
406 - tools:text="6" /> 419 + android:layout_width="12dp"
407 - </LinearLayout> 420 + android:layout_height="12dp"
408 - </RelativeLayout> 421 + android:background="@drawable/shape_indicator"/>
409 - </androidx.constraintlayout.widget.ConstraintLayout> 422 +
423 + <View
424 + android:id="@+id/v_first_end"
425 + android:layout_width="8dp"
426 + android:layout_height="8dp"
427 + android:visibility="gone"
428 + android:background="@drawable/shape_indicator"/>
429 +
430 + <View
431 + android:layout_width="6dp"
432 + android:layout_height="12dp"
433 + android:background="@drawable/divider_vertical"/>
434 +
435 + <View
436 + android:id="@+id/v_second_start"
437 + android:layout_width="12dp"
438 + android:layout_height="12dp"
439 + android:visibility="gone"
440 + android:background="@drawable/shape_indicator"/>
441 +
442 + <View
443 + android:id="@+id/v_second_end"
444 + android:layout_width="8dp"
445 + android:layout_height="8dp"
446 + android:background="@drawable/shape_indicator"/>
410 </LinearLayout> 447 </LinearLayout>
411 448
412 <LinearLayout 449 <LinearLayout
......
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 + xmlns:app="http://schemas.android.com/apk/res-auto"
4 + xmlns:tools="http://schemas.android.com/tools"
5 + android:id="@+id/rv_box_count"
6 + android:layout_width="104dp"
7 + android:layout_height="104dp">
8 +
9 + <androidx.cardview.widget.CardView
10 + android:id="@+id/cv_box_count"
11 + android:layout_width="match_parent"
12 + android:layout_height="match_parent"
13 + android:layout_marginHorizontal="2dp"
14 + android:layout_marginVertical="4dp"
15 + app:cardCornerRadius="16dp"
16 + app:cardElevation="2dp">
17 +
18 + <androidx.constraintlayout.widget.ConstraintLayout
19 + android:layout_width="match_parent"
20 + android:layout_height="match_parent"
21 + android:background="@color/white">
22 +
23 + <ImageView
24 + android:id="@+id/iv_box_logo_count"
25 + android:layout_width="34dp"
26 + android:layout_height="34dp"
27 + android:src="@drawable/sv_box_logo"
28 + app:layout_constraintBottom_toTopOf="@+id/v_separator_box_count"
29 + app:layout_constraintEnd_toEndOf="parent"
30 + app:layout_constraintStart_toStartOf="parent"
31 + app:layout_constraintTop_toTopOf="parent" />
32 +
33 + <View
34 + android:id="@+id/v_separator_box_count"
35 + android:layout_width="match_parent"
36 + android:layout_height="1dp"
37 + android:layout_marginHorizontal="8dp"
38 + android:background="@color/cos_grey2"
39 + app:layout_constraintBottom_toBottomOf="parent"
40 + app:layout_constraintEnd_toEndOf="parent"
41 + app:layout_constraintStart_toStartOf="parent"
42 + app:layout_constraintTop_toTopOf="parent" />
43 +
44 + <TextView
45 + android:id="@+id/tv_box_count_title"
46 + fontPath="fonts/PeridotPE-SemiBold.ttf"
47 + android:layout_width="0dp"
48 + android:layout_height="wrap_content"
49 + android:layout_marginHorizontal="8dp"
50 + android:gravity="center"
51 + android:includeFontPadding="false"
52 + android:text="@string/cos_box_tile"
53 + android:textColor="@color/cos_light_black"
54 + android:textSize="10sp"
55 + app:layout_constraintBottom_toBottomOf="parent"
56 + app:layout_constraintEnd_toEndOf="parent"
57 + app:layout_constraintStart_toStartOf="parent"
58 + app:layout_constraintTop_toBottomOf="@+id/v_separator_box_count" />
59 + </androidx.constraintlayout.widget.ConstraintLayout>
60 + </androidx.cardview.widget.CardView>
61 +
62 + <LinearLayout
63 + android:layout_width="16dp"
64 + android:layout_height="16dp"
65 + android:layout_alignParentEnd="true"
66 + android:layout_marginTop="4dp"
67 + android:layout_marginEnd="1dp"
68 + android:background="@drawable/shape_cos_counter_orange"
69 + android:gravity="center"
70 + android:orientation="vertical"
71 + android:translationZ="2dp"
72 + app:layout_constraintEnd_toEndOf="parent"
73 + app:layout_constraintTop_toTopOf="parent">
74 +
75 + <TextView
76 + android:id="@+id/tv_box_count"
77 + fontPath="fonts/PeridotPE-SemiBold.ttf"
78 + android:layout_width="wrap_content"
79 + android:layout_height="16dp"
80 + android:includeFontPadding="false"
81 + android:maxLines="1"
82 + android:textColor="@color/cos_light_black"
83 + android:textSize="12sp"
84 + tools:text="6" />
85 + </LinearLayout>
86 +</RelativeLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 + xmlns:app="http://schemas.android.com/apk/res-auto"
4 + xmlns:tools="http://schemas.android.com/tools"
5 + android:id="@+id/rv_gifts_count"
6 + android:layout_width="104dp"
7 + android:layout_height="104dp">
8 +
9 + <androidx.cardview.widget.CardView
10 + android:id="@+id/cv_gifts_count"
11 + android:layout_width="match_parent"
12 + android:layout_height="match_parent"
13 + android:layout_marginHorizontal="2dp"
14 + android:layout_marginVertical="4dp"
15 + app:cardCornerRadius="16dp"
16 + app:cardElevation="2dp">
17 +
18 + <androidx.constraintlayout.widget.ConstraintLayout
19 + android:layout_width="match_parent"
20 + android:layout_height="match_parent"
21 + android:background="@color/white">
22 +
23 + <ImageView
24 + android:id="@+id/iv_gifts_logo_count"
25 + android:layout_width="34dp"
26 + android:layout_height="34dp"
27 + android:src="@drawable/sv_gifts_redesign"
28 + app:layout_constraintBottom_toTopOf="@+id/v_separator_gifts_count"
29 + app:layout_constraintEnd_toEndOf="parent"
30 + app:layout_constraintStart_toStartOf="parent"
31 + app:layout_constraintTop_toTopOf="parent" />
32 +
33 + <View
34 + android:id="@+id/v_separator_gifts_count"
35 + android:layout_width="match_parent"
36 + android:layout_height="1dp"
37 + android:layout_marginHorizontal="8dp"
38 + android:background="@color/cos_grey2"
39 + app:layout_constraintBottom_toBottomOf="parent"
40 + app:layout_constraintEnd_toEndOf="parent"
41 + app:layout_constraintStart_toStartOf="parent"
42 + app:layout_constraintTop_toTopOf="parent" />
43 +
44 + <TextView
45 + android:id="@+id/tv_gifts_count_title"
46 + fontPath="fonts/PeridotPE-SemiBold.ttf"
47 + android:layout_width="0dp"
48 + android:layout_height="wrap_content"
49 + android:layout_marginHorizontal="8dp"
50 + android:gravity="center"
51 + android:includeFontPadding="false"
52 + android:text="@string/cos_free_coupons_tile"
53 + android:textColor="@color/cos_light_black"
54 + android:textSize="10sp"
55 + app:layout_constraintBottom_toBottomOf="parent"
56 + app:layout_constraintEnd_toEndOf="parent"
57 + app:layout_constraintStart_toStartOf="parent"
58 + app:layout_constraintTop_toBottomOf="@+id/v_separator_gifts_count" />
59 + </androidx.constraintlayout.widget.ConstraintLayout>
60 + </androidx.cardview.widget.CardView>
61 +
62 + <LinearLayout
63 + android:layout_width="16dp"
64 + android:layout_height="16dp"
65 + android:layout_alignParentEnd="true"
66 + android:layout_marginTop="4dp"
67 + android:layout_marginEnd="1dp"
68 + android:background="@drawable/shape_cos_counter_orange"
69 + android:gravity="center"
70 + android:orientation="vertical"
71 + android:translationZ="2dp"
72 + app:layout_constraintEnd_toEndOf="parent"
73 + app:layout_constraintTop_toTopOf="parent">
74 +
75 + <TextView
76 + android:id="@+id/tv_gifts_count"
77 + fontPath="fonts/PeridotPE-SemiBold.ttf"
78 + android:layout_width="wrap_content"
79 + android:layout_height="16dp"
80 + android:includeFontPadding="false"
81 + android:maxLines="1"
82 + android:textColor="@color/cos_light_black"
83 + android:textSize="12sp"
84 + tools:text="6" />
85 + </LinearLayout>
86 +</RelativeLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 + xmlns:app="http://schemas.android.com/apk/res-auto"
4 + xmlns:tools="http://schemas.android.com/tools"
5 + android:id="@+id/rv_deals_count"
6 + android:layout_width="104dp"
7 + android:layout_height="104dp">
8 +
9 + <androidx.cardview.widget.CardView
10 + android:id="@+id/cv_deals_count"
11 + android:layout_width="match_parent"
12 + android:layout_height="match_parent"
13 + android:layout_marginHorizontal="2dp"
14 + android:layout_marginVertical="4dp"
15 + app:cardCornerRadius="16dp"
16 + app:cardElevation="2dp">
17 +
18 + <androidx.constraintlayout.widget.ConstraintLayout
19 + android:layout_width="match_parent"
20 + android:layout_height="match_parent"
21 + android:background="@color/white">
22 +
23 + <ImageView
24 + android:id="@+id/iv_deals_logo_count"
25 + android:layout_width="52dp"
26 + android:layout_height="32dp"
27 + android:src="@drawable/sv_deals_logo_redesign"
28 + app:layout_constraintBottom_toTopOf="@+id/v_separator_deals_count"
29 + app:layout_constraintEnd_toEndOf="parent"
30 + app:layout_constraintStart_toStartOf="parent"
31 + app:layout_constraintTop_toTopOf="parent" />
32 +
33 + <View
34 + android:id="@+id/v_separator_deals_count"
35 + android:layout_width="match_parent"
36 + android:layout_height="1dp"
37 + android:layout_marginHorizontal="8dp"
38 + android:background="@color/cos_grey2"
39 + app:layout_constraintBottom_toBottomOf="parent"
40 + app:layout_constraintEnd_toEndOf="parent"
41 + app:layout_constraintStart_toStartOf="parent"
42 + app:layout_constraintTop_toTopOf="parent" />
43 +
44 + <TextView
45 + android:id="@+id/tv_deals_count_title"
46 + fontPath="fonts/PeridotPE-SemiBold.ttf"
47 + android:layout_width="0dp"
48 + android:layout_height="wrap_content"
49 + android:layout_marginHorizontal="8dp"
50 + android:gravity="center"
51 + android:includeFontPadding="false"
52 + android:text="@string/cos_deals_tile"
53 + android:textColor="@color/cos_light_black"
54 + android:textSize="10sp"
55 + app:layout_constraintBottom_toBottomOf="parent"
56 + app:layout_constraintEnd_toEndOf="parent"
57 + app:layout_constraintStart_toStartOf="parent"
58 + app:layout_constraintTop_toBottomOf="@+id/v_separator_deals_count" />
59 + </androidx.constraintlayout.widget.ConstraintLayout>
60 + </androidx.cardview.widget.CardView>
61 +
62 + <LinearLayout
63 + android:layout_width="16dp"
64 + android:layout_height="16dp"
65 + android:layout_alignParentEnd="true"
66 + android:layout_marginTop="4dp"
67 + android:layout_marginEnd="1dp"
68 + android:background="@drawable/shape_cos_counter_orange"
69 + android:gravity="center"
70 + android:orientation="vertical"
71 + android:translationZ="2dp"
72 + app:layout_constraintEnd_toEndOf="parent"
73 + app:layout_constraintTop_toTopOf="parent">
74 +
75 + <TextView
76 + android:id="@+id/tv_deals_count"
77 + fontPath="fonts/PeridotPE-SemiBold.ttf"
78 + android:layout_width="wrap_content"
79 + android:layout_height="16dp"
80 + android:includeFontPadding="false"
81 + android:maxLines="1"
82 + android:textColor="@color/cos_light_black"
83 + android:textSize="12sp"
84 + tools:text="6" />
85 + </LinearLayout>
86 +</RelativeLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 + xmlns:app="http://schemas.android.com/apk/res-auto"
4 + xmlns:tools="http://schemas.android.com/tools"
5 + android:id="@+id/rv_sm_count"
6 + android:layout_width="104dp"
7 + android:layout_height="104dp">
8 +
9 + <androidx.cardview.widget.CardView
10 + android:id="@+id/cv_sm_count"
11 + android:layout_width="match_parent"
12 + android:layout_height="match_parent"
13 + android:layout_marginHorizontal="2dp"
14 + android:layout_marginVertical="4dp"
15 + app:cardCornerRadius="16dp"
16 + app:cardElevation="2dp">
17 +
18 + <androidx.constraintlayout.widget.ConstraintLayout
19 + android:layout_width="match_parent"
20 + android:layout_height="match_parent"
21 + android:background="@color/white">
22 +
23 + <ImageView
24 + android:id="@+id/iv_sm_logo_count"
25 + android:layout_width="32dp"
26 + android:layout_height="32dp"
27 + android:src="@drawable/sv_unified_redesign"
28 + app:layout_constraintBottom_toTopOf="@+id/v_separator_sm_count"
29 + app:layout_constraintEnd_toEndOf="parent"
30 + app:layout_constraintStart_toStartOf="parent"
31 + app:layout_constraintTop_toTopOf="parent" />
32 +
33 + <View
34 + android:id="@+id/v_separator_sm_count"
35 + android:layout_width="match_parent"
36 + android:layout_height="1dp"
37 + android:layout_marginHorizontal="8dp"
38 + android:background="@color/cos_grey2"
39 + app:layout_constraintBottom_toBottomOf="parent"
40 + app:layout_constraintEnd_toEndOf="parent"
41 + app:layout_constraintStart_toStartOf="parent"
42 + app:layout_constraintTop_toTopOf="parent" />
43 +
44 + <TextView
45 + android:id="@+id/tv_sm_count_title"
46 + fontPath="fonts/PeridotPE-SemiBold.ttf"
47 + android:layout_width="0dp"
48 + android:layout_height="wrap_content"
49 + android:layout_marginHorizontal="8dp"
50 + android:gravity="center"
51 + android:includeFontPadding="false"
52 + android:text="@string/cos_market_title"
53 + android:textColor="@color/cos_light_black"
54 + android:textSize="10sp"
55 + app:layout_constraintBottom_toBottomOf="parent"
56 + app:layout_constraintEnd_toEndOf="parent"
57 + app:layout_constraintStart_toStartOf="parent"
58 + app:layout_constraintTop_toBottomOf="@+id/v_separator_sm_count" />
59 + </androidx.constraintlayout.widget.ConstraintLayout>
60 + </androidx.cardview.widget.CardView>
61 +
62 + <LinearLayout
63 + android:layout_width="16dp"
64 + android:layout_height="16dp"
65 + android:layout_alignParentEnd="true"
66 + android:layout_marginTop="4dp"
67 + android:layout_marginEnd="1dp"
68 + android:background="@drawable/shape_cos_counter_orange"
69 + android:gravity="center"
70 + android:orientation="vertical"
71 + android:translationZ="2dp"
72 + app:layout_constraintEnd_toEndOf="parent"
73 + app:layout_constraintTop_toTopOf="parent">
74 +
75 + <TextView
76 + android:id="@+id/tv_sm_count"
77 + fontPath="fonts/PeridotPE-SemiBold.ttf"
78 + android:layout_width="wrap_content"
79 + android:layout_height="16dp"
80 + android:includeFontPadding="false"
81 + android:maxLines="1"
82 + android:textColor="@color/cos_light_black"
83 + android:textSize="12sp"
84 + tools:text="6" />
85 + </LinearLayout>
86 +</RelativeLayout>
...\ No newline at end of file ...\ No newline at end of file
...@@ -16,11 +16,14 @@ ...@@ -16,11 +16,14 @@
16 <string name="cos_profile_title">My Rewards</string> 16 <string name="cos_profile_title">My Rewards</string>
17 <string name="cos_deals_title">Deals for You</string> 17 <string name="cos_deals_title">Deals for You</string>
18 <string name="cos_deals_title2">DEALS FOR YOU</string> 18 <string name="cos_deals_title2">DEALS FOR YOU</string>
19 + <string name="cos_deals_tile">DEALS FOR YOU\n</string>
19 <string name="cos_profile_more">Δες περισσότερα</string> 20 <string name="cos_profile_more">Δες περισσότερα</string>
20 <string name="cos_gifts_title">GIFTS FOR YOU</string> 21 <string name="cos_gifts_title">GIFTS FOR YOU</string>
21 <string name="cos_more_title">MORE FOR YOU</string> 22 <string name="cos_more_title">MORE FOR YOU</string>
22 <string name="cos_free_coupons">FREE COUPONS</string> 23 <string name="cos_free_coupons">FREE COUPONS</string>
24 + <string name="cos_free_coupons_tile">FREE COUPONS\n</string>
23 <string name="cos_box">BOX</string> 25 <string name="cos_box">BOX</string>
26 + <string name="cos_box_tile">BOX\n</string>
24 <string name="menu_home">Αρχική</string> 27 <string name="menu_home">Αρχική</string>
25 <string name="menu_explore">Ανακάλυψε</string> 28 <string name="menu_explore">Ανακάλυψε</string>
26 <string name="menu_shop">Shop</string> 29 <string name="menu_shop">Shop</string>
......