Showing
1 changed file
with
49 additions
and
2 deletions
| ... | @@ -435,11 +435,40 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup | ... | @@ -435,11 +435,40 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup |
| 435 | bottomSheetDialog.dismiss(); | 435 | bottomSheetDialog.dismiss(); |
| 436 | }); | 436 | }); |
| 437 | 437 | ||
| 438 | - // Static "Top Offers" row | 438 | + // Get user segments |
| 439 | + User filterUser = WarplyManagerHelper.getUser(); | ||
| 440 | + ArrayList<String> userSegments = (filterUser != null && filterUser.getUserSegmentsList() != null) | ||
| 441 | + ? filterUser.getUserSegmentsList() : new ArrayList<>(); | ||
| 442 | + boolean userHasGreenPass = userSegments.contains("GreenPass"); | ||
| 443 | + | ||
| 444 | + // 1. Eligibility rows (one per user segment, excluding GreenPass and personal) | ||
| 445 | + for (String segment : userSegments) { | ||
| 446 | + if ("GreenPass".equals(segment)) continue; | ||
| 447 | + if ("personal".equalsIgnoreCase(segment)) continue; | ||
| 448 | + | ||
| 449 | + View segmentRow = LayoutInflater.from(this).inflate(R.layout.item_filter_category, llFilterContainer, false); | ||
| 450 | + TextView tvSegmentName = segmentRow.findViewById(R.id.tv_category_name); | ||
| 451 | + ImageView ivSegmentArrow = segmentRow.findViewById(R.id.iv_arrow); | ||
| 452 | + tvSegmentName.setText(segment); | ||
| 453 | + WarpUtils.renderCustomFont(this, R.font.ping_lcg_regular, tvSegmentName); | ||
| 454 | + ivSegmentArrow.setVisibility(View.GONE); | ||
| 455 | + segmentRow.setTag(segment); | ||
| 456 | + segmentRow.setOnClickListener(v -> { | ||
| 457 | + bottomSheetDialog.dismiss(); | ||
| 458 | + Intent filterIntent = new Intent(HomeActivity.this, CouponsetsActivity.class); | ||
| 459 | + filterIntent.putExtra(CouponsetsActivity.EXTRA_CATEGORY, (String) v.getTag()); | ||
| 460 | + startActivity(filterIntent); | ||
| 461 | + }); | ||
| 462 | + llFilterContainer.addView(segmentRow); | ||
| 463 | + } | ||
| 464 | + | ||
| 465 | + // 2. Static "Top Offers" row | ||
| 439 | View topOffersRow = LayoutInflater.from(this).inflate(R.layout.item_filter_category, llFilterContainer, false); | 466 | View topOffersRow = LayoutInflater.from(this).inflate(R.layout.item_filter_category, llFilterContainer, false); |
| 440 | TextView tvTopOffers = topOffersRow.findViewById(R.id.tv_category_name); | 467 | TextView tvTopOffers = topOffersRow.findViewById(R.id.tv_category_name); |
| 468 | + ImageView ivTopOffersArrow = topOffersRow.findViewById(R.id.iv_arrow); | ||
| 441 | tvTopOffers.setText(getString(R.string.lbl_top_offers)); | 469 | tvTopOffers.setText(getString(R.string.lbl_top_offers)); |
| 442 | WarpUtils.renderCustomFont(this, R.font.ping_lcg_regular, tvTopOffers); | 470 | WarpUtils.renderCustomFont(this, R.font.ping_lcg_regular, tvTopOffers); |
| 471 | + ivTopOffersArrow.setVisibility(View.GONE); | ||
| 443 | topOffersRow.setTag(getString(R.string.lbl_top_offers)); | 472 | topOffersRow.setTag(getString(R.string.lbl_top_offers)); |
| 444 | topOffersRow.setOnClickListener(v -> { | 473 | topOffersRow.setOnClickListener(v -> { |
| 445 | bottomSheetDialog.dismiss(); | 474 | bottomSheetDialog.dismiss(); |
| ... | @@ -449,7 +478,25 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup | ... | @@ -449,7 +478,25 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup |
| 449 | }); | 478 | }); |
| 450 | llFilterContainer.addView(topOffersRow); | 479 | llFilterContainer.addView(topOffersRow); |
| 451 | 480 | ||
| 452 | - // Divider after Top Offers | 481 | + // 3. Static "Green" row (only if user has GreenPass) |
| 482 | + if (userHasGreenPass) { | ||
| 483 | + View greenRow = LayoutInflater.from(this).inflate(R.layout.item_filter_category, llFilterContainer, false); | ||
| 484 | + TextView tvGreenName = greenRow.findViewById(R.id.tv_category_name); | ||
| 485 | + ImageView ivGreenArrow = greenRow.findViewById(R.id.iv_arrow); | ||
| 486 | + tvGreenName.setText("Green"); | ||
| 487 | + WarpUtils.renderCustomFont(this, R.font.ping_lcg_regular, tvGreenName); | ||
| 488 | + ivGreenArrow.setVisibility(View.GONE); | ||
| 489 | + greenRow.setTag("Green"); | ||
| 490 | + greenRow.setOnClickListener(v -> { | ||
| 491 | + bottomSheetDialog.dismiss(); | ||
| 492 | + Intent filterIntent = new Intent(HomeActivity.this, CouponsetsActivity.class); | ||
| 493 | + filterIntent.putExtra(CouponsetsActivity.EXTRA_CATEGORY, (String) v.getTag()); | ||
| 494 | + startActivity(filterIntent); | ||
| 495 | + }); | ||
| 496 | + llFilterContainer.addView(greenRow); | ||
| 497 | + } | ||
| 498 | + | ||
| 499 | + // Divider after eligibilities, top offers and green | ||
| 453 | View divider = new View(this); | 500 | View divider = new View(this); |
| 454 | LinearLayout.LayoutParams dividerParams = new LinearLayout.LayoutParams( | 501 | LinearLayout.LayoutParams dividerParams = new LinearLayout.LayoutParams( |
| 455 | LinearLayout.LayoutParams.MATCH_PARENT, 1); | 502 | LinearLayout.LayoutParams.MATCH_PARENT, 1); | ... | ... |
-
Please register or login to post a comment