Showing
2 changed files
with
119 additions
and
0 deletions
... | @@ -10,6 +10,7 @@ import android.text.TextUtils; | ... | @@ -10,6 +10,7 @@ import android.text.TextUtils; |
10 | import android.view.LayoutInflater; | 10 | import android.view.LayoutInflater; |
11 | import android.view.View; | 11 | import android.view.View; |
12 | import android.view.ViewGroup; | 12 | import android.view.ViewGroup; |
13 | +import android.view.accessibility.AccessibilityEvent; | ||
13 | import android.widget.HorizontalScrollView; | 14 | import android.widget.HorizontalScrollView; |
14 | import android.widget.ImageView; | 15 | import android.widget.ImageView; |
15 | import android.widget.LinearLayout; | 16 | import android.widget.LinearLayout; |
... | @@ -20,6 +21,9 @@ import androidx.annotation.NonNull; | ... | @@ -20,6 +21,9 @@ import androidx.annotation.NonNull; |
20 | import androidx.appcompat.app.AlertDialog; | 21 | import androidx.appcompat.app.AlertDialog; |
21 | import androidx.cardview.widget.CardView; | 22 | import androidx.cardview.widget.CardView; |
22 | import androidx.constraintlayout.widget.ConstraintLayout; | 23 | import androidx.constraintlayout.widget.ConstraintLayout; |
24 | +import androidx.core.view.AccessibilityDelegateCompat; | ||
25 | +import androidx.core.view.ViewCompat; | ||
26 | +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; | ||
23 | import androidx.fragment.app.Fragment; | 27 | import androidx.fragment.app.Fragment; |
24 | 28 | ||
25 | import org.greenrobot.eventbus.EventBus; | 29 | import org.greenrobot.eventbus.EventBus; |
... | @@ -152,6 +156,75 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -152,6 +156,75 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
152 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mFontCountDisabled); | 156 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mFontCountDisabled); |
153 | } | 157 | } |
154 | 158 | ||
159 | + //Accessibility | ||
160 | + ViewCompat.setAccessibilityDelegate(mFontHeader, new AccessibilityDelegateCompat() { | ||
161 | + @Override | ||
162 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
163 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
164 | + info.setClassName("android.widget.TextView"); | ||
165 | + info.setHeading(true); | ||
166 | + } | ||
167 | + }); | ||
168 | + mFontHeader.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); | ||
169 | + | ||
170 | + ViewCompat.setAccessibilityDelegate(mIvHistory, new AccessibilityDelegateCompat() { | ||
171 | + @Override | ||
172 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
173 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
174 | + info.setClassName("android.widget.Button"); | ||
175 | + info.setContentDescription("Ιστορικό"); | ||
176 | + } | ||
177 | + }); | ||
178 | + | ||
179 | + ViewCompat.setAccessibilityDelegate(mLlUserBadge, new AccessibilityDelegateCompat() { | ||
180 | + @Override | ||
181 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
182 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
183 | + info.setClassName("android.widget.Button"); | ||
184 | + } | ||
185 | + }); | ||
186 | + | ||
187 | + ViewCompat.setAccessibilityDelegate(mLlUserBadgeCentered, new AccessibilityDelegateCompat() { | ||
188 | + @Override | ||
189 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
190 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
191 | + info.setClassName("android.widget.Button"); | ||
192 | + } | ||
193 | + }); | ||
194 | + | ||
195 | + ViewCompat.setAccessibilityDelegate(mLlQuestionnaire, new AccessibilityDelegateCompat() { | ||
196 | + @Override | ||
197 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
198 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
199 | + info.setClassName("android.widget.Button"); | ||
200 | + } | ||
201 | + }); | ||
202 | + | ||
203 | + ViewCompat.setAccessibilityDelegate(mLlQuestionnaireCentered, new AccessibilityDelegateCompat() { | ||
204 | + @Override | ||
205 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
206 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
207 | + info.setClassName("android.widget.Button"); | ||
208 | + } | ||
209 | + }); | ||
210 | + | ||
211 | + ViewCompat.setAccessibilityDelegate(mCvVouchers, new AccessibilityDelegateCompat() { | ||
212 | + @Override | ||
213 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
214 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
215 | + info.setClassName("android.widget.Button"); | ||
216 | + } | ||
217 | + }); | ||
218 | + | ||
219 | + ViewCompat.setAccessibilityDelegate(mCvVouchersDisabled, new AccessibilityDelegateCompat() { | ||
220 | + @Override | ||
221 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
222 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
223 | + info.setClassName("android.widget.Button"); | ||
224 | + info.setEnabled(false); | ||
225 | + } | ||
226 | + }); | ||
227 | + | ||
155 | defineAndSortTiles(); | 228 | defineAndSortTiles(); |
156 | createTiles(); | 229 | createTiles(); |
157 | 230 | ||
... | @@ -597,6 +670,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -597,6 +670,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
597 | if (getContext() != null) { | 670 | if (getContext() != null) { |
598 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvDealsCountBadge, mFontDealsCountBadge); | 671 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvDealsCountBadge, mFontDealsCountBadge); |
599 | } | 672 | } |
673 | + | ||
674 | + ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() { | ||
675 | + @Override | ||
676 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
677 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
678 | + info.setClassName("android.widget.Button"); | ||
679 | + } | ||
680 | + }); | ||
681 | + | ||
600 | mLlTilesParent.addView(view); | 682 | mLlTilesParent.addView(view); |
601 | } | 683 | } |
602 | /** Unified Coupons List */ | 684 | /** Unified Coupons List */ |
... | @@ -623,6 +705,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -623,6 +705,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
623 | if (getContext() != null) { | 705 | if (getContext() != null) { |
624 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvUnifiedCountBadge, mFontUnifiedCountBadge); | 706 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvUnifiedCountBadge, mFontUnifiedCountBadge); |
625 | } | 707 | } |
708 | + | ||
709 | + ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() { | ||
710 | + @Override | ||
711 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
712 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
713 | + info.setClassName("android.widget.Button"); | ||
714 | + } | ||
715 | + }); | ||
716 | + | ||
626 | mLlTilesParent.addView(view); | 717 | mLlTilesParent.addView(view); |
627 | } | 718 | } |
628 | /** Coupon List */ | 719 | /** Coupon List */ |
... | @@ -649,6 +740,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -649,6 +740,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
649 | if (getContext() != null) { | 740 | if (getContext() != null) { |
650 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvGiftsCountBadge, mFontGiftsCountBadge); | 741 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvGiftsCountBadge, mFontGiftsCountBadge); |
651 | } | 742 | } |
743 | + | ||
744 | + ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() { | ||
745 | + @Override | ||
746 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
747 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
748 | + info.setClassName("android.widget.Button"); | ||
749 | + } | ||
750 | + }); | ||
751 | + | ||
652 | mLlTilesParent.addView(view); | 752 | mLlTilesParent.addView(view); |
653 | } | 753 | } |
654 | /** Box Badge */ | 754 | /** Box Badge */ |
... | @@ -676,6 +776,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -676,6 +776,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
676 | if (getContext() != null) { | 776 | if (getContext() != null) { |
677 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvBoxCountBadge, mFontBoxCountBadge); | 777 | WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvBoxCountBadge, mFontBoxCountBadge); |
678 | } | 778 | } |
779 | + | ||
780 | + ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() { | ||
781 | + @Override | ||
782 | + public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) { | ||
783 | + super.onInitializeAccessibilityNodeInfo(host, info); | ||
784 | + info.setClassName("android.widget.Button"); | ||
785 | + } | ||
786 | + }); | ||
787 | + | ||
679 | mLlTilesParent.addView(view); | 788 | mLlTilesParent.addView(view); |
680 | } | 789 | } |
681 | } | 790 | } |
... | @@ -778,6 +887,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -778,6 +887,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
778 | .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> { | 887 | .setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> { |
779 | dialogPositive.dismiss(); | 888 | dialogPositive.dismiss(); |
780 | }) | 889 | }) |
890 | + .setNegativeButton(R.string.cos_dlg_negative_button2, (dialogNegative, whichPositive) -> { | ||
891 | + dialogNegative.dismiss(); | ||
892 | + }) | ||
781 | .setCancelable(false) | 893 | .setCancelable(false) |
782 | .show(); | 894 | .show(); |
783 | } | 895 | } |
... | @@ -792,6 +904,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener | ... | @@ -792,6 +904,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener |
792 | .setPositiveButton(R.string.cos_dlg_return, (dialogPositive, whichPositive) -> { | 904 | .setPositiveButton(R.string.cos_dlg_return, (dialogPositive, whichPositive) -> { |
793 | dialogPositive.dismiss(); | 905 | dialogPositive.dismiss(); |
794 | }) | 906 | }) |
907 | + .setNegativeButton(R.string.cos_dlg_negative_button2, (dialogNegative, whichPositive) -> { | ||
908 | + dialogNegative.dismiss(); | ||
909 | + }) | ||
795 | .setCancelable(false) | 910 | .setCancelable(false) |
796 | .show(); | 911 | .show(); |
797 | } | 912 | } | ... | ... |
... | @@ -34,6 +34,7 @@ | ... | @@ -34,6 +34,7 @@ |
34 | android:includeFontPadding="false" | 34 | android:includeFontPadding="false" |
35 | android:maxLines="1" | 35 | android:maxLines="1" |
36 | android:text="@string/cos_coupons_header" | 36 | android:text="@string/cos_coupons_header" |
37 | + android:contentDescription="@string/cos_coupons_header" | ||
37 | android:textColor="@color/cos_light_black" | 38 | android:textColor="@color/cos_light_black" |
38 | android:textSize="20sp" /> | 39 | android:textSize="20sp" /> |
39 | 40 | ||
... | @@ -41,6 +42,7 @@ | ... | @@ -41,6 +42,7 @@ |
41 | android:id="@+id/iv_loyalty_history" | 42 | android:id="@+id/iv_loyalty_history" |
42 | android:layout_width="24dp" | 43 | android:layout_width="24dp" |
43 | android:layout_height="24dp" | 44 | android:layout_height="24dp" |
45 | + android:contentDescription="Ιστορικό" | ||
44 | android:src="@drawable/ic_history_black" | 46 | android:src="@drawable/ic_history_black" |
45 | app:layout_constraintBottom_toBottomOf="parent" | 47 | app:layout_constraintBottom_toBottomOf="parent" |
46 | app:layout_constraintStart_toStartOf="parent" | 48 | app:layout_constraintStart_toStartOf="parent" |
... | @@ -681,6 +683,7 @@ | ... | @@ -681,6 +683,7 @@ |
681 | android:layout_height="wrap_content" | 683 | android:layout_height="wrap_content" |
682 | android:includeFontPadding="false" | 684 | android:includeFontPadding="false" |
683 | android:maxLines="1" | 685 | android:maxLines="1" |
686 | + android:contentDescription="@string/cos_vouchers_title" | ||
684 | android:text="@string/cos_vouchers_title" | 687 | android:text="@string/cos_vouchers_title" |
685 | android:textColor="@color/cos_light_black" | 688 | android:textColor="@color/cos_light_black" |
686 | android:textSize="20sp" /> | 689 | android:textSize="20sp" /> |
... | @@ -754,6 +757,7 @@ | ... | @@ -754,6 +757,7 @@ |
754 | android:layout_height="wrap_content" | 757 | android:layout_height="wrap_content" |
755 | android:includeFontPadding="false" | 758 | android:includeFontPadding="false" |
756 | android:maxLines="1" | 759 | android:maxLines="1" |
760 | + android:contentDescription="@string/cos_vouchers_title" | ||
757 | android:text="@string/cos_vouchers_title" | 761 | android:text="@string/cos_vouchers_title" |
758 | android:textColor="@color/cos_light_black" | 762 | android:textColor="@color/cos_light_black" |
759 | android:textSize="20sp" /> | 763 | android:textSize="20sp" /> | ... | ... |
-
Please register or login to post a comment