Panagiotis Triantafyllou

vouchers part5

...@@ -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.6rc80' 5 + PUBLISH_VERSION = '4.5.5.4r1'
6 PUBLISH_ARTIFACT_ID = 'warply-android-sdk' 6 PUBLISH_ARTIFACT_ID = 'warply-android-sdk'
7 } 7 }
8 8
......
...@@ -2,20 +2,26 @@ package ly.warp.sdk.activities; ...@@ -2,20 +2,26 @@ package ly.warp.sdk.activities;
2 2
3 import android.app.Activity; 3 import android.app.Activity;
4 import android.content.Context; 4 import android.content.Context;
5 +import android.content.Intent;
5 import android.os.Bundle; 6 import android.os.Bundle;
6 import android.os.Handler; 7 import android.os.Handler;
8 +import android.text.SpannableStringBuilder;
9 +import android.text.Spanned;
7 import android.view.View; 10 import android.view.View;
8 import android.widget.ImageView; 11 import android.widget.ImageView;
12 +import android.widget.RelativeLayout;
9 import android.widget.TextView; 13 import android.widget.TextView;
10 14
11 -import androidx.cardview.widget.CardView;
12 -import androidx.core.content.ContextCompat;
13 -
14 import org.greenrobot.eventbus.EventBus; 15 import org.greenrobot.eventbus.EventBus;
15 16
17 +import io.github.inflationx.calligraphy3.CalligraphyTypefaceSpan;
18 +import io.github.inflationx.calligraphy3.TypefaceUtils;
16 import io.github.inflationx.viewpump.ViewPumpContextWrapper; 19 import io.github.inflationx.viewpump.ViewPumpContextWrapper;
17 import ly.warp.sdk.R; 20 import ly.warp.sdk.R;
21 +import ly.warp.sdk.io.models.Coupon;
22 +import ly.warp.sdk.io.models.Couponset;
18 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel; 23 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel;
24 +import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel;
19 import ly.warp.sdk.utils.WarplyManagerHelper; 25 import ly.warp.sdk.utils.WarplyManagerHelper;
20 import ly.warp.sdk.utils.managers.WarplyAnalyticsManager; 26 import ly.warp.sdk.utils.managers.WarplyAnalyticsManager;
21 import ly.warp.sdk.utils.managers.WarplyEventBusManager; 27 import ly.warp.sdk.utils.managers.WarplyEventBusManager;
...@@ -34,8 +40,12 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -34,8 +40,12 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
34 private ImageView mIvBack; 40 private ImageView mIvBack;
35 private int mTimer = 0; 41 private int mTimer = 0;
36 private Handler mSecondsHandler; 42 private Handler mSecondsHandler;
37 - private TextView mTvFavValue, mTvDealsValue; 43 + private TextView mTvFavValue, mTvDealsValue, mTvGiftsValue, mTvMarketValue, mTvDealsValueAll,
38 - private float mFavValue = 0.0f; 44 + mTvGiftsValueAll, mTvMarketAll;
45 + private float mFavValue = 0.0f, countValue = 0.0f;
46 + private RelativeLayout mRlDealsBanner, mRlGiftsBanner, mRlUnifiedBanner;
47 + private boolean mDealsBannerPressed = false, mHistoryPressed = false,
48 + mHistoryMarketPressed = false;
39 49
40 // =========================================================== 50 // ===========================================================
41 // Methods for/from SuperClass/Interfaces 51 // Methods for/from SuperClass/Interfaces
...@@ -50,6 +60,14 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -50,6 +60,14 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
50 mIvBack = findViewById(R.id.iv_loyalty_history_close); 60 mIvBack = findViewById(R.id.iv_loyalty_history_close);
51 mTvFavValue = findViewById(R.id.tv_exp_value); 61 mTvFavValue = findViewById(R.id.tv_exp_value);
52 mTvDealsValue = findViewById(R.id.tv_deals_value); 62 mTvDealsValue = findViewById(R.id.tv_deals_value);
63 + mTvGiftsValue = findViewById(R.id.tv_gifts_value);
64 + mTvMarketValue = findViewById(R.id.tv_market_value);
65 + mTvDealsValueAll = findViewById(R.id.tv_deals_value_all);
66 + mTvGiftsValueAll = findViewById(R.id.tv_gifts_value_all);
67 + mTvMarketAll = findViewById(R.id.tv_market_value_all);
68 + mRlDealsBanner = findViewById(R.id.rl_first_banner);
69 + mRlGiftsBanner = findViewById(R.id.rl_third_banner);
70 + mRlUnifiedBanner = findViewById(R.id.rl_second_banner);
53 71
54 initViews(); 72 initViews();
55 } 73 }
...@@ -66,6 +84,10 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -66,6 +84,10 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
66 mSecondsHandler.postDelayed(this, 1000); 84 mSecondsHandler.postDelayed(this, 1000);
67 } 85 }
68 }); 86 });
87 +
88 + mDealsBannerPressed = false;
89 + mHistoryPressed = false;
90 + mHistoryMarketPressed = false;
69 } 91 }
70 92
71 @Override 93 @Override
...@@ -76,7 +98,7 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -76,7 +98,7 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
76 98
77 LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel(); 99 LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
78 analyticsEvent.setEventName("time_spent_on_loyalty_sdk"); 100 analyticsEvent.setEventName("time_spent_on_loyalty_sdk");
79 - analyticsEvent.setParameter("name", "History"); 101 + analyticsEvent.setParameter("name", "HistoryScreen");
80 analyticsEvent.setParameter("seconds", String.valueOf(mTimer)); 102 analyticsEvent.setParameter("seconds", String.valueOf(mTimer));
81 EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent)); 103 EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
82 } 104 }
...@@ -84,10 +106,64 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -84,10 +106,64 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
84 106
85 @Override 107 @Override
86 public void onClick(View view) { 108 public void onClick(View view) {
87 - if (view.getId() == R.id.iv_loyalty_analysis_close) { 109 + if (view.getId() == R.id.iv_loyalty_history_close) {
88 onBackPressed(); 110 onBackPressed();
89 return; 111 return;
90 } 112 }
113 + /** Deals History */
114 + if (view.getId() == R.id.rl_first_banner) {
115 + if (!mDealsBannerPressed) {
116 + mDealsBannerPressed = true;
117 + WarplyAnalyticsManager.logTrackersEvent(this, "click", ("LoyaltyHistoryScreen")
118 + .concat(":")
119 + .concat("DealsBanner"));
120 +
121 + WarplyDealsAnalysisEventModel warplyDealsAnalysisEventModel = new WarplyDealsAnalysisEventModel();
122 + warplyDealsAnalysisEventModel.setPressed(true);
123 + EventBus.getDefault().post(new WarplyEventBusManager(warplyDealsAnalysisEventModel));
124 +
125 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
126 + analyticsEvent.setEventName("did_tap_deals_for_you_badge");
127 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
128 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
129 + }
130 + return;
131 + }
132 + /** Coupons History */
133 + if (view.getId() == R.id.rl_third_banner) {
134 + if (!mHistoryPressed) {
135 + mHistoryPressed = true;
136 + WarplyAnalyticsManager.logTrackersEvent(this, "click", ("LoyaltyHistoryScreen")
137 + .concat(":")
138 + .concat("LoyaltyBanner"));
139 +
140 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
141 + analyticsEvent.setEventName("did_tap_gifts_for_you_badge");
142 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
143 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
144 +
145 + Intent intent = new Intent(LoyaltyHistoryActivity.this, LoyaltyAnalysisActivity.class);
146 + startActivity(intent);
147 + }
148 + return;
149 + }
150 + /** Unified History */
151 + if (view.getId() == R.id.rl_second_banner) {
152 + if (!mHistoryMarketPressed) {
153 + mHistoryMarketPressed = true;
154 + WarplyAnalyticsManager.logTrackersEvent(this, "click", ("LoyaltyHistoryScreen")
155 + .concat(":")
156 + .concat("MarketBanner"));
157 +
158 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
159 + analyticsEvent.setEventName("did_tap_market_badge");
160 + analyticsEvent.setParameter("screen", "Loyalty Wallet");
161 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
162 +
163 + Intent intent = new Intent(LoyaltyHistoryActivity.this, LoyaltyMarketAnalysisActivity.class);
164 + startActivity(intent);
165 + }
166 + }
91 } 167 }
92 168
93 @Override 169 @Override
...@@ -101,6 +177,9 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -101,6 +177,9 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
101 177
102 private void initViews() { 178 private void initViews() {
103 mIvBack.setOnClickListener(this); 179 mIvBack.setOnClickListener(this);
180 + mRlDealsBanner.setOnClickListener(this);
181 + mRlGiftsBanner.setOnClickListener(this);
182 + mRlUnifiedBanner.setOnClickListener(this);
104 183
105 /** First Banner */ 184 /** First Banner */
106 String badgeValueFirst = String.format("%.02f", WarplyManagerHelper.getDealsCouponsSum()); 185 String badgeValueFirst = String.format("%.02f", WarplyManagerHelper.getDealsCouponsSum());
...@@ -110,14 +189,80 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList ...@@ -110,14 +189,80 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
110 } else { 189 } else {
111 mTvDealsValue.setTextSize(14); 190 mTvDealsValue.setTextSize(14);
112 } 191 }
113 -// SpannableStringBuilder sBuilder = new SpannableStringBuilder(); 192 + SpannableStringBuilder sBuilder = new SpannableStringBuilder();
114 -// sBuilder.append(String.format(getString(R.string.cos_deals_win_title_cos), badgeValueFirst)); 193 + sBuilder.append(String.format(getString(R.string.cos_deals_win_title_cos), badgeValueFirst));
115 -// CalligraphyTypefaceSpan typefaceBoldSpanFirst = new CalligraphyTypefaceSpan(TypefaceUtils.load(getAssets(), "fonts/PeridotPE-Bold.ttf")); 194 + CalligraphyTypefaceSpan typefaceBoldSpanFirst = new CalligraphyTypefaceSpan(TypefaceUtils.load(getAssets(), "fonts/PeridotPE-Bold.ttf"));
116 -// sBuilder.setSpan(typefaceBoldSpanFirst, 15, 16 + badgeValueFirst.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 195 + sBuilder.setSpan(typefaceBoldSpanFirst, 24, 24 + badgeValueFirst.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
117 -// mTvDealsValueAll.setText(sBuilder, TextView.BufferType.SPANNABLE); 196 + mTvDealsValueAll.setText(sBuilder, TextView.BufferType.SPANNABLE);
118 mFavValue += WarplyManagerHelper.getDealsCouponsSum(); 197 mFavValue += WarplyManagerHelper.getDealsCouponsSum();
119 /** First Banner */ 198 /** First Banner */
120 199
200 + /** Second Banner */
201 + if (WarplyManagerHelper.getLoyaltyBadge() != null && (WarplyManagerHelper.getLoyaltyBadge().getCouponCount() > 0 || WarplyManagerHelper.getLoyaltyBadge().getCouponCount() == 0)) {
202 + String badgeValue = String.format("%.02f", WarplyManagerHelper.getLoyaltyBadge().getValue());
203 + mTvGiftsValue.setText(String.format(getString(R.string.cos_value), badgeValue));
204 + if (String.valueOf(WarplyManagerHelper.getLoyaltyBadge().getValue()).length() >= 3) {
205 + mTvGiftsValue.setTextSize(12);
206 + } else {
207 + mTvGiftsValue.setTextSize(14);
208 + }
209 + SpannableStringBuilder sBuilderSecond = new SpannableStringBuilder();
210 + sBuilderSecond.append(String.format(getString(R.string.cos_deals_win_title), badgeValue));
211 + CalligraphyTypefaceSpan typefaceBoldSpanSecond = new CalligraphyTypefaceSpan(TypefaceUtils.load(getAssets(), "fonts/PeridotPE-Bold.ttf"));
212 + sBuilderSecond.setSpan(typefaceBoldSpanSecond, 24, 24 + badgeValue.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
213 + mTvGiftsValueAll.setText(sBuilderSecond, TextView.BufferType.SPANNABLE);
214 + mFavValue += WarplyManagerHelper.getLoyaltyBadge().getValue();
215 + }
216 + /** Second Banner */
217 +
218 + /** Third Expandable Banner */
219 + if (WarplyManagerHelper.getMarketCoupons() != null && WarplyManagerHelper.getMarketCoupons().size() > 0) {
220 + countValue = 0.0f;
221 +
222 + if (WarplyManagerHelper.getCouponRedeemedList().size() > 0) {
223 + if (WarplyManagerHelper.getCouponsetsDeals().size() > 0) {
224 + for (Couponset couset : WarplyManagerHelper.getCouponsetsDeals()) {
225 + for (Coupon cou : WarplyManagerHelper.getCouponRedeemedList()) {
226 + if (cou.getCouponsetUuid().equals(couset.getUuid())) {
227 + countValue += Float.valueOf(cou.getDiscount());
228 + cou.setDescription(couset.getShortDescription());
229 + cou.setImage(couset.getImgPreview());
230 + cou.setName(couset.getName());
231 + cou.setMerchantUuid(couset.getMerchantUuid());
232 + cou.setInnerText(couset.getInnerText());
233 + cou.setDiscount_type(couset.getDiscount_type());
234 + cou.setFinal_price(couset.getFinal_price());
235 + break;
236 + }
237 + }
238 + }
239 + }
240 + }
241 +
242 + mFavValue += countValue;
243 + String badgeValue = String.format("%.02f", countValue);
244 + mTvMarketValue.setText(String.format(getString(R.string.cos_value), badgeValue));
245 + if (String.valueOf(countValue).length() >= 3) {
246 + mTvMarketValue.setTextSize(12);
247 + } else {
248 + mTvMarketValue.setTextSize(14);
249 + }
250 + SpannableStringBuilder sBuilderThird = new SpannableStringBuilder();
251 + sBuilderThird.append(String.format(getString(R.string.cos_supermarket_win), badgeValue));
252 + CalligraphyTypefaceSpan typefaceBoldSpanThird = new CalligraphyTypefaceSpan(TypefaceUtils.load(getAssets(), "fonts/PeridotPE-Bold.ttf"));
253 + sBuilderThird.setSpan(typefaceBoldSpanThird, 24, 24 + badgeValue.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
254 + mTvMarketAll.setText(sBuilderThird, TextView.BufferType.SPANNABLE);
255 + } else {
256 + String badgeValue = String.format("%.02f", 0.0f);
257 + mTvMarketValue.setText(String.format(getString(R.string.cos_value), badgeValue));
258 + SpannableStringBuilder sBuilderThird = new SpannableStringBuilder();
259 + sBuilderThird.append(String.format(getString(R.string.cos_supermarket_win), badgeValue));
260 + CalligraphyTypefaceSpan typefaceBoldSpanThird = new CalligraphyTypefaceSpan(TypefaceUtils.load(getAssets(), "fonts/PeridotPE-Bold.ttf"));
261 + sBuilderThird.setSpan(typefaceBoldSpanThird, 24, 24 + badgeValue.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
262 + mTvMarketAll.setText(sBuilderThird, TextView.BufferType.SPANNABLE);
263 + }
264 + /** Third Expandable Banner */
265 +
121 /** Sum Banner */ 266 /** Sum Banner */
122 String allValue = String.format("%.02f", mFavValue); 267 String allValue = String.format("%.02f", mFavValue);
123 mTvFavValue.setText(String.format(getString(R.string.cos_value), allValue)); 268 mTvFavValue.setText(String.format(getString(R.string.cos_value), allValue));
......
...@@ -5,12 +5,8 @@ import android.content.Context; ...@@ -5,12 +5,8 @@ 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.text.SpannableStringBuilder;
9 -import android.text.Spanned;
10 import android.text.TextUtils; 8 import android.text.TextUtils;
11 -import android.view.LayoutInflater;
12 import android.view.View; 9 import android.view.View;
13 -import android.view.ViewGroup;
14 import android.widget.ImageView; 10 import android.widget.ImageView;
15 import android.widget.LinearLayout; 11 import android.widget.LinearLayout;
16 import android.widget.RelativeLayout; 12 import android.widget.RelativeLayout;
...@@ -34,24 +30,11 @@ import org.apmem.tools.layouts.FlowLayout; ...@@ -34,24 +30,11 @@ import org.apmem.tools.layouts.FlowLayout;
34 import org.greenrobot.eventbus.EventBus; 30 import org.greenrobot.eventbus.EventBus;
35 import org.greenrobot.eventbus.Subscribe; 31 import org.greenrobot.eventbus.Subscribe;
36 32
37 -import java.io.Serializable;
38 -import java.text.ParseException;
39 -import java.text.SimpleDateFormat;
40 import java.util.ArrayList; 33 import java.util.ArrayList;
41 -import java.util.Collections;
42 -import java.util.Comparator;
43 -import java.util.Date;
44 -import java.util.concurrent.TimeUnit;
45 34
46 -import io.github.inflationx.calligraphy3.CalligraphyTypefaceSpan;
47 -import io.github.inflationx.calligraphy3.TypefaceUtils;
48 import io.github.inflationx.viewpump.ViewPumpContextWrapper; 35 import io.github.inflationx.viewpump.ViewPumpContextWrapper;
49 import ly.warp.sdk.R; 36 import ly.warp.sdk.R;
50 import ly.warp.sdk.io.models.ActiveDFYCouponEventModel; 37 import ly.warp.sdk.io.models.ActiveDFYCouponEventModel;
51 -import ly.warp.sdk.io.models.ActiveDFYCouponModel;
52 -import ly.warp.sdk.io.models.Coupon;
53 -import ly.warp.sdk.io.models.CouponList;
54 -import ly.warp.sdk.io.models.Couponset;
55 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel; 38 import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel;
56 import ly.warp.sdk.io.models.UnifiedCoupon; 39 import ly.warp.sdk.io.models.UnifiedCoupon;
57 import ly.warp.sdk.io.models.VouchersActivityEventModel; 40 import ly.warp.sdk.io.models.VouchersActivityEventModel;
...@@ -87,7 +70,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -87,7 +70,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
87 private float couponDfyValue = 0.0f, mFavValue = 0.0f; 70 private float couponDfyValue = 0.0f, mFavValue = 0.0f;
88 private RecyclerView mRecyclerCoupons, mRvMarketCoupons; 71 private RecyclerView mRecyclerCoupons, mRvMarketCoupons;
89 private ActiveCouponAdapter mAdapterCoupons; 72 private ActiveCouponAdapter mAdapterCoupons;
90 - private AlertDialog mAlertDialogNonTelco; 73 + private AlertDialog mAlertDialogNonTelco, mAlertDialogVouchersService;
91 private ScrollView mScActiveCodes; 74 private ScrollView mScActiveCodes;
92 private NestedScrollView mSvLoyaltyWallet; 75 private NestedScrollView mSvLoyaltyWallet;
93 private int mTimer = 0; 76 private int mTimer = 0;
...@@ -103,6 +86,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -103,6 +86,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
103 mCouponPressed = false, mHistoryBadgePressed = false, mUnifiedCountPressed = false, 86 mCouponPressed = false, mHistoryBadgePressed = false, mUnifiedCountPressed = false,
104 mGiftsCountPressed = false; 87 mGiftsCountPressed = false;
105 private RelativeLayout mRlDeals, mRlUnified, mRlGifts; 88 private RelativeLayout mRlDeals, mRlUnified, mRlGifts;
89 + private View mSeparator;
106 90
107 // =========================================================== 91 // ===========================================================
108 // Methods for/from SuperClass/Interfaces 92 // Methods for/from SuperClass/Interfaces
...@@ -163,6 +147,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -163,6 +147,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
163 mCvVouchers = findViewById(R.id.cv_vouchers); 147 mCvVouchers = findViewById(R.id.cv_vouchers);
164 mLlVouchers = findViewById(R.id.ll_vouchers); 148 mLlVouchers = findViewById(R.id.ll_vouchers);
165 mLlVouchersSpinner = findViewById(R.id.ll_vouchers_spinner); 149 mLlVouchersSpinner = findViewById(R.id.ll_vouchers_spinner);
150 + mSeparator = findViewById(R.id.v_separator_vouchers);
166 151
167 /** Deals Badge */ 152 /** Deals Badge */
168 // if (WarplyManagerHelper.getActiveDFYCoupons() != null) { 153 // if (WarplyManagerHelper.getActiveDFYCoupons() != null) {
...@@ -450,24 +435,17 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -450,24 +435,17 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
450 435
451 @Subscribe() 436 @Subscribe()
452 public void onMessageEvent(WarplyEventBusManager event) { 437 public void onMessageEvent(WarplyEventBusManager event) {
438 + if (event.getVouchersServiceUnavailableEventModel() != null) {
439 + runOnUiThread(this::vouchersServiceUnavailableDialog);
440 + return;
441 + }
453 if (event.getVouchersFetched() != null) { 442 if (event.getVouchersFetched() != null) {
454 -// if (WarplyManagerHelper.getShowVouchersBanner().equals("true")) { 443 + /** Vouchers */
455 -// runOnUiThread(() -> {
456 -// mLlVouchersSpinner.setVisibility(View.GONE);
457 -// mLlVouchers.setVisibility(View.VISIBLE);
458 -// });
459 -// } else {
460 -// runOnUiThread(() -> {
461 -// mLlVouchersSpinner.setVisibility(View.GONE);
462 -// });
463 -// }
464 - /** Empty View */
465 runOnUiThread(this::checkForEmpty); 444 runOnUiThread(this::checkForEmpty);
466 - /** Empty View */ 445 + /** Vouchers */
467 return; 446 return;
468 } 447 }
469 if (event.getUnifiedCouponsAdded() != null) { 448 if (event.getUnifiedCouponsAdded() != null) {
470 - mUnifiedPressed = false;
471 /** Unified Coupons List */ 449 /** Unified Coupons List */
472 // if (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0) { 450 // if (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0) {
473 // ArrayList<UnifiedCoupon> tempCouponList = new ArrayList<UnifiedCoupon>(); 451 // ArrayList<UnifiedCoupon> tempCouponList = new ArrayList<UnifiedCoupon>();
...@@ -568,11 +546,11 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -568,11 +546,11 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
568 mTvUnifiedCountBadge.setText(String.valueOf(WarplyManagerHelper.getMarketCouponsList().size())); 546 mTvUnifiedCountBadge.setText(String.valueOf(WarplyManagerHelper.getMarketCouponsList().size()));
569 else 547 else
570 mTvUnifiedCountBadge.setText("0"); 548 mTvUnifiedCountBadge.setText("0");
549 + checkForEmpty();
571 }); 550 });
572 return; 551 return;
573 } 552 }
574 if (event.getCouponsAdded() != null) { 553 if (event.getCouponsAdded() != null) {
575 - mCouponPressed = false;
576 /** Coupons List */ 554 /** Coupons List */
577 // CouponList tempCouponList = new CouponList(); 555 // CouponList tempCouponList = new CouponList();
578 // CouponList cpnlist = new CouponList(); 556 // CouponList cpnlist = new CouponList();
...@@ -626,6 +604,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -626,6 +604,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
626 mTvGiftsCountBadge.setText(String.valueOf(WarplyManagerHelper.getCouponList().size())); 604 mTvGiftsCountBadge.setText(String.valueOf(WarplyManagerHelper.getCouponList().size()));
627 else 605 else
628 mTvGiftsCountBadge.setText("0"); 606 mTvGiftsCountBadge.setText("0");
607 + checkForEmpty();
629 }); 608 });
630 } 609 }
631 } 610 }
...@@ -640,16 +619,6 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -640,16 +619,6 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
640 // =========================================================== 619 // ===========================================================
641 620
642 private void initViews() { 621 private void initViews() {
643 -// if (TextUtils.isEmpty(WarplyManagerHelper.getShowVouchersBanner())) {
644 -// //TODO: show spinner
645 -// } else if (WarplyManagerHelper.getShowVouchersBanner().equals("true")) {
646 -// //TODO: hide spinner
647 -// mLlVouchers.setVisibility(View.VISIBLE);
648 -// } else {
649 -// //.equals("false)
650 -// //TODO: hide spinner
651 -// }
652 -
653 if (WarpUtils.getUserNonTelco(this)) { 622 if (WarpUtils.getUserNonTelco(this)) {
654 nonTelcoDialog(); 623 nonTelcoDialog();
655 } 624 }
...@@ -692,12 +661,12 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -692,12 +661,12 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
692 // } else { 661 // } else {
693 // mLlMarketView.setVisibility(View.GONE); 662 // mLlMarketView.setVisibility(View.GONE);
694 // } 663 // }
695 - /** Unified Coupons List */
696 664
697 if (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0) 665 if (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0)
698 mTvUnifiedCountBadge.setText(String.valueOf(WarplyManagerHelper.getMarketCouponsList().size())); 666 mTvUnifiedCountBadge.setText(String.valueOf(WarplyManagerHelper.getMarketCouponsList().size()));
699 else 667 else
700 mTvUnifiedCountBadge.setText("0"); 668 mTvUnifiedCountBadge.setText("0");
669 + /** Unified Coupons List */
701 670
702 /** Coupon List */ 671 /** Coupon List */
703 // if (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0) { 672 // if (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0) {
...@@ -740,12 +709,12 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -740,12 +709,12 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
740 // } else { 709 // } else {
741 // mLlGifts.setVisibility(View.GONE); 710 // mLlGifts.setVisibility(View.GONE);
742 // } 711 // }
743 - /** Coupon List */
744 712
745 if (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0) 713 if (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0)
746 mTvGiftsCountBadge.setText(String.valueOf(WarplyManagerHelper.getCouponList().size())); 714 mTvGiftsCountBadge.setText(String.valueOf(WarplyManagerHelper.getCouponList().size()));
747 else 715 else
748 mTvGiftsCountBadge.setText("0"); 716 mTvGiftsCountBadge.setText("0");
717 + /** Coupon List */
749 718
750 /** First Expandable Banner */ 719 /** First Expandable Banner */
751 // String badgeValueFirst = String.format("%.02f", WarplyManagerHelper.getDealsCouponsSum()); 720 // String badgeValueFirst = String.format("%.02f", WarplyManagerHelper.getDealsCouponsSum());
...@@ -836,7 +805,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -836,7 +805,7 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
836 // sBuilderThird.setSpan(typefaceBoldSpanThird, 15, 16 + badgeValue.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 805 // sBuilderThird.setSpan(typefaceBoldSpanThird, 15, 16 + badgeValue.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
837 // mTvMarketAll.setText(sBuilderThird, TextView.BufferType.SPANNABLE); 806 // mTvMarketAll.setText(sBuilderThird, TextView.BufferType.SPANNABLE);
838 // } 807 // }
839 - /** First Expandable Banner */ 808 + /** Third Expandable Banner */
840 809
841 /** Sum Expandable Banner */ 810 /** Sum Expandable Banner */
842 // String allValue = String.format("%.02f", mFavValue); 811 // String allValue = String.format("%.02f", mFavValue);
...@@ -912,12 +881,12 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -912,12 +881,12 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
912 // } else { 881 // } else {
913 // mLlDeals.setVisibility(View.GONE); 882 // mLlDeals.setVisibility(View.GONE);
914 // } 883 // }
915 - /** Deals Badge */
916 884
917 if (WarplyManagerHelper.getActiveDFYCoupons() != null) 885 if (WarplyManagerHelper.getActiveDFYCoupons() != null)
918 mTvDealsCountBadge.setText(String.valueOf(WarplyManagerHelper.getActiveDFYCoupons().size())); 886 mTvDealsCountBadge.setText(String.valueOf(WarplyManagerHelper.getActiveDFYCoupons().size()));
919 else 887 else
920 mTvDealsCountBadge.setText("0"); 888 mTvDealsCountBadge.setText("0");
889 + /** Deals Badge */
921 890
922 if (WarplyManagerHelper.getConsumer() != null) { 891 if (WarplyManagerHelper.getConsumer() != null) {
923 mTvUsername.setText(String.format(getResources().getString(R.string.cos_profile_loyalty_name), 892 mTvUsername.setText(String.format(getResources().getString(R.string.cos_profile_loyalty_name),
...@@ -992,38 +961,73 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie ...@@ -992,38 +961,73 @@ public class LoyaltyWallet extends Activity implements View.OnClickListener, Vie
992 } 961 }
993 } 962 }
994 963
964 + private void vouchersServiceUnavailableDialog() {
965 + if (!isFinishing()) {
966 + mLlVouchersSpinner.setVisibility(View.GONE);
967 + mAlertDialogVouchersService = new AlertDialog.Builder(this)
968 + .setTitle(R.string.cos_dlg_try_again)
969 + .setMessage(R.string.cos_dlg_service_unavailable)
970 + .setPositiveButton(R.string.cos_dlg_return, (dialogPositive, whichPositive) -> {
971 + dialogPositive.dismiss();
972 + onBackPressed();
973 + })
974 + .setCancelable(false)
975 + .show();
976 + }
977 + }
978 +
995 private void checkForEmpty() { 979 private void checkForEmpty() {
996 - if ((WarplyManagerHelper.getActiveDFYCoupons() != null && WarplyManagerHelper.getActiveDFYCoupons().size() == 0) 980 + if (TextUtils.isEmpty(WarplyManagerHelper.getShowVouchersBanner())) {
997 - && (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() == 0) 981 + /** Show spinner */
998 - && (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() == 0)) { 982 + mLlVouchers.setVisibility(View.GONE);
999 - if (TextUtils.isEmpty(WarplyManagerHelper.getShowVouchersBanner())) { 983 + mSeparator.setVisibility(View.VISIBLE);
1000 - mLlBannerInfo.setVisibility(View.VISIBLE); 984 + mLlVouchersSpinner.setVisibility(View.VISIBLE);
1001 - mLlVouchersSpinner.setVisibility(View.VISIBLE); 985 + if ((WarplyManagerHelper.getActiveDFYCoupons() != null && WarplyManagerHelper.getActiveDFYCoupons().size() == 0)
1002 - } else if (WarplyManagerHelper.getShowVouchersBanner().equals("true")) { 986 + && (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() == 0)
1003 - mLlBannerInfo.setVisibility(View.VISIBLE); 987 + && (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() == 0)) {
1004 - mLlVouchersSpinner.setVisibility(View.GONE); 988 + /** Hide all and show empty view */
1005 - mLlVouchers.setVisibility(View.VISIBLE);
1006 - } else if (WarplyManagerHelper.getShowVouchersBanner().equals("false")) {
1007 - mLlBannerInfo.setVisibility(View.GONE);
1008 - mLlVouchersSpinner.setVisibility(View.GONE);
1009 mLlVouchers.setVisibility(View.GONE); 989 mLlVouchers.setVisibility(View.GONE);
990 + mLlVouchersSpinner.setVisibility(View.GONE);
991 + mSeparator.setVisibility(View.VISIBLE);
1010 mLlEmptyWallet.setVisibility(View.VISIBLE); 992 mLlEmptyWallet.setVisibility(View.VISIBLE);
1011 - } 993 + } else {
1012 - } else { 994 + /** Show loyalty banners and show spinner and hide empty view */
1013 - mLlEmptyWallet.setVisibility(View.GONE); 995 + mLlEmptyWallet.setVisibility(View.GONE);
1014 - if ((WarplyManagerHelper.getActiveDFYCoupons() != null && WarplyManagerHelper.getActiveDFYCoupons().size() > 0)
1015 - || (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() > 0)
1016 - || (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() > 0)) {
1017 mLlBannerInfo.setVisibility(View.VISIBLE); 996 mLlBannerInfo.setVisibility(View.VISIBLE);
1018 } 997 }
1019 - if (TextUtils.isEmpty(WarplyManagerHelper.getShowVouchersBanner())) { 998 + } else {
1020 - mLlVouchersSpinner.setVisibility(View.VISIBLE); 999 + if (WarplyManagerHelper.getShowVouchersBanner().equals("true")) {
1021 - } else if (WarplyManagerHelper.getShowVouchersBanner().equals("true")) { 1000 + /** Hide spinner and hide empty view and show vouchers */
1022 mLlVouchersSpinner.setVisibility(View.GONE); 1001 mLlVouchersSpinner.setVisibility(View.GONE);
1002 + mLlEmptyWallet.setVisibility(View.GONE);
1023 mLlVouchers.setVisibility(View.VISIBLE); 1003 mLlVouchers.setVisibility(View.VISIBLE);
1004 + if ((WarplyManagerHelper.getActiveDFYCoupons() != null && WarplyManagerHelper.getActiveDFYCoupons().size() == 0)
1005 + && (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() == 0)
1006 + && (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() == 0)) {
1007 + /** Hide loyalty banners and hide separator */
1008 + mSeparator.setVisibility(View.GONE);
1009 + mLlBannerInfo.setVisibility(View.GONE);
1010 + } else {
1011 + /** Show loyalty banners and show separator */
1012 + mSeparator.setVisibility(View.VISIBLE);
1013 + mLlBannerInfo.setVisibility(View.VISIBLE);
1014 + }
1024 } else if (WarplyManagerHelper.getShowVouchersBanner().equals("false")) { 1015 } else if (WarplyManagerHelper.getShowVouchersBanner().equals("false")) {
1016 + /** Hide spinner and hide vouchers */
1025 mLlVouchersSpinner.setVisibility(View.GONE); 1017 mLlVouchersSpinner.setVisibility(View.GONE);
1026 mLlVouchers.setVisibility(View.GONE); 1018 mLlVouchers.setVisibility(View.GONE);
1019 + mSeparator.setVisibility(View.VISIBLE);
1020 + if ((WarplyManagerHelper.getActiveDFYCoupons() != null && WarplyManagerHelper.getActiveDFYCoupons().size() == 0)
1021 + && (WarplyManagerHelper.getMarketCouponsList() != null && WarplyManagerHelper.getMarketCouponsList().size() == 0)
1022 + && (WarplyManagerHelper.getCouponList() != null && WarplyManagerHelper.getCouponList().size() == 0)) {
1023 + /** Hide loyalty banners and show empty view */
1024 + mLlBannerInfo.setVisibility(View.GONE);
1025 + mLlEmptyWallet.setVisibility(View.VISIBLE);
1026 + } else {
1027 + /** Show loyalty banners and hide empty view */
1028 + mLlEmptyWallet.setVisibility(View.GONE);
1029 + mLlBannerInfo.setVisibility(View.VISIBLE);
1030 + }
1027 } 1031 }
1028 } 1032 }
1029 } 1033 }
......
1 +/*
2 + * Copyright 2010-2013 Warply Ltd. All rights reserved.
3 + *
4 + * Redistribution and use in source and binary forms, without modification, are
5 + * permitted provided that the following conditions are met:
6 + *
7 + * 1. Redistributions of source code must retain the above copyright notice,
8 + * this list of conditions and the following disclaimer.
9 + *
10 + * 2. Redistributions in binary form must reproduce the above copyright notice,
11 + * this list of conditions and the following disclaimer in the documentation
12 + * and/or other materials provided with the distribution.
13 + *
14 + * THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR
15 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17 + * EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
18 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
20 + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21 + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23 + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 + */
25 +
26 +package ly.warp.sdk.io.models;
27 +
28 +
29 +/**
30 + * Created by Panagiotis Triantafyllou on 25-Oct-23.
31 + */
32 +
33 +public class VouchersServiceUnavailableEventModel {
34 + private boolean serviceUnavailable;
35 +
36 + public VouchersServiceUnavailableEventModel() {
37 + this.serviceUnavailable = true;
38 + }
39 +
40 + public boolean isServiceUnavailable() {
41 + return serviceUnavailable;
42 + }
43 +
44 + public void setServiceUnavailable(boolean serviceUnavailable) {
45 + this.serviceUnavailable = serviceUnavailable;
46 + }
47 +}
...@@ -33,7 +33,7 @@ public class WarpConstants { ...@@ -33,7 +33,7 @@ public class WarpConstants {
33 /** 33 /**
34 * The version of the SDK installed in the device 34 * The version of the SDK installed in the device
35 */ 35 */
36 - public static final String SDK_VERSION = "4.5.4.6"; 36 + public static final String SDK_VERSION = "4.5.5.4";
37 37
38 /** 38 /**
39 * The URL of the server where it should ping 39 * The URL of the server where it should ping
......
...@@ -18,6 +18,7 @@ import ly.warp.sdk.io.models.RefreshUnifiedCouponsEventModel; ...@@ -18,6 +18,7 @@ import ly.warp.sdk.io.models.RefreshUnifiedCouponsEventModel;
18 import ly.warp.sdk.io.models.UnifiedCouponsEventModel; 18 import ly.warp.sdk.io.models.UnifiedCouponsEventModel;
19 import ly.warp.sdk.io.models.VouchersActivityEventModel; 19 import ly.warp.sdk.io.models.VouchersActivityEventModel;
20 import ly.warp.sdk.io.models.VouchersFetchedEventModel; 20 import ly.warp.sdk.io.models.VouchersFetchedEventModel;
21 +import ly.warp.sdk.io.models.VouchersServiceUnavailableEventModel;
21 import ly.warp.sdk.io.models.WarplyCCMSEnabledModel; 22 import ly.warp.sdk.io.models.WarplyCCMSEnabledModel;
22 import ly.warp.sdk.io.models.WarplyCouponsChangedEventModel; 23 import ly.warp.sdk.io.models.WarplyCouponsChangedEventModel;
23 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel; 24 import ly.warp.sdk.io.models.WarplyDealsAnalysisEventModel;
...@@ -61,6 +62,7 @@ public class WarplyEventBusManager { ...@@ -61,6 +62,7 @@ public class WarplyEventBusManager {
61 private WarplyWebviewCallbackEventModel webviewCallback; 62 private WarplyWebviewCallbackEventModel webviewCallback;
62 private WarplyWebviewActivityCallbackEventModel webviewActivityCallback; 63 private WarplyWebviewActivityCallbackEventModel webviewActivityCallback;
63 private WarplyUnifiedActivatedEventModel unifiedActivated; 64 private WarplyUnifiedActivatedEventModel unifiedActivated;
65 + private VouchersServiceUnavailableEventModel serviceUnavailable;
64 66
65 public WarplyEventBusManager() { 67 public WarplyEventBusManager() {
66 68
...@@ -158,6 +160,10 @@ public class WarplyEventBusManager { ...@@ -158,6 +160,10 @@ public class WarplyEventBusManager {
158 this.dealsAnalysis = dealsAnalysis; 160 this.dealsAnalysis = dealsAnalysis;
159 } 161 }
160 162
163 + public WarplyEventBusManager(VouchersServiceUnavailableEventModel serviceUnavailable) {
164 + this.serviceUnavailable = serviceUnavailable;
165 + }
166 +
161 public WarplyEventBusManager(WarplyCCMSEnabledModel ccmsActivated) { 167 public WarplyEventBusManager(WarplyCCMSEnabledModel ccmsActivated) {
162 this.ccmsActivated = ccmsActivated; 168 this.ccmsActivated = ccmsActivated;
163 } 169 }
...@@ -299,4 +305,8 @@ public class WarplyEventBusManager { ...@@ -299,4 +305,8 @@ public class WarplyEventBusManager {
299 public WarplyUnifiedActivatedEventModel getWarplyUnifiedActivatedEventModel() { 305 public WarplyUnifiedActivatedEventModel getWarplyUnifiedActivatedEventModel() {
300 return unifiedActivated; 306 return unifiedActivated;
301 } 307 }
308 +
309 + public VouchersServiceUnavailableEventModel getVouchersServiceUnavailableEventModel() {
310 + return serviceUnavailable;
311 + }
302 } 312 }
......
...@@ -205,7 +205,8 @@ ...@@ -205,7 +205,8 @@
205 android:layout_width="match_parent" 205 android:layout_width="match_parent"
206 android:layout_height="wrap_content" 206 android:layout_height="wrap_content"
207 android:layout_below="@+id/rl_first_banner" 207 android:layout_below="@+id/rl_first_banner"
208 - android:layout_marginHorizontal="16dp"> 208 + android:layout_marginHorizontal="16dp"
209 + android:layout_marginTop="16dp">
209 210
210 <RelativeLayout 211 <RelativeLayout
211 android:layout_width="wrap_content" 212 android:layout_width="wrap_content"
...@@ -259,7 +260,7 @@ ...@@ -259,7 +260,7 @@
259 <LinearLayout 260 <LinearLayout
260 android:layout_width="match_parent" 261 android:layout_width="match_parent"
261 android:layout_height="match_parent" 262 android:layout_height="match_parent"
262 - android:background="@color/cos_green_tr" 263 + android:background="@color/cos_creme"
263 android:gravity="center" 264 android:gravity="center"
264 android:orientation="vertical"> 265 android:orientation="vertical">
265 266
...@@ -285,7 +286,8 @@ ...@@ -285,7 +286,8 @@
285 android:layout_width="match_parent" 286 android:layout_width="match_parent"
286 android:layout_height="wrap_content" 287 android:layout_height="wrap_content"
287 android:layout_below="@+id/rl_second_banner" 288 android:layout_below="@+id/rl_second_banner"
288 - android:layout_marginHorizontal="16dp"> 289 + android:layout_marginHorizontal="16dp"
290 + android:layout_marginTop="16dp">
289 291
290 <RelativeLayout 292 <RelativeLayout
291 android:layout_width="wrap_content" 293 android:layout_width="wrap_content"
...@@ -339,7 +341,7 @@ ...@@ -339,7 +341,7 @@
339 <LinearLayout 341 <LinearLayout
340 android:layout_width="match_parent" 342 android:layout_width="match_parent"
341 android:layout_height="match_parent" 343 android:layout_height="match_parent"
342 - android:background="@color/cos_green_tr" 344 + android:background="@color/cos_skyblue5"
343 android:gravity="center" 345 android:gravity="center"
344 android:orientation="vertical"> 346 android:orientation="vertical">
345 347
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
8 <androidx.constraintlayout.widget.ConstraintLayout 8 <androidx.constraintlayout.widget.ConstraintLayout
9 android:id="@+id/cl_loyalty_wallet_header" 9 android:id="@+id/cl_loyalty_wallet_header"
10 android:layout_width="match_parent" 10 android:layout_width="match_parent"
11 - android:layout_height="48dp" 11 + android:layout_height="64dp"
12 android:background="@color/white"> 12 android:background="@color/white">
13 13
14 <ImageView 14 <ImageView
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
17 android:layout_height="48dp" 17 android:layout_height="48dp"
18 android:layout_marginStart="16dp" 18 android:layout_marginStart="16dp"
19 android:scaleType="centerInside" 19 android:scaleType="centerInside"
20 - android:src="@drawable/ic_back" 20 + android:src="@drawable/ic_close"
21 app:layout_constraintBottom_toBottomOf="parent" 21 app:layout_constraintBottom_toBottomOf="parent"
22 app:layout_constraintStart_toStartOf="parent" 22 app:layout_constraintStart_toStartOf="parent"
23 app:layout_constraintTop_toTopOf="parent" /> 23 app:layout_constraintTop_toTopOf="parent" />
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
266 android:layout_width="16dp" 266 android:layout_width="16dp"
267 android:layout_height="16dp" 267 android:layout_height="16dp"
268 android:layout_alignParentEnd="true" 268 android:layout_alignParentEnd="true"
269 - android:layout_marginTop="1dp" 269 + android:layout_marginTop="4dp"
270 android:layout_marginEnd="1dp" 270 android:layout_marginEnd="1dp"
271 android:background="@drawable/shape_cos_counter_orange" 271 android:background="@drawable/shape_cos_counter_orange"
272 android:gravity="center" 272 android:gravity="center"
...@@ -355,7 +355,7 @@ ...@@ -355,7 +355,7 @@
355 android:layout_width="16dp" 355 android:layout_width="16dp"
356 android:layout_height="16dp" 356 android:layout_height="16dp"
357 android:layout_alignParentEnd="true" 357 android:layout_alignParentEnd="true"
358 - android:layout_marginTop="1dp" 358 + android:layout_marginTop="4dp"
359 android:layout_marginEnd="1dp" 359 android:layout_marginEnd="1dp"
360 android:background="@drawable/shape_cos_counter_orange" 360 android:background="@drawable/shape_cos_counter_orange"
361 android:gravity="center" 361 android:gravity="center"
...@@ -443,7 +443,7 @@ ...@@ -443,7 +443,7 @@
443 android:layout_width="16dp" 443 android:layout_width="16dp"
444 android:layout_height="16dp" 444 android:layout_height="16dp"
445 android:layout_alignParentEnd="true" 445 android:layout_alignParentEnd="true"
446 - android:layout_marginTop="1dp" 446 + android:layout_marginTop="4dp"
447 android:layout_marginEnd="1dp" 447 android:layout_marginEnd="1dp"
448 android:background="@drawable/shape_cos_counter_orange" 448 android:background="@drawable/shape_cos_counter_orange"
449 android:gravity="center" 449 android:gravity="center"
...@@ -465,104 +465,107 @@ ...@@ -465,104 +465,107 @@
465 </LinearLayout> 465 </LinearLayout>
466 </RelativeLayout> 466 </RelativeLayout>
467 </androidx.constraintlayout.widget.ConstraintLayout> 467 </androidx.constraintlayout.widget.ConstraintLayout>
468 + </LinearLayout>
468 469
469 - <LinearLayout 470 + <LinearLayout
470 - android:id="@+id/ll_vouchers_spinner" 471 + android:id="@+id/ll_vouchers_spinner"
471 - android:layout_width="match_parent" 472 + android:layout_width="match_parent"
472 - android:layout_height="wrap_content" 473 + android:layout_height="wrap_content"
473 - android:layout_marginTop="32dp" 474 + android:layout_marginHorizontal="14dp"
474 - android:orientation="vertical" 475 + android:layout_marginTop="32dp"
475 - android:gravity="center_horizontal" 476 + android:gravity="center_horizontal"
476 - android:visibility="gone" 477 + android:orientation="vertical"
477 - tools:visibility="visible"> 478 + android:visibility="gone"
478 - <ProgressBar 479 + tools:visibility="visible">
479 - android:id="@+id/pb_vouchers"
480 - android:layout_width="48dp"
481 - android:layout_height="48dp"
482 - android:theme="@style/progressBarGreen"/>
483 - </LinearLayout>
484 480
485 - <LinearLayout 481 + <ProgressBar
486 - android:id="@+id/ll_vouchers" 482 + android:id="@+id/pb_vouchers"
483 + android:layout_width="48dp"
484 + android:layout_height="48dp"
485 + android:theme="@style/progressBarGreen" />
486 + </LinearLayout>
487 +
488 + <LinearLayout
489 + android:id="@+id/ll_vouchers"
490 + android:layout_width="match_parent"
491 + android:layout_height="wrap_content"
492 + android:layout_marginHorizontal="14dp"
493 + android:layout_marginTop="32dp"
494 + android:orientation="vertical"
495 + android:visibility="gone"
496 + tools:visibility="visible">
497 +
498 + <View
499 + android:id="@+id/v_separator_vouchers"
487 android:layout_width="match_parent" 500 android:layout_width="match_parent"
488 - android:layout_height="wrap_content" 501 + android:layout_height="1dp"
489 - android:layout_marginTop="32dp" 502 + android:background="@color/cos_gray" />
490 - android:orientation="vertical"
491 - android:visibility="gone"
492 - tools:visibility="visible">
493 503
494 - <View 504 + <TextView
495 - android:id="@+id/v_separator_vouchers" 505 + fontPath="fonts/PeridotPE-SemiBold.ttf"
496 - android:layout_width="match_parent" 506 + android:layout_width="wrap_content"
497 - android:layout_height="1dp" 507 + android:layout_height="wrap_content"
498 - android:background="@color/cos_gray" /> 508 + android:layout_marginTop="24dp"
509 + android:includeFontPadding="false"
510 + android:maxLines="1"
511 + android:text="@string/cos_vouchers_title"
512 + android:textColor="@color/cos_light_black"
513 + android:textSize="22sp" />
499 514
500 - <TextView 515 + <androidx.cardview.widget.CardView
501 - fontPath="fonts/PeridotPE-SemiBold.ttf" 516 + android:id="@+id/cv_vouchers"
502 - android:layout_width="wrap_content" 517 + android:layout_width="match_parent"
503 - android:layout_height="wrap_content" 518 + android:layout_height="70dp"
504 - android:layout_marginTop="24dp" 519 + android:layout_marginHorizontal="2dp"
505 - android:includeFontPadding="false" 520 + android:layout_marginTop="24dp"
506 - android:maxLines="1" 521 + android:layout_marginBottom="4dp"
507 - android:text="@string/cos_vouchers_title" 522 + app:cardCornerRadius="16dp"
508 - android:textColor="@color/cos_light_black" 523 + app:cardElevation="2dp">
509 - android:textSize="22sp" />
510 524
511 - <androidx.cardview.widget.CardView 525 + <androidx.constraintlayout.widget.ConstraintLayout
512 - android:id="@+id/cv_vouchers"
513 android:layout_width="match_parent" 526 android:layout_width="match_parent"
514 - android:layout_height="70dp" 527 + android:layout_height="match_parent"
515 - android:layout_marginHorizontal="2dp" 528 + android:background="@color/white">
516 - android:layout_marginTop="24dp"
517 - android:layout_marginBottom="4dp"
518 - app:cardCornerRadius="16dp"
519 - app:cardElevation="2dp">
520 -
521 - <androidx.constraintlayout.widget.ConstraintLayout
522 - android:layout_width="match_parent"
523 - android:layout_height="match_parent"
524 - android:background="@color/white">
525 529
526 - <ImageView 530 + <ImageView
527 - android:id="@+id/iv_vouchers_logo" 531 + android:id="@+id/iv_vouchers_logo"
528 - android:layout_width="32dp" 532 + android:layout_width="32dp"
529 - android:layout_height="30dp" 533 + android:layout_height="30dp"
530 - android:layout_marginStart="16dp" 534 + android:layout_marginStart="16dp"
531 - android:src="@drawable/sv_vouchers" 535 + android:src="@drawable/sv_vouchers"
532 - app:layout_constraintBottom_toBottomOf="parent" 536 + app:layout_constraintBottom_toBottomOf="parent"
533 - app:layout_constraintStart_toStartOf="parent" 537 + app:layout_constraintStart_toStartOf="parent"
534 - app:layout_constraintTop_toTopOf="parent" /> 538 + app:layout_constraintTop_toTopOf="parent" />
535 539
536 - <TextView 540 + <TextView
537 - android:id="@+id/tv_vouchers_info_title" 541 + android:id="@+id/tv_vouchers_info_title"
538 - fontPath="fonts/PeridotPE-Regular.ttf" 542 + fontPath="fonts/PeridotPE-Regular.ttf"
539 - android:layout_width="wrap_content" 543 + android:layout_width="wrap_content"
540 - android:layout_height="wrap_content" 544 + android:layout_height="wrap_content"
541 - android:layout_marginHorizontal="8dp" 545 + android:layout_marginHorizontal="8dp"
542 - android:includeFontPadding="false" 546 + android:includeFontPadding="false"
543 - android:lineHeight="24dp" 547 + android:lineHeight="24dp"
544 - android:text="@string/cos_vouchers_info_title" 548 + android:text="@string/cos_vouchers_info_title"
545 - android:textColor="@color/cos_light_black" 549 + android:textColor="@color/cos_light_black"
546 - android:textSize="14sp" 550 + android:textSize="14sp"
547 - app:layout_constraintBottom_toBottomOf="@+id/iv_vouchers_logo" 551 + app:layout_constraintBottom_toBottomOf="@+id/iv_vouchers_logo"
548 - app:layout_constraintEnd_toStartOf="@+id/iv_vouchers_arrow" 552 + app:layout_constraintEnd_toStartOf="@+id/iv_vouchers_arrow"
549 - app:layout_constraintHorizontal_bias="0.0" 553 + app:layout_constraintHorizontal_bias="0.0"
550 - app:layout_constraintStart_toEndOf="@+id/iv_vouchers_logo" 554 + app:layout_constraintStart_toEndOf="@+id/iv_vouchers_logo"
551 - app:layout_constraintTop_toTopOf="@+id/iv_vouchers_logo" /> 555 + app:layout_constraintTop_toTopOf="@+id/iv_vouchers_logo" />
552 556
553 - <ImageView 557 + <ImageView
554 - android:id="@+id/iv_vouchers_arrow" 558 + android:id="@+id/iv_vouchers_arrow"
555 - android:layout_width="16dp" 559 + android:layout_width="16dp"
556 - android:layout_height="10dp" 560 + android:layout_height="10dp"
557 - android:layout_marginEnd="16dp" 561 + android:layout_marginEnd="16dp"
558 - android:rotation="270" 562 + android:rotation="270"
559 - android:src="@drawable/sv_arrow_down" 563 + android:src="@drawable/sv_arrow_down"
560 - app:layout_constraintBottom_toBottomOf="parent" 564 + app:layout_constraintBottom_toBottomOf="parent"
561 - app:layout_constraintEnd_toEndOf="parent" 565 + app:layout_constraintEnd_toEndOf="parent"
562 - app:layout_constraintTop_toTopOf="parent" /> 566 + app:layout_constraintTop_toTopOf="parent" />
563 - </androidx.constraintlayout.widget.ConstraintLayout> 567 + </androidx.constraintlayout.widget.ConstraintLayout>
564 - </androidx.cardview.widget.CardView> 568 + </androidx.cardview.widget.CardView>
565 - </LinearLayout>
566 </LinearLayout> 569 </LinearLayout>
567 570
568 <LinearLayout 571 <LinearLayout
......
...@@ -75,8 +75,8 @@ ...@@ -75,8 +75,8 @@
75 <string name="cos_gift_it">Δώρισέ το</string> 75 <string name="cos_gift_it">Δώρισέ το</string>
76 <string name="cos_popup_more_title">COSMOTE MORE FOR YOU</string> 76 <string name="cos_popup_more_title">COSMOTE MORE FOR YOU</string>
77 <string name="cos_popup_more_subtitle">Σε αυτή την ενότητα βρες έρευνες, παιχνίδια, διαγωνισμούς και επιβραβεύσεις για τις αθλητικές σου δραστηριότητες!</string> 77 <string name="cos_popup_more_subtitle">Σε αυτή την ενότητα βρες έρευνες, παιχνίδια, διαγωνισμούς και επιβραβεύσεις για τις αθλητικές σου δραστηριότητες!</string>
78 - <string name="cos_deals_win_title">Έχεις κερδίσει&#160;%1$s€&#160;με το\nGIFTS FOR YOU!</string> 78 + <string name="cos_deals_win_title">Μέχρι τώρα έχεις όφελος %1$s€ από τα GIFTS FOR YOU</string>
79 - <string name="cos_deals_win_title_cos">Έχεις κερδίσει&#160;%1$s€&#160;με το\nDEALS FOR YOU!</string> 79 + <string name="cos_deals_win_title_cos">Μέχρι τώρα έχεις όφελος %1$s€ από τα DEALS FOR YOU</string>
80 <string name="cos_mygifts">Τα δώρα μου</string> 80 <string name="cos_mygifts">Τα δώρα μου</string>
81 <string name="cos_gifts_banner_title">Δώρα:</string> 81 <string name="cos_gifts_banner_title">Δώρα:</string>
82 <string name="cos_see_more">Δες περισσότερα</string> 82 <string name="cos_see_more">Δες περισσότερα</string>
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
174 <string name="cos_coupon_date_limit">Ισχύει έως&#160;</string> 174 <string name="cos_coupon_date_limit">Ισχύει έως&#160;</string>
175 <string name="cos_coupon_date_limit2">%1$s</string> 175 <string name="cos_coupon_date_limit2">%1$s</string>
176 <string name="cos_for_you_all">Μέχρι τώρα έχεις κερδίσει&#160;%1$s€&#160;στο For You!</string> 176 <string name="cos_for_you_all">Μέχρι τώρα έχεις κερδίσει&#160;%1$s€&#160;στο For You!</string>
177 - <string name="cos_supermarket_win">Έχεις κερδίσει&#160;%1$s€&#160;με τα\nSUPERMARKET DEALS!</string> 177 + <string name="cos_supermarket_win">Μέχρι τώρα έχεις όφελος %1$s€ από τα SUPERMARKET DEALS</string>
178 <string name="cos_supermarket_history">Μέχρι τώρα έχεις κερδίσει %1$s€ σε προσφορές από %2$s κουπόνια!</string> 178 <string name="cos_supermarket_history">Μέχρι τώρα έχεις κερδίσει %1$s€ σε προσφορές από %2$s κουπόνια!</string>
179 <string name="lbl_cosmote_webview_permission_title">COSMOTE</string> 179 <string name="lbl_cosmote_webview_permission_title">COSMOTE</string>
180 <string name="lbl_cosmote_webview_permission_message">Το COSMOTE ζητάει πρόσβαση στην τοποθεσία σας.</string> 180 <string name="lbl_cosmote_webview_permission_message">Το COSMOTE ζητάει πρόσβαση στην τοποθεσία σας.</string>
...@@ -205,6 +205,9 @@ ...@@ -205,6 +205,9 @@
205 <string name="cos_loyalty_history">Ιστορικό</string> 205 <string name="cos_loyalty_history">Ιστορικό</string>
206 <string name="cos_redeemed_coupons_loyalty_title">Εξαργυρωμένα κουπόνια</string> 206 <string name="cos_redeemed_coupons_loyalty_title">Εξαργυρωμένα κουπόνια</string>
207 <string name="cos_history_info_text">Δες αναλυτικά το συνολικό όφελός σου έως τώρα από κουπόνια</string> 207 <string name="cos_history_info_text">Δες αναλυτικά το συνολικό όφελός σου έως τώρα από κουπόνια</string>
208 + <string name="cos_dlg_try_again">Προσπάθησε ξανά αργότερα</string>
209 + <string name="cos_dlg_service_unavailable">Προσωρινά μη διαθέσιμη πληροφορία.\nΠαρακαλούμε δοκίμασε ξανά σε λίγο.</string>
210 + <string name="cos_dlg_return">Επιστροφή</string>
208 211
209 <string-array name="coupons_array"> 212 <string-array name="coupons_array">
210 <item>Κουπόνια</item> 213 <item>Κουπόνια</item>
......