Panagiotis Triantafyllou

accessibility coupon share, accessibility fixes

...@@ -200,7 +200,7 @@ public class ContextualActivity extends Activity implements View.OnClickListener ...@@ -200,7 +200,7 @@ public class ContextualActivity extends Activity implements View.OnClickListener
200 tvHeader.setText(R.string.cos_coupon_share_telco); 200 tvHeader.setText(R.string.cos_coupon_share_telco);
201 LinearLayout parent = bottomSheetDialog.findViewById(R.id.ll_share_dialog_view_inner); 201 LinearLayout parent = bottomSheetDialog.findViewById(R.id.ll_share_dialog_view_inner);
202 202
203 - ImageView dialogClose = (ImageView) bottomSheetDialog.findViewById(R.id.iv_sender_list_close); 203 + RelativeLayout dialogClose = (RelativeLayout) bottomSheetDialog.findViewById(R.id.rl_sender_list_close);
204 dialogClose.setOnClickListener(view -> { 204 dialogClose.setOnClickListener(view -> {
205 mIsActivatePressed = false; 205 mIsActivatePressed = false;
206 bottomSheetDialog.dismiss(); 206 bottomSheetDialog.dismiss();
......
...@@ -496,8 +496,12 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener ...@@ -496,8 +496,12 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener
496 if (mCoupon != null) { 496 if (mCoupon != null) {
497 if (mIsFromWallet) { 497 if (mIsFromWallet) {
498 if (mCoupon.getMerchantDetails() != null) { 498 if (mCoupon.getMerchantDetails() != null) {
499 - mTvDescription.setVisibility(View.GONE); 499 + mTvDescription.setText(HtmlCompat.fromHtml(mCoupon.getMerchantDetails().getBody(), HtmlCompat.FROM_HTML_MODE_COMPACT));
500 + mTvDescription.setMovementMethod(LinkMovementMethod.getInstance());
501 +
500 mLlShops.setVisibility(View.VISIBLE); 502 mLlShops.setVisibility(View.VISIBLE);
503 + } else {
504 + mTvDescription.setVisibility(View.GONE);
501 } 505 }
502 506
503 if (mIsUnified) { 507 if (mIsUnified) {
......
...@@ -9,13 +9,18 @@ import android.util.Log; ...@@ -9,13 +9,18 @@ import android.util.Log;
9 import android.view.LayoutInflater; 9 import android.view.LayoutInflater;
10 import android.view.View; 10 import android.view.View;
11 import android.view.ViewGroup; 11 import android.view.ViewGroup;
12 +import android.view.accessibility.AccessibilityEvent;
12 import android.widget.EditText; 13 import android.widget.EditText;
13 import android.widget.ImageView; 14 import android.widget.ImageView;
14 import android.widget.LinearLayout; 15 import android.widget.LinearLayout;
15 import android.widget.RelativeLayout; 16 import android.widget.RelativeLayout;
16 import android.widget.TextView; 17 import android.widget.TextView;
17 18
19 +import androidx.annotation.NonNull;
18 import androidx.appcompat.app.AlertDialog; 20 import androidx.appcompat.app.AlertDialog;
21 +import androidx.core.view.AccessibilityDelegateCompat;
22 +import androidx.core.view.ViewCompat;
23 +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
19 24
20 import com.bumptech.glide.Glide; 25 import com.bumptech.glide.Glide;
21 import com.bumptech.glide.load.engine.DiskCacheStrategy; 26 import com.bumptech.glide.load.engine.DiskCacheStrategy;
...@@ -112,6 +117,48 @@ public class CouponShareActivity extends Activity implements View.OnClickListene ...@@ -112,6 +117,48 @@ public class CouponShareActivity extends Activity implements View.OnClickListene
112 WarpUtils.renderCustomFont(this, R.font.peridot_regular, mFontDescription, mTvPhoneHeader, mEdtReceiver); 117 WarpUtils.renderCustomFont(this, R.font.peridot_regular, mFontDescription, mTvPhoneHeader, mEdtReceiver);
113 WarpUtils.renderCustomFont(this, R.font.peridot_semi_bold, mFontButtonShare); 118 WarpUtils.renderCustomFont(this, R.font.peridot_semi_bold, mFontButtonShare);
114 119
120 + //Accessibility
121 + ViewCompat.setAccessibilityDelegate(mFontHeader, new AccessibilityDelegateCompat() {
122 + @Override
123 + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
124 + super.onInitializeAccessibilityNodeInfo(host, info);
125 + info.setClassName("android.widget.TextView");
126 + info.setHeading(true);
127 + }
128 + });
129 + mFontHeader.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
130 +
131 + ViewCompat.setAccessibilityDelegate(mIvBack, new AccessibilityDelegateCompat() {
132 + @Override
133 + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
134 + super.onInitializeAccessibilityNodeInfo(host, info);
135 + info.setClassName("android.widget.Button");
136 + info.setContentDescription(getString(R.string.accessibility_back));
137 + }
138 + });
139 + mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
140 + mIvBack.postDelayed(() -> {
141 + mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
142 + }, 1000);
143 +
144 + ViewCompat.setAccessibilityDelegate(mLlShareButton, new AccessibilityDelegateCompat() {
145 + @Override
146 + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
147 + super.onInitializeAccessibilityNodeInfo(host, info);
148 + info.setClassName("android.widget.Button");
149 + info.setContentDescription(getString(R.string.cos_coupon_share_button));
150 + }
151 + });
152 +
153 + ViewCompat.setAccessibilityDelegate(mRlSenderView, new AccessibilityDelegateCompat() {
154 + @Override
155 + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
156 + super.onInitializeAccessibilityNodeInfo(host, info);
157 + info.setClassName("android.widget.Button");
158 + info.setContentDescription(getString(R.string.cos_coupon_share_sender) + ", " + WarplyManagerHelper.formatPhoneNumber(mSender));
159 + }
160 + });
161 +
115 initViews(); 162 initViews();
116 } 163 }
117 164
...@@ -208,10 +255,30 @@ public class CouponShareActivity extends Activity implements View.OnClickListene ...@@ -208,10 +255,30 @@ public class CouponShareActivity extends Activity implements View.OnClickListene
208 bottomSheetDialog.dismiss(); 255 bottomSheetDialog.dismiss();
209 }); 256 });
210 LinearLayout parent = bottomSheetDialog.findViewById(R.id.ll_share_dialog_view_inner); 257 LinearLayout parent = bottomSheetDialog.findViewById(R.id.ll_share_dialog_view_inner);
258 + TextView header = bottomSheetDialog.findViewById(R.id.tv_sender_value);
211 259
212 - ImageView dialogClose = (ImageView) bottomSheetDialog.findViewById(R.id.iv_sender_list_close); 260 + RelativeLayout dialogClose = (RelativeLayout) bottomSheetDialog.findViewById(R.id.rl_sender_list_close);
213 dialogClose.setOnClickListener(view -> bottomSheetDialog.dismiss()); 261 dialogClose.setOnClickListener(view -> bottomSheetDialog.dismiss());
214 262
263 + ViewCompat.setAccessibilityDelegate(header, new AccessibilityDelegateCompat() {
264 + @Override
265 + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
266 + super.onInitializeAccessibilityNodeInfo(host, info);
267 + info.setClassName("android.widget.TextView");
268 + info.setHeading(true);
269 + }
270 + });
271 + header.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
272 +
273 + ViewCompat.setAccessibilityDelegate(dialogClose, new AccessibilityDelegateCompat() {
274 + @Override
275 + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
276 + super.onInitializeAccessibilityNodeInfo(host, info);
277 + info.setClassName("android.widget.Button");
278 + info.setContentDescription(getString(R.string.accessibility_close));
279 + }
280 + });
281 +
215 if (mConsumer != null) { 282 if (mConsumer != null) {
216 try { 283 try {
217 JSONObject profMeta = new JSONObject(mConsumer.getProfileMetadata()); 284 JSONObject profMeta = new JSONObject(mConsumer.getProfileMetadata());
...@@ -231,6 +298,16 @@ public class CouponShareActivity extends Activity implements View.OnClickListene ...@@ -231,6 +298,16 @@ public class CouponShareActivity extends Activity implements View.OnClickListene
231 mSender = tv.getText().toString(); 298 mSender = tv.getText().toString();
232 bottomSheetDialog.dismiss(); 299 bottomSheetDialog.dismiss();
233 }); 300 });
301 +
302 + ViewCompat.setAccessibilityDelegate(textView, new AccessibilityDelegateCompat() {
303 + @Override
304 + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
305 + super.onInitializeAccessibilityNodeInfo(host, info);
306 + info.setClassName("android.widget.TextView");
307 + info.setContentDescription(WarplyManagerHelper.formatPhoneNumber(textView.getText().toString()));
308 + }
309 + });
310 +
234 parent.addView(v, 0, new ViewGroup.LayoutParams( 311 parent.addView(v, 0, new ViewGroup.LayoutParams(
235 ViewGroup.LayoutParams.MATCH_PARENT, 312 ViewGroup.LayoutParams.MATCH_PARENT,
236 ViewGroup.LayoutParams.WRAP_CONTENT)); 313 ViewGroup.LayoutParams.WRAP_CONTENT));
......
...@@ -192,7 +192,7 @@ public class TelcoActivity extends Activity implements View.OnClickListener { ...@@ -192,7 +192,7 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
192 tvHeader.setText(R.string.cos_coupon_share_telco); 192 tvHeader.setText(R.string.cos_coupon_share_telco);
193 LinearLayout parent = bottomSheetDialog.findViewById(R.id.ll_share_dialog_view_inner); 193 LinearLayout parent = bottomSheetDialog.findViewById(R.id.ll_share_dialog_view_inner);
194 194
195 - ImageView dialogClose = (ImageView) bottomSheetDialog.findViewById(R.id.iv_sender_list_close); 195 + RelativeLayout dialogClose = (RelativeLayout) bottomSheetDialog.findViewById(R.id.rl_sender_list_close);
196 dialogClose.setOnClickListener(view -> { 196 dialogClose.setOnClickListener(view -> {
197 mIsActivatePressed = false; 197 mIsActivatePressed = false;
198 bottomSheetDialog.dismiss(); 198 bottomSheetDialog.dismiss();
......
...@@ -1615,6 +1615,25 @@ public class WarplyManagerHelper { ...@@ -1615,6 +1615,25 @@ public class WarplyManagerHelper {
1615 WorkManager.getInstance(Warply.getWarplyContext()).enqueue(mywork); 1615 WorkManager.getInstance(Warply.getWarplyContext()).enqueue(mywork);
1616 } 1616 }
1617 1617
1618 + public static String formatPhoneNumber(String phoneNumber) {
1619 + // Remove non-digit characters if any
1620 + String digits = phoneNumber.replaceAll("\\D", "");
1621 +
1622 + // Format the digits with spaces after each character
1623 + StringBuilder formatted = new StringBuilder();
1624 + for (int i = 0; i < digits.length(); i++) {
1625 + formatted.append(digits.charAt(i));
1626 + formatted.append(" "); // Add a space after every character
1627 + }
1628 +
1629 + // Remove the trailing space at the end
1630 + if (formatted.length() > 0) {
1631 + formatted.deleteCharAt(formatted.length() - 1);
1632 + }
1633 +
1634 + return formatted.toString();
1635 + }
1636 +
1618 // =========================================================== 1637 // ===========================================================
1619 // Inner and Anonymous Classes 1638 // Inner and Anonymous Classes
1620 // =========================================================== 1639 // ===========================================================
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
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_back"
21 + android:contentDescription="@string/accessibility_back"
21 app:layout_constraintBottom_toBottomOf="parent" 22 app:layout_constraintBottom_toBottomOf="parent"
22 app:layout_constraintStart_toStartOf="parent" 23 app:layout_constraintStart_toStartOf="parent"
23 app:layout_constraintTop_toTopOf="parent" /> 24 app:layout_constraintTop_toTopOf="parent" />
...@@ -27,6 +28,7 @@ ...@@ -27,6 +28,7 @@
27 android:layout_width="wrap_content" 28 android:layout_width="wrap_content"
28 android:layout_height="wrap_content" 29 android:layout_height="wrap_content"
29 android:text="@string/cos_coupon_gift" 30 android:text="@string/cos_coupon_gift"
31 + android:contentDescription="@string/cos_coupon_gift"
30 android:textColor="@color/cos_light_black" 32 android:textColor="@color/cos_light_black"
31 android:textSize="19sp" 33 android:textSize="19sp"
32 app:layout_constraintBottom_toBottomOf="parent" 34 app:layout_constraintBottom_toBottomOf="parent"
...@@ -61,6 +63,7 @@ ...@@ -61,6 +63,7 @@
61 android:layout_width="match_parent" 63 android:layout_width="match_parent"
62 android:layout_height="222dp" 64 android:layout_height="222dp"
63 android:scaleType="centerCrop" 65 android:scaleType="centerCrop"
66 + android:contentDescription="@string/accessibility_coupon_image"
64 app:layout_constraintStart_toStartOf="parent" 67 app:layout_constraintStart_toStartOf="parent"
65 app:layout_constraintTop_toTopOf="parent" 68 app:layout_constraintTop_toTopOf="parent"
66 tools:src="@drawable/carousel_banner" /> 69 tools:src="@drawable/carousel_banner" />
...@@ -96,7 +99,7 @@ ...@@ -96,7 +99,7 @@
96 <RelativeLayout 99 <RelativeLayout
97 android:id="@+id/ll_share_view" 100 android:id="@+id/ll_share_view"
98 android:layout_width="match_parent" 101 android:layout_width="match_parent"
99 - android:layout_height="wrap_content" 102 + android:layout_height="40dp"
100 android:layout_marginHorizontal="24dp" 103 android:layout_marginHorizontal="24dp"
101 android:layout_marginTop="32dp" 104 android:layout_marginTop="32dp"
102 app:layout_constraintEnd_toEndOf="parent" 105 app:layout_constraintEnd_toEndOf="parent"
...@@ -106,10 +109,11 @@ ...@@ -106,10 +109,11 @@
106 <TextView 109 <TextView
107 android:id="@+id/tv_phone" 110 android:id="@+id/tv_phone"
108 android:layout_width="wrap_content" 111 android:layout_width="wrap_content"
109 - android:layout_height="wrap_content" 112 + android:layout_height="match_parent"
110 android:layout_alignParentStart="true" 113 android:layout_alignParentStart="true"
111 android:layout_centerVertical="true" 114 android:layout_centerVertical="true"
112 android:text="@string/cos_coupon_share_sender" 115 android:text="@string/cos_coupon_share_sender"
116 + android:gravity="center_vertical"
113 android:textColor="@color/cos_gray2" 117 android:textColor="@color/cos_gray2"
114 android:textSize="16sp" /> 118 android:textSize="16sp" />
115 119
...@@ -126,7 +130,7 @@ ...@@ -126,7 +130,7 @@
126 android:id="@+id/v_separator" 130 android:id="@+id/v_separator"
127 android:layout_width="0dp" 131 android:layout_width="0dp"
128 android:layout_height="1dp" 132 android:layout_height="1dp"
129 - android:layout_marginTop="20dp" 133 + android:layout_marginTop="12dp"
130 android:background="@color/cos_grey7" 134 android:background="@color/cos_grey7"
131 app:layout_constraintEnd_toEndOf="@+id/ll_share_view" 135 app:layout_constraintEnd_toEndOf="@+id/ll_share_view"
132 app:layout_constraintStart_toStartOf="@+id/ll_share_view" 136 app:layout_constraintStart_toStartOf="@+id/ll_share_view"
...@@ -135,7 +139,7 @@ ...@@ -135,7 +139,7 @@
135 <RelativeLayout 139 <RelativeLayout
136 android:id="@+id/ll_share_view2" 140 android:id="@+id/ll_share_view2"
137 android:layout_width="match_parent" 141 android:layout_width="match_parent"
138 - android:layout_height="wrap_content" 142 + android:layout_height="40dp"
139 android:layout_marginHorizontal="24dp" 143 android:layout_marginHorizontal="24dp"
140 android:layout_marginTop="48dp" 144 android:layout_marginTop="48dp"
141 app:layout_constraintEnd_toEndOf="parent" 145 app:layout_constraintEnd_toEndOf="parent"
...@@ -145,7 +149,7 @@ ...@@ -145,7 +149,7 @@
145 <EditText 149 <EditText
146 android:id="@+id/et_phone" 150 android:id="@+id/et_phone"
147 android:layout_width="match_parent" 151 android:layout_width="match_parent"
148 - android:layout_height="wrap_content" 152 + android:layout_height="match_parent"
149 android:layout_alignParentStart="true" 153 android:layout_alignParentStart="true"
150 android:layout_centerVertical="true" 154 android:layout_centerVertical="true"
151 android:background="@android:color/transparent" 155 android:background="@android:color/transparent"
...@@ -160,7 +164,7 @@ ...@@ -160,7 +164,7 @@
160 android:id="@+id/v_separator2" 164 android:id="@+id/v_separator2"
161 android:layout_width="0dp" 165 android:layout_width="0dp"
162 android:layout_height="1dp" 166 android:layout_height="1dp"
163 - android:layout_marginTop="20dp" 167 + android:layout_marginTop="12dp"
164 android:background="@color/cos_grey7" 168 android:background="@color/cos_grey7"
165 app:layout_constraintEnd_toEndOf="@+id/ll_share_view2" 169 app:layout_constraintEnd_toEndOf="@+id/ll_share_view2"
166 app:layout_constraintStart_toStartOf="@+id/ll_share_view2" 170 app:layout_constraintStart_toStartOf="@+id/ll_share_view2"
......
...@@ -3,34 +3,44 @@ ...@@ -3,34 +3,44 @@
3 android:id="@+id/rl_share_dialog_view" 3 android:id="@+id/rl_share_dialog_view"
4 android:layout_width="match_parent" 4 android:layout_width="match_parent"
5 android:layout_height="match_parent" 5 android:layout_height="match_parent"
6 - android:orientation="vertical" 6 + android:background="@drawable/shape_cos_white_rounded_top"
7 - android:background="@drawable/shape_cos_white_rounded_top"> 7 + android:orientation="vertical">
8 8
9 <RelativeLayout 9 <RelativeLayout
10 android:id="@+id/rl_sender_list" 10 android:id="@+id/rl_sender_list"
11 android:layout_width="match_parent" 11 android:layout_width="match_parent"
12 - android:layout_height="wrap_content" 12 + android:layout_height="40dp"
13 android:layout_marginBottom="24dp" 13 android:layout_marginBottom="24dp"
14 android:paddingTop="16dp"> 14 android:paddingTop="16dp">
15 15
16 <TextView 16 <TextView
17 android:id="@+id/tv_sender_value" 17 android:id="@+id/tv_sender_value"
18 android:layout_width="wrap_content" 18 android:layout_width="wrap_content"
19 - android:layout_height="wrap_content" 19 + android:layout_height="match_parent"
20 android:layout_alignParentStart="true" 20 android:layout_alignParentStart="true"
21 android:layout_marginStart="24dp" 21 android:layout_marginStart="24dp"
22 + android:gravity="center_vertical"
23 + android:contentDescription="@string/cos_coupon_share_sender"
22 android:text="@string/cos_coupon_share_sender" 24 android:text="@string/cos_coupon_share_sender"
23 android:textColor="@color/cos_light_black" 25 android:textColor="@color/cos_light_black"
24 android:textSize="16sp" /> 26 android:textSize="16sp" />
25 27
28 + <RelativeLayout
29 + android:id="@+id/rl_sender_list_close"
30 + android:layout_width="32dp"
31 + android:layout_height="32dp"
32 + android:layout_alignParentEnd="true"
33 + android:layout_marginEnd="24dp"
34 + android:gravity="center">
35 +
26 <ImageView 36 <ImageView
27 android:id="@+id/iv_sender_list_close" 37 android:id="@+id/iv_sender_list_close"
28 android:layout_width="16dp" 38 android:layout_width="16dp"
29 android:layout_height="16dp" 39 android:layout_height="16dp"
30 - android:layout_alignParentEnd="true" 40 + android:contentDescription="@string/accessibility_close"
31 - android:layout_marginEnd="24dp"
32 android:src="@drawable/ic_close" /> 41 android:src="@drawable/ic_close" />
33 </RelativeLayout> 42 </RelativeLayout>
43 + </RelativeLayout>
34 44
35 <LinearLayout 45 <LinearLayout
36 android:id="@+id/ll_share_dialog_view_inner" 46 android:id="@+id/ll_share_dialog_view_inner"
......
...@@ -11,17 +11,18 @@ ...@@ -11,17 +11,18 @@
11 android:layout_width="match_parent" 11 android:layout_width="match_parent"
12 android:layout_height="wrap_content" 12 android:layout_height="wrap_content"
13 android:layout_marginHorizontal="12dp" 13 android:layout_marginHorizontal="12dp"
14 - android:layout_marginTop="16dp"> 14 + android:layout_marginTop="10dp">
15 15
16 <TextView 16 <TextView
17 android:id="@+id/tv_phone_share" 17 android:id="@+id/tv_phone_share"
18 android:layout_width="match_parent" 18 android:layout_width="match_parent"
19 - android:layout_height="wrap_content" 19 + android:layout_height="40dp"
20 android:layout_alignParentStart="true" 20 android:layout_alignParentStart="true"
21 android:layout_centerVertical="true" 21 android:layout_centerVertical="true"
22 android:background="@android:color/transparent" 22 android:background="@android:color/transparent"
23 android:textColor="@color/cos_light_black" 23 android:textColor="@color/cos_light_black"
24 android:textSize="16sp" 24 android:textSize="16sp"
25 + android:gravity="center_vertical"
25 tools:text="6987654322" /> 26 tools:text="6987654322" />
26 </RelativeLayout> 27 </RelativeLayout>
27 28
...@@ -29,7 +30,7 @@ ...@@ -29,7 +30,7 @@
29 android:id="@+id/v_separator2" 30 android:id="@+id/v_separator2"
30 android:layout_width="match_parent" 31 android:layout_width="match_parent"
31 android:layout_height="1dp" 32 android:layout_height="1dp"
32 - android:layout_marginTop="20dp" 33 + android:layout_marginTop="10dp"
33 android:background="@color/cos_grey7" 34 android:background="@color/cos_grey7"
34 app:layout_constraintEnd_toEndOf="@+id/ll_share_view2" 35 app:layout_constraintEnd_toEndOf="@+id/ll_share_view2"
35 app:layout_constraintStart_toStartOf="@+id/ll_share_view2" 36 app:layout_constraintStart_toStartOf="@+id/ll_share_view2"
......
...@@ -9,5 +9,6 @@ ...@@ -9,5 +9,6 @@
9 <enum name="horizontal" value="0" /> 9 <enum name="horizontal" value="0" />
10 <enum name="vertical" value="1" /> 10 <enum name="vertical" value="1" />
11 </attr> 11 </attr>
12 + <attr name="colorPrimary" format="color" />
12 </declare-styleable> 13 </declare-styleable>
13 </resources> 14 </resources>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -262,10 +262,12 @@ ...@@ -262,10 +262,12 @@
262 <string name="cos_logout_text">Αποσύνδεση</string> 262 <string name="cos_logout_text">Αποσύνδεση</string>
263 263
264 <string name="accessibility_back">Πίσω</string> 264 <string name="accessibility_back">Πίσω</string>
265 + <string name="accessibility_close">Κλείσιμο</string>
265 <string name="accessibility_history">Ιστορικό</string> 266 <string name="accessibility_history">Ιστορικό</string>
266 <string name="accessibility_coupon_image">Φωτογραφία εκπτωτικού κουπονιού</string> 267 <string name="accessibility_coupon_image">Φωτογραφία εκπτωτικού κουπονιού</string>
267 <string name="accessibility_expand">Ανεπτυγμένο</string> 268 <string name="accessibility_expand">Ανεπτυγμένο</string>
268 <string name="accessibility_collapse">Συμπτυγμένο</string> 269 <string name="accessibility_collapse">Συμπτυγμένο</string>
270 + <string name="accessibility_activate">Διπλό πάτημα για επιλογή</string>
269 271
270 <string-array name="coupons_array"> 272 <string-array name="coupons_array">
271 <item>Κουπόνια</item> 273 <item>Κουπόνια</item>
......