Panagiotis Triantafyllou

box history tile added

...@@ -5,7 +5,6 @@ import android.content.Context; ...@@ -5,7 +5,6 @@ import android.content.Context;
5 import android.content.Intent; 5 import android.content.Intent;
6 import android.os.Bundle; 6 import android.os.Bundle;
7 import android.os.Handler; 7 import android.os.Handler;
8 -import android.os.Looper;
9 import android.text.SpannableStringBuilder; 8 import android.text.SpannableStringBuilder;
10 import android.text.Spanned; 9 import android.text.Spanned;
11 import android.view.View; 10 import android.view.View;
...@@ -23,8 +22,8 @@ import io.github.inflationx.calligraphy3.TypefaceUtils; ...@@ -23,8 +22,8 @@ import io.github.inflationx.calligraphy3.TypefaceUtils;
23 import io.github.inflationx.viewpump.ViewPumpContextWrapper; 22 import io.github.inflationx.viewpump.ViewPumpContextWrapper;
24 import ly.warp.sdk.R; 23 import ly.warp.sdk.R;
25 import ly.warp.sdk.io.models.Coupon; 24 import ly.warp.sdk.io.models.Coupon;
26 -import ly.warp.sdk.io.models.Couponset;
27 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel; 25 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel;
26 +import ly.warp.sdk.io.models.WarplyBoxAnalysisEventModel;
28 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel; 27 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel;
29 import ly.warp.sdk.utils.WarplyManagerHelper; 28 import ly.warp.sdk.utils.WarplyManagerHelper;
30 import ly.warp.sdk.utils.managers.WarplyAnalyticsManager; 29 import ly.warp.sdk.utils.managers.WarplyAnalyticsManager;
...@@ -45,11 +44,11 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -45,11 +44,11 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
45 private int mTimer = 0; 44 private int mTimer = 0;
46 private Handler mSecondsHandler; 45 private Handler mSecondsHandler;
47 private TextView mTvFavValue, mTvDealsValue, mTvGiftsValue, mTvMarketValue, mTvDealsValueAll, 46 private TextView mTvFavValue, mTvDealsValue, mTvGiftsValue, mTvMarketValue, mTvDealsValueAll,
48 - mTvGiftsValueAll, mTvMarketAll; 47 + mTvGiftsValueAll, mTvMarketAll, mTvBoxValue, mTvBoxValueAll;
49 private float mFavValue = 0.0f, countValue = 0.0f; 48 private float mFavValue = 0.0f, countValue = 0.0f;
50 - private RelativeLayout mRlDealsBanner, mRlGiftsBanner, mRlUnifiedBanner; 49 + private RelativeLayout mRlDealsBanner, mRlGiftsBanner, mRlUnifiedBanner, mRlBoxBanner;
51 private boolean mDealsBannerPressed = false, mHistoryPressed = false, 50 private boolean mDealsBannerPressed = false, mHistoryPressed = false,
52 - mHistoryMarketPressed = false; 51 + mHistoryMarketPressed = false, mBoxBannerPressed = false;
53 52
54 // =========================================================== 53 // ===========================================================
55 // Methods for/from SuperClass/Interfaces 54 // Methods for/from SuperClass/Interfaces
...@@ -64,12 +63,15 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -64,12 +63,15 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
64 mIvBack = findViewById(R.id.iv_loyalty_history_close); 63 mIvBack = findViewById(R.id.iv_loyalty_history_close);
65 mTvFavValue = findViewById(R.id.tv_exp_value); 64 mTvFavValue = findViewById(R.id.tv_exp_value);
66 mTvDealsValue = findViewById(R.id.tv_deals_value); 65 mTvDealsValue = findViewById(R.id.tv_deals_value);
66 + mTvBoxValue = findViewById(R.id.tv_box_value);
67 mTvGiftsValue = findViewById(R.id.tv_gifts_value); 67 mTvGiftsValue = findViewById(R.id.tv_gifts_value);
68 mTvMarketValue = findViewById(R.id.tv_market_value); 68 mTvMarketValue = findViewById(R.id.tv_market_value);
69 mTvDealsValueAll = findViewById(R.id.tv_deals_value_all); 69 mTvDealsValueAll = findViewById(R.id.tv_deals_value_all);
70 + mTvBoxValueAll = findViewById(R.id.tv_box_value_all);
70 mTvGiftsValueAll = findViewById(R.id.tv_gifts_value_all); 71 mTvGiftsValueAll = findViewById(R.id.tv_gifts_value_all);
71 mTvMarketAll = findViewById(R.id.tv_market_value_all); 72 mTvMarketAll = findViewById(R.id.tv_market_value_all);
72 mRlDealsBanner = findViewById(R.id.rl_first_banner); 73 mRlDealsBanner = findViewById(R.id.rl_first_banner);
74 + mRlBoxBanner = findViewById(R.id.rl_fourth_banner);
73 mRlGiftsBanner = findViewById(R.id.rl_third_banner); 75 mRlGiftsBanner = findViewById(R.id.rl_third_banner);
74 mRlUnifiedBanner = findViewById(R.id.rl_second_banner); 76 mRlUnifiedBanner = findViewById(R.id.rl_second_banner);
75 77
...@@ -105,6 +107,7 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -105,6 +107,7 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
105 mDealsBannerPressed = false; 107 mDealsBannerPressed = false;
106 mHistoryPressed = false; 108 mHistoryPressed = false;
107 mHistoryMarketPressed = false; 109 mHistoryMarketPressed = false;
110 + mBoxBannerPressed = false;
108 } 111 }
109 112
110 @Override 113 @Override
...@@ -187,6 +190,25 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -187,6 +190,25 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
187 Intent intent = new Intent(LoyaltyHistoryActivity.this, LoyaltyMarketAnalysisActivity.class); 190 Intent intent = new Intent(LoyaltyHistoryActivity.this, LoyaltyMarketAnalysisActivity.class);
188 startActivity(intent); 191 startActivity(intent);
189 } 192 }
193 + return;
194 + }
195 + /** Box History */
196 + if (view.getId() == R.id.rl_fourth_banner) {
197 + if (!mBoxBannerPressed) {
198 + mBoxBannerPressed = true;
199 + WarplyAnalyticsManager.logTrackersEvent(this, "click", ("LoyaltyHistoryScreen")
200 + .concat(":")
201 + .concat("BoxBanner"));
202 +
203 + WarplyBoxAnalysisEventModel warplyBoxAnalysisEventModel = new WarplyBoxAnalysisEventModel();
204 + warplyBoxAnalysisEventModel.setPressed(true);
205 + EventBus.getDefault().post(new WarplyEventBusManager(warplyBoxAnalysisEventModel));
206 +
207 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
208 + analyticsEvent.setEventName("did_tap_box_badge");
209 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
210 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
211 + }
190 } 212 }
191 } 213 }
192 214
...@@ -204,6 +226,7 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -204,6 +226,7 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
204 mRlDealsBanner.setOnClickListener(this); 226 mRlDealsBanner.setOnClickListener(this);
205 mRlGiftsBanner.setOnClickListener(this); 227 mRlGiftsBanner.setOnClickListener(this);
206 mRlUnifiedBanner.setOnClickListener(this); 228 mRlUnifiedBanner.setOnClickListener(this);
229 + mRlBoxBanner.setOnClickListener(this);
207 230
208 /** First Banner */ 231 /** First Banner */
209 String badgeValueFirst = String.format(Locale.GERMAN, "%.02f", WarplyManagerHelper.getDealsCouponsSum()); 232 String badgeValueFirst = String.format(Locale.GERMAN, "%.02f", WarplyManagerHelper.getDealsCouponsSum());
...@@ -282,6 +305,22 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -282,6 +305,22 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
282 } 305 }
283 /** Third Banner */ 306 /** Third Banner */
284 307
308 + /** Fourth Banner */
309 + String badgeValueFourth = String.format(Locale.GERMAN, "%.02f", WarplyManagerHelper.getBoxCouponsSum());
310 + mTvBoxValue.setText(String.format(getString(R.string.cos_value), badgeValueFourth));
311 + if (String.valueOf(WarplyManagerHelper.getBoxCouponsSum()).length() >= 3) {
312 + mTvBoxValue.setTextSize(12);
313 + } else {
314 + mTvBoxValue.setTextSize(14);
315 + }
316 + SpannableStringBuilder sBuilderFourth = new SpannableStringBuilder();
317 + sBuilderFourth.append(String.format(getString(R.string.cos_box_win_title_cos), badgeValueFourth));
318 + CalligraphyTypefaceSpan typefaceBoldSpanFourth = new CalligraphyTypefaceSpan(TypefaceUtils.load(getAssets(), "fonts/PeridotPE-Bold.ttf"));
319 + sBuilderFourth.setSpan(typefaceBoldSpanFourth, 24, 24 + badgeValueFourth.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
320 + mTvBoxValueAll.setText(sBuilderFourth, TextView.BufferType.SPANNABLE);
321 + mFavValue += WarplyManagerHelper.getBoxCouponsSum();
322 + /** Fourth Banner */
323 +
285 /** Sum Banner */ 324 /** Sum Banner */
286 String allValue = String.format(Locale.GERMAN, "%.02f", mFavValue); 325 String allValue = String.format(Locale.GERMAN, "%.02f", mFavValue);
287 mTvFavValue.setText(String.format(getString(R.string.cos_value), allValue)); 326 mTvFavValue.setText(String.format(getString(R.string.cos_value), allValue));
......
...@@ -312,22 +312,6 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener ...@@ -312,22 +312,6 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
312 return; 312 return;
313 } 313 }
314 /** New History */ 314 /** New History */
315 -// if (view.getId() == R.id.ll_loyalty_history) {
316 -// if (!mHistoryBadgePressed) {
317 -// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
318 -// .concat(":")
319 -// .concat("LoyaltyHistoryBadge"));
320 -//
321 -// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
322 -// analyticsEvent.setEventName("did_tap_history_badge");
323 -// analyticsEvent.setParameter("screen", "Loyalty Wallet");
324 -// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
325 -//
326 -// Intent intent = new Intent(getContext(), LoyaltyHistoryActivity.class);
327 -// startActivity(intent);
328 -// }
329 -// return;
330 -// }
331 if (view.getId() == R.id.iv_loyalty_history) { 315 if (view.getId() == R.id.iv_loyalty_history) {
332 if (!mHistoryBadgePressed) { 316 if (!mHistoryBadgePressed) {
333 WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen") 317 WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
......
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 + * Created by Panagiotis Triantafyllou on 01-May-24.
30 + */
31 +
32 +public class WarplyBoxAnalysisEventModel {
33 +
34 + private boolean isPressed = false;
35 +
36 +
37 + public WarplyBoxAnalysisEventModel() {
38 + this.isPressed = false;
39 + }
40 +
41 + public boolean isPressed() {
42 + return isPressed;
43 + }
44 +
45 + public void setPressed(boolean pressed) {
46 + isPressed = pressed;
47 + }
48 +}
...@@ -119,7 +119,7 @@ public class WarplyManagerHelper { ...@@ -119,7 +119,7 @@ public class WarplyManagerHelper {
119 mAlertDialogRejectSharing, mAlertDialogReturnSharing, mAlertDialogErrorSharing, 119 mAlertDialogRejectSharing, mAlertDialogReturnSharing, mAlertDialogErrorSharing,
120 mAlertDialogErrorUsedSharing, mAlertDialogErrorExpiredSharing, mAlertDialogNoInternet; 120 mAlertDialogErrorUsedSharing, mAlertDialogErrorExpiredSharing, mAlertDialogNoInternet;
121 private static LoyaltyBadgeModel mLoyaltyBadge = new LoyaltyBadgeModel(); 121 private static LoyaltyBadgeModel mLoyaltyBadge = new LoyaltyBadgeModel();
122 - private static float mDealsSum = 0.0f, mUnifiedDiscount = 0.0f; 122 + private static float mDealsSum = 0.0f, mUnifiedDiscount = 0.0f, mBoxSum = 0.0f;
123 private static MerchantList mMerchantList = new MerchantList(); 123 private static MerchantList mMerchantList = new MerchantList();
124 public static double mMetersWebview = 0.0d; 124 public static double mMetersWebview = 0.0d;
125 public static int mStepsWebview = 0; 125 public static int mStepsWebview = 0;
...@@ -1408,6 +1408,14 @@ public class WarplyManagerHelper { ...@@ -1408,6 +1408,14 @@ public class WarplyManagerHelper {
1408 mDealsSum = sum; 1408 mDealsSum = sum;
1409 } 1409 }
1410 1410
1411 + public static float getBoxCouponsSum() {
1412 + return mBoxSum;
1413 + }
1414 +
1415 + public static void setBoxCouponsSum(float sum) {
1416 + mBoxSum = sum;
1417 + }
1418 +
1411 public static ArrayList<UnifiedCoupon> getMarketCoupons() { 1419 public static ArrayList<UnifiedCoupon> getMarketCoupons() {
1412 return mMarketCoupons; 1420 return mMarketCoupons;
1413 } 1421 }
......
...@@ -23,6 +23,7 @@ import ly.warp.sdk.io.models.UnifiedCouponsEventModel; ...@@ -23,6 +23,7 @@ import ly.warp.sdk.io.models.UnifiedCouponsEventModel;
23 import ly.warp.sdk.io.models.VouchersActivityEventModel; 23 import ly.warp.sdk.io.models.VouchersActivityEventModel;
24 import ly.warp.sdk.io.models.VouchersFetchedEventModel; 24 import ly.warp.sdk.io.models.VouchersFetchedEventModel;
25 import ly.warp.sdk.io.models.VouchersServiceUnavailableEventModel; 25 import ly.warp.sdk.io.models.VouchersServiceUnavailableEventModel;
26 +import ly.warp.sdk.io.models.WarplyBoxAnalysisEventModel;
26 import ly.warp.sdk.io.models.WarplyCCMSEnabledModel; 27 import ly.warp.sdk.io.models.WarplyCCMSEnabledModel;
27 import ly.warp.sdk.io.models.WarplyCouponsChangedEventModel; 28 import ly.warp.sdk.io.models.WarplyCouponsChangedEventModel;
28 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel; 29 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel;
...@@ -46,6 +47,7 @@ public class WarplyEventBusManager { ...@@ -46,6 +47,7 @@ public class WarplyEventBusManager {
46 private WarplyPacingEventModel pacing; 47 private WarplyPacingEventModel pacing;
47 private WarplyPacingCardServiceEnabledModel pacingService; 48 private WarplyPacingCardServiceEnabledModel pacingService;
48 private WarplyDealsAnalysisEventModel dealsAnalysis; 49 private WarplyDealsAnalysisEventModel dealsAnalysis;
50 + WarplyBoxAnalysisEventModel boxAnalysis;
49 private WarplyCCMSEnabledModel ccmsActivated; 51 private WarplyCCMSEnabledModel ccmsActivated;
50 private LoyaltyGiftsForYouOfferClickEvent giftsYou; 52 private LoyaltyGiftsForYouOfferClickEvent giftsYou;
51 private QuestionnaireEventModel questionnaire; 53 private QuestionnaireEventModel questionnaire;
...@@ -189,6 +191,10 @@ public class WarplyEventBusManager { ...@@ -189,6 +191,10 @@ public class WarplyEventBusManager {
189 this.dealsAnalysis = dealsAnalysis; 191 this.dealsAnalysis = dealsAnalysis;
190 } 192 }
191 193
194 + public WarplyEventBusManager(WarplyBoxAnalysisEventModel boxAnalysis) {
195 + this.boxAnalysis = boxAnalysis;
196 + }
197 +
192 public WarplyEventBusManager(VouchersServiceUnavailableEventModel serviceUnavailable) { 198 public WarplyEventBusManager(VouchersServiceUnavailableEventModel serviceUnavailable) {
193 this.serviceUnavailable = serviceUnavailable; 199 this.serviceUnavailable = serviceUnavailable;
194 } 200 }
...@@ -254,6 +260,9 @@ public class WarplyEventBusManager { ...@@ -254,6 +260,9 @@ public class WarplyEventBusManager {
254 public WarplyDealsAnalysisEventModel getDealsAnalysis() { 260 public WarplyDealsAnalysisEventModel getDealsAnalysis() {
255 return dealsAnalysis; 261 return dealsAnalysis;
256 } 262 }
263 + public WarplyBoxAnalysisEventModel getBoxAnalysis() {
264 + return boxAnalysis;
265 + }
257 266
258 public WarplyCCMSEnabledModel getCcmsActivated() { 267 public WarplyCCMSEnabledModel getCcmsActivated() {
259 return ccmsActivated; 268 return ccmsActivated;
......
...@@ -349,6 +349,87 @@ ...@@ -349,6 +349,87 @@
349 </LinearLayout> 349 </LinearLayout>
350 </androidx.cardview.widget.CardView> 350 </androidx.cardview.widget.CardView>
351 </RelativeLayout> 351 </RelativeLayout>
352 +
353 + <RelativeLayout
354 + android:id="@+id/rl_fourth_banner"
355 + android:layout_width="match_parent"
356 + android:layout_height="wrap_content"
357 + android:layout_marginTop="16dp"
358 + android:layout_marginHorizontal="16dp"
359 + android:layout_below="@+id/rl_third_banner">
360 +
361 + <RelativeLayout
362 + android:layout_width="wrap_content"
363 + android:layout_height="wrap_content"
364 + android:translationZ="3dp">
365 +
366 + <ImageView
367 + android:id="@+id/iv_box_logo"
368 + android:layout_width="76dp"
369 + android:layout_height="76dp"
370 + android:src="@drawable/ic_box_polygon" />
371 +
372 + <androidx.constraintlayout.widget.ConstraintLayout
373 + android:id="@+id/cl_box_win_inner_cos"
374 + android:layout_width="76dp"
375 + android:layout_height="76dp">
376 +
377 + <androidx.constraintlayout.widget.Guideline
378 + android:id="@+id/gl_horizontal_50_box"
379 + android:layout_width="wrap_content"
380 + android:layout_height="match_parent"
381 + android:orientation="horizontal"
382 + app:layout_constraintGuide_percent="0.68" />
383 +
384 + <TextView
385 + android:id="@+id/tv_box_value"
386 + fontPath="fonts/PeridotPE-Bold.ttf"
387 + android:layout_width="wrap_content"
388 + android:layout_height="wrap_content"
389 + android:includeFontPadding="false"
390 + android:textColor="@color/cos_light_black"
391 + android:textSize="14sp"
392 + app:layout_constraintEnd_toEndOf="parent"
393 + app:layout_constraintStart_toStartOf="parent"
394 + app:layout_constraintTop_toBottomOf="@+id/gl_horizontal_50_box"
395 + tools:text="18.00€" />
396 + </androidx.constraintlayout.widget.ConstraintLayout>
397 + </RelativeLayout>
398 +
399 + <androidx.cardview.widget.CardView
400 + android:id="@+id/cv_box_win_inner_cos"
401 + android:layout_width="match_parent"
402 + android:layout_height="72dp"
403 + android:layout_marginStart="48dp"
404 + android:layout_marginTop="2dp"
405 + android:layout_marginEnd="2dp"
406 + android:layout_marginBottom="2dp"
407 + app:cardCornerRadius="16dp"
408 + app:cardElevation="2dp">
409 +
410 + <LinearLayout
411 + android:layout_width="match_parent"
412 + android:layout_height="match_parent"
413 + android:background="@color/white"
414 + android:gravity="center"
415 + android:orientation="vertical">
416 +
417 + <TextView
418 + android:id="@+id/tv_box_value_all"
419 + fontPath="fonts/PeridotPE-Regular.ttf"
420 + android:layout_width="match_parent"
421 + android:layout_height="wrap_content"
422 + android:layout_gravity="center"
423 + android:layout_marginStart="30dp"
424 + android:layout_marginEnd="16dp"
425 + android:includeFontPadding="false"
426 + android:lineHeight="22dp"
427 + android:text="@string/cos_box_win_title_cos"
428 + android:textColor="@color/cos_light_black"
429 + android:textSize="15sp" />
430 + </LinearLayout>
431 + </androidx.cardview.widget.CardView>
432 + </RelativeLayout>
352 </RelativeLayout> 433 </RelativeLayout>
353 </androidx.constraintlayout.widget.ConstraintLayout> 434 </androidx.constraintlayout.widget.ConstraintLayout>
354 </androidx.cardview.widget.CardView> 435 </androidx.cardview.widget.CardView>
......
...@@ -80,6 +80,7 @@ ...@@ -80,6 +80,7 @@
80 <string name="cos_popup_more_subtitle">Σε αυτή την ενότητα βρες έρευνες, παιχνίδια, διαγωνισμούς και επιβραβεύσεις για τις αθλητικές σου δραστηριότητες!</string> 80 <string name="cos_popup_more_subtitle">Σε αυτή την ενότητα βρες έρευνες, παιχνίδια, διαγωνισμούς και επιβραβεύσεις για τις αθλητικές σου δραστηριότητες!</string>
81 <string name="cos_deals_win_title">Μέχρι τώρα έχεις όφελος %1$s€ από τα FREE COUPONS</string> 81 <string name="cos_deals_win_title">Μέχρι τώρα έχεις όφελος %1$s€ από τα FREE COUPONS</string>
82 <string name="cos_deals_win_title_cos">Μέχρι τώρα έχεις όφελος %1$s€ από τα DEALS FOR YOU</string> 82 <string name="cos_deals_win_title_cos">Μέχρι τώρα έχεις όφελος %1$s€ από τα DEALS FOR YOU</string>
83 + <string name="cos_box_win_title_cos">Μέχρι τώρα έχεις όφελος %1$s€ από το BOX</string>
83 <string name="cos_mygifts">Τα δώρα μου</string> 84 <string name="cos_mygifts">Τα δώρα μου</string>
84 <string name="cos_gifts_banner_title">Δώρα:</string> 85 <string name="cos_gifts_banner_title">Δώρα:</string>
85 <string name="cos_see_more">Δες περισσότερα</string> 86 <string name="cos_see_more">Δες περισσότερα</string>
......