Panagiotis Triantafyllou

redesign part3

...@@ -46,27 +46,15 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -46,27 +46,15 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
46 private TextView mTvMoreButton; 46 private TextView mTvMoreButton;
47 private ImageView mIvImage; 47 private ImageView mIvImage;
48 48
49 - private String mFullDescriptionText;
50 private boolean mIsDescriptionExpanded = false; 49 private boolean mIsDescriptionExpanded = false;
51 50
52 // Coupon code section 51 // Coupon code section
53 - private LinearLayout mCouponCodeContainer;
54 - private LinearLayout mCouponCodeHeader;
55 - private LinearLayout mCouponCodeContent;
56 - private ImageView mIvCouponArrow;
57 private ImageView mIvCopyCode; 52 private ImageView mIvCopyCode;
58 private TextView mTvCouponCode; 53 private TextView mTvCouponCode;
59 - private TextView mTvCouponCodeTitle; 54 + private TextView mTvCouponCodeTitle, mTvMerchantName;
60 - private boolean mIsCouponCodeExpanded = false;
61 55
62 // QR code section 56 // QR code section
63 - private LinearLayout mQrCodeContainer;
64 - private LinearLayout mQrCodeHeader;
65 - private LinearLayout mQrCodeContent;
66 - private ImageView mIvQrArrow;
67 private ImageView mIvQrCode; 57 private ImageView mIvQrCode;
68 - private TextView mTvQrCodeTitle;
69 - private boolean mIsQrCodeExpanded = false;
70 58
71 // Terms of Use section 59 // Terms of Use section
72 private LinearLayout mTermsContainer; 60 private LinearLayout mTermsContainer;
...@@ -76,7 +64,7 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -76,7 +64,7 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
76 private TextView mTvTermsText; 64 private TextView mTvTermsText;
77 private boolean mIsTermsExpanded = false; 65 private boolean mIsTermsExpanded = false;
78 66
79 - private TextView mTvHeaderTitle, mTvTermsTitle, mTvShopsTitle, mTvWebsiteTitle, mTVMoreTitle; 67 + private TextView mTvTermsTitle, mTvShopsTitle, mTvWebsiteTitle;
80 68
81 69
82 // =========================================================== 70 // ===========================================================
...@@ -122,21 +110,12 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -122,21 +110,12 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
122 mTvMoreButton = findViewById(R.id.tv_more_button); 110 mTvMoreButton = findViewById(R.id.tv_more_button);
123 111
124 // Initialize coupon code section 112 // Initialize coupon code section
125 - mCouponCodeContainer = findViewById(R.id.coupon_code_container);
126 - mCouponCodeHeader = findViewById(R.id.coupon_code_header);
127 - mCouponCodeContent = findViewById(R.id.coupon_code_content);
128 - mIvCouponArrow = findViewById(R.id.iv_coupon_arrow);
129 mIvCopyCode = findViewById(R.id.iv_copy_code); 113 mIvCopyCode = findViewById(R.id.iv_copy_code);
130 mTvCouponCode = findViewById(R.id.tv_coupon_code); 114 mTvCouponCode = findViewById(R.id.tv_coupon_code);
131 mTvCouponCodeTitle = findViewById(R.id.tv_coupon_code_title); 115 mTvCouponCodeTitle = findViewById(R.id.tv_coupon_code_title);
132 116
133 // Initialize QR code section 117 // Initialize QR code section
134 - mQrCodeContainer = findViewById(R.id.qr_code_container);
135 - mQrCodeHeader = findViewById(R.id.qr_code_header);
136 - mQrCodeContent = findViewById(R.id.qr_code_content);
137 - mIvQrArrow = findViewById(R.id.iv_qr_arrow);
138 mIvQrCode = findViewById(R.id.iv_qr_code); 118 mIvQrCode = findViewById(R.id.iv_qr_code);
139 - mTvQrCodeTitle = findViewById(R.id.tv_qr_code_title);
140 119
141 // Initialize Terms of Use section 120 // Initialize Terms of Use section
142 mTermsContainer = findViewById(R.id.terms_container); 121 mTermsContainer = findViewById(R.id.terms_container);
...@@ -145,18 +124,18 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -145,18 +124,18 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
145 mIvTermsArrow = findViewById(R.id.iv_terms_arrow); 124 mIvTermsArrow = findViewById(R.id.iv_terms_arrow);
146 mTvTermsText = findViewById(R.id.tv_terms_text); 125 mTvTermsText = findViewById(R.id.tv_terms_text);
147 126
148 - mTvHeaderTitle = findViewById(R.id.tv_header_title);
149 mTvTermsTitle = findViewById(R.id.tv_terms_title); 127 mTvTermsTitle = findViewById(R.id.tv_terms_title);
150 mTvShopsTitle = findViewById(R.id.tv_shops_title); 128 mTvShopsTitle = findViewById(R.id.tv_shops_title);
151 mTvWebsiteTitle = findViewById(R.id.tv_website_title); 129 mTvWebsiteTitle = findViewById(R.id.tv_website_title);
152 - mTVMoreTitle = findViewById(R.id.tv_more_title); 130 + mTvMerchantName = findViewById(R.id.tv_merchant_value);
153 131
154 - WarpUtils.renderCustomFont(this, R.font.ping_lcg_bold, mTvHeaderTitle, mTvValue, 132 + WarpUtils.renderCustomFont(this, R.font.ping_lcg_bold, mTvValue,
155 - mTvCouponCode, mTvTermsTitle, mTvShopsTitle, mTvWebsiteTitle); 133 + mTvCouponCode, mTvTermsTitle, mTvCouponCodeTitle,
134 + mTvMerchantName, mTvEndDate, mTvMoreButton);
156 135
157 WarpUtils.renderCustomFont(this, R.font.ping_lcg_regular, mTvSmallDescription, 136 WarpUtils.renderCustomFont(this, R.font.ping_lcg_regular, mTvSmallDescription,
158 - mTvEndDate, mTvFullDescription, mTvCouponCodeTitle, mTvQrCodeTitle, mTvTermsText, 137 + mTvFullDescription, mTvTermsText,
159 - mTVMoreTitle, mTvMoreButton); 138 + mTvShopsTitle, mTvWebsiteTitle);
160 139
161 if (mOfferItem != null) { 140 if (mOfferItem != null) {
162 if (mOfferItem.getExpiration() != null && !mOfferItem.getExpiration().isEmpty()) { 141 if (mOfferItem.getExpiration() != null && !mOfferItem.getExpiration().isEmpty()) {
...@@ -178,6 +157,8 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -178,6 +157,8 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
178 .into(mIvImage); 157 .into(mIvImage);
179 } 158 }
180 159
160 + if (mOfferItem.getCouponsetDetails() != null && mOfferItem.getCouponsetDetails().getAdmin_name() != null && !TextUtils.isEmpty(mOfferItem.getCouponsetDetails().getAdmin_name()))
161 + mTvMerchantName.setText(mOfferItem.getCouponsetDetails().getAdmin_name());
181 if (mOfferItem.getCouponsetDetails() != null && mOfferItem.getCouponsetDetails().getName() != null && !TextUtils.isEmpty(mOfferItem.getCouponsetDetails().getName())) 162 if (mOfferItem.getCouponsetDetails() != null && mOfferItem.getCouponsetDetails().getName() != null && !TextUtils.isEmpty(mOfferItem.getCouponsetDetails().getName()))
182 mTvValue.setText(mOfferItem.getCouponsetDetails().getName()); 163 mTvValue.setText(mOfferItem.getCouponsetDetails().getName());
183 if (mOfferItem.getCouponsetDetails() != null && mOfferItem.getCouponsetDetails().getShort_description() != null && !TextUtils.isEmpty(mOfferItem.getCouponsetDetails().getShort_description())) 164 if (mOfferItem.getCouponsetDetails() != null && mOfferItem.getCouponsetDetails().getShort_description() != null && !TextUtils.isEmpty(mOfferItem.getCouponsetDetails().getShort_description()))
...@@ -193,9 +174,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -193,9 +174,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
193 // Setup coupon code section 174 // Setup coupon code section
194 setupCouponCodeSection(); 175 setupCouponCodeSection();
195 176
196 - // Setup QR code section
197 - setupQrCodeSection();
198 -
199 // Setup Terms of Use section 177 // Setup Terms of Use section
200 setupTermsSection(); 178 setupTermsSection();
201 } 179 }
...@@ -205,14 +183,14 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -205,14 +183,14 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
205 try { 183 try {
206 SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); 184 SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
207 Date date = inputFormat.parse(endDate); 185 Date date = inputFormat.parse(endDate);
208 - SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM", Locale.getDefault()); 186 + SimpleDateFormat outputFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
209 - return "έως " + outputFormat.format(date); 187 + return outputFormat.format(date);
210 } catch (ParseException e) { 188 } catch (ParseException e) {
211 try { 189 try {
212 SimpleDateFormat inputFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault()); 190 SimpleDateFormat inputFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault());
213 Date date = inputFormat2.parse(endDate); 191 Date date = inputFormat2.parse(endDate);
214 - SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM", Locale.getDefault()); 192 + SimpleDateFormat outputFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
215 - return "έως " + outputFormat.format(date); 193 + return outputFormat.format(date);
216 } catch (ParseException e2) { 194 } catch (ParseException e2) {
217 return endDate; 195 return endDate;
218 } 196 }
...@@ -222,22 +200,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -222,22 +200,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
222 private void setupCouponCodeSection() { 200 private void setupCouponCodeSection() {
223 mTvCouponCode.setText(mOfferItem.getCoupon()); 201 mTvCouponCode.setText(mOfferItem.getCoupon());
224 202
225 - // Set click listener for the header to expand/collapse
226 - mCouponCodeHeader.setOnClickListener(new View.OnClickListener() {
227 - @Override
228 - public void onClick(View v) {
229 - toggleCouponCodeExpansion();
230 - }
231 - });
232 -
233 - // Set click listener for the entire container as well
234 - mCouponCodeContainer.setOnClickListener(new View.OnClickListener() {
235 - @Override
236 - public void onClick(View v) {
237 - toggleCouponCodeExpansion();
238 - }
239 - });
240 -
241 // Set click listener for the copy button 203 // Set click listener for the copy button
242 mIvCopyCode.setOnClickListener(new View.OnClickListener() { 204 mIvCopyCode.setOnClickListener(new View.OnClickListener() {
243 @Override 205 @Override
...@@ -247,20 +209,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -247,20 +209,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
247 }); 209 });
248 } 210 }
249 211
250 - private void toggleCouponCodeExpansion() {
251 - if (mIsCouponCodeExpanded) {
252 - // Collapse the content
253 - mCouponCodeContent.setVisibility(View.GONE);
254 - mIvCouponArrow.setImageResource(R.drawable.ic_arrow_down);
255 - mIsCouponCodeExpanded = false;
256 - } else {
257 - // Expand the content
258 - mCouponCodeContent.setVisibility(View.VISIBLE);
259 - mIvCouponArrow.setImageResource(R.drawable.ic_arrow_up);
260 - mIsCouponCodeExpanded = true;
261 - }
262 - }
263 -
264 private void copyCouponCodeToClipboard() { 212 private void copyCouponCodeToClipboard() {
265 String couponCode = mTvCouponCode.getText().toString(); 213 String couponCode = mTvCouponCode.getText().toString();
266 214
...@@ -313,38 +261,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -313,38 +261,6 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
313 } 261 }
314 } 262 }
315 263
316 - private void setupQrCodeSection() {
317 - // Set click listener for the header to expand/collapse
318 - mQrCodeHeader.setOnClickListener(new View.OnClickListener() {
319 - @Override
320 - public void onClick(View v) {
321 - toggleQrCodeExpansion();
322 - }
323 - });
324 -
325 - // Set click listener for the entire container as well
326 - mQrCodeContainer.setOnClickListener(new View.OnClickListener() {
327 - @Override
328 - public void onClick(View v) {
329 - toggleQrCodeExpansion();
330 - }
331 - });
332 - }
333 -
334 - private void toggleQrCodeExpansion() {
335 - if (mIsQrCodeExpanded) {
336 - // Collapse the content
337 - mQrCodeContent.setVisibility(View.GONE);
338 - mIvQrArrow.setImageResource(R.drawable.ic_arrow_down);
339 - mIsQrCodeExpanded = false;
340 - } else {
341 - // Expand the content
342 - mQrCodeContent.setVisibility(View.VISIBLE);
343 - mIvQrArrow.setImageResource(R.drawable.ic_arrow_up);
344 - mIsQrCodeExpanded = true;
345 - }
346 - }
347 -
348 private void setupTermsSection() { 264 private void setupTermsSection() {
349 // Set click listener for the header to expand/collapse 265 // Set click listener for the header to expand/collapse
350 mTermsHeader.setOnClickListener(new View.OnClickListener() { 266 mTermsHeader.setOnClickListener(new View.OnClickListener() {
...@@ -367,12 +283,12 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen ...@@ -367,12 +283,12 @@ public class SingleCouponActivity extends Activity implements View.OnClickListen
367 if (mIsTermsExpanded) { 283 if (mIsTermsExpanded) {
368 // Collapse the content 284 // Collapse the content
369 mTermsContent.setVisibility(View.GONE); 285 mTermsContent.setVisibility(View.GONE);
370 - mIvTermsArrow.setImageResource(R.drawable.ic_arrow_down); 286 + mIvTermsArrow.animate().rotation(0f).setDuration(200).start();
371 mIsTermsExpanded = false; 287 mIsTermsExpanded = false;
372 } else { 288 } else {
373 // Expand the content 289 // Expand the content
374 mTermsContent.setVisibility(View.VISIBLE); 290 mTermsContent.setVisibility(View.VISIBLE);
375 - mIvTermsArrow.setImageResource(R.drawable.ic_arrow_up); 291 + mIvTermsArrow.animate().rotation(180f).setDuration(200).start();
376 mIsTermsExpanded = true; 292 mIsTermsExpanded = true;
377 } 293 }
378 } 294 }
......
...@@ -6,6 +6,7 @@ import android.os.Bundle; ...@@ -6,6 +6,7 @@ import android.os.Bundle;
6 import android.os.Parcelable; 6 import android.os.Parcelable;
7 import android.text.TextUtils; 7 import android.text.TextUtils;
8 import android.view.View; 8 import android.view.View;
9 +import android.view.ViewGroup;
9 import android.widget.ImageView; 10 import android.widget.ImageView;
10 import android.widget.LinearLayout; 11 import android.widget.LinearLayout;
11 import android.widget.RelativeLayout; 12 import android.widget.RelativeLayout;
...@@ -52,6 +53,8 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis ...@@ -52,6 +53,8 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis
52 private LinearLayout mRedeemButton, mSuccessButton; 53 private LinearLayout mRedeemButton, mSuccessButton;
53 private boolean mIsDescriptionExpanded = false; 54 private boolean mIsDescriptionExpanded = false;
54 private RelativeLayout mPbLoading; 55 private RelativeLayout mPbLoading;
56 + private View mSpacer;
57 + private LinearLayout mLlCouponInfo;
55 // Terms of Use section 58 // Terms of Use section
56 private LinearLayout mTermsContainer; 59 private LinearLayout mTermsContainer;
57 private LinearLayout mTermsHeader; 60 private LinearLayout mTermsHeader;
...@@ -137,6 +140,9 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis ...@@ -137,6 +140,9 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis
137 mTvRedeemTitle = findViewById(R.id.tv_redeem_title); 140 mTvRedeemTitle = findViewById(R.id.tv_redeem_title);
138 mTvSuccessRedeemTitle = findViewById(R.id.tv_success_redeem_title); 141 mTvSuccessRedeemTitle = findViewById(R.id.tv_success_redeem_title);
139 142
143 + mSpacer = findViewById(R.id.v_spacer);
144 + mLlCouponInfo = findViewById(R.id.ll_coupon_info);
145 +
140 WarpUtils.renderCustomFont(this, R.font.ping_lcg_bold, mTvValue, 146 WarpUtils.renderCustomFont(this, R.font.ping_lcg_bold, mTvValue,
141 mTvTermsTitle, mTvMoreButton, mTvMerchantName, 147 mTvTermsTitle, mTvMoreButton, mTvMerchantName,
142 mTvEndDate); 148 mTvEndDate);
...@@ -180,6 +186,19 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis ...@@ -180,6 +186,19 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis
180 186
181 // Setup Terms of Use section 187 // Setup Terms of Use section
182 setupTermsSection(); 188 setupTermsSection();
189 +
190 + mLlCouponInfo.post(() -> {
191 + int usedHeight = 0;
192 + for (int i = 0; i < mLlCouponInfo.getChildCount(); i++) {
193 + View child = mLlCouponInfo.getChildAt(i);
194 + if (child != mSpacer) {
195 + usedHeight += child.getMeasuredHeight();
196 + }
197 + }
198 + ViewGroup.LayoutParams params = mSpacer.getLayoutParams();
199 + params.height = (int) (usedHeight * 0.5);
200 + mSpacer.setLayoutParams(params);
201 + });
183 } 202 }
184 } 203 }
185 204
...@@ -241,12 +260,12 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis ...@@ -241,12 +260,12 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis
241 if (mIsTermsExpanded) { 260 if (mIsTermsExpanded) {
242 // Collapse the content 261 // Collapse the content
243 mTermsContent.setVisibility(View.GONE); 262 mTermsContent.setVisibility(View.GONE);
244 - mIvTermsArrow.setImageResource(R.drawable.ic_arrow_down); 263 + mIvTermsArrow.animate().rotation(0f).setDuration(200).start();
245 mIsTermsExpanded = false; 264 mIsTermsExpanded = false;
246 } else { 265 } else {
247 // Expand the content 266 // Expand the content
248 mTermsContent.setVisibility(View.VISIBLE); 267 mTermsContent.setVisibility(View.VISIBLE);
249 - mIvTermsArrow.setImageResource(R.drawable.ic_arrow_up); 268 + mIvTermsArrow.animate().rotation(180f).setDuration(200).start();
250 mIsTermsExpanded = true; 269 mIsTermsExpanded = true;
251 } 270 }
252 } 271 }
...@@ -255,13 +274,13 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis ...@@ -255,13 +274,13 @@ public class SingleCouponsetActivity extends Activity implements View.OnClickLis
255 try { 274 try {
256 SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); 275 SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
257 Date date = inputFormat.parse(endDate); 276 Date date = inputFormat.parse(endDate);
258 - SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM", Locale.getDefault()); 277 + SimpleDateFormat outputFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
259 return outputFormat.format(date); 278 return outputFormat.format(date);
260 } catch (ParseException e) { 279 } catch (ParseException e) {
261 try { 280 try {
262 SimpleDateFormat inputFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault()); 281 SimpleDateFormat inputFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault());
263 Date date = inputFormat2.parse(endDate); 282 Date date = inputFormat2.parse(endDate);
264 - SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM", Locale.getDefault()); 283 + SimpleDateFormat outputFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
265 return outputFormat.format(date); 284 return outputFormat.format(date);
266 } catch (ParseException e2) { 285 } catch (ParseException e2) {
267 return endDate; 286 return endDate;
......
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="1000dp" />
5 +
6 + <solid
7 + android:width="2dp"
8 + android:color="@color/custom_skyblue4" />
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="12dp" />
5 +
6 + <solid
7 + android:width="2dp"
8 + android:color="@color/custom_skyblue4" />
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 android:color="@android:color/white" />
7 +</shape>
...\ No newline at end of file ...\ No newline at end of file
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
14 <LinearLayout 14 <LinearLayout
15 android:id="@+id/home_content_container" 15 android:id="@+id/home_content_container"
16 android:layout_width="match_parent" 16 android:layout_width="match_parent"
17 - android:layout_height="wrap_content" 17 + android:layout_height="match_parent"
18 android:orientation="vertical"> 18 android:orientation="vertical">
19 19
20 <androidx.constraintlayout.widget.ConstraintLayout 20 <androidx.constraintlayout.widget.ConstraintLayout
...@@ -54,24 +54,23 @@ ...@@ -54,24 +54,23 @@
54 <LinearLayout 54 <LinearLayout
55 android:id="@+id/ll_coupon_info" 55 android:id="@+id/ll_coupon_info"
56 android:layout_width="match_parent" 56 android:layout_width="match_parent"
57 - android:layout_height="wrap_content" 57 + android:layout_height="0dp"
58 + android:layout_weight="1"
58 android:layout_marginBottom="48dp" 59 android:layout_marginBottom="48dp"
59 android:orientation="vertical" 60 android:orientation="vertical"
60 android:paddingHorizontal="16dp" 61 android:paddingHorizontal="16dp"
61 android:paddingVertical="16dp"> 62 android:paddingVertical="16dp">
62 63
63 <androidx.constraintlayout.widget.ConstraintLayout 64 <androidx.constraintlayout.widget.ConstraintLayout
65 + android:id="@+id/cl_info"
64 android:layout_width="match_parent" 66 android:layout_width="match_parent"
65 - android:layout_height="wrap_content" 67 + android:layout_height="wrap_content">
66 - android:gravity="center_vertical"
67 - android:orientation="horizontal">
68 68
69 <LinearLayout 69 <LinearLayout
70 android:id="@+id/ll_info" 70 android:id="@+id/ll_info"
71 android:layout_width="0dp" 71 android:layout_width="0dp"
72 android:layout_height="wrap_content" 72 android:layout_height="wrap_content"
73 android:orientation="vertical" 73 android:orientation="vertical"
74 - android:paddingEnd="16dp"
75 app:layout_constraintBottom_toBottomOf="parent" 74 app:layout_constraintBottom_toBottomOf="parent"
76 app:layout_constraintEnd_toEndOf="parent" 75 app:layout_constraintEnd_toEndOf="parent"
77 app:layout_constraintStart_toStartOf="parent" 76 app:layout_constraintStart_toStartOf="parent"
...@@ -113,6 +112,7 @@ ...@@ -113,6 +112,7 @@
113 </androidx.constraintlayout.widget.ConstraintLayout> 112 </androidx.constraintlayout.widget.ConstraintLayout>
114 113
115 <LinearLayout 114 <LinearLayout
115 + android:id="@+id/ll_date"
116 android:layout_width="wrap_content" 116 android:layout_width="wrap_content"
117 android:layout_height="wrap_content" 117 android:layout_height="wrap_content"
118 android:layout_marginTop="22dp" 118 android:layout_marginTop="22dp"
...@@ -164,11 +164,16 @@ ...@@ -164,11 +164,16 @@
164 android:textSize="15sp" 164 android:textSize="15sp"
165 android:visibility="gone" /> 165 android:visibility="gone" />
166 166
167 + <View
168 + android:id="@+id/v_spacer"
169 + android:layout_width="match_parent"
170 + android:layout_height="0dp"
171 + tools:layout_height="100dp"/>
172 +
167 <LinearLayout 173 <LinearLayout
168 android:id="@+id/ll_redeem_coupon" 174 android:id="@+id/ll_redeem_coupon"
169 android:layout_width="match_parent" 175 android:layout_width="match_parent"
170 android:layout_height="55dp" 176 android:layout_height="55dp"
171 - android:layout_marginTop="20dp"
172 android:background="@drawable/shape_rectangle_rounded_light_blue_tr" 177 android:background="@drawable/shape_rectangle_rounded_light_blue_tr"
173 android:gravity="center" 178 android:gravity="center"
174 android:orientation="horizontal"> 179 android:orientation="horizontal">
...@@ -187,7 +192,6 @@ ...@@ -187,7 +192,6 @@
187 android:id="@+id/ll_success_redeem" 192 android:id="@+id/ll_success_redeem"
188 android:layout_width="match_parent" 193 android:layout_width="match_parent"
189 android:layout_height="55dp" 194 android:layout_height="55dp"
190 - android:layout_marginTop="20dp"
191 android:background="@drawable/shape_rectangle_rounded_light_green" 195 android:background="@drawable/shape_rectangle_rounded_light_green"
192 android:gravity="center" 196 android:gravity="center"
193 android:orientation="horizontal" 197 android:orientation="horizontal"
......
...@@ -10,17 +10,17 @@ ...@@ -10,17 +10,17 @@
10 <string name="demo_all">Όλα</string> 10 <string name="demo_all">Όλα</string>
11 <string name="demo_offer">Προσφορά</string> 11 <string name="demo_offer">Προσφορά</string>
12 <string name="demo_more">View more</string> 12 <string name="demo_more">View more</string>
13 - <string name="demo_less">Λιγότερα</string> 13 + <string name="demo_less">View less</string>
14 <string name="demo_purchases">για αγορές</string> 14 <string name="demo_purchases">για αγορές</string>
15 <string name="demo_valid_until">Valid until %1$s</string> 15 <string name="demo_valid_until">Valid until %1$s</string>
16 - <string name="demo_coupon_code">Κωδικός Κουπονιού</string> 16 + <string name="demo_coupon_code">Available code</string>
17 <string name="demo_qr_code">QR Κουπονιού</string> 17 <string name="demo_qr_code">QR Κουπονιού</string>
18 <string name="demo_barcode_code">Barcode Κουπονιού</string> 18 <string name="demo_barcode_code">Barcode Κουπονιού</string>
19 <string name="demo_terms">Offer terms of use</string> 19 <string name="demo_terms">Offer terms of use</string>
20 <string name="demo_copy_success">Ο κωδικός αντιγράφηκε στο πρόχειρο</string> 20 <string name="demo_copy_success">Ο κωδικός αντιγράφηκε στο πρόχειρο</string>
21 <string name="demo_lorem_ipsum">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</string> 21 <string name="demo_lorem_ipsum">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</string>
22 - <string name="demo_shops">Καταστήματα κοντά μου</string> 22 + <string name="demo_shops">Store near me</string>
23 - <string name="demo_website">Δες το website</string> 23 + <string name="demo_website">View website</string>
24 <string name="demo_redeem">Get coupon</string> 24 <string name="demo_redeem">Get coupon</string>
25 <string name="demo_success_redeem">Saved to My Coupons</string> 25 <string name="demo_success_redeem">Saved to My Coupons</string>
26 <string name="demo_profile">Το προφίλ μου</string> 26 <string name="demo_profile">Το προφίλ μου</string>
......