Panagiotis Triantafyllou

accessibility telco, minor fixes

......@@ -256,6 +256,7 @@ public class CouponShareActivity extends Activity implements View.OnClickListene
});
LinearLayout parent = bottomSheetDialog.findViewById(R.id.ll_share_dialog_view_inner);
TextView header = bottomSheetDialog.findViewById(R.id.tv_sender_value);
WarpUtils.renderCustomFont(this, R.font.bt_cosmo_bold, header);
RelativeLayout dialogClose = (RelativeLayout) bottomSheetDialog.findViewById(R.id.rl_sender_list_close);
dialogClose.setOnClickListener(view -> bottomSheetDialog.dismiss());
......
......@@ -9,13 +9,18 @@ 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.content.ContextCompat;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
......@@ -103,6 +108,51 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
mTvCampaignTitle, mTvSeeMoreValue);
WarpUtils.renderCustomFont(this, R.font.peridot_bold, mFontButtonSeeMore);
//Accessibility
ViewCompat.setAccessibilityDelegate(mTvTelcoHeaderTitle, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.TextView");
info.setContentDescription(mCCMS != null ? mCCMS.getTitleOffer() : "");
info.setHeading(true);
}
});
mTvTelcoHeaderTitle.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));
}
});
mTvSeeMoreValue.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
ViewCompat.setAccessibilityDelegate(mLlSeeMore, 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_see_more2));
info.setStateDescription(getString(R.string.accessibility_collapse));
}
});
initViews();
}
......@@ -136,12 +186,37 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
}
if (view.getId() == R.id.ll_see_more) {
if (mIsSeeMoreShown) {
mTvSeeMoreValue.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
ViewCompat.setAccessibilityDelegate(mLlSeeMore, 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_see_more2));
info.setStateDescription(getString(R.string.accessibility_collapse));
}
});
mTvSeeMoreValue.setVisibility(View.GONE);
ImageView seeMoreButtonArrow = mLlSeeMore.findViewById(R.id.iv_see_more_arrow);
seeMoreButtonArrow.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_down_dark_new));
mIsSeeMoreShown = false;
} else {
ViewCompat.setAccessibilityDelegate(mLlSeeMore, 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_see_more2));
info.setStateDescription(getString(R.string.accessibility_expand));
}
});
mTvSeeMoreValue.setVisibility(View.VISIBLE);
mTvSeeMoreValue.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
mTvSeeMoreValue.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
ImageView seeMoreButtonArrow = mLlSeeMore.findViewById(R.id.iv_see_more_arrow);
seeMoreButtonArrow.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_dark_new));
mIsSeeMoreShown = true;
......@@ -154,6 +229,7 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
// ===========================================================
private void initViews() {
if (mCCMS != null) {
mTvTelcoHeaderTitle.setText(mCCMS.getTitleOffer());
mTvCampaignTitle.setText(mCCMS.getDescription());
mTvTelcoGiftValue.setText(mCCMS.getGiftValue());
......@@ -175,6 +251,7 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
.load(R.drawable.ic_cosmote_logo_horizontal_grey)
.into(mIvCampaignPhoto);
}
}
mIvBack.setOnClickListener(this);
mLlActivateOffer.setOnClickListener(this);
mLlSeeMore.setOnClickListener(this);
......@@ -198,7 +275,27 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
bottomSheetDialog.dismiss();
});
if (mCCMS.getEligibleAssets() != null && mCCMS.getEligibleAssets().size() > 0) {
ViewCompat.setAccessibilityDelegate(tvHeader, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.TextView");
info.setContentDescription(getString(R.string.cos_coupon_share_telco));
info.setHeading(true);
}
});
tvHeader.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
ViewCompat.setAccessibilityDelegate(dialogClose, 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_close));
}
});
if (mCCMS != null && mCCMS.getEligibleAssets() != null && mCCMS.getEligibleAssets().size() > 0) {
for (int i = 0; i < mCCMS.getEligibleAssets().size(); i++) {
LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout v = (LinearLayout) vi.inflate(R.layout.item_share, null);
......@@ -211,6 +308,16 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
bottomSheetDialog.dismiss();
askActivateDialog();
});
ViewCompat.setAccessibilityDelegate(textView, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, @NonNull AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setClassName("android.widget.TextView");
info.setContentDescription(WarplyManagerHelper.formatPhoneNumber(textView.getText().toString()));
}
});
parent.addView(v, 0, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
......
......@@ -375,42 +375,6 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
}
return;
}
/** Active Unified Banner */
// if (view.getId() == R.id.rv_sm_count) {
// if (!mUnifiedCountPressed) {
// mUnifiedCountPressed = true;
// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
// .concat(":")
// .concat("ActiveMarketBanner"));
//
// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
// analyticsEvent.setEventName("did_tap_market_active_badge");
// analyticsEvent.setParameter("screen", "Loyalty Wallet");
// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
//
// Intent intent = new Intent(getContext(), ActiveUnifiedCouponsActivity.class);
// startActivity(intent);
// }
// return;
// }
/** Active Coupons Banner */
// if (view.getId() == R.id.rv_gifts_count) {
// if (!mGiftsCountPressed) {
// mGiftsCountPressed = true;
// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
// .concat(":")
// .concat("ActiveLoyaltyBanner"));
//
// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
// analyticsEvent.setEventName("did_tap_gifts_for_you_active_badge");
// analyticsEvent.setParameter("screen", "Loyalty Wallet");
// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
//
// Intent intent = new Intent(getContext(), ActiveCouponsActivity.class);
// startActivity(intent);
// }
// return;
// }
/** Coupons History */
if (view.getId() == R.id.cl_deals_win_inner) {
if (!mHistoryPressed) {
......@@ -429,25 +393,6 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
}
return;
}
/** Active Box Banner */
// if (view.getId() == R.id.rv_box_count) {
// if (!mBoxCountPressed) {
// mBoxCountPressed = true;
// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
// .concat(":")
// .concat("ActiveBoxBanner"));
//
// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
// analyticsEvent.setEventName("did_tap_box_active_badge");
// analyticsEvent.setParameter("screen", "Loyalty Wallet");
// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
//
// ActiveBoxCouponEventModel activeBoxEventModel = new ActiveBoxCouponEventModel();
// activeBoxEventModel.setPressed(true);
// EventBus.getDefault().post(new WarplyEventBusManager(activeBoxEventModel));
// }
// return;
// }
/** Unified History */
if (view.getId() == R.id.cl_market_inner) {
if (!mHistoryMarketPressed) {
......@@ -496,26 +441,7 @@ public class MyRewardsFragment extends Fragment implements View.OnClickListener
VouchersActivityEventModel vouchersActivity = new VouchersActivityEventModel();
EventBus.getDefault().post(new WarplyEventBusManager(vouchersActivity));
return;
}
/** Active Deals Banner */
// if (view.getId() == R.id.rv_deals_count) {
// if (!mDfyPressed) {
// mDfyPressed = true;
// WarplyAnalyticsManager.logTrackersEvent(getContext(), "click", ("LoyaltyWalletScreen")
// .concat(":")
// .concat("ActiveDealsBanner"));
//
// LoyaltySDKFirebaseEventModel analyticsEvent = new LoyaltySDKFirebaseEventModel();
// analyticsEvent.setEventName("did_tap_deals_for_you_active_badge");
// analyticsEvent.setParameter("screen", "Loyalty Wallet");
// EventBus.getDefault().post(new WarplyEventBusManager(analyticsEvent));
//
// ActiveDFYCouponEventModel activeCouponEventModel = new ActiveDFYCouponEventModel();
// activeCouponEventModel.setPressed(true);
// EventBus.getDefault().post(new WarplyEventBusManager(activeCouponEventModel));
// }
// }
}
@Override
......
......@@ -18,6 +18,7 @@
android:layout_marginStart="16dp"
android:scaleType="centerInside"
android:src="@drawable/ic_close"
android:contentDescription="@string/accessibility_close"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......@@ -65,6 +66,7 @@
android:layout_height="222dp"
android:layout_centerHorizontal="true"
android:scaleType="centerCrop"
android:contentDescription="@string/accessibility_coupon_image"
tools:src="@drawable/carousel_banner" />
<LinearLayout
......