Panagiotis Triantafyllou

changes for cosmote pass part2

Showing 22 changed files with 499 additions and 40 deletions
...@@ -53,6 +53,12 @@ ...@@ -53,6 +53,12 @@
53 android:theme="@style/SDKAppTheme" /> 53 android:theme="@style/SDKAppTheme" />
54 54
55 <activity 55 <activity
56 + android:name=".activities.MarketPassInfoActivity"
57 + android:exported="false"
58 + android:screenOrientation="portrait"
59 + android:theme="@style/SDKAppTheme" />
60 +
61 + <activity
56 android:name=".activities.LoyaltyHistoryActivity" 62 android:name=".activities.LoyaltyHistoryActivity"
57 android:exported="false" 63 android:exported="false"
58 android:screenOrientation="portrait" 64 android:screenOrientation="portrait"
......
1 package ly.warp.sdk.activities; 1 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.Intent; 5 import android.content.Intent;
5 import android.graphics.Bitmap; 6 import android.graphics.Bitmap;
6 import android.graphics.Color; 7 import android.graphics.Color;
7 import android.graphics.Typeface; 8 import android.graphics.Typeface;
8 import android.os.Bundle; 9 import android.os.Bundle;
9 -import android.os.Handler;
10 -import android.os.Looper;
11 import android.text.SpannableStringBuilder; 10 import android.text.SpannableStringBuilder;
12 import android.text.Spanned; 11 import android.text.Spanned;
12 +import android.view.LayoutInflater;
13 import android.view.View; 13 import android.view.View;
14 +import android.view.ViewGroup;
14 import android.widget.ImageView; 15 import android.widget.ImageView;
15 import android.widget.LinearLayout; 16 import android.widget.LinearLayout;
16 import android.widget.RelativeLayout; 17 import android.widget.RelativeLayout;
17 import android.widget.TextView; 18 import android.widget.TextView;
18 19
19 -import androidx.appcompat.app.AlertDialog;
20 -import androidx.constraintlayout.widget.ConstraintLayout;
21 import androidx.core.content.res.ResourcesCompat; 20 import androidx.core.content.res.ResourcesCompat;
22 -import androidx.recyclerview.widget.LinearLayoutManager;
23 -import androidx.recyclerview.widget.RecyclerView;
24 21
25 import com.google.zxing.BarcodeFormat; 22 import com.google.zxing.BarcodeFormat;
26 import com.google.zxing.common.BitMatrix; 23 import com.google.zxing.common.BitMatrix;
27 import com.google.zxing.oned.EAN13Writer; 24 import com.google.zxing.oned.EAN13Writer;
28 25
29 import org.greenrobot.eventbus.EventBus; 26 import org.greenrobot.eventbus.EventBus;
30 -import org.greenrobot.eventbus.Subscribe; 27 +
31 -import org.json.JSONArray;
32 -import org.json.JSONObject;
33 -
34 -import java.io.Serializable;
35 -import java.text.ParseException;
36 -import java.text.SimpleDateFormat;
37 -import java.util.ArrayList;
38 -import java.util.Collections;
39 -import java.util.Date;
40 -import java.util.HashSet;
41 import java.util.Locale; 28 import java.util.Locale;
42 -import java.util.Set;
43 29
44 import ly.warp.sdk.R; 30 import ly.warp.sdk.R;
45 -import ly.warp.sdk.io.callbacks.CallbackReceiver;
46 -import ly.warp.sdk.io.models.Coupon;
47 import ly.warp.sdk.io.models.CustomTypefaceSpan; 31 import ly.warp.sdk.io.models.CustomTypefaceSpan;
48 -import ly.warp.sdk.io.models.UnifiedCoupon; 32 +import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel;
49 import ly.warp.sdk.utils.WarpUtils; 33 import ly.warp.sdk.utils.WarpUtils;
50 import ly.warp.sdk.utils.WarplyManagerHelper; 34 import ly.warp.sdk.utils.WarplyManagerHelper;
51 import ly.warp.sdk.utils.managers.WarplyAnalyticsManager; 35 import ly.warp.sdk.utils.managers.WarplyAnalyticsManager;
52 import ly.warp.sdk.utils.managers.WarplyEventBusManager; 36 import ly.warp.sdk.utils.managers.WarplyEventBusManager;
53 -import ly.warp.sdk.utils.managers.WarplyManager;
54 -import ly.warp.sdk.views.adapters.ActiveCouponAdapter;
55 -import ly.warp.sdk.views.adapters.MarketCouponAdapter;
56 37
57 38
58 public class MarketPassActivity extends Activity implements View.OnClickListener { 39 public class MarketPassActivity extends Activity implements View.OnClickListener {
...@@ -66,7 +47,9 @@ public class MarketPassActivity extends Activity implements View.OnClickListener ...@@ -66,7 +47,9 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
66 // =========================================================== 47 // ===========================================================
67 48
68 private ImageView mIvBack, mIvInfo, mIvBarcode; 49 private ImageView mIvBack, mIvInfo, mIvBarcode;
69 - private TextView mFontHeader, mPassHeader, mPassSubtitle, mTvBarcode, mTvPassCount; 50 + private TextView mFontHeader, mPassHeader, mPassSubtitle, mTvBarcode, mTvPassCount, mTvButtonMap;
51 + private LinearLayout mLlMap, mLlParentLogosView;
52 + private boolean mMapPressed = false, mPassInfoPressed = false;
70 53
71 // =========================================================== 54 // ===========================================================
72 // Methods for/from SuperClass/Interfaces 55 // Methods for/from SuperClass/Interfaces
...@@ -85,21 +68,13 @@ public class MarketPassActivity extends Activity implements View.OnClickListener ...@@ -85,21 +68,13 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
85 mTvBarcode = findViewById(R.id.tv_barcode_value); 68 mTvBarcode = findViewById(R.id.tv_barcode_value);
86 mIvBarcode = findViewById(R.id.iv_barcode); 69 mIvBarcode = findViewById(R.id.iv_barcode);
87 mTvPassCount = findViewById(R.id.tv_total_pass_title); 70 mTvPassCount = findViewById(R.id.tv_total_pass_title);
88 - 71 + mTvButtonMap = findViewById(R.id.tv_button_map);
89 - //TODO: replace with actual value 72 + mLlMap = findViewById(R.id.ll_map);
90 - String passValue = String.format(Locale.GERMAN, "%.00f", 30f); 73 + mLlParentLogosView = findViewById(R.id.ll_sm_logos);
91 - SpannableStringBuilder sBuilder = new SpannableStringBuilder();
92 - sBuilder.append(String.format(getString(R.string.cos_market_pass_coupons_title), "30"));
93 - Typeface typefaceBold = ResourcesCompat.getFont(this, R.font.peridot_bold);
94 - CustomTypefaceSpan typefaceBoldSpan = new CustomTypefaceSpan(typefaceBold);
95 - sBuilder.setSpan(typefaceBoldSpan, 31, 31 + passValue.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
96 - mTvPassCount.setText(sBuilder, TextView.BufferType.SPANNABLE);
97 -
98 - //TODO: replace with dynmamic barcode
99 - createBarcodeBitmap("4006381333931");
100 74
101 WarpUtils.renderCustomFont(this, R.font.bt_cosmo_bold, mFontHeader, mPassHeader); 75 WarpUtils.renderCustomFont(this, R.font.bt_cosmo_bold, mFontHeader, mPassHeader);
102 WarpUtils.renderCustomFont(this, R.font.peridot_regular, mPassSubtitle, mTvBarcode, mTvPassCount); 76 WarpUtils.renderCustomFont(this, R.font.peridot_regular, mPassSubtitle, mTvBarcode, mTvPassCount);
77 + WarpUtils.renderCustomFont(this, R.font.peridot_semi_bold, mTvButtonMap);
103 78
104 initViews(); 79 initViews();
105 } 80 }
...@@ -108,6 +83,8 @@ public class MarketPassActivity extends Activity implements View.OnClickListener ...@@ -108,6 +83,8 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
108 public void onResume() { 83 public void onResume() {
109 super.onResume(); 84 super.onResume();
110 WarplyAnalyticsManager.logTrackersEvent(this, "screen", "MarketPassScreen"); 85 WarplyAnalyticsManager.logTrackersEvent(this, "screen", "MarketPassScreen");
86 + mMapPressed = false;
87 + mPassInfoPressed = false;
111 } 88 }
112 89
113 @Override 90 @Override
...@@ -116,8 +93,33 @@ public class MarketPassActivity extends Activity implements View.OnClickListener ...@@ -116,8 +93,33 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
116 onBackPressed(); 93 onBackPressed();
117 return; 94 return;
118 } 95 }
96 + if (view.getId() == R.id.ll_map) {
97 + if (!mMapPressed) {
98 + mMapPressed = true;
99 + if (!WarplyManagerHelper.noInternetDialog(this, true)) {
100 + WarplyManagerHelper.noInternetDialog(this);
101 + return;
102 + }
103 +
104 + WarplyAnalyticsManager.logTrackersEvent(this, "click", "MarketPassInfoScreen");
105 + startActivity(WarpViewActivity.createIntentFromURL(this, WarplyManagerHelper.getMarketPassMapUrl(MarketPassActivity.this)));
106 + }
107 + }
119 if (view.getId() == R.id.iv_coupons_info) { 108 if (view.getId() == R.id.iv_coupons_info) {
120 - //TODO 109 + if (!mPassInfoPressed) {
110 + mPassInfoPressed = true;
111 + WarplyAnalyticsManager.logTrackersEvent(MarketPassActivity.this, "click", ("MarketPassScreen")
112 + .concat(":")
113 + .concat("MarketPassInfo"));
114 +
115 + LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
116 + analyticsEvent.setEventName("did_tap_market_pass_info");
117 + analyticsEvent.setParameter("screen", "Market Pass Screen");
118 + EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
119 +
120 + Intent intent = new Intent(MarketPassActivity.this, MarketPassInfoActivity.class);
121 + startActivity(intent);
122 + }
121 } 123 }
122 } 124 }
123 125
...@@ -128,6 +130,33 @@ public class MarketPassActivity extends Activity implements View.OnClickListener ...@@ -128,6 +130,33 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
128 private void initViews() { 130 private void initViews() {
129 mIvBack.setOnClickListener(this); 131 mIvBack.setOnClickListener(this);
130 mIvInfo.setOnClickListener(this); 132 mIvInfo.setOnClickListener(this);
133 + mLlMap.setOnClickListener(this);
134 +
135 + //TODO: replace with dynmamic barcode
136 + createBarcodeBitmap("4006381333931");
137 +
138 + //TODO: replace with actual value
139 + String passValue = String.format(Locale.GERMAN, "%.00f", 30f);
140 + SpannableStringBuilder sBuilder = new SpannableStringBuilder();
141 + sBuilder.append(String.format(getString(R.string.cos_market_pass_coupons_title), "30"));
142 + Typeface typefaceBold = ResourcesCompat.getFont(this, R.font.peridot_bold);
143 + CustomTypefaceSpan typefaceBoldSpan = new CustomTypefaceSpan(typefaceBold);
144 + sBuilder.setSpan(typefaceBoldSpan, 31, 31 + passValue.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
145 + mTvPassCount.setText(sBuilder, TextView.BufferType.SPANNABLE);
146 +
147 + //TODO: replace with dynamic size of logos
148 + for (int i = 0; i < 3; i++) {
149 + int tempIndex = i;
150 + LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
151 + RelativeLayout v = (RelativeLayout) vi.inflate(R.layout.item_sheet_image, null);
152 +
153 + ImageView merchantLogo = (ImageView) v.findViewById(R.id.iv_market_logo);
154 + merchantLogo.setImageResource(R.drawable.ic_ab_logo);
155 + mLlParentLogosView.addView(v, tempIndex, new ViewGroup.LayoutParams(
156 + ViewGroup.LayoutParams.WRAP_CONTENT,
157 + ViewGroup.LayoutParams.WRAP_CONTENT));
158 +
159 + }
131 } 160 }
132 161
133 private void createBarcodeBitmap(String barcodeString) { 162 private void createBarcodeBitmap(String barcodeString) {
......
1 +package ly.warp.sdk.activities;
2 +
3 +import android.app.Activity;
4 +import android.os.Bundle;
5 +import android.view.View;
6 +import android.widget.ImageView;
7 +import android.widget.LinearLayout;
8 +import android.widget.TextView;
9 +
10 +import ly.warp.sdk.R;
11 +import ly.warp.sdk.utils.WarpUtils;
12 +import ly.warp.sdk.utils.managers.WarplyAnalyticsManager;
13 +
14 +
15 +public class MarketPassInfoActivity extends Activity implements View.OnClickListener {
16 +
17 + // ===========================================================
18 + // Constants
19 + // ===========================================================
20 +
21 + // ===========================================================
22 + // Fields
23 + // ===========================================================
24 +
25 + private ImageView mIvBack;
26 + private TextView mFontHeader, mTvPassInfoHeader, mTvBasketTitle, mTvBasketSubtitle,
27 + mTvEshopTitle, mTvEshopSubtitle, mTvAbTitle, mTvAbSubtitle, mTvPassBack;
28 + private LinearLayout mLlPassReturn;
29 +
30 + // ===========================================================
31 + // Methods for/from SuperClass/Interfaces
32 + // ===========================================================
33 +
34 + @Override
35 + public void onCreate(Bundle savedInstanceState) {
36 + super.onCreate(savedInstanceState);
37 + setContentView(R.layout.activity_market_pass_info);
38 +
39 + mIvBack = findViewById(R.id.iv_coupons_close);
40 + mFontHeader = findViewById(R.id.textView3);
41 + mTvPassInfoHeader = findViewById(R.id.tv_pass_info_header);
42 + mTvBasketTitle = findViewById(R.id.tv_pass_info_basket_title);
43 + mTvBasketSubtitle = findViewById(R.id.tv_pass_info_basket_subtitle);
44 + mTvEshopTitle = findViewById(R.id.tv_pass_info_eshop_title);
45 + mTvEshopSubtitle = findViewById(R.id.tv_pass_info_eshop_subtitle);
46 + mTvAbTitle = findViewById(R.id.tv_pass_info_ab_title);
47 + mTvAbSubtitle = findViewById(R.id.tv_pass_info_ab_subtitle);
48 + mTvPassBack = findViewById(R.id.tv_button_back);
49 + mLlPassReturn = findViewById(R.id.ll_return_back);
50 +
51 + WarpUtils.renderCustomFont(this, R.font.bt_cosmo_bold, mFontHeader, mTvPassInfoHeader);
52 + WarpUtils.renderCustomFont(this, R.font.peridot_bold, mTvBasketTitle, mTvEshopTitle,
53 + mTvAbTitle, mTvPassBack);
54 + WarpUtils.renderCustomFont(this, R.font.peridot_regular, mTvBasketSubtitle,
55 + mTvEshopSubtitle, mTvAbSubtitle);
56 +
57 + initViews();
58 + }
59 +
60 + @Override
61 + public void onResume() {
62 + super.onResume();
63 + WarplyAnalyticsManager.logTrackersEvent(this, "screen", "MarketPassInfoScreen");
64 + }
65 +
66 + @Override
67 + public void onClick(View view) {
68 + if (view.getId() == R.id.iv_coupons_close) {
69 + onBackPressed();
70 + return;
71 + }
72 + if (view.getId() == R.id.ll_return_back) {
73 + onBackPressed();
74 + }
75 + }
76 +
77 + // ===========================================================
78 + // Methods
79 + // ===========================================================
80 +
81 + private void initViews() {
82 + mIvBack.setOnClickListener(this);
83 + mLlPassReturn.setOnClickListener(this);
84 + }
85 +
86 + // ===========================================================
87 + // Inner and Anonymous Classes
88 + // ===========================================================
89 +}
...@@ -140,6 +140,14 @@ public class WarplyManagerHelper { ...@@ -140,6 +140,14 @@ public class WarplyManagerHelper {
140 // Methods 140 // Methods
141 // =========================================================== 141 // ===========================================================
142 142
143 + public static String getMarketPassMapUrl(Context context) {
144 + if (WarplyProperty.getAppUuid(context).equals("f83dfde1145e4c2da69793abb2f579af")) {
145 + return "https://dev.supermarketdeals.eu/map";
146 + }
147 +
148 + return "https://supermarketdeals.eu/map";
149 + }
150 +
143 /** 151 /**
144 * Open Warply campaign 152 * Open Warply campaign
145 */ 153 */
......
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape xmlns:android="http://schemas.android.com/apk/res/android">
3 + <solid android:color="@color/white"/>
4 + <stroke android:width="2dp" android:color="@color/cos_green14" />
5 + <corners android:radius="10dp" />
6 +</shape>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape xmlns:android="http://schemas.android.com/apk/res/android">
3 + <solid android:color="@color/white"/>
4 + <stroke android:width="2dp" android:color="@color/cos_green14_tr" />
5 + <corners android:radius="10dp" />
6 +</shape>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<selector xmlns:android="http://schemas.android.com/apk/res/android">
3 + <item android:drawable="@drawable/shape_cos_green3_tr" android:state_pressed="true" />
4 + <item android:drawable="@drawable/shape_cos_green3" android:state_pressed="false" />
5 +</selector>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<selector xmlns:android="http://schemas.android.com/apk/res/android">
3 + <item android:drawable="@drawable/round_border_green4_tr" android:state_pressed="true" />
4 + <item android:drawable="@drawable/round_border_green4" android:state_pressed="false" />
5 +</selector>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape xmlns:android="http://schemas.android.com/apk/res/android"
3 + android:shape="rectangle">
4 + <corners android:radius="10dp" />
5 +
6 + <solid
7 + android:width="2dp"
8 + android:color="@color/cos_green12" />
9 +</shape>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape xmlns:android="http://schemas.android.com/apk/res/android"
3 + android:shape="rectangle">
4 + <corners android:radius="10dp" />
5 +
6 + <solid
7 + android:width="2dp"
8 + android:color="@color/cos_green6_tr" />
9 +</shape>
...\ No newline at end of file ...\ No newline at end of file
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
72 android:layout_marginVertical="24dp" 72 android:layout_marginVertical="24dp"
73 app:cardBackgroundColor="@android:color/white" 73 app:cardBackgroundColor="@android:color/white"
74 app:cardCornerRadius="16dp" 74 app:cardCornerRadius="16dp"
75 - app:cardElevation="3dp"> 75 + app:cardElevation="2dp">
76 76
77 <RelativeLayout 77 <RelativeLayout
78 android:layout_width="match_parent" 78 android:layout_width="match_parent"
...@@ -141,6 +141,7 @@ ...@@ -141,6 +141,7 @@
141 </RelativeLayout> 141 </RelativeLayout>
142 142
143 <LinearLayout 143 <LinearLayout
144 + android:id="@+id/ll_total_coupons_value"
144 android:layout_width="match_parent" 145 android:layout_width="match_parent"
145 android:layout_height="wrap_content" 146 android:layout_height="wrap_content"
146 android:layout_below="@+id/rl_parent_pass" 147 android:layout_below="@+id/rl_parent_pass"
...@@ -152,12 +153,58 @@ ...@@ -152,12 +153,58 @@
152 android:id="@+id/tv_total_pass_title" 153 android:id="@+id/tv_total_pass_title"
153 android:layout_width="wrap_content" 154 android:layout_width="wrap_content"
154 android:layout_height="wrap_content" 155 android:layout_height="wrap_content"
155 - android:letterSpacing="0.04"
156 android:includeFontPadding="false" 156 android:includeFontPadding="false"
157 + android:letterSpacing="0.04"
157 android:textColor="@color/white" 158 android:textColor="@color/white"
158 android:textSize="16sp" 159 android:textSize="16sp"
159 app:lineHeight="22dp" /> 160 app:lineHeight="22dp" />
160 </LinearLayout> 161 </LinearLayout>
162 +
163 + <androidx.constraintlayout.widget.ConstraintLayout
164 + android:layout_width="match_parent"
165 + android:layout_height="wrap_content"
166 + android:layout_below="@+id/ll_total_coupons_value"
167 + android:background="@color/white"
168 + android:orientation="horizontal"
169 + android:paddingVertical="24dp">
170 +
171 + <LinearLayout
172 + android:id="@+id/ll_sm_logos"
173 + android:layout_width="0dp"
174 + android:layout_height="0dp"
175 + android:orientation="horizontal"
176 + android:gravity="center"
177 + app:layout_constraintBottom_toBottomOf="parent"
178 + app:layout_constraintStart_toStartOf="parent"
179 + app:layout_constraintTop_toTopOf="parent"
180 + app:layout_constraintEnd_toStartOf="@+id/ll_map">
181 +
182 + </LinearLayout>
183 +
184 + <LinearLayout
185 + android:id="@+id/ll_map"
186 + android:layout_width="148dp"
187 + android:layout_height="48dp"
188 + android:layout_gravity="center"
189 + android:background="@drawable/selector_button_green_border3"
190 + android:gravity="center"
191 + android:orientation="horizontal"
192 + android:layout_marginEnd="12dp"
193 + app:layout_constraintBottom_toBottomOf="parent"
194 + app:layout_constraintEnd_toEndOf="parent"
195 + app:layout_constraintTop_toTopOf="parent">
196 +
197 + <TextView
198 + android:id="@+id/tv_button_map"
199 + android:layout_width="wrap_content"
200 + android:layout_height="wrap_content"
201 + android:gravity="center"
202 + android:includeFontPadding="false"
203 + android:text="@string/cos_pass_map"
204 + android:textColor="@color/cos_green14"
205 + android:textSize="16sp" />
206 + </LinearLayout>
207 + </androidx.constraintlayout.widget.ConstraintLayout>
161 </RelativeLayout> 208 </RelativeLayout>
162 </androidx.cardview.widget.CardView> 209 </androidx.cardview.widget.CardView>
163 </RelativeLayout> 210 </RelativeLayout>
......
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 + xmlns:app="http://schemas.android.com/apk/res-auto"
4 + android:id="@+id/cl_bill_payment"
5 + android:layout_width="match_parent"
6 + android:layout_height="match_parent"
7 + android:background="@color/white">
8 +
9 + <androidx.constraintlayout.widget.ConstraintLayout
10 + android:id="@+id/cl_bill_header"
11 + android:layout_width="match_parent"
12 + android:layout_height="64dp"
13 + android:background="@color/white"
14 + app:layout_constraintEnd_toEndOf="parent"
15 + app:layout_constraintStart_toStartOf="parent"
16 + app:layout_constraintTop_toTopOf="parent">
17 +
18 + <ImageView
19 + android:id="@+id/iv_coupons_close"
20 + android:layout_width="48dp"
21 + android:layout_height="48dp"
22 + android:layout_marginStart="16dp"
23 + android:scaleType="centerInside"
24 + android:src="@drawable/ic_back"
25 + app:layout_constraintBottom_toBottomOf="parent"
26 + app:layout_constraintStart_toStartOf="parent"
27 + app:layout_constraintTop_toTopOf="parent" />
28 +
29 + <TextView
30 + android:id="@+id/textView3"
31 + android:layout_width="wrap_content"
32 + android:layout_height="wrap_content"
33 + android:gravity="center"
34 + android:text="@string/cos_market_Pass_info_title"
35 + android:textColor="@color/cos_light_black"
36 + android:textSize="19sp"
37 + app:layout_constraintBottom_toBottomOf="parent"
38 + app:layout_constraintEnd_toEndOf="parent"
39 + app:layout_constraintStart_toStartOf="parent"
40 + app:layout_constraintTop_toTopOf="parent" />
41 + </androidx.constraintlayout.widget.ConstraintLayout>
42 +
43 + <ScrollView
44 + android:layout_width="match_parent"
45 + android:layout_height="0dp"
46 + app:layout_constraintBottom_toBottomOf="parent"
47 + app:layout_constraintEnd_toEndOf="parent"
48 + app:layout_constraintStart_toStartOf="parent"
49 + app:layout_constraintTop_toBottomOf="@+id/cl_bill_header"
50 + android:scrollbars="none">
51 +
52 + <RelativeLayout
53 + android:layout_width="match_parent"
54 + android:layout_height="wrap_content"
55 + android:paddingBottom="40dp">
56 +
57 + <ImageView
58 + android:id="@+id/iv_pass_info_logo"
59 + android:layout_width="240dp"
60 + android:layout_height="240dp"
61 + android:layout_centerHorizontal="true"
62 + android:layout_marginTop="12dp"
63 + android:src="@drawable/ic_market_pass_info_logo" />
64 +
65 + <LinearLayout
66 + android:layout_width="match_parent"
67 + android:layout_height="wrap_content"
68 + android:layout_below="@+id/iv_pass_info_logo"
69 + android:layout_marginHorizontal="32dp"
70 + android:layout_marginTop="8dp"
71 + android:orientation="vertical">
72 +
73 + <TextView
74 + android:id="@+id/tv_pass_info_header"
75 + android:layout_width="wrap_content"
76 + android:layout_height="wrap_content"
77 + android:text="@string/cos_market_pass_info_header"
78 + android:textColor="@color/cos_light_black"
79 + android:textSize="23sp" />
80 +
81 + <LinearLayout
82 + android:layout_width="match_parent"
83 + android:layout_height="wrap_content"
84 + android:layout_marginTop="32dp"
85 + android:orientation="horizontal">
86 +
87 + <ImageView
88 + android:layout_width="38dp"
89 + android:layout_height="38dp"
90 + android:src="@drawable/ic_pass_info_basket" />
91 +
92 + <LinearLayout
93 + android:layout_width="match_parent"
94 + android:layout_height="wrap_content"
95 + android:orientation="vertical"
96 + android:paddingHorizontal="10dp">
97 +
98 + <TextView
99 + android:id="@+id/tv_pass_info_basket_title"
100 + android:layout_width="wrap_content"
101 + android:layout_height="wrap_content"
102 + android:letterSpacing="0.028"
103 + android:text="@string/cos_market_basket_title"
104 + android:textColor="@color/cos_light_black"
105 + android:textSize="19sp" />
106 +
107 + <TextView
108 + android:id="@+id/tv_pass_info_basket_subtitle"
109 + android:layout_width="wrap_content"
110 + android:layout_height="wrap_content"
111 + android:layout_marginTop="6dp"
112 + android:letterSpacing="0.00282"
113 + android:text="@string/cos_market_basket_subtitle"
114 + android:textColor="@color/cos_light_black"
115 + android:textSize="17sp" />
116 + </LinearLayout>
117 + </LinearLayout>
118 +
119 + <LinearLayout
120 + android:layout_width="match_parent"
121 + android:layout_height="wrap_content"
122 + android:layout_marginTop="32dp"
123 + android:orientation="horizontal">
124 +
125 + <ImageView
126 + android:layout_width="38dp"
127 + android:layout_height="38dp"
128 + android:src="@drawable/ic_pass_info_eshop" />
129 +
130 + <LinearLayout
131 + android:layout_width="match_parent"
132 + android:layout_height="wrap_content"
133 + android:orientation="vertical"
134 + android:paddingHorizontal="10dp">
135 +
136 + <TextView
137 + android:id="@+id/tv_pass_info_eshop_title"
138 + android:layout_width="wrap_content"
139 + android:layout_height="wrap_content"
140 + android:letterSpacing="0.028"
141 + android:text="@string/cos_market_eshop_title"
142 + android:textColor="@color/cos_light_black"
143 + android:textSize="19sp" />
144 +
145 + <TextView
146 + android:id="@+id/tv_pass_info_eshop_subtitle"
147 + android:layout_width="wrap_content"
148 + android:layout_height="wrap_content"
149 + android:layout_marginTop="6dp"
150 + android:letterSpacing="0.00282"
151 + android:text="@string/cos_market_eshop_subtitle"
152 + android:textColor="@color/cos_light_black"
153 + android:textSize="17sp" />
154 + </LinearLayout>
155 + </LinearLayout>
156 +
157 + <LinearLayout
158 + android:layout_width="match_parent"
159 + android:layout_height="wrap_content"
160 + android:layout_marginTop="32dp"
161 + android:orientation="horizontal">
162 +
163 + <ImageView
164 + android:layout_width="38dp"
165 + android:layout_height="38dp"
166 + android:src="@drawable/ic_pass_info_ab" />
167 +
168 + <LinearLayout
169 + android:layout_width="match_parent"
170 + android:layout_height="wrap_content"
171 + android:orientation="vertical"
172 + android:paddingHorizontal="10dp">
173 +
174 + <TextView
175 + android:id="@+id/tv_pass_info_ab_title"
176 + android:layout_width="wrap_content"
177 + android:layout_height="wrap_content"
178 + android:letterSpacing="0.028"
179 + android:text="@string/cos_market_ab_title"
180 + android:textColor="@color/cos_light_black"
181 + android:textSize="19sp" />
182 +
183 + <TextView
184 + android:id="@+id/tv_pass_info_ab_subtitle"
185 + android:layout_width="wrap_content"
186 + android:layout_height="wrap_content"
187 + android:layout_marginTop="6dp"
188 + android:letterSpacing="0.00282"
189 + android:text="@string/cos_market_ab_subtitle"
190 + android:textColor="@color/cos_light_black"
191 + android:textSize="17sp" />
192 + </LinearLayout>
193 + </LinearLayout>
194 +
195 + <LinearLayout
196 + android:id="@+id/ll_return_back"
197 + android:layout_width="match_parent"
198 + android:layout_height="55dp"
199 + android:layout_marginTop="32dp"
200 + android:background="@drawable/selector_button_green3"
201 + android:gravity="center"
202 + android:orientation="horizontal">
203 +
204 + <TextView
205 + android:id="@+id/tv_button_back"
206 + android:layout_width="wrap_content"
207 + android:layout_height="wrap_content"
208 + android:gravity="center"
209 + android:includeFontPadding="false"
210 + android:text="@string/cos_market_pass_return"
211 + android:textColor="@color/white"
212 + android:textSize="16sp" />
213 + </LinearLayout>
214 + </LinearLayout>
215 + </RelativeLayout>
216 + </ScrollView>
217 +</androidx.constraintlayout.widget.ConstraintLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 + android:layout_width="wrap_content"
4 + android:layout_height="wrap_content"
5 + android:background="@android:color/white">
6 +
7 + <ImageView
8 + android:id="@+id/iv_market_logo"
9 + android:layout_width="56dp"
10 + android:layout_height="56dp"
11 + android:layout_marginStart="8dp" />
12 +</RelativeLayout>
...\ No newline at end of file ...\ No newline at end of file
...@@ -84,4 +84,5 @@ ...@@ -84,4 +84,5 @@
84 <color name="cos_green13">#36B32B</color> 84 <color name="cos_green13">#36B32B</color>
85 <color name="cos_light_grey4">#DADDE4</color> 85 <color name="cos_light_grey4">#DADDE4</color>
86 <color name="cos_green14">#006D26</color> 86 <color name="cos_green14">#006D26</color>
87 + <color name="cos_green14_tr">#66006D26</color>
87 </resources> 88 </resources>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -119,6 +119,7 @@ ...@@ -119,6 +119,7 @@
119 <string name="cos_profile_preferences">Πρόσθεσε τις προτιμήσεις σου</string> 119 <string name="cos_profile_preferences">Πρόσθεσε τις προτιμήσεις σου</string>
120 <string name="cos_profile_history">Δες το ιστορικό σου</string> 120 <string name="cos_profile_history">Δες το ιστορικό σου</string>
121 <string name="cos_shops">Δες τα καταστήματα</string> 121 <string name="cos_shops">Δες τα καταστήματα</string>
122 + <string name="cos_pass_map">Δες στο χάρτη</string>
122 <string name="cos_website">Δες το eshop</string> 123 <string name="cos_website">Δες το eshop</string>
123 <string name="cos_coupon_shops_title">Καταστήματα</string> 124 <string name="cos_coupon_shops_title">Καταστήματα</string>
124 <string name="cos_coupon_gift">Δώρισέ το</string> 125 <string name="cos_coupon_gift">Δώρισέ το</string>
...@@ -180,8 +181,17 @@ ...@@ -180,8 +181,17 @@
180 <string name="cos_dlg_no_shops_positive">Δες το eshop</string> 181 <string name="cos_dlg_no_shops_positive">Δες το eshop</string>
181 <string name="cos_profile_preferences_placeholder">Οι προτιμήσεις μου</string> 182 <string name="cos_profile_preferences_placeholder">Οι προτιμήσεις μου</string>
182 <string name="cos_market_title">SUPERMARKET DEALS</string> 183 <string name="cos_market_title">SUPERMARKET DEALS</string>
184 + <string name="cos_market_Pass_info_title">Οδηγίες χρήσης</string>
185 + <string name="cos_market_pass_info_header">Πως λειτουργεί:</string>
186 + <string name="cos_market_basket_title">Εξαργύρωση σε φυσικά καταστήματα</string>
187 + <string name="cos_market_basket_subtitle">Σκάναρε το barcode από το κινητό σου στο ταμείο του καταστήματος και κέρδισε απευθείας έκπτωση από τα διαθέσιμα κουπόνια.</string>
188 + <string name="cos_market_eshop_title">Εξαργύρωση στο eshop</string>
189 + <string name="cos_market_eshop_subtitle">Πληκτρολόγησε τον κωδικό σου στο αντίστοιχο πεδίο κατά το checkout στο eshop και κέρδισε απευθείας έκπτωση από τα διαθέσιμα κουπόνια.</string>
190 + <string name="cos_market_ab_title">Ειδικά για τον ΑΒ</string>
191 + <string name="cos_market_ab_subtitle">1. Eνεργοποίησε τον κωδικό στην κάρτα ΑΒ PLUS στο kiosk του καταστήματος ή μέσω eshop / app στην ενοτητα στην ενότητα Συνεργασίες – SUPERMARKET DEALS.\n\n2. Κάνε τις αγορές σου και κέρδισε απευθείας έκπτωση με χρήση της AB PLUS από τα διαθέσιμα κουπόνια.</string>
183 <string name="cos_market_pass_title">SUPERMARKET DEALS CARD</string> 192 <string name="cos_market_pass_title">SUPERMARKET DEALS CARD</string>
184 <string name="cos_market_pass_subtitle">Χρησιμοποίησε τον κωδικό σου και κέρδισε έκπτωση στις αγορές σου!</string> 193 <string name="cos_market_pass_subtitle">Χρησιμοποίησε τον κωδικό σου και κέρδισε έκπτωση στις αγορές σου!</string>
194 + <string name="cos_market_pass_return">Επιστροφή στο Supermarket Deals</string>
185 <string name="cos_market_pass_coupons_title">Έχεις κουπόνια συνολικής αξίας %1$s€</string> 195 <string name="cos_market_pass_coupons_title">Έχεις κουπόνια συνολικής αξίας %1$s€</string>
186 <string name="cos_market_subtitle">Δημιούργησε το δικό σου ενιαίο κουπόνι προσφορών, και εξαργύρωσέ το στα supermarket της επιλογής σου γρήγορα και εύκολα με ένα μόνο κωδικό κουπονιού!</string> 196 <string name="cos_market_subtitle">Δημιούργησε το δικό σου ενιαίο κουπόνι προσφορών, και εξαργύρωσέ το στα supermarket της επιλογής σου γρήγορα και εύκολα με ένα μόνο κωδικό κουπονιού!</string>
187 <string name="cos_market_close">Τέλος</string> 197 <string name="cos_market_close">Τέλος</string>
......