Panagiotis Triantafyllou

uat fixes and changes

...@@ -36,7 +36,7 @@ public class SplashActivity extends BaseActivity { ...@@ -36,7 +36,7 @@ public class SplashActivity extends BaseActivity {
36 public void onWarplyReady() { 36 public void onWarplyReady() {
37 if (!WarplyDBHelper.getInstance(SplashActivity.this).isTableNotEmpty("auth")) { 37 if (!WarplyDBHelper.getInstance(SplashActivity.this).isTableNotEmpty("auth")) {
38 WarplyManager.getCosmoteUser(new WarplyCosmoteUserRequest() 38 WarplyManager.getCosmoteUser(new WarplyCosmoteUserRequest()
39 - .setGuid("6012049139"), //6012049321, 6012049322, 6012049323 39 + .setGuid("7000001406"), //6012049321, 6012049322, 6012049323
40 mLoginReceiver); 40 mLoginReceiver);
41 } else { 41 } else {
42 startNextActivity(); 42 startNextActivity();
......
...@@ -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.4-cosbeta49' 5 + PUBLISH_VERSION = '4.5.4-cosbeta50'
6 PUBLISH_ARTIFACT_ID = 'warply-android-sdk' 6 PUBLISH_ARTIFACT_ID = 'warply-android-sdk'
7 } 7 }
8 8
......
...@@ -35,6 +35,7 @@ import ly.warp.sdk.io.request.WarplyRedeemCouponRequest; ...@@ -35,6 +35,7 @@ import ly.warp.sdk.io.request.WarplyRedeemCouponRequest;
35 import ly.warp.sdk.io.request.WarplyUserCouponsRequest; 35 import ly.warp.sdk.io.request.WarplyUserCouponsRequest;
36 import ly.warp.sdk.services.EventCampaignService; 36 import ly.warp.sdk.services.EventCampaignService;
37 import ly.warp.sdk.services.EventService; 37 import ly.warp.sdk.services.EventService;
38 +import ly.warp.sdk.utils.WarpJSONParser;
38 import ly.warp.sdk.utils.WarplyManagerHelper; 39 import ly.warp.sdk.utils.WarplyManagerHelper;
39 import ly.warp.sdk.utils.managers.WarplyManager; 40 import ly.warp.sdk.utils.managers.WarplyManager;
40 41
...@@ -59,6 +60,7 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe ...@@ -59,6 +60,7 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe
59 private AlertDialog mAlertDialogCouponset; 60 private AlertDialog mAlertDialogCouponset;
60 private Campaign mLoyalty; 61 private Campaign mLoyalty;
61 private LoyaltyContextualOfferModel mCcms = null; 62 private LoyaltyContextualOfferModel mCcms = null;
63 + private AlertDialog mAlertDialogNonTelco;
62 64
63 // =========================================================== 65 // ===========================================================
64 // Methods for/from SuperClass/Interfaces 66 // Methods for/from SuperClass/Interfaces
...@@ -156,6 +158,15 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe ...@@ -156,6 +158,15 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe
156 // =========================================================== 158 // ===========================================================
157 159
158 private void initViews() { 160 private void initViews() {
161 + if (WarplyManagerHelper.getConsumerInternal() != null) {
162 + JSONObject profMetadata = WarpJSONParser.getJSONFromString(WarplyManagerHelper.getConsumerInternal().getProfileMetadata());
163 + if (profMetadata != null) {
164 + if (profMetadata.has("nonTelco") && profMetadata.optBoolean("nonTelco")) {
165 + nonTelcoDialog();
166 + }
167 + }
168 + }
169 +
159 mTvCouponsetTitle.setText(mCouponset.getName()); 170 mTvCouponsetTitle.setText(mCouponset.getName());
160 mTvCouponsetSubtitle.setText(Html.fromHtml(mCouponset.getDescription())); 171 mTvCouponsetSubtitle.setText(Html.fromHtml(mCouponset.getDescription()));
161 mLlTerms.setOnClickListener(this); 172 mLlTerms.setOnClickListener(this);
...@@ -251,6 +262,16 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe ...@@ -251,6 +262,16 @@ public class CouponsetInfoActivity extends Activity implements View.OnClickListe
251 } 262 }
252 } 263 }
253 264
265 + private void nonTelcoDialog() {
266 + mAlertDialogNonTelco = new AlertDialog.Builder(this)
267 + .setTitle(R.string.cos_dlg_non_telco)
268 + .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> {
269 + dialogPositive.dismiss();
270 + onBackPressed();
271 + })
272 + .show();
273 + }
274 +
254 // =========================================================== 275 // ===========================================================
255 // Inner and Anonymous Classes 276 // Inner and Anonymous Classes
256 // =========================================================== 277 // ===========================================================
......
...@@ -12,6 +12,7 @@ import android.widget.ImageView; ...@@ -12,6 +12,7 @@ import android.widget.ImageView;
12 import android.widget.LinearLayout; 12 import android.widget.LinearLayout;
13 import android.widget.TextView; 13 import android.widget.TextView;
14 14
15 +import androidx.appcompat.app.AlertDialog;
15 import androidx.constraintlayout.widget.ConstraintLayout; 16 import androidx.constraintlayout.widget.ConstraintLayout;
16 import androidx.recyclerview.widget.LinearLayoutManager; 17 import androidx.recyclerview.widget.LinearLayoutManager;
17 import androidx.recyclerview.widget.RecyclerView; 18 import androidx.recyclerview.widget.RecyclerView;
...@@ -20,6 +21,7 @@ import com.bumptech.glide.Glide; ...@@ -20,6 +21,7 @@ import com.bumptech.glide.Glide;
20 import com.bumptech.glide.load.engine.DiskCacheStrategy; 21 import com.bumptech.glide.load.engine.DiskCacheStrategy;
21 22
22 import org.greenrobot.eventbus.EventBus; 23 import org.greenrobot.eventbus.EventBus;
24 +import org.json.JSONObject;
23 25
24 import java.io.Serializable; 26 import java.io.Serializable;
25 import java.util.Collections; 27 import java.util.Collections;
...@@ -32,6 +34,7 @@ import ly.warp.sdk.R; ...@@ -32,6 +34,7 @@ import ly.warp.sdk.R;
32 import ly.warp.sdk.io.models.ActiveDFYCouponEventModel; 34 import ly.warp.sdk.io.models.ActiveDFYCouponEventModel;
33 import ly.warp.sdk.io.models.ActiveDFYCouponModel; 35 import ly.warp.sdk.io.models.ActiveDFYCouponModel;
34 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel; 36 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel;
37 +import ly.warp.sdk.utils.WarpJSONParser;
35 import ly.warp.sdk.utils.WarpUtils; 38 import ly.warp.sdk.utils.WarpUtils;
36 import ly.warp.sdk.utils.WarplyManagerHelper; 39 import ly.warp.sdk.utils.WarplyManagerHelper;
37 import ly.warp.sdk.utils.managers.WarplyEventBusManager; 40 import ly.warp.sdk.utils.managers.WarplyEventBusManager;
...@@ -58,6 +61,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener { ...@@ -58,6 +61,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener {
58 private float couponDfyValue = 0.0f; 61 private float couponDfyValue = 0.0f;
59 private RecyclerView mRecyclerCoupons; 62 private RecyclerView mRecyclerCoupons;
60 private ActiveCouponAdapter mAdapterCoupons; 63 private ActiveCouponAdapter mAdapterCoupons;
64 + private AlertDialog mAlertDialogNonTelco;
61 65
62 // =========================================================== 66 // ===========================================================
63 // Methods for/from SuperClass/Interfaces 67 // Methods for/from SuperClass/Interfaces
...@@ -170,6 +174,15 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener { ...@@ -170,6 +174,15 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener {
170 // =========================================================== 174 // ===========================================================
171 175
172 private void initViews() { 176 private void initViews() {
177 + if(WarplyManagerHelper.getConsumerInternal() != null) {
178 + JSONObject profMetadata = WarpJSONParser.getJSONFromString(WarplyManagerHelper.getConsumerInternal().getProfileMetadata());
179 + if(profMetadata != null) {
180 + if (profMetadata.has("nonTelco") && profMetadata.optBoolean("nonTelco")) {
181 + nonTelcoDialog();
182 + }
183 + }
184 + }
185 +
173 if (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0) { 186 if (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0) {
174 mAdapterCoupons = new ActiveCouponAdapter(this, WarplyManagerHelper.getCouponList()); 187 mAdapterCoupons = new ActiveCouponAdapter(this, WarplyManagerHelper.getCouponList());
175 mRecyclerCoupons.setAdapter(mAdapterCoupons); 188 mRecyclerCoupons.setAdapter(mAdapterCoupons);
...@@ -307,6 +320,16 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener { ...@@ -307,6 +320,16 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener {
307 mClDealsView.setOnClickListener(this); 320 mClDealsView.setOnClickListener(this);
308 } 321 }
309 322
323 + private void nonTelcoDialog() {
324 + mAlertDialogNonTelco = new AlertDialog.Builder(this)
325 + .setTitle(R.string.cos_dlg_non_telco)
326 + .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> {
327 + dialogPositive.dismiss();
328 + onBackPressed();
329 + })
330 + .show();
331 + }
332 +
310 // =========================================================== 333 // ===========================================================
311 // Inner and Anonymous Classes 334 // Inner and Anonymous Classes
312 // =========================================================== 335 // ===========================================================
......
...@@ -13,6 +13,7 @@ import android.widget.LinearLayout; ...@@ -13,6 +13,7 @@ import android.widget.LinearLayout;
13 import android.widget.TextView; 13 import android.widget.TextView;
14 14
15 import androidx.appcompat.app.AlertDialog; 15 import androidx.appcompat.app.AlertDialog;
16 +import androidx.core.content.ContextCompat;
16 17
17 import com.bumptech.glide.Glide; 18 import com.bumptech.glide.Glide;
18 import com.bumptech.glide.load.engine.DiskCacheStrategy; 19 import com.bumptech.glide.load.engine.DiskCacheStrategy;
...@@ -22,15 +23,14 @@ import org.json.JSONArray; ...@@ -22,15 +23,14 @@ import org.json.JSONArray;
22 import org.json.JSONException; 23 import org.json.JSONException;
23 import org.json.JSONObject; 24 import org.json.JSONObject;
24 25
26 +import io.github.inflationx.viewpump.ViewPumpContextWrapper;
25 import ly.warp.sdk.R; 27 import ly.warp.sdk.R;
26 import ly.warp.sdk.io.callbacks.CallbackReceiver; 28 import ly.warp.sdk.io.callbacks.CallbackReceiver;
27 import ly.warp.sdk.io.models.Campaign; 29 import ly.warp.sdk.io.models.Campaign;
28 import ly.warp.sdk.io.models.Consumer; 30 import ly.warp.sdk.io.models.Consumer;
29 import ly.warp.sdk.io.models.LoyaltyContextualOfferModel; 31 import ly.warp.sdk.io.models.LoyaltyContextualOfferModel;
30 -import ly.warp.sdk.io.request.CosmotePostEventRequest;
31 import ly.warp.sdk.io.request.CosmoteSubmitOrderRequest; 32 import ly.warp.sdk.io.request.CosmoteSubmitOrderRequest;
32 import ly.warp.sdk.io.request.WarplyConsumerRequest; 33 import ly.warp.sdk.io.request.WarplyConsumerRequest;
33 -import ly.warp.sdk.utils.WarpUtils;
34 import ly.warp.sdk.utils.managers.WarplyManager; 34 import ly.warp.sdk.utils.managers.WarplyManager;
35 35
36 36
...@@ -47,13 +47,16 @@ public class TelcoActivity extends Activity implements View.OnClickListener { ...@@ -47,13 +47,16 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
47 // =========================================================== 47 // ===========================================================
48 48
49 private ImageView mIvBack, mIvCampaignPhoto; 49 private ImageView mIvBack, mIvCampaignPhoto;
50 - private TextView mTvCampaignTitle, mTvCampaignSubtitle; 50 + private TextView mTvCampaignTitle, mTvTelcoGiftValue, mTvTelcoGiftType, mTvTelcoHeaderTitle,
51 + mTvTelcoGiftDuration, mTvSeeMoreValue;
51 private LoyaltyContextualOfferModel mCCMS = new LoyaltyContextualOfferModel(); 52 private LoyaltyContextualOfferModel mCCMS = new LoyaltyContextualOfferModel();
52 private Campaign mLoyalty = new Campaign(); 53 private Campaign mLoyalty = new Campaign();
53 private LinearLayout mLlActivateOffer; 54 private LinearLayout mLlActivateOffer;
54 private Consumer mConsumer; 55 private Consumer mConsumer;
55 private String mSender = ""; 56 private String mSender = "";
56 private AlertDialog mAlertDialogAskActivate, mAlertDialogErrorActivating, mAlertDialogSuccessActivating; 57 private AlertDialog mAlertDialogAskActivate, mAlertDialogErrorActivating, mAlertDialogSuccessActivating;
58 + private LinearLayout mLlSeeMore;
59 + private boolean mIsSeeMoreShown = false;
57 60
58 // =========================================================== 61 // ===========================================================
59 // Methods for/from SuperClass/Interfaces 62 // Methods for/from SuperClass/Interfaces
...@@ -70,8 +73,13 @@ public class TelcoActivity extends Activity implements View.OnClickListener { ...@@ -70,8 +73,13 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
70 mIvBack = findViewById(R.id.iv_telco_back); 73 mIvBack = findViewById(R.id.iv_telco_back);
71 mTvCampaignTitle = findViewById(R.id.textView13); 74 mTvCampaignTitle = findViewById(R.id.textView13);
72 mIvCampaignPhoto = findViewById(R.id.imageView6); 75 mIvCampaignPhoto = findViewById(R.id.imageView6);
73 - mTvCampaignSubtitle = findViewById(R.id.textView14);
74 mLlActivateOffer = findViewById(R.id.ll_activate_button); 76 mLlActivateOffer = findViewById(R.id.ll_activate_button);
77 + mTvTelcoGiftValue = findViewById(R.id.tv_telco_gift_value);
78 + mTvTelcoGiftType = findViewById(R.id.tv_telco_gift_type);
79 + mTvTelcoHeaderTitle = findViewById(R.id.tv_telco_header_title);
80 + mTvTelcoGiftDuration = findViewById(R.id.tv_telco_gift_duration);
81 + mLlSeeMore = findViewById(R.id.ll_see_more);
82 + mTvSeeMoreValue = findViewById(R.id.tv_see_more_value);
75 83
76 initViews(); 84 initViews();
77 } 85 }
...@@ -97,18 +105,41 @@ public class TelcoActivity extends Activity implements View.OnClickListener { ...@@ -97,18 +105,41 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
97 } 105 }
98 if (view.getId() == R.id.ll_activate_button) { 106 if (view.getId() == R.id.ll_activate_button) {
99 showActivationDialog(); 107 showActivationDialog();
108 + return;
109 + }
110 + if (view.getId() == R.id.ll_see_more) {
111 + if (mIsSeeMoreShown) {
112 + mTvSeeMoreValue.setVisibility(View.GONE);
113 + ImageView seeMoreButtonArrow = mLlSeeMore.findViewById(R.id.iv_see_more_arrow);
114 + seeMoreButtonArrow.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_arrow_down_dark));
115 + mIsSeeMoreShown = false;
116 + } else {
117 + mTvSeeMoreValue.setVisibility(View.VISIBLE);
118 + ImageView seeMoreButtonArrow = mLlSeeMore.findViewById(R.id.iv_see_more_arrow);
119 + seeMoreButtonArrow.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_arrow_up_dark));
120 + mIsSeeMoreShown = true;
121 + }
100 } 122 }
101 } 123 }
102 124
125 + @Override
126 + protected void attachBaseContext(Context newBase) {
127 + super.attachBaseContext(ViewPumpContextWrapper.wrap(newBase));
128 + }
129 +
103 // =========================================================== 130 // ===========================================================
104 // Methods 131 // Methods
105 // =========================================================== 132 // ===========================================================
106 133
107 private void initViews() { 134 private void initViews() {
108 - mTvCampaignTitle.setText(mCCMS.getTitle()); 135 + mTvTelcoHeaderTitle.setText(mCCMS.getTitleOffer());
109 - mTvCampaignSubtitle.setText(mCCMS.getSubtitle()); 136 + mTvCampaignTitle.setText(mCCMS.getDescription());
110 - 137 + mTvTelcoGiftValue.setText(mCCMS.getGiftValue());
111 - if (!TextUtils.isEmpty(mCCMS.getImageUrl())) { 138 + mTvTelcoGiftType.setText(mCCMS.getGiftType());
139 + mTvTelcoGiftDuration.setText(mCCMS.getDuration());
140 + mTvSeeMoreValue.setText(mCCMS.getTermsAndConditions());
141 +
142 + if (!TextUtils.isEmpty(mCCMS.getImageOfferUrl())) {
112 Glide.with(this) 143 Glide.with(this)
113 // .setDefaultRequestOptions( 144 // .setDefaultRequestOptions(
114 // RequestOptions 145 // RequestOptions
...@@ -124,6 +155,7 @@ public class TelcoActivity extends Activity implements View.OnClickListener { ...@@ -124,6 +155,7 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
124 } 155 }
125 mIvBack.setOnClickListener(this); 156 mIvBack.setOnClickListener(this);
126 mLlActivateOffer.setOnClickListener(this); 157 mLlActivateOffer.setOnClickListener(this);
158 + mLlSeeMore.setOnClickListener(this);
127 } 159 }
128 160
129 private void showActivationDialog() { 161 private void showActivationDialog() {
......
...@@ -1437,510 +1437,517 @@ public class WarplyManager { ...@@ -1437,510 +1437,517 @@ public class WarplyManager {
1437 } 1437 }
1438 WarplyManagerHelper.setCampaignList(mNewCampaignList); 1438 WarplyManagerHelper.setCampaignList(mNewCampaignList);
1439 1439
1440 -// ArrayList<LoyaltyContextualOfferModel> list = new ArrayList<>(); 1440 + ArrayList<LoyaltyContextualOfferModel> list = new ArrayList<>();
1441 -// JSONArray jArray = null; 1441 + JSONArray jArray = null;
1442 -// try { 1442 + try {
1443 -// jArray = new JSONArray("[\n" + 1443 + jArray = new JSONArray("[\n" +
1444 -// " {\n" + 1444 + " {\n" +
1445 -// " \"UACIOfferTrackingCode\": \"5166.e07.fffffffffa10663a.ffffffffda30c76a\",\n" + 1445 + " \"UACIOfferTrackingCode\": \"5166.e07.fffffffffa10663a.ffffffffda30c76a\",\n" +
1446 -// " \"businessAdditionalId\": \"\",\n" + 1446 + " \"businessAdditionalId\": \"\",\n" +
1447 -// " \"dataCategory\": \"Data\",\n" + 1447 + " \"dataCategory\": \"Data\",\n" +
1448 -// " \"dataValue\": \"None\",\n" + 1448 + " \"dataValue\": \"None\",\n" +
1449 -// " \"discount\": \"None\",\n" + 1449 + " \"discount\": \"None\",\n" +
1450 -// " \"eligibleAssets\": [\n" + 1450 + " \"eligibleAssets\": [\n" +
1451 -// " \"306945218770\",\n" + 1451 + " \"306945218770\",\n" +
1452 -// " \"306944333488\",\n" + 1452 + " \"306944333488\",\n" +
1453 -// " \"306932222490\",\n" + 1453 + " \"306932222490\",\n" +
1454 -// " \"306996824010\",\n" + 1454 + " \"306996824010\",\n" +
1455 -// " \"306972713201\",\n" + 1455 + " \"306972713201\",\n" +
1456 -// " \"306942496252\",\n" + 1456 + " \"306942496252\",\n" +
1457 -// " \"306977316716\",\n" + 1457 + " \"306977316716\",\n" +
1458 -// " \"306945433100\",\n" + 1458 + " \"306945433100\",\n" +
1459 -// " \"306977403986\",\n" + 1459 + " \"306977403986\",\n" +
1460 -// " \"306936581495\",\n" + 1460 + " \"306936581495\",\n" +
1461 -// " \"306980689662\",\n" + 1461 + " \"306980689662\",\n" +
1462 -// " \"306970101490\",\n" + 1462 + " \"306970101490\",\n" +
1463 -// " \"306973396329\",\n" + 1463 + " \"306973396329\",\n" +
1464 -// " \"306972577064\",\n" + 1464 + " \"306972577064\",\n" +
1465 -// " \"306974923219\",\n" + 1465 + " \"306974923219\",\n" +
1466 -// " \"306977513761\",\n" + 1466 + " \"306977513761\",\n" +
1467 -// " \"306984220987\",\n" + 1467 + " \"306984220987\",\n" +
1468 -// " \"306979949205\",\n" + 1468 + " \"306979949205\",\n" +
1469 -// " \"306943134127\",\n" + 1469 + " \"306943134127\",\n" +
1470 -// " \"306970437794\",\n" + 1470 + " \"306970437794\",\n" +
1471 -// " \"306932535319\",\n" + 1471 + " \"306932535319\",\n" +
1472 -// " \"306974063133\",\n" + 1472 + " \"306974063133\",\n" +
1473 -// " \"306932520323\",\n" + 1473 + " \"306932520323\",\n" +
1474 -// " \"306978733823\",\n" + 1474 + " \"306978733823\",\n" +
1475 -// " \"306985995420\",\n" + 1475 + " \"306985995420\",\n" +
1476 -// " \"306983879555\",\n" + 1476 + " \"306983879555\",\n" +
1477 -// " ],\n" + 1477 + " ],\n" +
1478 -// " \"id\": \"000003590\",\n" + 1478 + " \"id\": \"000003590\",\n" +
1479 -// " \"loyaltyCampaignId\": \"NA\",\n" + 1479 + " \"loyaltyCampaignId\": \"NA\",\n" +
1480 -// " \"minsValue\": \"None\",\n" + 1480 + " \"minsValue\": \"None\",\n" +
1481 -// " \"noOfRecurrance\": \"None\",\n" + 1481 + " \"noOfRecurrance\": \"None\",\n" +
1482 -// " \"notificationMessage\": \"None\",\n" + 1482 + " \"notificationMessage\": \"None\",\n" +
1483 -// " \"offerAudienceLevel\": \"msisdn\",\n" + 1483 + " \"offerAudienceLevel\": \"msisdn\",\n" +
1484 -// " \"offerCode1\": \"000003590\",\n" + 1484 + " \"offerCode1\": \"000003590\",\n" +
1485 -// " \"offerName\": \"CCMS loyalty white label\",\n" + 1485 + " \"offerName\": \"CCMS loyalty white label\",\n" +
1486 -// " \"price\": \"None\",\n" + 1486 + " \"price\": \"None\",\n" +
1487 -// " \"productType\": \"White Label\",\n" + 1487 + " \"productType\": \"White Label\",\n" +
1488 -// " \"provDuration\": \"0.0\",\n" + 1488 + " \"provDuration\": \"0.0\",\n" +
1489 -// " \"provStepValueMins\": \"None\",\n" + 1489 + " \"provStepValueMins\": \"None\",\n" +
1490 -// " \"score\": \"50\",\n" + 1490 + " \"score\": \"50\",\n" +
1491 -// " \"treatmentCode\": \"5166.e07.fffffffffa10663a.ffffffffda30c76a\",\n" + 1491 + " \"treatmentCode\": \"5166.e07.fffffffffa10663a.ffffffffda30c76a\",\n" +
1492 -// " \"validity\": \"0\",\n" + 1492 + " \"validity\": \"0\",\n" +
1493 -// " \"voiceCategory\": \"None\",\n" + 1493 + " \"voiceCategory\": \"None\",\n" +
1494 -// " \"wave\": \"1\",\n" + 1494 + " \"wave\": \"1\",\n" +
1495 -// " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" + 1495 + " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" +
1496 -// " },\n" + 1496 + " },\n" +
1497 -// " {\n" + 1497 + " {\n" +
1498 -// " \"UACIOfferTrackingCode\": \"51ed.e10.2c006f18.71e96d08\",\n" + 1498 + " \"UACIOfferTrackingCode\": \"51ed.e10.2c006f18.71e96d08\",\n" +
1499 -// " \"businessAdditionalId\": \"\",\n" + 1499 + " \"businessAdditionalId\": \"\",\n" +
1500 -// " \"dataCategory\": \"Data\",\n" + 1500 + " \"dataCategory\": \"Data\",\n" +
1501 -// " \"dataValue\": \"233\",\n" + 1501 + " \"dataValue\": \"233\",\n" +
1502 -// " \"discount\": \"None\",\n" + 1502 + " \"discount\": \"None\",\n" +
1503 -// " \"eligibleAssets\": [\n" + 1503 + " \"eligibleAssets\": [\n" +
1504 -// " \"306945218770\",\n" + 1504 + " \"306945218770\",\n" +
1505 -// " \"306944333488\",\n" + 1505 + " \"306944333488\",\n" +
1506 -// " \"306932222490\",\n" + 1506 + " \"306932222490\",\n" +
1507 -// " \"306996824010\",\n" + 1507 + " \"306996824010\",\n" +
1508 -// " \"306972713201\",\n" + 1508 + " \"306972713201\",\n" +
1509 -// " \"306942496252\",\n" + 1509 + " \"306942496252\",\n" +
1510 -// " \"306977316716\",\n" + 1510 + " \"306977316716\",\n" +
1511 -// " \"306945433100\",\n" + 1511 + " \"306945433100\",\n" +
1512 -// " \"306977403986\",\n" + 1512 + " \"306977403986\",\n" +
1513 -// " \"306936581495\",\n" + 1513 + " \"306936581495\",\n" +
1514 -// " \"306980689662\",\n" + 1514 + " \"306980689662\",\n" +
1515 -// " \"306970101490\",\n" + 1515 + " \"306970101490\",\n" +
1516 -// " \"306973396329\",\n" + 1516 + " \"306973396329\",\n" +
1517 -// " \"306972577064\",\n" + 1517 + " \"306972577064\",\n" +
1518 -// " \"306974923219\",\n" + 1518 + " \"306974923219\",\n" +
1519 -// " \"306977513761\",\n" + 1519 + " \"306977513761\",\n" +
1520 -// " \"306984220987\",\n" + 1520 + " \"306984220987\",\n" +
1521 -// " \"306979949205\",\n" + 1521 + " \"306979949205\",\n" +
1522 -// " \"306943134127\",\n" + 1522 + " \"306943134127\",\n" +
1523 -// " \"306970437794\",\n" + 1523 + " \"306970437794\",\n" +
1524 -// " \"306932535319\",\n" + 1524 + " \"306932535319\",\n" +
1525 -// " \"306974063133\",\n" + 1525 + " \"306974063133\",\n" +
1526 -// " \"306932520323\",\n" + 1526 + " \"306932520323\",\n" +
1527 -// " \"306978733823\",\n" + 1527 + " \"306978733823\",\n" +
1528 -// " \"306985995420\",\n" + 1528 + " \"306985995420\",\n" +
1529 -// " \"306983879555\",\n" + 1529 + " \"306983879555\",\n" +
1530 -// " ],\n" + 1530 + " ],\n" +
1531 -// " \"id\": \"000003599\",\n" + 1531 + " \"id\": \"000003599\",\n" +
1532 -// " \"loyaltyCampaignId\": \"9a92d445956145f6bbc5cd20cef543b9\",\n" + //c5cc5f4f65624f47a580b720233fa60d 1532 + " \"loyaltyCampaignId\": \"9a92d445956145f6bbc5cd20cef543b9\",\n" + //c5cc5f4f65624f47a580b720233fa60d
1533 -// " \"minsValue\": \"None\",\n" + 1533 + " \"minsValue\": \"None\",\n" +
1534 -// " \"noOfRecurrance\": \"None\",\n" + 1534 + " \"noOfRecurrance\": \"None\",\n" +
1535 -// " \"notificationMessage\": \"None\",\n" + 1535 + " \"notificationMessage\": \"None\",\n" +
1536 -// " \"offerAudienceLevel\": \"msisdn\",\n" + 1536 + " \"offerAudienceLevel\": \"msisdn\",\n" +
1537 -// " \"offerCode1\": \"000003599\",\n" + 1537 + " \"offerCode1\": \"000003599\",\n" +
1538 -// " \"offerName\": \"CCMS loyalty white label with campaignId\",\n" + 1538 + " \"offerName\": \"CCMS loyalty white label with campaignId\",\n" +
1539 -// " \"price\": \"None\",\n" + 1539 + " \"price\": \"None\",\n" +
1540 -// " \"productType\": \"White Label\",\n" + 1540 + " \"productType\": \"White Label\",\n" +
1541 -// " \"provDuration\": \"0.0\",\n" + 1541 + " \"provDuration\": \"0.0\",\n" +
1542 -// " \"provStepValueMins\": \"None\",\n" + 1542 + " \"provStepValueMins\": \"None\",\n" +
1543 -// " \"score\": \"50\",\n" + 1543 + " \"score\": \"50\",\n" +
1544 -// " \"treatmentCode\": \"51ed.e10.2c006f18.71e96d08\",\n" + 1544 + " \"treatmentCode\": \"51ed.e10.2c006f18.71e96d08\",\n" +
1545 -// " \"validity\": \"0\",\n" + 1545 + " \"validity\": \"0\",\n" +
1546 -// " \"voiceCategory\": \"None\",\n" + 1546 + " \"voiceCategory\": \"None\",\n" +
1547 -// " \"wave\": \"1\",\n" + 1547 + " \"wave\": \"1\",\n" +
1548 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1548 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1549 -// " \"title\": \"Test1\",\n" + 1549 + " \"title\": \"Title External\",\n" +
1550 -// " \"subtitle\": \"Test1\",\n" + 1550 + " \"subtitle\": \"Subtitle MFY second\",\n" +
1551 -// " \"description\": \"Test1\",\n" + 1551 + " \"description\": \"Description Internal\",\n" +
1552 -// " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" + 1552 + " \"message\": \"Message MFY third\",\n" +
1553 -// " },\n" + 1553 + " \"titleOffer\": \"Title Internal\",\n" +
1554 -// " {\n" + 1554 + " \"imageOfferUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1555 -// " \"UACIOfferTrackingCode\": \"516c.e05.ffffffffa943695b.79ff470b\",\n" + 1555 + " \"duration\": \"gia 7 imeres\",\n" +
1556 -// " \"businessAdditionalId\": \"\",\n" + 1556 + " \"giftType\": \"Internet\",\n" +
1557 -// " \"businessService\": \"0.0\",\n" + 1557 + " \"giftValue\": \"1 GB\",\n" +
1558 -// " \"eligibleAssets\": [\n" + 1558 + " \"termsAndConditions\": \"Terms and Conditions Lorem Ipsum Dolores sit amen\",\n" +
1559 -// " \"306945218770\",\n" + 1559 + " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" +
1560 -// " \"306944333488\",\n" + 1560 + " },\n" +
1561 -// " \"306932222490\",\n" + 1561 + " {\n" +
1562 -// " \"306996824010\",\n" + 1562 + " \"UACIOfferTrackingCode\": \"516c.e05.ffffffffa943695b.79ff470b\",\n" +
1563 -// " \"306972713201\",\n" + 1563 + " \"businessAdditionalId\": \"\",\n" +
1564 -// " \"306942496252\",\n" + 1564 + " \"businessService\": \"0.0\",\n" +
1565 -// " \"306977316716\",\n" + 1565 + " \"eligibleAssets\": [\n" +
1566 -// " \"306945433100\",\n" + 1566 + " \"306945218770\",\n" +
1567 -// " \"306977403986\",\n" + 1567 + " \"306944333488\",\n" +
1568 -// " \"306936581495\",\n" + 1568 + " \"306932222490\",\n" +
1569 -// " \"306980689662\",\n" + 1569 + " \"306996824010\",\n" +
1570 -// " \"306970101490\",\n" + 1570 + " \"306972713201\",\n" +
1571 -// " \"306973396329\",\n" + 1571 + " \"306942496252\",\n" +
1572 -// " \"306972577064\",\n" + 1572 + " \"306977316716\",\n" +
1573 -// " \"306974923219\",\n" + 1573 + " \"306945433100\",\n" +
1574 -// " \"306977513761\",\n" + 1574 + " \"306977403986\",\n" +
1575 -// " \"306984220987\",\n" + 1575 + " \"306936581495\",\n" +
1576 -// " \"306979949205\",\n" + 1576 + " \"306980689662\",\n" +
1577 -// " \"306943134127\",\n" + 1577 + " \"306970101490\",\n" +
1578 -// " \"306970437794\",\n" + 1578 + " \"306973396329\",\n" +
1579 -// " \"306932535319\",\n" + 1579 + " \"306972577064\",\n" +
1580 -// " \"306974063133\",\n" + 1580 + " \"306974923219\",\n" +
1581 -// " \"306932520323\",\n" + 1581 + " \"306977513761\",\n" +
1582 -// " \"306978733823\",\n" + 1582 + " \"306984220987\",\n" +
1583 -// " \"306985995420\",\n" + 1583 + " \"306979949205\",\n" +
1584 -// " \"306983879555\",\n" + 1584 + " \"306943134127\",\n" +
1585 -// " ],\n" + 1585 + " \"306970437794\",\n" +
1586 -// " \"id\": \"000003588\",\n" + 1586 + " \"306932535319\",\n" +
1587 -// " \"loyaltyCampaignId\": \"NA\",\n" + 1587 + " \"306974063133\",\n" +
1588 -// " \"noOfRecurrance\": \"0\",\n" + 1588 + " \"306932520323\",\n" +
1589 -// " \"notificationMessage\": \"None\",\n" + 1589 + " \"306978733823\",\n" +
1590 -// " \"offerAudienceLevel\": \"msisdn\",\n" + 1590 + " \"306985995420\",\n" +
1591 -// " \"offerCode1\": \"000003588\",\n" + 1591 + " \"306983879555\",\n" +
1592 -// " \"offerName\": \"CCMS loyalty postpay addon\",\n" + 1592 + " ],\n" +
1593 -// " \"postpayProduct\": \"0.0\",\n" + 1593 + " \"id\": \"000003588\",\n" +
1594 -// " \"price\": \"None\",\n" + 1594 + " \"loyaltyCampaignId\": \"NA\",\n" +
1595 -// " \"productType\": \"MOBILE ADDON\",\n" + 1595 + " \"noOfRecurrance\": \"0\",\n" +
1596 -// " \"provDuration\": \"0.0\",\n" + 1596 + " \"notificationMessage\": \"None\",\n" +
1597 -// " \"score\": \"50\",\n" + 1597 + " \"offerAudienceLevel\": \"msisdn\",\n" +
1598 -// " \"treatmentCode\": \"516c.e05.ffffffffa943695b.79ff470b\",\n" + 1598 + " \"offerCode1\": \"000003588\",\n" +
1599 -// " \"validity\": \"0\",\n" + 1599 + " \"offerName\": \"CCMS loyalty postpay addon\",\n" +
1600 -// " \"wave\": \"1\",\n" + 1600 + " \"postpayProduct\": \"0.0\",\n" +
1601 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1601 + " \"price\": \"None\",\n" +
1602 -// " \"title\": \"Test2\",\n" + 1602 + " \"productType\": \"MOBILE ADDON\",\n" +
1603 -// " \"subtitle\": \"Test2\",\n" + 1603 + " \"provDuration\": \"0.0\",\n" +
1604 -// " \"description\": \"Test2\",\n" + 1604 + " \"score\": \"50\",\n" +
1605 -// " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" + 1605 + " \"treatmentCode\": \"516c.e05.ffffffffa943695b.79ff470b\",\n" +
1606 -// " },\n" + 1606 + " \"validity\": \"0\",\n" +
1607 -// " {\n" + 1607 + " \"wave\": \"1\",\n" +
1608 -// " \"UACIOfferTrackingCode\": \"5224.e19.30e2f27b.ffffffffeb22b0db\",\n" + 1608 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1609 -// " \"businessAdditionalId\": \"\",\n" + 1609 + " \"title\": \"Test2\",\n" +
1610 -// " \"dataCategory\": \"Data\",\n" + 1610 + " \"subtitle\": \"Test2\",\n" +
1611 -// " \"dataValue\": \"None\",\n" + 1611 + " \"description\": \"Test2\",\n" +
1612 -// " \"discount\": \"None\",\n" + 1612 + " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" +
1613 -// " \"eligibleAssets\": [\n" + 1613 + " },\n" +
1614 -// " \"306945218770\",\n" + 1614 + " {\n" +
1615 -// " \"306944333488\",\n" + 1615 + " \"UACIOfferTrackingCode\": \"5224.e19.30e2f27b.ffffffffeb22b0db\",\n" +
1616 -// " \"306932222490\",\n" + 1616 + " \"businessAdditionalId\": \"\",\n" +
1617 -// " \"306996824010\",\n" + 1617 + " \"dataCategory\": \"Data\",\n" +
1618 -// " \"306972713201\",\n" + 1618 + " \"dataValue\": \"None\",\n" +
1619 -// " \"306942496252\",\n" + 1619 + " \"discount\": \"None\",\n" +
1620 -// " \"306977316716\",\n" + 1620 + " \"eligibleAssets\": [\n" +
1621 -// " \"306945433100\",\n" + 1621 + " \"306945218770\",\n" +
1622 -// " \"306977403986\",\n" + 1622 + " \"306944333488\",\n" +
1623 -// " \"306936581495\",\n" + 1623 + " \"306932222490\",\n" +
1624 -// " \"306980689662\",\n" + 1624 + " \"306996824010\",\n" +
1625 -// " \"306970101490\",\n" + 1625 + " \"306972713201\",\n" +
1626 -// " \"306973396329\",\n" + 1626 + " \"306942496252\",\n" +
1627 -// " \"306972577064\",\n" + 1627 + " \"306977316716\",\n" +
1628 -// " \"306974923219\",\n" + 1628 + " \"306945433100\",\n" +
1629 -// " \"306977513761\",\n" + 1629 + " \"306977403986\",\n" +
1630 -// " \"306984220987\",\n" + 1630 + " \"306936581495\",\n" +
1631 -// " \"306979949205\",\n" + 1631 + " \"306980689662\",\n" +
1632 -// " \"306943134127\",\n" + 1632 + " \"306970101490\",\n" +
1633 -// " \"306970437794\",\n" + 1633 + " \"306973396329\",\n" +
1634 -// " \"306932535319\",\n" + 1634 + " \"306972577064\",\n" +
1635 -// " \"306974063133\",\n" + 1635 + " \"306974923219\",\n" +
1636 -// " \"306932520323\",\n" + 1636 + " \"306977513761\",\n" +
1637 -// " \"306978733823\",\n" + 1637 + " \"306984220987\",\n" +
1638 -// " \"306985995420\",\n" + 1638 + " \"306979949205\",\n" +
1639 -// " \"306983879555\",\n" + 1639 + " \"306943134127\",\n" +
1640 -// " ],\n" + 1640 + " \"306970437794\",\n" +
1641 -// " \"id\": \"000003608\",\n" + 1641 + " \"306932535319\",\n" +
1642 -// " \"loyaltyCampaignId\": \"c134cdeb8a924f8eac38e261acb9caf5\",\n" + 1642 + " \"306974063133\",\n" +
1643 -// " \"minsValue\": \"None\",\n" + 1643 + " \"306932520323\",\n" +
1644 -// " \"noOfRecurrance\": \"None\",\n" + 1644 + " \"306978733823\",\n" +
1645 -// " \"notificationMessage\": \"None\",\n" + 1645 + " \"306985995420\",\n" +
1646 -// " \"offerAudienceLevel\": \"msisdn\",\n" + 1646 + " \"306983879555\",\n" +
1647 -// " \"offerCode1\": \"000003608\",\n" + 1647 + " ],\n" +
1648 -// " \"offerName\": \"CCMS loyalty gifts4u v1\",\n" + 1648 + " \"id\": \"000003608\",\n" +
1649 -// " \"price\": \"None\",\n" + 1649 + " \"loyaltyCampaignId\": \"c134cdeb8a924f8eac38e261acb9caf5\",\n" +
1650 -// " \"productType\": \"White Label\",\n" + 1650 + " \"minsValue\": \"None\",\n" +
1651 -// " \"provDuration\": \"0.0\",\n" + 1651 + " \"noOfRecurrance\": \"None\",\n" +
1652 -// " \"provStepValueMins\": \"None\",\n" + 1652 + " \"notificationMessage\": \"None\",\n" +
1653 -// " \"score\": \"50\",\n" + 1653 + " \"offerAudienceLevel\": \"msisdn\",\n" +
1654 -// " \"treatmentCode\": \"5224.e19.30e2f27b.ffffffffeb22b0db\",\n" + 1654 + " \"offerCode1\": \"000003608\",\n" +
1655 -// " \"validity\": \"0\",\n" + 1655 + " \"offerName\": \"CCMS loyalty gifts4u v1\",\n" +
1656 -// " \"voiceCategory\": \"None\",\n" + 1656 + " \"price\": \"None\",\n" +
1657 -// " \"wave\": \"1\",\n" + 1657 + " \"productType\": \"White Label\",\n" +
1658 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1658 + " \"provDuration\": \"0.0\",\n" +
1659 -// " \"title\": \"Test3\",\n" + 1659 + " \"provStepValueMins\": \"None\",\n" +
1660 -// " \"subtitle\": \"Test3\",\n" + 1660 + " \"score\": \"50\",\n" +
1661 -// " \"description\": \"Test3\",\n" + 1661 + " \"treatmentCode\": \"5224.e19.30e2f27b.ffffffffeb22b0db\",\n" +
1662 -// " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" + 1662 + " \"validity\": \"0\",\n" +
1663 -// " },\n" + 1663 + " \"voiceCategory\": \"None\",\n" +
1664 -// " {\n" + 1664 + " \"wave\": \"1\",\n" +
1665 -// " \"UACIOfferTrackingCode\": \"5228.e1d.38378e61.750186c1\",\n" + 1665 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1666 -// " \"businessAdditionalId\": \"\",\n" + 1666 + " \"title\": \"Test3\",\n" +
1667 -// " \"businessService\": \"0.0\",\n" + 1667 + " \"subtitle\": \"Test3\",\n" +
1668 -// " \"eligibleAssets\": [\n" + 1668 + " \"description\": \"Test3\",\n" +
1669 -// " \"306945218770\",\n" + 1669 + " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" +
1670 -// " \"306944333488\",\n" + 1670 + " },\n" +
1671 -// " \"306932222490\",\n" + 1671 + " {\n" +
1672 -// " \"306996824010\",\n" + 1672 + " \"UACIOfferTrackingCode\": \"5228.e1d.38378e61.750186c1\",\n" +
1673 -// " \"306972713201\",\n" + 1673 + " \"businessAdditionalId\": \"\",\n" +
1674 -// " \"306942496252\",\n" + 1674 + " \"businessService\": \"0.0\",\n" +
1675 -// " \"306977316716\",\n" + 1675 + " \"eligibleAssets\": [\n" +
1676 -// " \"306945433100\",\n" + 1676 + " \"306945218770\",\n" +
1677 -// " \"306977403986\",\n" + 1677 + " \"306944333488\",\n" +
1678 -// " \"306936581495\",\n" + 1678 + " \"306932222490\",\n" +
1679 -// " \"306980689662\",\n" + 1679 + " \"306996824010\",\n" +
1680 -// " \"306970101490\",\n" + 1680 + " \"306972713201\",\n" +
1681 -// " \"306973396329\",\n" + 1681 + " \"306942496252\",\n" +
1682 -// " \"306972577064\",\n" + 1682 + " \"306977316716\",\n" +
1683 -// " \"306974923219\",\n" + 1683 + " \"306945433100\",\n" +
1684 -// " \"306977513761\",\n" + 1684 + " \"306977403986\",\n" +
1685 -// " \"306984220987\",\n" + 1685 + " \"306936581495\",\n" +
1686 -// " \"306979949205\",\n" + 1686 + " \"306980689662\",\n" +
1687 -// " \"306943134127\",\n" + 1687 + " \"306970101490\",\n" +
1688 -// " \"306970437794\",\n" + 1688 + " \"306973396329\",\n" +
1689 -// " \"306932535319\",\n" + 1689 + " \"306972577064\",\n" +
1690 -// " \"306974063133\",\n" + 1690 + " \"306974923219\",\n" +
1691 -// " \"306932520323\",\n" + 1691 + " \"306977513761\",\n" +
1692 -// " \"306978733823\",\n" + 1692 + " \"306984220987\",\n" +
1693 -// " \"306985995420\",\n" + 1693 + " \"306979949205\",\n" +
1694 -// " \"306983879555\",\n" + 1694 + " \"306943134127\",\n" +
1695 -// " ],\n" + 1695 + " \"306970437794\",\n" +
1696 -// " \"id\": \"000003612\",\n" + 1696 + " \"306932535319\",\n" +
1697 -// " \"loyaltyCampaignId\": \"8eb71c4ceaff409c896e2d1f6f1c20f3\",\n" + 1697 + " \"306974063133\",\n" +
1698 -// " \"noOfRecurrance\": \"0\",\n" + 1698 + " \"306932520323\",\n" +
1699 -// " \"notificationMessage\": \"None\",\n" + 1699 + " \"306978733823\",\n" +
1700 -// " \"offerAudienceLevel\": \"msisdn\",\n" + 1700 + " \"306985995420\",\n" +
1701 -// " \"offerCode1\": \"000003612\",\n" + 1701 + " \"306983879555\",\n" +
1702 -// " \"offerName\": \"CCMS loyalty - postpay addon gifts4u\",\n" + 1702 + " ],\n" +
1703 -// " \"postpayProduct\": \"0.0\",\n" + 1703 + " \"id\": \"000003612\",\n" +
1704 -// " \"price\": \"None\",\n" + 1704 + " \"loyaltyCampaignId\": \"8eb71c4ceaff409c896e2d1f6f1c20f3\",\n" +
1705 -// " \"productType\": \"MOBILE ADDON\",\n" + 1705 + " \"noOfRecurrance\": \"0\",\n" +
1706 -// " \"provDuration\": \"0.0\",\n" + 1706 + " \"notificationMessage\": \"None\",\n" +
1707 -// " \"score\": \"50\",\n" + 1707 + " \"offerAudienceLevel\": \"msisdn\",\n" +
1708 -// " \"treatmentCode\": \"5228.e1d.38378e61.750186c1\",\n" + 1708 + " \"offerCode1\": \"000003612\",\n" +
1709 -// " \"validity\": \"0\",\n" + 1709 + " \"offerName\": \"CCMS loyalty - postpay addon gifts4u\",\n" +
1710 -// " \"wave\": \"1\",\n" + 1710 + " \"postpayProduct\": \"0.0\",\n" +
1711 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1711 + " \"price\": \"None\",\n" +
1712 -// " \"title\": \"Test4\",\n" + 1712 + " \"productType\": \"MOBILE ADDON\",\n" +
1713 -// " \"subtitle\": \"Test4\",\n" + 1713 + " \"provDuration\": \"0.0\",\n" +
1714 -// " \"description\": \"Test4\",\n" + 1714 + " \"score\": \"50\",\n" +
1715 -// " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" + 1715 + " \"treatmentCode\": \"5228.e1d.38378e61.750186c1\",\n" +
1716 -// " },\n" + 1716 + " \"validity\": \"0\",\n" +
1717 -// " {\n" + 1717 + " \"wave\": \"1\",\n" +
1718 -// " \"UACIOfferTrackingCode\": \"5222.e1b.ffffffffe725d1b3.ffffffffed6d8723\",\n" + 1718 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1719 -// " \"businessAdditionalId\": \"\",\n" + 1719 + " \"title\": \"Test4\",\n" +
1720 -// " \"dataCategory\": \"Data\",\n" + 1720 + " \"subtitle\": \"Test4\",\n" +
1721 -// " \"dataValue\": \"None\",\n" + 1721 + " \"description\": \"Test4\",\n" +
1722 -// " \"discount\": \"None\",\n" + 1722 + " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" +
1723 -// " \"eligibleAssets\": [\n" + 1723 + " },\n" +
1724 -// " \"306945218770\",\n" + 1724 + " {\n" +
1725 -// " \"306944333488\",\n" + 1725 + " \"UACIOfferTrackingCode\": \"5222.e1b.ffffffffe725d1b3.ffffffffed6d8723\",\n" +
1726 -// " \"306932222490\",\n" + 1726 + " \"businessAdditionalId\": \"\",\n" +
1727 -// " \"306996824010\",\n" + 1727 + " \"dataCategory\": \"Data\",\n" +
1728 -// " \"306972713201\",\n" + 1728 + " \"dataValue\": \"None\",\n" +
1729 -// " \"306942496252\",\n" + 1729 + " \"discount\": \"None\",\n" +
1730 -// " \"306977316716\",\n" + 1730 + " \"eligibleAssets\": [\n" +
1731 -// " \"306945433100\",\n" + 1731 + " \"306945218770\",\n" +
1732 -// " \"306977403986\",\n" + 1732 + " \"306944333488\",\n" +
1733 -// " \"306936581495\",\n" + 1733 + " \"306932222490\",\n" +
1734 -// " \"306980689662\",\n" + 1734 + " \"306996824010\",\n" +
1735 -// " \"306970101490\",\n" + 1735 + " \"306972713201\",\n" +
1736 -// " \"306973396329\",\n" + 1736 + " \"306942496252\",\n" +
1737 -// " \"306972577064\",\n" + 1737 + " \"306977316716\",\n" +
1738 -// " \"306974923219\",\n" + 1738 + " \"306945433100\",\n" +
1739 -// " \"306977513761\",\n" + 1739 + " \"306977403986\",\n" +
1740 -// " \"306984220987\",\n" + 1740 + " \"306936581495\",\n" +
1741 -// " \"306979949205\",\n" + 1741 + " \"306980689662\",\n" +
1742 -// " \"306943134127\",\n" + 1742 + " \"306970101490\",\n" +
1743 -// " \"306970437794\",\n" + 1743 + " \"306973396329\",\n" +
1744 -// " \"306932535319\",\n" + 1744 + " \"306972577064\",\n" +
1745 -// " \"306974063133\",\n" + 1745 + " \"306974923219\",\n" +
1746 -// " \"306932520323\",\n" + 1746 + " \"306977513761\",\n" +
1747 -// " \"306978733823\",\n" + 1747 + " \"306984220987\",\n" +
1748 -// " \"306985995420\",\n" + 1748 + " \"306979949205\",\n" +
1749 -// " \"306983879555\",\n" + 1749 + " \"306943134127\",\n" +
1750 -// " ],\n" + 1750 + " \"306970437794\",\n" +
1751 -// " \"id\": \"000003610\",\n" + 1751 + " \"306932535319\",\n" +
1752 -// " \"loyaltyCampaignId\": \"8e2c88ec94c948d8b51577324ed9a4d5\",\n" + 1752 + " \"306974063133\",\n" +
1753 -// " \"minsValue\": \"None\",\n" + 1753 + " \"306932520323\",\n" +
1754 -// " \"noOfRecurrance\": \"None\",\n" + 1754 + " \"306978733823\",\n" +
1755 -// " \"notificationMessage\": \"None\",\n" + 1755 + " \"306985995420\",\n" +
1756 -// " \"offerAudienceLevel\": \"msisdn\",\n" + 1756 + " \"306983879555\",\n" +
1757 -// " \"offerCode1\": \"000003610\",\n" + 1757 + " ],\n" +
1758 -// " \"offerName\": \"CCMS loyalty more4u v1\",\n" + 1758 + " \"id\": \"000003610\",\n" +
1759 -// " \"price\": \"20\",\n" + 1759 + " \"loyaltyCampaignId\": \"8e2c88ec94c948d8b51577324ed9a4d5\",\n" +
1760 -// " \"productType\": \"White Label\",\n" + 1760 + " \"minsValue\": \"None\",\n" +
1761 -// " \"provDuration\": \"7.0\",\n" + 1761 + " \"noOfRecurrance\": \"None\",\n" +
1762 -// " \"provStepValueMins\": \"None\",\n" + 1762 + " \"notificationMessage\": \"None\",\n" +
1763 -// " \"score\": \"60\",\n" + 1763 + " \"offerAudienceLevel\": \"msisdn\",\n" +
1764 -// " \"treatmentCode\": \"5222.e1b.ffffffffe725d1b3.ffffffffed6d8723\",\n" + 1764 + " \"offerCode1\": \"000003610\",\n" +
1765 -// " \"validity\": \"0\",\n" + 1765 + " \"offerName\": \"CCMS loyalty more4u v1\",\n" +
1766 -// " \"voiceCategory\": \"None\",\n" + 1766 + " \"price\": \"20\",\n" +
1767 -// " \"wave\": \"1\",\n" + 1767 + " \"productType\": \"White Label\",\n" +
1768 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1768 + " \"provDuration\": \"7.0\",\n" +
1769 -// " \"title\": \"Test5\",\n" + 1769 + " \"provStepValueMins\": \"None\",\n" +
1770 -// " \"subtitle\": \"Test5\",\n" + 1770 + " \"score\": \"60\",\n" +
1771 -// " \"description\": \"Test5\",\n" + 1771 + " \"treatmentCode\": \"5222.e1b.ffffffffe725d1b3.ffffffffed6d8723\",\n" +
1772 -// " \"zone\": \"COSMOTE_APP_MORE4U\"\n" + 1772 + " \"validity\": \"0\",\n" +
1773 -// " },\n" + 1773 + " \"voiceCategory\": \"None\",\n" +
1774 -// " {\n" + 1774 + " \"wave\": \"1\",\n" +
1775 -// " \"UACIOfferTrackingCode\": \"5226.e1f.728b68c6.ffffffffa6c7b10e\",\n" + 1775 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1776 -// " \"businessAdditionalId\": \"\",\n" + 1776 + " \"title\": \"Test5\",\n" +
1777 -// " \"businessService\": \"0.0\",\n" + 1777 + " \"subtitle\": \"Test5\",\n" +
1778 -// " \"eligibleAssets\": [\n" + 1778 + " \"description\": \"Test5\",\n" +
1779 -// " \"306945218770\",\n" + 1779 + " \"zone\": \"COSMOTE_APP_MORE4U\"\n" +
1780 -// " \"306944333488\",\n" + 1780 + " },\n" +
1781 -// " \"306932222490\",\n" + 1781 + " {\n" +
1782 -// " \"306996824010\",\n" + 1782 + " \"UACIOfferTrackingCode\": \"5226.e1f.728b68c6.ffffffffa6c7b10e\",\n" +
1783 -// " \"306972713201\",\n" + 1783 + " \"businessAdditionalId\": \"\",\n" +
1784 -// " \"306942496252\",\n" + 1784 + " \"businessService\": \"0.0\",\n" +
1785 -// " \"306977316716\",\n" + 1785 + " \"eligibleAssets\": [\n" +
1786 -// " \"306945433100\",\n" + 1786 + " \"306945218770\",\n" +
1787 -// " \"306977403986\",\n" + 1787 + " \"306944333488\",\n" +
1788 -// " \"306936581495\",\n" + 1788 + " \"306932222490\",\n" +
1789 -// " \"306980689662\",\n" + 1789 + " \"306996824010\",\n" +
1790 -// " \"306970101490\",\n" + 1790 + " \"306972713201\",\n" +
1791 -// " \"306973396329\",\n" + 1791 + " \"306942496252\",\n" +
1792 -// " \"306972577064\",\n" + 1792 + " \"306977316716\",\n" +
1793 -// " \"306974923219\",\n" + 1793 + " \"306945433100\",\n" +
1794 -// " \"306977513761\",\n" + 1794 + " \"306977403986\",\n" +
1795 -// " \"306984220987\",\n" + 1795 + " \"306936581495\",\n" +
1796 -// " \"306979949205\",\n" + 1796 + " \"306980689662\",\n" +
1797 -// " \"306943134127\",\n" + 1797 + " \"306970101490\",\n" +
1798 -// " \"306970437794\",\n" + 1798 + " \"306973396329\",\n" +
1799 -// " \"306932535319\",\n" + 1799 + " \"306972577064\",\n" +
1800 -// " \"306974063133\",\n" + 1800 + " \"306974923219\",\n" +
1801 -// " \"306932520323\",\n" + 1801 + " \"306977513761\",\n" +
1802 -// " \"306978733823\",\n" + 1802 + " \"306984220987\",\n" +
1803 -// " \"306985995420\",\n" + 1803 + " \"306979949205\",\n" +
1804 -// " \"306983879555\",\n" + 1804 + " \"306943134127\",\n" +
1805 -// " ],\n" + 1805 + " \"306970437794\",\n" +
1806 -// " \"id\": \"000003614\",\n" + 1806 + " \"306932535319\",\n" +
1807 -// " \"loyaltyCampaignId\": \"aaf4022194584f02bb84c7b283c7c51e\",\n" + 1807 + " \"306974063133\",\n" +
1808 -// " \"noOfRecurrance\": \"0\",\n" + 1808 + " \"306932520323\",\n" +
1809 -// " \"notificationMessage\": \"None\",\n" + 1809 + " \"306978733823\",\n" +
1810 -// " \"offerAudienceLevel\": \"msisdn\",\n" + 1810 + " \"306985995420\",\n" +
1811 -// " \"offerCode1\": \"000003614\",\n" + 1811 + " \"306983879555\",\n" +
1812 -// " \"offerName\": \"CCMS loyalty - postpay addon more4u\",\n" + 1812 + " ],\n" +
1813 -// " \"postpayProduct\": \"0.0\",\n" + 1813 + " \"id\": \"000003614\",\n" +
1814 -// " \"price\": \"None\",\n" + 1814 + " \"loyaltyCampaignId\": \"aaf4022194584f02bb84c7b283c7c51e\",\n" +
1815 -// " \"productType\": \"MOBILE ADDON\",\n" + 1815 + " \"noOfRecurrance\": \"0\",\n" +
1816 -// " \"provDuration\": \"0.0\",\n" + 1816 + " \"notificationMessage\": \"None\",\n" +
1817 -// " \"score\": \"50\",\n" + 1817 + " \"offerAudienceLevel\": \"msisdn\",\n" +
1818 -// " \"treatmentCode\": \"5226.e1f.728b68c6.ffffffffa6c7b10e\",\n" + 1818 + " \"offerCode1\": \"000003614\",\n" +
1819 -// " \"validity\": \"0\",\n" + 1819 + " \"offerName\": \"CCMS loyalty - postpay addon more4u\",\n" +
1820 -// " \"wave\": \"1\",\n" + 1820 + " \"postpayProduct\": \"0.0\",\n" +
1821 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1821 + " \"price\": \"None\",\n" +
1822 -// " \"title\": \"Test6\",\n" + 1822 + " \"productType\": \"MOBILE ADDON\",\n" +
1823 -// " \"subtitle\": \"Test6\",\n" + 1823 + " \"provDuration\": \"0.0\",\n" +
1824 -// " \"description\": \"Test6\",\n" + 1824 + " \"score\": \"50\",\n" +
1825 -// " \"zone\": \"COSMOTE_APP_MORE4U\"\n" + 1825 + " \"treatmentCode\": \"5226.e1f.728b68c6.ffffffffa6c7b10e\",\n" +
1826 -// " },\n" + 1826 + " \"validity\": \"0\",\n" +
1827 -// " {\n" + 1827 + " \"wave\": \"1\",\n" +
1828 -// " \"UACIOfferTrackingCode\": \"5154.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" + 1828 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1829 -// " \"businessAdditionalId\": \"\",\n" + 1829 + " \"title\": \"Test6\",\n" +
1830 -// " \"eligibleAssets\": [],\n" + 1830 + " \"subtitle\": \"Test6\",\n" +
1831 -// " \"id\": \"000003586\",\n" + 1831 + " \"description\": \"Test6\",\n" +
1832 -// " \"loyaltyCampaignId\": \"NA\",\n" + 1832 + " \"zone\": \"COSMOTE_APP_MORE4U\"\n" +
1833 -// " \"offerAudienceLevel\": \"guid\",\n" + 1833 + " },\n" +
1834 -// " \"offerCode1\": \"000003586\",\n" + 1834 + " {\n" +
1835 -// " \"offerName\": \"CCMS loyalty offer 6\",\n" + 1835 + " \"UACIOfferTrackingCode\": \"5154.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" +
1836 -// " \"productType\": \"GENERIC\",\n" + 1836 + " \"businessAdditionalId\": \"\",\n" +
1837 -// " \"score\": \"50\",\n" + 1837 + " \"eligibleAssets\": [],\n" +
1838 -// " \"treatmentCode\": \"5154.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" + 1838 + " \"id\": \"000003586\",\n" +
1839 -// " \"validity\": \"0\",\n" + 1839 + " \"loyaltyCampaignId\": \"NA\",\n" +
1840 -// " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" + 1840 + " \"offerAudienceLevel\": \"guid\",\n" +
1841 -// " },\n" + 1841 + " \"offerCode1\": \"000003586\",\n" +
1842 -// " {\n" + 1842 + " \"offerName\": \"CCMS loyalty offer 6\",\n" +
1843 -// " \"UACIOfferTrackingCode\": \"51d2.e0c.291f49d9.40d5a689\",\n" + 1843 + " \"productType\": \"GENERIC\",\n" +
1844 -// " \"businessAdditionalId\": \"\",\n" + 1844 + " \"score\": \"50\",\n" +
1845 -// " \"eligibleAssets\": [],\n" + 1845 + " \"treatmentCode\": \"5154.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" +
1846 -// " \"id\": \"000003595\",\n" + 1846 + " \"validity\": \"0\",\n" +
1847 -// " \"loyaltyCampaignId\": \"c5cc5f4f65624f47a580b720233fa60d\",\n" + 1847 + " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" +
1848 -// " \"offerAudienceLevel\": \"guid\",\n" + 1848 + " },\n" +
1849 -// " \"offerCode1\": \"000003595\",\n" + 1849 + " {\n" +
1850 -// " \"offerName\": \"CCMS Loyal offer campaignId\",\n" + 1850 + " \"UACIOfferTrackingCode\": \"51d2.e0c.291f49d9.40d5a689\",\n" +
1851 -// " \"productType\": \"GENERIC\",\n" + 1851 + " \"businessAdditionalId\": \"\",\n" +
1852 -// " \"score\": \"50\",\n" + 1852 + " \"eligibleAssets\": [],\n" +
1853 -// " \"treatmentCode\": \"51d2.e0c.291f49d9.40d5a689\",\n" + 1853 + " \"id\": \"000003595\",\n" +
1854 -// " \"validity\": \"0\",\n" + 1854 + " \"loyaltyCampaignId\": \"c5cc5f4f65624f47a580b720233fa60d\",\n" +
1855 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1855 + " \"offerAudienceLevel\": \"guid\",\n" +
1856 -// " \"title\": \"Test7\",\n" + 1856 + " \"offerCode1\": \"000003595\",\n" +
1857 -// " \"subtitle\": \"Test7\",\n" + 1857 + " \"offerName\": \"CCMS Loyal offer campaignId\",\n" +
1858 -// " \"description\": \"Test7\",\n" + 1858 + " \"productType\": \"GENERIC\",\n" +
1859 -// " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" + 1859 + " \"score\": \"50\",\n" +
1860 -// " },\n" + 1860 + " \"treatmentCode\": \"51d2.e0c.291f49d9.40d5a689\",\n" +
1861 -// " {\n" + 1861 + " \"validity\": \"0\",\n" +
1862 -// " \"UACIOfferTrackingCode\": \"51d6.e0c.291f49d9.40d5a689\",\n" + 1862 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1863 -// " \"businessAdditionalId\": \"\",\n" + 1863 + " \"title\": \"Test7\",\n" +
1864 -// " \"eligibleAssets\": [],\n" + 1864 + " \"subtitle\": \"Test7\",\n" +
1865 -// " \"id\": \"000003595\",\n" + 1865 + " \"description\": \"Test7\",\n" +
1866 -// " \"loyaltyCampaignId\": \"c5cc5f4f65624f47a580b720233fa60d\",\n" + 1866 + " \"zone\": \"COSMOTE_APP_LOYALTY_PROMO\"\n" +
1867 -// " \"offerAudienceLevel\": \"guid\",\n" + 1867 + " },\n" +
1868 -// " \"offerCode1\": \"000003595\",\n" + 1868 + " {\n" +
1869 -// " \"offerName\": \"CCMS Loyal offer campaignId\",\n" + 1869 + " \"UACIOfferTrackingCode\": \"51d6.e0c.291f49d9.40d5a689\",\n" +
1870 -// " \"productType\": \"GENERIC\",\n" + 1870 + " \"businessAdditionalId\": \"\",\n" +
1871 -// " \"score\": \"50\",\n" + 1871 + " \"eligibleAssets\": [],\n" +
1872 -// " \"treatmentCode\": \"51d6.e0c.291f49d9.40d5a689\",\n" + 1872 + " \"id\": \"000003595\",\n" +
1873 -// " \"validity\": \"0\",\n" + 1873 + " \"loyaltyCampaignId\": \"c5cc5f4f65624f47a580b720233fa60d\",\n" +
1874 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1874 + " \"offerAudienceLevel\": \"guid\",\n" +
1875 -// " \"title\": \"Test8\",\n" + 1875 + " \"offerCode1\": \"000003595\",\n" +
1876 -// " \"subtitle\": \"Test8\",\n" + 1876 + " \"offerName\": \"CCMS Loyal offer campaignId\",\n" +
1877 -// " \"description\": \"Test8\",\n" + 1877 + " \"productType\": \"GENERIC\",\n" +
1878 -// " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" + 1878 + " \"score\": \"50\",\n" +
1879 -// " },\n" + 1879 + " \"treatmentCode\": \"51d6.e0c.291f49d9.40d5a689\",\n" +
1880 -// " {\n" + 1880 + " \"validity\": \"0\",\n" +
1881 -// " \"UACIOfferTrackingCode\": \"5150.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" + 1881 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1882 -// " \"businessAdditionalId\": \"\",\n" + 1882 + " \"title\": \"Test8\",\n" +
1883 -// " \"eligibleAssets\": [],\n" + 1883 + " \"subtitle\": \"Test8\",\n" +
1884 -// " \"id\": \"000003586\",\n" + 1884 + " \"description\": \"Test8\",\n" +
1885 -// " \"loyaltyCampaignId\": \"NA\",\n" + 1885 + " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" +
1886 -// " \"offerAudienceLevel\": \"guid\",\n" + 1886 + " },\n" +
1887 -// " \"offerCode1\": \"000003586\",\n" + 1887 + " {\n" +
1888 -// " \"offerName\": \"CCMS loyalty offer 6\",\n" + 1888 + " \"UACIOfferTrackingCode\": \"5150.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" +
1889 -// " \"productType\": \"GENERIC\",\n" + 1889 + " \"businessAdditionalId\": \"\",\n" +
1890 -// " \"score\": \"50\",\n" + 1890 + " \"eligibleAssets\": [],\n" +
1891 -// " \"treatmentCode\": \"5150.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" + 1891 + " \"id\": \"000003586\",\n" +
1892 -// " \"validity\": \"0\",\n" + 1892 + " \"loyaltyCampaignId\": \"NA\",\n" +
1893 -// " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" + 1893 + " \"offerAudienceLevel\": \"guid\",\n" +
1894 -// " },\n" + 1894 + " \"offerCode1\": \"000003586\",\n" +
1895 -// " {\n" + 1895 + " \"offerName\": \"CCMS loyalty offer 6\",\n" +
1896 -// " \"UACIOfferTrackingCode\": \"5152.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" + 1896 + " \"productType\": \"GENERIC\",\n" +
1897 -// " \"businessAdditionalId\": \"\",\n" + 1897 + " \"score\": \"50\",\n" +
1898 -// " \"eligibleAssets\": [],\n" + 1898 + " \"treatmentCode\": \"5150.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" +
1899 -// " \"id\": \"000003586\",\n" + 1899 + " \"validity\": \"0\",\n" +
1900 -// " \"loyaltyCampaignId\": \"NA\",\n" + 1900 + " \"zone\": \"COSMOTE_APP_GIFTS4U\"\n" +
1901 -// " \"offerAudienceLevel\": \"guid\",\n" + 1901 + " },\n" +
1902 -// " \"offerCode1\": \"000003586\",\n" + 1902 + " {\n" +
1903 -// " \"offerName\": \"CCMS loyalty offer 6\",\n" + 1903 + " \"UACIOfferTrackingCode\": \"5152.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" +
1904 -// " \"productType\": \"GENERIC\",\n" + 1904 + " \"businessAdditionalId\": \"\",\n" +
1905 -// " \"score\": \"50\",\n" + 1905 + " \"eligibleAssets\": [],\n" +
1906 -// " \"treatmentCode\": \"5152.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" + 1906 + " \"id\": \"000003586\",\n" +
1907 -// " \"validity\": \"0\",\n" + 1907 + " \"loyaltyCampaignId\": \"NA\",\n" +
1908 -// " \"zone\": \"COSMOTE_APP_MORE4U\"\n" + 1908 + " \"offerAudienceLevel\": \"guid\",\n" +
1909 -// " },\n" + 1909 + " \"offerCode1\": \"000003586\",\n" +
1910 -// " {\n" + 1910 + " \"offerName\": \"CCMS loyalty offer 6\",\n" +
1911 -// " \"UACIOfferTrackingCode\": \"51d4.e0c.291f49d9.40d5a689\",\n" + 1911 + " \"productType\": \"GENERIC\",\n" +
1912 -// " \"businessAdditionalId\": \"\",\n" + 1912 + " \"score\": \"50\",\n" +
1913 -// " \"eligibleAssets\": [],\n" + 1913 + " \"treatmentCode\": \"5152.e03.ffffffffeebc476a.ffffffffc5b96f6a\",\n" +
1914 -// " \"id\": \"000003595\",\n" + 1914 + " \"validity\": \"0\",\n" +
1915 -// " \"loyaltyCampaignId\": \"c5cc5f4f65624f47a580b720233fa60d\",\n" + 1915 + " \"zone\": \"COSMOTE_APP_MORE4U\"\n" +
1916 -// " \"offerAudienceLevel\": \"guid\",\n" + 1916 + " },\n" +
1917 -// " \"offerCode1\": \"000003595\",\n" + 1917 + " {\n" +
1918 -// " \"offerName\": \"CCMS Loyal offer campaignId\",\n" + 1918 + " \"UACIOfferTrackingCode\": \"51d4.e0c.291f49d9.40d5a689\",\n" +
1919 -// " \"productType\": \"GENERIC\",\n" + 1919 + " \"businessAdditionalId\": \"\",\n" +
1920 -// " \"score\": \"50\",\n" + 1920 + " \"eligibleAssets\": [],\n" +
1921 -// " \"treatmentCode\": \"51d4.e0c.291f49d9.40d5a689\",\n" + 1921 + " \"id\": \"000003595\",\n" +
1922 -// " \"validity\": \"0\",\n" + 1922 + " \"loyaltyCampaignId\": \"c5cc5f4f65624f47a580b720233fa60d\",\n" +
1923 -// " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" + 1923 + " \"offerAudienceLevel\": \"guid\",\n" +
1924 -// " \"title\": \"Test9\",\n" + 1924 + " \"offerCode1\": \"000003595\",\n" +
1925 -// " \"subtitle\": \"Test9\",\n" + 1925 + " \"offerName\": \"CCMS Loyal offer campaignId\",\n" +
1926 -// " \"description\": \"Test9\",\n" + 1926 + " \"productType\": \"GENERIC\",\n" +
1927 -// " \"zone\": \"COSMOTE_APP_MORE4U\"\n" + 1927 + " \"score\": \"50\",\n" +
1928 -// " }\n" + 1928 + " \"treatmentCode\": \"51d4.e0c.291f49d9.40d5a689\",\n" +
1929 -// " ]"); 1929 + " \"validity\": \"0\",\n" +
1930 -// } catch (JSONException e) { 1930 + " \"imageUrl\": \"https://www.cosmotetvott.gr/assets/images/ogImage.jpg\",\n" +
1931 -// e.printStackTrace(); 1931 + " \"title\": \"Test9\",\n" +
1932 -// } 1932 + " \"subtitle\": \"Test9\",\n" +
1933 -// if (jArray != null && jArray.length() > 0) { 1933 + " \"description\": \"Test9\",\n" +
1934 -// for (int i = 0; i < jArray.length(); i++) { 1934 + " \"zone\": \"COSMOTE_APP_MORE4U\"\n" +
1935 -// JSONObject jobj = new JSONObject(); 1935 + " }\n" +
1936 -// jobj = jArray.optJSONObject(i); 1936 + " ]");
1937 -// if (jobj != null) { 1937 + } catch (JSONException e) {
1938 -// LoyaltyContextualOfferModel model = new LoyaltyContextualOfferModel(jobj); 1938 + e.printStackTrace();
1939 -// list.add(model); 1939 + }
1940 -// } 1940 + if (jArray != null && jArray.length() > 0) {
1941 -// } 1941 + for (int i = 0; i < jArray.length(); i++) {
1942 -// } 1942 + JSONObject jobj = new JSONObject();
1943 -// WarplyManagerHelper.setCCMSLoyaltyCampaigns(list); 1943 + jobj = jArray.optJSONObject(i);
1944 + if (jobj != null) {
1945 + LoyaltyContextualOfferModel model = new LoyaltyContextualOfferModel(jobj);
1946 + list.add(model);
1947 + }
1948 + }
1949 + }
1950 + WarplyManagerHelper.setCCMSLoyaltyCampaigns(list);
1944 1951
1945 receiver.onSuccess(campaignLoyaltyList); //result 1952 receiver.onSuccess(campaignLoyaltyList); //result
1946 } 1953 }
......
1 package ly.warp.sdk.views.adapters; 1 package ly.warp.sdk.views.adapters;
2 2
3 import android.content.Context; 3 import android.content.Context;
4 +import android.content.Intent;
4 import android.text.TextUtils; 5 import android.text.TextUtils;
5 import android.view.LayoutInflater; 6 import android.view.LayoutInflater;
6 import android.view.View; 7 import android.view.View;
...@@ -15,6 +16,9 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy; ...@@ -15,6 +16,9 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy;
15 import com.bumptech.glide.load.resource.bitmap.CenterCrop; 16 import com.bumptech.glide.load.resource.bitmap.CenterCrop;
16 import com.bumptech.glide.load.resource.bitmap.RoundedCorners; 17 import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
17 18
19 +import org.json.JSONObject;
20 +
21 +import java.io.Serializable;
18 import java.util.ArrayList; 22 import java.util.ArrayList;
19 import java.util.Date; 23 import java.util.Date;
20 import java.util.concurrent.TimeUnit; 24 import java.util.concurrent.TimeUnit;
...@@ -22,7 +26,12 @@ import java.util.concurrent.TimeUnit; ...@@ -22,7 +26,12 @@ import java.util.concurrent.TimeUnit;
22 import io.reactivex.Observable; 26 import io.reactivex.Observable;
23 import io.reactivex.subjects.PublishSubject; 27 import io.reactivex.subjects.PublishSubject;
24 import ly.warp.sdk.R; 28 import ly.warp.sdk.R;
29 +import ly.warp.sdk.activities.GiftsForYouActivity;
30 +import ly.warp.sdk.activities.TelcoActivity;
31 +import ly.warp.sdk.io.models.LoyaltyContextualOfferModel;
25 import ly.warp.sdk.io.models.MergedGifts; 32 import ly.warp.sdk.io.models.MergedGifts;
33 +import ly.warp.sdk.utils.WarpJSONParser;
34 +import ly.warp.sdk.utils.WarplyManagerHelper;
26 35
27 public class MergedGiftsAdapter extends RecyclerView.Adapter<MergedGiftsAdapter.MergedGiftsViewHolder> { 36 public class MergedGiftsAdapter extends RecyclerView.Adapter<MergedGiftsAdapter.MergedGiftsViewHolder> {
28 37
...@@ -78,6 +87,33 @@ public class MergedGiftsAdapter extends RecyclerView.Adapter<MergedGiftsAdapter. ...@@ -78,6 +87,33 @@ public class MergedGiftsAdapter extends RecyclerView.Adapter<MergedGiftsAdapter.
78 public void onBindViewHolder(final MergedGiftsViewHolder holder, int position) { 87 public void onBindViewHolder(final MergedGiftsViewHolder holder, int position) {
79 MergedGifts mergedgiftsItem = mMergedGifts.get(position); 88 MergedGifts mergedgiftsItem = mMergedGifts.get(position);
80 if (mergedgiftsItem != null && mergedgiftsItem.getDataType() == 1) { 89 if (mergedgiftsItem != null && mergedgiftsItem.getDataType() == 1) {
90 + JSONObject extraFields = WarpJSONParser.getJSONFromString(mergedgiftsItem.getCampaign().getExtraFields());
91 + if (extraFields != null) {
92 + if (extraFields.has("type") && extraFields.optString("type").equals("telco")) {
93 + for (LoyaltyContextualOfferModel ccms : WarplyManagerHelper.getCCMSLoyaltyCampaigns()) {
94 + if (ccms.getLoyaltyCampaignId().equals(mergedgiftsItem.getCampaign().getSessionUUID())) {
95 + if (!TextUtils.isEmpty(ccms.getImageUrl())) {
96 + Glide.with(mContext)
97 + .load(ccms.getImageUrl())
98 + .transform(new CenterCrop(), new RoundedCorners(4))
99 + .diskCacheStrategy(DiskCacheStrategy.DATA)
100 + .into(holder.ivMergedGiftsLogo);
101 + } else {
102 + Glide.with(mContext)
103 + .load(R.drawable.ic_cosmote_logo_horizontal_grey)
104 + .into(holder.ivMergedGiftsLogo);
105 + }
106 +
107 + holder.tvMergedGiftsTitle.setText(ccms.getTitle());
108 + holder.itemView.setOnClickListener(v -> onClickSubject.onNext(mergedgiftsItem));
109 + return;
110 + }
111 + }
112 + return;
113 + }
114 + }
115 +
116 +
81 if (!TextUtils.isEmpty(mergedgiftsItem.getCampaign().getLogoUrl())) { 117 if (!TextUtils.isEmpty(mergedgiftsItem.getCampaign().getLogoUrl())) {
82 Glide.with(mContext) 118 Glide.with(mContext)
83 .load(mergedgiftsItem.getCampaign().getLogoUrl()) 119 .load(mergedgiftsItem.getCampaign().getLogoUrl())
......
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape xmlns:android="http://schemas.android.com/apk/res/android"
3 + android:shape="rectangle">
4 + <gradient
5 + android:angle="180"
6 + android:endColor="@color/cos_blue5"
7 + android:startColor="@color/cos_green" />
8 +</shape>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
3 + <item>
4 + <shape android:shape="oval">
5 + <padding
6 + android:bottom="1dp"
7 + android:left="1dp"
8 + android:right="1dp"
9 + android:top="1dp" />
10 + <gradient
11 + android:angle="180"
12 + android:endColor="@color/cos_blue4"
13 + android:startColor="@color/cos_green10" />
14 + </shape>
15 + </item>
16 +
17 + <item>
18 + <shape xmlns:android="http://schemas.android.com/apk/res/android"
19 + android:shape="oval">
20 + <solid android:color="@android:color/white" />
21 + </shape>
22 + </item>
23 +
24 +</layer-list>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
3 + <item>
4 + <shape android:shape="rectangle">
5 + <padding
6 + android:bottom="2dp"
7 + android:left="2dp"
8 + android:right="2dp"
9 + android:top="2dp" />
10 + <gradient
11 + android:angle="180"
12 + android:endColor="@color/cos_blue5"
13 + android:startColor="@color/cos_green" />
14 +
15 + <corners android:radius="1000dp" />
16 + </shape>
17 + </item>
18 +
19 + <item>
20 + <shape xmlns:android="http://schemas.android.com/apk/res/android"
21 + android:shape="rectangle">
22 + <solid android:color="@android:color/white" />
23 + <corners android:radius="1000dp" />
24 + </shape>
25 + </item>
26 +
27 +</layer-list>
...\ No newline at end of file ...\ No newline at end of file
...@@ -16,40 +16,43 @@ ...@@ -16,40 +16,43 @@
16 android:layout_width="20dp" 16 android:layout_width="20dp"
17 android:layout_height="20dp" 17 android:layout_height="20dp"
18 android:layout_marginStart="16dp" 18 android:layout_marginStart="16dp"
19 - android:src="@drawable/ic_back" 19 + android:src="@drawable/ic_close"
20 app:layout_constraintBottom_toBottomOf="parent" 20 app:layout_constraintBottom_toBottomOf="parent"
21 app:layout_constraintStart_toStartOf="parent" 21 app:layout_constraintStart_toStartOf="parent"
22 app:layout_constraintTop_toTopOf="parent" /> 22 app:layout_constraintTop_toTopOf="parent" />
23 23
24 <TextView 24 <TextView
25 + android:id="@+id/tv_telco_header_title"
26 + fontPath="fonts/pf_square_sans_pro_medium.ttf"
25 android:layout_width="wrap_content" 27 android:layout_width="wrap_content"
26 android:layout_height="wrap_content" 28 android:layout_height="wrap_content"
27 - android:textColor="@color/grey" 29 + android:textColor="@color/cos_dark_blue"
28 - android:textSize="17sp" 30 + android:textSize="16sp"
29 - android:textStyle="bold"
30 app:layout_constraintBottom_toBottomOf="parent" 31 app:layout_constraintBottom_toBottomOf="parent"
31 app:layout_constraintEnd_toEndOf="parent" 32 app:layout_constraintEnd_toEndOf="parent"
32 app:layout_constraintStart_toStartOf="parent" 33 app:layout_constraintStart_toStartOf="parent"
33 - app:layout_constraintTop_toTopOf="parent" /> 34 + app:layout_constraintTop_toTopOf="parent"
35 + tools:text="1 GB Internet" />
34 </androidx.constraintlayout.widget.ConstraintLayout> 36 </androidx.constraintlayout.widget.ConstraintLayout>
35 37
36 <ScrollView 38 <ScrollView
37 android:layout_width="match_parent" 39 android:layout_width="match_parent"
38 android:layout_height="match_parent" 40 android:layout_height="match_parent"
39 - android:fillViewport="true" 41 + android:layout_below="@+id/cl_loyalty_wallet_header"
40 - android:layout_below="@+id/cl_loyalty_wallet_header"> 42 + android:fillViewport="true">
41 43
42 <androidx.constraintlayout.widget.ConstraintLayout 44 <androidx.constraintlayout.widget.ConstraintLayout
43 android:layout_width="match_parent" 45 android:layout_width="match_parent"
44 android:layout_height="match_parent" 46 android:layout_height="match_parent"
45 android:background="@android:color/white"> 47 android:background="@android:color/white">
46 48
47 - <androidx.constraintlayout.widget.ConstraintLayout 49 + <RelativeLayout
48 android:id="@+id/cl_loyalty_info_view_inner" 50 android:id="@+id/cl_loyalty_info_view_inner"
49 android:layout_width="match_parent" 51 android:layout_width="match_parent"
50 android:layout_height="match_parent" 52 android:layout_height="match_parent"
51 android:background="@drawable/shape_cos_loyalty_white" 53 android:background="@drawable/shape_cos_loyalty_white"
52 android:paddingBottom="48dp" 54 android:paddingBottom="48dp"
55 + app:layout_constraintBottom_toBottomOf="parent"
53 app:layout_constraintEnd_toEndOf="parent" 56 app:layout_constraintEnd_toEndOf="parent"
54 app:layout_constraintStart_toStartOf="parent" 57 app:layout_constraintStart_toStartOf="parent"
55 app:layout_constraintTop_toTopOf="parent"> 58 app:layout_constraintTop_toTopOf="parent">
...@@ -58,68 +61,163 @@ ...@@ -58,68 +61,163 @@
58 android:id="@+id/imageView6" 61 android:id="@+id/imageView6"
59 android:layout_width="match_parent" 62 android:layout_width="match_parent"
60 android:layout_height="224dp" 63 android:layout_height="224dp"
64 + android:layout_centerHorizontal="true"
61 android:layout_marginTop="4dp" 65 android:layout_marginTop="4dp"
62 android:scaleType="centerCrop" 66 android:scaleType="centerCrop"
63 - app:layout_constraintStart_toStartOf="parent"
64 - app:layout_constraintTop_toTopOf="parent"
65 app:siShape="@drawable/shape_top_left_rounded" 67 app:siShape="@drawable/shape_top_left_rounded"
66 tools:src="@drawable/carousel_banner" /> 68 tools:src="@drawable/carousel_banner" />
67 69
68 - <TextView 70 + <LinearLayout
69 - android:id="@+id/textView13" 71 + android:id="@+id/ll_telco_gift_view"
70 - android:layout_width="match_parent" 72 + android:layout_width="wrap_content"
71 android:layout_height="wrap_content" 73 android:layout_height="wrap_content"
72 - android:layout_marginTop="32dp" 74 + android:layout_below="@+id/imageView6"
75 + android:layout_marginHorizontal="24dp"
76 + android:layout_marginTop="16dp"
73 android:gravity="center" 77 android:gravity="center"
74 - android:paddingHorizontal="32dp" 78 + android:orientation="horizontal">
75 - android:textColor="#415564" 79 +
76 - android:textSize="18sp" 80 + <TextView
77 - android:textStyle="bold" 81 + android:id="@+id/tv_telco_gift_value"
78 - app:layout_constraintEnd_toEndOf="parent" 82 + fontPath="fonts/pf_square_sans_pro_medium.ttf"
79 - app:layout_constraintHorizontal_bias="0.509" 83 + android:layout_width="64dp"
80 - app:layout_constraintStart_toStartOf="parent" 84 + android:layout_height="64dp"
81 - app:layout_constraintTop_toBottomOf="@+id/imageView6" 85 + android:background="@drawable/shape_round_border_gradient"
82 - tools:text="Πάρε δωρεάν μηνιαία πακέτα με πάνες στα supermarket Σκλαβενίτης!" /> 86 + android:gravity="center"
87 + android:textColor="@color/cos_skyblue2"
88 + android:textSize="17sp"
89 + tools:text="1\nGB" />
90 +
91 + <TextView
92 + android:id="@+id/tv_telco_gift_type"
93 + fontPath="fonts/pf_square_sans_pro_regular.ttf"
94 + android:layout_width="wrap_content"
95 + android:layout_height="wrap_content"
96 + android:layout_marginStart="8dp"
97 + android:textColor="@color/grey"
98 + android:textSize="15sp"
99 + tools:text="Internet" />
100 + </LinearLayout>
101 +
102 + <androidx.constraintlayout.widget.ConstraintLayout
103 + android:id="@+id/cl_telco_duration_view"
104 + android:layout_width="match_parent"
105 + android:layout_height="wrap_content"
106 + android:layout_below="@+id/ll_telco_gift_view"
107 + android:layout_marginTop="24dp">
108 +
109 + <View
110 + android:id="@+id/cl_telco_duration_view_inner"
111 + android:layout_width="match_parent"
112 + android:layout_height="2dp"
113 + android:background="@drawable/shape_line_gradient"
114 + app:layout_constraintBottom_toBottomOf="parent"
115 + app:layout_constraintEnd_toEndOf="parent"
116 + app:layout_constraintStart_toStartOf="parent"
117 + app:layout_constraintTop_toTopOf="parent" />
118 +
119 + <TextView
120 + android:id="@+id/tv_telco_gift_duration"
121 + fontPath="fonts/pf_square_sans_pro_regular.ttf"
122 + android:layout_width="wrap_content"
123 + android:layout_height="wrap_content"
124 + android:background="@drawable/shape_round_border_gradient2"
125 + android:gravity="center"
126 + android:paddingHorizontal="12dp"
127 + android:paddingVertical="5dp"
128 + android:textColor="@color/grey"
129 + android:textSize="16sp"
130 + app:layout_constraintBottom_toBottomOf="@+id/cl_telco_duration_view_inner"
131 + app:layout_constraintEnd_toEndOf="parent"
132 + app:layout_constraintStart_toStartOf="parent"
133 + app:layout_constraintTop_toTopOf="@+id/cl_telco_duration_view_inner"
134 + tools:text="gia 8 imeres" />
135 + </androidx.constraintlayout.widget.ConstraintLayout>
83 136
84 <TextView 137 <TextView
85 - android:id="@+id/textView14" 138 + android:id="@+id/textView13"
139 + fontPath="fonts/pf_square_sans_pro_regular.ttf"
86 android:layout_width="match_parent" 140 android:layout_width="match_parent"
87 android:layout_height="wrap_content" 141 android:layout_height="wrap_content"
88 - android:layout_marginTop="16dp" 142 + android:layout_below="@+id/cl_telco_duration_view"
143 + android:layout_marginTop="24dp"
89 android:gravity="center" 144 android:gravity="center"
90 android:paddingHorizontal="32dp" 145 android:paddingHorizontal="32dp"
91 android:textColor="#415564" 146 android:textColor="#415564"
92 - android:textSize="16sp" 147 + android:textSize="17sp"
93 - tools:text="test test" 148 + tools:text="Πάρε δωρεάν μηνιαία πακέτα με πάνες στα supermarket Σκλαβενίτης!" />
94 - app:layout_constraintEnd_toEndOf="parent"
95 - app:layout_constraintStart_toStartOf="parent"
96 - app:layout_constraintTop_toBottomOf="@+id/textView13" />
97 149
98 <LinearLayout 150 <LinearLayout
99 android:id="@+id/ll_activate_button" 151 android:id="@+id/ll_activate_button"
100 android:layout_width="wrap_content" 152 android:layout_width="wrap_content"
101 android:layout_height="wrap_content" 153 android:layout_height="wrap_content"
102 - android:layout_marginHorizontal="32dp" 154 + android:layout_below="@+id/textView13"
155 + android:layout_centerHorizontal="true"
156 + android:layout_marginTop="44dp"
103 android:background="@drawable/selector_button_green" 157 android:background="@drawable/selector_button_green"
104 - android:gravity="center"
105 android:orientation="horizontal" 158 android:orientation="horizontal"
106 - android:paddingHorizontal="16dp" 159 + android:paddingHorizontal="36dp"
107 - android:paddingVertical="8dp" 160 + android:paddingVertical="8dp">
108 - app:layout_constraintBottom_toBottomOf="parent"
109 - app:layout_constraintEnd_toEndOf="parent"
110 - app:layout_constraintStart_toStartOf="parent">
111 161
112 <TextView 162 <TextView
163 + fontPath="fonts/pf_square_sans_pro_medium.ttf"
113 android:layout_width="wrap_content" 164 android:layout_width="wrap_content"
114 android:layout_height="wrap_content" 165 android:layout_height="wrap_content"
115 android:gravity="center" 166 android:gravity="center"
116 android:text="@string/cos_dlg_positive_button" 167 android:text="@string/cos_dlg_positive_button"
117 android:textColor="@color/white" 168 android:textColor="@color/white"
118 - android:textFontWeight="600" 169 + android:textSize="16dp" />
119 - android:textSize="17dp" />
120 </LinearLayout> 170 </LinearLayout>
121 171
122 - </androidx.constraintlayout.widget.ConstraintLayout> 172 + <RelativeLayout
173 + android:id="@+id/rl_see_more"
174 + android:layout_width="wrap_content"
175 + android:layout_height="wrap_content"
176 + android:layout_below="@+id/ll_activate_button"
177 + android:layout_centerHorizontal="true"
178 + android:layout_marginTop="22dp"
179 + android:gravity="center">
180 +
181 + <LinearLayout
182 + android:id="@+id/ll_see_more"
183 + android:layout_width="wrap_content"
184 + android:layout_height="wrap_content"
185 + android:layout_centerHorizontal="true"
186 + android:gravity="center"
187 + android:orientation="horizontal">
188 +
189 + <TextView
190 + android:id="@+id/tv_see_more"
191 + fontPath="fonts/pf_square_sans_pro_regular.ttf"
192 + android:layout_width="wrap_content"
193 + android:layout_height="wrap_content"
194 + android:text="@string/cos_see_more2"
195 + android:textColor="@color/grey"
196 + android:textSize="16sp" />
197 +
198 + <ImageView
199 + android:id="@+id/iv_see_more_arrow"
200 + android:layout_width="14dp"
201 + android:layout_height="14dp"
202 + android:layout_marginStart="6dp"
203 + android:src="@drawable/ic_down_dark" />
204 + </LinearLayout>
205 +
206 + <TextView
207 + android:id="@+id/tv_see_more_value"
208 + fontPath="fonts/pf_square_sans_pro_regular.ttf"
209 + android:layout_width="wrap_content"
210 + android:layout_height="wrap_content"
211 + android:layout_below="@+id/ll_see_more"
212 + android:layout_marginHorizontal="32dp"
213 + android:layout_marginTop="16dp"
214 + android:textColor="@color/grey"
215 + android:textSize="14sp"
216 + android:visibility="gone"
217 + tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " />
218 + </RelativeLayout>
219 +
220 + </RelativeLayout>
123 </androidx.constraintlayout.widget.ConstraintLayout> 221 </androidx.constraintlayout.widget.ConstraintLayout>
124 </ScrollView> 222 </ScrollView>
125 </RelativeLayout> 223 </RelativeLayout>
......
...@@ -56,4 +56,8 @@ ...@@ -56,4 +56,8 @@
56 <color name="cos_cyan4">#2EAFB9</color> 56 <color name="cos_cyan4">#2EAFB9</color>
57 <color name="cos_dark_grey">#394A5B</color> 57 <color name="cos_dark_grey">#394A5B</color>
58 <color name="cos_white_tr">#9CFFFFFF</color> 58 <color name="cos_white_tr">#9CFFFFFF</color>
59 + <color name="cos_skyblue2">#22A9B5</color>
60 + <color name="cos_blue4">#07A2D1</color>
61 + <color name="cos_green10">#73CA34</color>
62 + <color name="cos_blue5">#0D81B8</color>
59 </resources> 63 </resources>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -126,6 +126,8 @@ ...@@ -126,6 +126,8 @@
126 <string name="cos_wrong_number_dlg">Το κινητό που καταχώρησες δεν είναι COSMOTE. Παρακαλούμε καταχώρησε το COSMOTE τηλέφωνο του φίλου σου.</string> 126 <string name="cos_wrong_number_dlg">Το κινητό που καταχώρησες δεν είναι COSMOTE. Παρακαλούμε καταχώρησε το COSMOTE τηλέφωνο του φίλου σου.</string>
127 <string name="cos_dlg_error_expired">Το δώρο έχει λήξει</string> 127 <string name="cos_dlg_error_expired">Το δώρο έχει λήξει</string>
128 <string name="cos_dlg_error_used">Το δώρο έχει ήδη χρησιμοποιηθεί</string> 128 <string name="cos_dlg_error_used">Το δώρο έχει ήδη χρησιμοποιηθεί</string>
129 + <string name="cos_see_more2">Δες Περισσότερα</string>
130 + <string name="cos_dlg_non_telco">Παρακαλούμε πολύ πρόσθεσε τις συνδέσεις σου στην COSMOTE για να έχεις πρόσβαση στα προνόμια του νέου Loyalty προγράμματος της COSMOTE!</string>
129 131
130 <string-array name="coupons_array"> 132 <string-array name="coupons_array">
131 <item>Κουπόνια</item> 133 <item>Κουπόνια</item>
......