Panagiotis Triantafyllou

my rewards accessibility

......@@ -10,6 +10,7 @@ import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;
......@@ -20,6 +21,9 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.cardview.widget.CardView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.fragment.app.Fragment;
import org.greenrobot.eventbus.EventBus;
......@@ -152,6 +156,75 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mFontCountDisabled);
}
//Accessibility
ViewCompat.setAccessibilityDelegate(mFontHeader, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.TextView");
info.setHeading(true);
}
});
mFontHeader.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
ViewCompat.setAccessibilityDelegate(mIvHistory, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
info.setContentDescription("Ιστορικό");
}
});
ViewCompat.setAccessibilityDelegate(mLlUserBadge, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
ViewCompat.setAccessibilityDelegate(mLlUserBadgeCentered, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
ViewCompat.setAccessibilityDelegate(mLlQuestionnaire, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
ViewCompat.setAccessibilityDelegate(mLlQuestionnaireCentered, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
ViewCompat.setAccessibilityDelegate(mCvVouchers, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
ViewCompat.setAccessibilityDelegate(mCvVouchersDisabled, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
info.setEnabled(false);
}
});
defineAndSortTiles();
createTiles();
......@@ -597,6 +670,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
if (getContext() != null) {
WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvDealsCountBadge, mFontDealsCountBadge);
}
ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
mLlTilesParent.addView(view);
}
/** Unified Coupons List */
......@@ -623,6 +705,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
if (getContext() != null) {
WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvUnifiedCountBadge, mFontUnifiedCountBadge);
}
ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
mLlTilesParent.addView(view);
}
/** Coupon List */
......@@ -649,6 +740,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
if (getContext() != null) {
WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvGiftsCountBadge, mFontGiftsCountBadge);
}
ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
mLlTilesParent.addView(view);
}
/** Box Badge */
......@@ -676,6 +776,15 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
if (getContext() != null) {
WarpUtils.renderCustomFont(getContext(), R.font.peridot_semi_bold, mTvBoxCountBadge, mFontBoxCountBadge);
}
ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
}
});
mLlTilesParent.addView(view);
}
}
......@@ -778,6 +887,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
.setPositiveButton(R.string.cos_dlg_positive_button2, (dialogPositive, whichPositive) -> {
dialogPositive.dismiss();
})
.setNegativeButton(R.string.cos_dlg_negative_button2, (dialogNegative, whichPositive) -> {
dialogNegative.dismiss();
})
.setCancelable(false)
.show();
}
......@@ -792,6 +904,9 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
.setPositiveButton(R.string.cos_dlg_return, (dialogPositive, whichPositive) -> {
dialogPositive.dismiss();
})
.setNegativeButton(R.string.cos_dlg_negative_button2, (dialogNegative, whichPositive) -> {
dialogNegative.dismiss();
})
.setCancelable(false)
.show();
}
......
......@@ -34,6 +34,7 @@
android:includeFontPadding="false"
android:maxLines="1"
android:text="@string/cos_coupons_header"
android:contentDescription="@string/cos_coupons_header"
android:textColor="@color/cos_light_black"
android:textSize="20sp" />
......@@ -41,6 +42,7 @@
android:id="@+id/iv_loyalty_history"
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="Ιστορικό"
android:src="@drawable/ic_history_black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
......@@ -681,6 +683,7 @@
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:maxLines="1"
android:contentDescription="@string/cos_vouchers_title"
android:text="@string/cos_vouchers_title"
android:textColor="@color/cos_light_black"
android:textSize="20sp" />
......@@ -754,6 +757,7 @@
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:maxLines="1"
android:contentDescription="@string/cos_vouchers_title"
android:text="@string/cos_vouchers_title"
android:textColor="@color/cos_light_black"
android:textSize="20sp" />
......