Showing
7 changed files
with
154 additions
and
26 deletions
| ... | @@ -12,14 +12,19 @@ import android.text.Spanned; | ... | @@ -12,14 +12,19 @@ import android.text.Spanned; |
| 12 | import android.view.LayoutInflater; | 12 | import android.view.LayoutInflater; |
| 13 | import android.view.View; | 13 | import android.view.View; |
| 14 | import android.view.ViewGroup; | 14 | import android.view.ViewGroup; |
| 15 | +import android.view.accessibility.AccessibilityEvent; | ||
| 15 | import android.widget.ImageView; | 16 | import android.widget.ImageView; |
| 16 | import android.widget.LinearLayout; | 17 | import android.widget.LinearLayout; |
| 17 | import android.widget.RelativeLayout; | 18 | import android.widget.RelativeLayout; |
| 18 | import android.widget.TextView; | 19 | import android.widget.TextView; |
| 19 | 20 | ||
| 21 | +import androidx.annotation.NonNull; | ||
| 20 | import androidx.appcompat.app.AlertDialog; | 22 | import androidx.appcompat.app.AlertDialog; |
| 21 | import androidx.cardview.widget.CardView; | 23 | import androidx.cardview.widget.CardView; |
| 22 | import androidx.core.content.res.ResourcesCompat; | 24 | import androidx.core.content.res.ResourcesCompat; |
| 25 | +import androidx.core.view.AccessibilityDelegateCompat; | ||
| 26 | +import androidx.core.view.ViewCompat; | ||
| 27 | +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; | ||
| 23 | 28 | ||
| 24 | import com.bumptech.glide.Glide; | 29 | import com.bumptech.glide.Glide; |
| 25 | import com.bumptech.glide.load.engine.DiskCacheStrategy; | 30 | import com.bumptech.glide.load.engine.DiskCacheStrategy; |
| ... | @@ -92,6 +97,68 @@ public class MarketPassActivity extends Activity implements View.OnClickListener | ... | @@ -92,6 +97,68 @@ public class MarketPassActivity extends Activity implements View.OnClickListener |
| 92 | 97 | ||
| 93 | mPbLoading.setVisibility(View.VISIBLE); | 98 | mPbLoading.setVisibility(View.VISIBLE); |
| 94 | // WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback); | 99 | // WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback); |
| 100 | + | ||
| 101 | + //Accessibility | ||
| 102 | + ViewCompat.setAccessibilityDelegate(mFontHeader, new AccessibilityDelegateCompat() { | ||
| 103 | + @Override | ||
| 104 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 105 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 106 | + info.setClassName("android.widget.TextView"); | ||
| 107 | + info.setHeading(true); | ||
| 108 | + } | ||
| 109 | + }); | ||
| 110 | + mFontHeader.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); | ||
| 111 | + | ||
| 112 | + ViewCompat.setAccessibilityDelegate(mIvBack, new AccessibilityDelegateCompat() { | ||
| 113 | + @Override | ||
| 114 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 115 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 116 | + info.setClassName("android.widget.Button"); | ||
| 117 | + info.setContentDescription(getString(R.string.accessibility_back)); | ||
| 118 | + } | ||
| 119 | + }); | ||
| 120 | + mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); | ||
| 121 | + mIvBack.postDelayed(() -> { | ||
| 122 | + mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES); | ||
| 123 | + }, 1000); | ||
| 124 | + | ||
| 125 | + ViewCompat.setAccessibilityDelegate(mIvInfo, new AccessibilityDelegateCompat() { | ||
| 126 | + @Override | ||
| 127 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 128 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 129 | + info.setClassName("android.widget.Button"); | ||
| 130 | + info.setContentDescription(getString(R.string.cos_market_Pass_info_title)); | ||
| 131 | + } | ||
| 132 | + }); | ||
| 133 | + | ||
| 134 | + ViewCompat.setAccessibilityDelegate(mTvBarcode, new AccessibilityDelegateCompat() { | ||
| 135 | + @Override | ||
| 136 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 137 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 138 | + info.setClassName("android.widget.TextView"); | ||
| 139 | + info.setContentDescription(getString(R.string.accessibility_market_pass_barcode_value) + ", " + mTvBarcode.getText().toString()); | ||
| 140 | + } | ||
| 141 | + }); | ||
| 142 | + | ||
| 143 | + mIvBarcode.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES); | ||
| 144 | + ViewCompat.setAccessibilityDelegate(mIvBarcode, new AccessibilityDelegateCompat() { | ||
| 145 | + @Override | ||
| 146 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 147 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 148 | + info.setClassName("android.widget.ImageView"); | ||
| 149 | + info.setContentDescription(getString(R.string.accessibility_market_pass_barcode)); | ||
| 150 | + } | ||
| 151 | + }); | ||
| 152 | + | ||
| 153 | + ViewCompat.setAccessibilityDelegate(mLlMap, 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_pass_map)); | ||
| 159 | + } | ||
| 160 | + }); | ||
| 161 | + | ||
| 95 | initViews(); | 162 | initViews(); |
| 96 | } | 163 | } |
| 97 | 164 | ||
| ... | @@ -148,42 +215,53 @@ public class MarketPassActivity extends Activity implements View.OnClickListener | ... | @@ -148,42 +215,53 @@ public class MarketPassActivity extends Activity implements View.OnClickListener |
| 148 | mIvInfo.setOnClickListener(this); | 215 | mIvInfo.setOnClickListener(this); |
| 149 | mLlMap.setOnClickListener(this); | 216 | mLlMap.setOnClickListener(this); |
| 150 | 217 | ||
| 151 | - if(WarplyManagerHelper.getMarketPassDetails() != null) { | 218 | + if (WarplyManagerHelper.getMarketPassDetails() != null) { |
| 152 | // if (mMarketPassDetails != null) | 219 | // if (mMarketPassDetails != null) |
| 153 | - createBarcodeBitmap(WarplyManagerHelper.getMarketPassDetails().getBarcode()); | 220 | + createBarcodeBitmap(WarplyManagerHelper.getMarketPassDetails().getBarcode()); |
| 154 | 221 | ||
| 155 | // if (mMarketPassDetails != null) { | 222 | // if (mMarketPassDetails != null) { |
| 156 | - String passValue = String.format(Locale.US, "%.2f", WarplyManagerHelper.getMarketPassDetails().getTotalDiscount()); | 223 | + String passValue = String.format(Locale.US, "%.2f", WarplyManagerHelper.getMarketPassDetails().getTotalDiscount()); |
| 157 | - String fullText = String.format(getString(R.string.cos_market_pass_coupons_title), passValue); | 224 | + String fullText = String.format(getString(R.string.cos_market_pass_coupons_title), passValue); |
| 158 | - int startIndex = fullText.indexOf(passValue); | 225 | + int startIndex = fullText.indexOf(passValue); |
| 159 | - int endIndex = startIndex + passValue.length(); | 226 | + int endIndex = startIndex + passValue.length(); |
| 160 | - SpannableStringBuilder sBuilder = new SpannableStringBuilder(fullText); | 227 | + SpannableStringBuilder sBuilder = new SpannableStringBuilder(fullText); |
| 161 | - Typeface typefaceBold = ResourcesCompat.getFont(this, R.font.peridot_bold); | 228 | + Typeface typefaceBold = ResourcesCompat.getFont(this, R.font.peridot_bold); |
| 162 | - CustomTypefaceSpan typefaceBoldSpan = new CustomTypefaceSpan(typefaceBold); | 229 | + CustomTypefaceSpan typefaceBoldSpan = new CustomTypefaceSpan(typefaceBold); |
| 163 | - sBuilder.setSpan(typefaceBoldSpan, startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); | 230 | + sBuilder.setSpan(typefaceBoldSpan, startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); |
| 164 | - mTvPassCount.setText(sBuilder, TextView.BufferType.SPANNABLE); | 231 | + mTvPassCount.setText(sBuilder, TextView.BufferType.SPANNABLE); |
| 165 | // } | 232 | // } |
| 166 | 233 | ||
| 167 | // if (mMarketPassDetails != null) { | 234 | // if (mMarketPassDetails != null) { |
| 168 | - for (int i = 0; i < WarplyManagerHelper.getMarketPassDetails().getSupermarkets().size(); i++) { | 235 | + for (int i = 0; i < WarplyManagerHelper.getMarketPassDetails().getSupermarkets().size(); i++) { |
| 169 | - int tempIndex = i; | 236 | + int tempIndex = i; |
| 170 | - LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); | 237 | + LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); |
| 171 | - RelativeLayout v = (RelativeLayout) vi.inflate(R.layout.item_sheet_image, null); | 238 | + RelativeLayout v = (RelativeLayout) vi.inflate(R.layout.item_sheet_image, null); |
| 172 | 239 | ||
| 173 | - ImageView merchantLogo = (ImageView) v.findViewById(R.id.iv_market_logo); | 240 | + ImageView merchantLogo = (ImageView) v.findViewById(R.id.iv_market_logo); |
| 174 | - Glide.with(this) | 241 | + Glide.with(this) |
| 175 | // .setDefaultRequestOptions( | 242 | // .setDefaultRequestOptions( |
| 176 | // RequestOptions | 243 | // RequestOptions |
| 177 | // .placeholderOf(R.drawable.ic_default_contact_photo) | 244 | // .placeholderOf(R.drawable.ic_default_contact_photo) |
| 178 | // .error(R.drawable.ic_default_contact_photo)) | 245 | // .error(R.drawable.ic_default_contact_photo)) |
| 179 | - .load(WarplyManagerHelper.getMarketPassDetails().getSupermarkets().get(i).getLogo()) | 246 | + .load(WarplyManagerHelper.getMarketPassDetails().getSupermarkets().get(i).getLogo()) |
| 180 | - .diskCacheStrategy(DiskCacheStrategy.DATA) | 247 | + .diskCacheStrategy(DiskCacheStrategy.DATA) |
| 181 | - .into(merchantLogo); | 248 | + .into(merchantLogo); |
| 182 | - mLlParentLogosView.addView(v, tempIndex, new ViewGroup.LayoutParams( | 249 | + |
| 183 | - ViewGroup.LayoutParams.WRAP_CONTENT, | 250 | + merchantLogo.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES); |
| 184 | - ViewGroup.LayoutParams.WRAP_CONTENT)); | 251 | + ViewCompat.setAccessibilityDelegate(merchantLogo, new AccessibilityDelegateCompat() { |
| 252 | + @Override | ||
| 253 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 254 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 255 | + info.setClassName("android.widget.ImageView"); | ||
| 256 | + info.setContentDescription(WarplyManagerHelper.getMarketPassDetails().getSupermarkets().get(tempIndex).getName()); | ||
| 257 | + } | ||
| 258 | + }); | ||
| 259 | + | ||
| 260 | + mLlParentLogosView.addView(v, tempIndex, new ViewGroup.LayoutParams( | ||
| 261 | + ViewGroup.LayoutParams.WRAP_CONTENT, | ||
| 262 | + ViewGroup.LayoutParams.WRAP_CONTENT)); | ||
| 185 | 263 | ||
| 186 | - } | 264 | + } |
| 187 | // } | 265 | // } |
| 188 | 266 | ||
| 189 | mCvMarketDetails.setVisibility(View.VISIBLE); | 267 | mCvMarketDetails.setVisibility(View.VISIBLE); | ... | ... |
| ... | @@ -3,10 +3,16 @@ package ly.warp.sdk.activities; | ... | @@ -3,10 +3,16 @@ package ly.warp.sdk.activities; |
| 3 | import android.app.Activity; | 3 | import android.app.Activity; |
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; |
| 5 | import android.view.View; | 5 | import android.view.View; |
| 6 | +import android.view.accessibility.AccessibilityEvent; | ||
| 6 | import android.widget.ImageView; | 7 | import android.widget.ImageView; |
| 7 | import android.widget.LinearLayout; | 8 | import android.widget.LinearLayout; |
| 8 | import android.widget.TextView; | 9 | import android.widget.TextView; |
| 9 | 10 | ||
| 11 | +import androidx.annotation.NonNull; | ||
| 12 | +import androidx.core.view.AccessibilityDelegateCompat; | ||
| 13 | +import androidx.core.view.ViewCompat; | ||
| 14 | +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; | ||
| 15 | + | ||
| 10 | import ly.warp.sdk.R; | 16 | import ly.warp.sdk.R; |
| 11 | import ly.warp.sdk.utils.WarpUtils; | 17 | import ly.warp.sdk.utils.WarpUtils; |
| 12 | import ly.warp.sdk.utils.managers.WarplyAnalyticsManager; | 18 | import ly.warp.sdk.utils.managers.WarplyAnalyticsManager; |
| ... | @@ -54,6 +60,39 @@ public class MarketPassInfoActivity extends Activity implements View.OnClickList | ... | @@ -54,6 +60,39 @@ public class MarketPassInfoActivity extends Activity implements View.OnClickList |
| 54 | WarpUtils.renderCustomFont(this, R.font.peridot_regular, mTvBasketSubtitle, | 60 | WarpUtils.renderCustomFont(this, R.font.peridot_regular, mTvBasketSubtitle, |
| 55 | mTvEshopSubtitle, mTvAbSubtitle); | 61 | mTvEshopSubtitle, mTvAbSubtitle); |
| 56 | 62 | ||
| 63 | + //Accessibility | ||
| 64 | + ViewCompat.setAccessibilityDelegate(mFontHeader, new AccessibilityDelegateCompat() { | ||
| 65 | + @Override | ||
| 66 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 67 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 68 | + info.setClassName("android.widget.TextView"); | ||
| 69 | + info.setHeading(true); | ||
| 70 | + } | ||
| 71 | + }); | ||
| 72 | + mFontHeader.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); | ||
| 73 | + | ||
| 74 | + ViewCompat.setAccessibilityDelegate(mIvBack, new AccessibilityDelegateCompat() { | ||
| 75 | + @Override | ||
| 76 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 77 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 78 | + info.setClassName("android.widget.Button"); | ||
| 79 | + info.setContentDescription(getString(R.string.accessibility_back)); | ||
| 80 | + } | ||
| 81 | + }); | ||
| 82 | + mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); | ||
| 83 | + mIvBack.postDelayed(() -> { | ||
| 84 | + mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES); | ||
| 85 | + }, 1000); | ||
| 86 | + | ||
| 87 | + ViewCompat.setAccessibilityDelegate(mLlPassReturn, new AccessibilityDelegateCompat() { | ||
| 88 | + @Override | ||
| 89 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
| 90 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
| 91 | + info.setClassName("android.widget.Button"); | ||
| 92 | + info.setContentDescription(getString(R.string.cos_market_pass_return)); | ||
| 93 | + } | ||
| 94 | + }); | ||
| 95 | + | ||
| 57 | initViews(); | 96 | initViews(); |
| 58 | } | 97 | } |
| 59 | 98 | ... | ... |
| ... | @@ -22,6 +22,7 @@ | ... | @@ -22,6 +22,7 @@ |
| 22 | android:layout_height="48dp" | 22 | android:layout_height="48dp" |
| 23 | android:layout_marginStart="16dp" | 23 | android:layout_marginStart="16dp" |
| 24 | android:scaleType="centerInside" | 24 | android:scaleType="centerInside" |
| 25 | + android:contentDescription="@string/accessibility_back" | ||
| 25 | android:src="@drawable/ic_back" | 26 | android:src="@drawable/ic_back" |
| 26 | app:layout_constraintBottom_toBottomOf="parent" | 27 | app:layout_constraintBottom_toBottomOf="parent" |
| 27 | app:layout_constraintStart_toStartOf="parent" | 28 | app:layout_constraintStart_toStartOf="parent" |
| ... | @@ -33,6 +34,7 @@ | ... | @@ -33,6 +34,7 @@ |
| 33 | android:layout_height="wrap_content" | 34 | android:layout_height="wrap_content" |
| 34 | android:gravity="center" | 35 | android:gravity="center" |
| 35 | android:text="@string/cos_market_title" | 36 | android:text="@string/cos_market_title" |
| 37 | + android:contentDescription="@string/cos_market_title" | ||
| 36 | android:textColor="@color/cos_light_black" | 38 | android:textColor="@color/cos_light_black" |
| 37 | android:textSize="19sp" | 39 | android:textSize="19sp" |
| 38 | app:layout_constraintBottom_toBottomOf="parent" | 40 | app:layout_constraintBottom_toBottomOf="parent" |
| ... | @@ -149,8 +151,7 @@ | ... | @@ -149,8 +151,7 @@ |
| 149 | android:layout_height="wrap_content" | 151 | android:layout_height="wrap_content" |
| 150 | android:layout_below="@+id/rl_parent_pass" | 152 | android:layout_below="@+id/rl_parent_pass" |
| 151 | android:background="@color/cos_green14" | 153 | android:background="@color/cos_green14" |
| 152 | - android:gravity="center" | 154 | + android:gravity="center"> |
| 153 | - android:paddingVertical="16dp"> | ||
| 154 | 155 | ||
| 155 | <TextView | 156 | <TextView |
| 156 | android:id="@+id/tv_total_pass_title" | 157 | android:id="@+id/tv_total_pass_title" |
| ... | @@ -160,6 +161,7 @@ | ... | @@ -160,6 +161,7 @@ |
| 160 | android:letterSpacing="0.04" | 161 | android:letterSpacing="0.04" |
| 161 | android:textColor="@color/white" | 162 | android:textColor="@color/white" |
| 162 | android:textSize="16sp" | 163 | android:textSize="16sp" |
| 164 | + android:paddingVertical="16dp" | ||
| 163 | app:lineHeight="22dp" /> | 165 | app:lineHeight="22dp" /> |
| 164 | </LinearLayout> | 166 | </LinearLayout> |
| 165 | 167 | ... | ... |
| ... | @@ -22,6 +22,7 @@ | ... | @@ -22,6 +22,7 @@ |
| 22 | android:layout_marginStart="16dp" | 22 | android:layout_marginStart="16dp" |
| 23 | android:scaleType="centerInside" | 23 | android:scaleType="centerInside" |
| 24 | android:src="@drawable/ic_back" | 24 | android:src="@drawable/ic_back" |
| 25 | + android:contentDescription="@string/accessibility_back" | ||
| 25 | app:layout_constraintBottom_toBottomOf="parent" | 26 | app:layout_constraintBottom_toBottomOf="parent" |
| 26 | app:layout_constraintStart_toStartOf="parent" | 27 | app:layout_constraintStart_toStartOf="parent" |
| 27 | app:layout_constraintTop_toTopOf="parent" /> | 28 | app:layout_constraintTop_toTopOf="parent" /> |
| ... | @@ -32,6 +33,7 @@ | ... | @@ -32,6 +33,7 @@ |
| 32 | android:layout_height="wrap_content" | 33 | android:layout_height="wrap_content" |
| 33 | android:gravity="center" | 34 | android:gravity="center" |
| 34 | android:text="@string/cos_market_Pass_info_title" | 35 | android:text="@string/cos_market_Pass_info_title" |
| 36 | + android:contentDescription="@string/cos_market_Pass_info_title" | ||
| 35 | android:textColor="@color/cos_light_black" | 37 | android:textColor="@color/cos_light_black" |
| 36 | android:textSize="19sp" | 38 | android:textSize="19sp" |
| 37 | app:layout_constraintBottom_toBottomOf="parent" | 39 | app:layout_constraintBottom_toBottomOf="parent" | ... | ... |
| ... | @@ -16,6 +16,7 @@ | ... | @@ -16,6 +16,7 @@ |
| 16 | android:layout_height="48dp" | 16 | android:layout_height="48dp" |
| 17 | android:layout_marginStart="16dp" | 17 | android:layout_marginStart="16dp" |
| 18 | android:scaleType="centerInside" | 18 | android:scaleType="centerInside" |
| 19 | + android:contentDescription="@string/accessibility_back" | ||
| 19 | android:src="@drawable/ic_back" | 20 | android:src="@drawable/ic_back" |
| 20 | app:layout_constraintBottom_toBottomOf="parent" | 21 | app:layout_constraintBottom_toBottomOf="parent" |
| 21 | app:layout_constraintStart_toStartOf="parent" | 22 | app:layout_constraintStart_toStartOf="parent" |
| ... | @@ -26,6 +27,7 @@ | ... | @@ -26,6 +27,7 @@ |
| 26 | android:layout_width="wrap_content" | 27 | android:layout_width="wrap_content" |
| 27 | android:layout_height="wrap_content" | 28 | android:layout_height="wrap_content" |
| 28 | android:text="@string/cos_coupon_shops_title" | 29 | android:text="@string/cos_coupon_shops_title" |
| 30 | + android:contentDescription="@string/cos_coupon_shops_title" | ||
| 29 | android:textColor="@color/cos_light_black" | 31 | android:textColor="@color/cos_light_black" |
| 30 | android:textSize="19sp" | 32 | android:textSize="19sp" |
| 31 | app:layout_constraintBottom_toBottomOf="parent" | 33 | app:layout_constraintBottom_toBottomOf="parent" | ... | ... |
| ... | @@ -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_shops_title" | 30 | android:text="@string/cos_coupon_shops_title" |
| 31 | + android:contentDescription="@string/cos_coupon_shops_title" | ||
| 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" | ... | ... |
| ... | @@ -274,6 +274,9 @@ | ... | @@ -274,6 +274,9 @@ |
| 274 | <string name="accessibility_phone">Τηλέφωνο</string> | 274 | <string name="accessibility_phone">Τηλέφωνο</string> |
| 275 | <string name="accessibility_address">Διεύθυνση</string> | 275 | <string name="accessibility_address">Διεύθυνση</string> |
| 276 | <string name="accessibility_shop_logo">Λογότυπο καταστήματος</string> | 276 | <string name="accessibility_shop_logo">Λογότυπο καταστήματος</string> |
| 277 | + <string name="accessibility_market_pass_info">Πληροφορίες</string> | ||
| 278 | + <string name="accessibility_market_pass_barcode_value">Αριθμός barcode</string> | ||
| 279 | + <string name="accessibility_market_pass_barcode">Barcode</string> | ||
| 277 | 280 | ||
| 278 | <string-array name="coupons_array"> | 281 | <string-array name="coupons_array"> |
| 279 | <item>Κουπόνια</item> | 282 | <item>Κουπόνια</item> | ... | ... |
-
Please register or login to post a comment