Panagiotis Triantafyllou

accessibility ccms

......@@ -9,12 +9,17 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
......@@ -108,6 +113,50 @@ public class ContextualActivity extends Activity implements View.OnClickListener
WarpUtils.renderCustomFont(this, R.font.peridot_semi_bold, mFontActivateButton);
WarpUtils.renderCustomFont(this, R.font.peridot_bold, mTvTerms);
//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(mIvBack, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
info.setContentDescription(getString(R.string.accessibility_back));
}
});
mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
mIvBack.postDelayed(() -> {
mIvBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
}, 1000);
ViewCompat.setAccessibilityDelegate(mLlActivateOffer, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
info.setContentDescription(getString(R.string.cos_dlg_positive_button));
}
});
mTvTermsValue.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
ViewCompat.setAccessibilityDelegate(mLlTerms, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
info.setContentDescription(getString(R.string.cos_coupon_terms_title));
info.setStateDescription(getString(R.string.accessibility_collapse));
}
});
initViews();
}
......@@ -143,11 +192,38 @@ public class ContextualActivity extends Activity implements View.OnClickListener
if (view.getId() == R.id.ll_terms_inner) {
if (mIsTermsPressed) {
mIsTermsPressed = false;
mTvTermsValue.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
ViewCompat.setAccessibilityDelegate(mLlTerms, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
info.setContentDescription(getString(R.string.cos_coupon_terms_title));
info.setStateDescription(getString(R.string.accessibility_collapse));
}
});
mTvTermsValue.setVisibility(View.GONE);
mIvTermsArrow.setImageDrawable(getDrawable(R.drawable.ic_down_dark_new));
} else {
mIsTermsPressed = true;
ViewCompat.setAccessibilityDelegate(mLlTerms, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.Button");
info.setContentDescription(getString(R.string.cos_coupon_terms_title));
info.setStateDescription(getString(R.string.accessibility_expand));
}
});
mTvTermsValue.setVisibility(View.VISIBLE);
mTvTermsValue.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
mTvTermsValue.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
mIvTermsArrow.setImageDrawable(getDrawable(R.drawable.ic_up_dark_new));
}
}
......
......@@ -18,6 +18,7 @@
android:layout_marginStart="16dp"
android:scaleType="centerInside"
android:src="@drawable/ic_back"
android:contentDescription="@string/accessibility_back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......@@ -61,6 +62,7 @@
android:layout_width="match_parent"
android:layout_height="222dp"
android:scaleType="centerCrop"
android:contentDescription="@string/accessibility_coupon_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/carousel_banner" />
......