From ae625e60cfa96d173e546dbcfff55c1f4da48c8e Mon Sep 17 00:00:00 2001 From: Gabriel Luong Date: Wed, 17 Mar 2021 19:37:28 -0400 Subject: [PATCH] For #18247 - [Add card] Populate the Credit card expiry year drop down --- .../creditcards/CreditCardEditorFragment.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt index b8b34bec2..97bb07dce 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt @@ -28,6 +28,7 @@ class CreditCardEditorFragment : Fragment(R.layout.fragment_credit_card_editor) setupButtonClickListeners(view) setupExpiryMonthDropDown(view) + setupExpiryYearDropDown(view) } /** @@ -59,8 +60,28 @@ class CreditCardEditorFragment : Fragment(R.layout.fragment_credit_card_editor) view.expiry_month_drop_down.adapter = adapter } + /** + * Setup the expiry year dropdown with the latest 10 years. + */ + private fun setupExpiryYearDropDown(view: View) { + val adapter = + ArrayAdapter(view.context, android.R.layout.simple_spinner_dropdown_item) + + val calendar = Calendar.getInstance() + val currentYear = calendar.get(Calendar.YEAR) + + for (year in currentYear until currentYear + NUMBER_OF_YEARS_TO_SHOW) { + adapter.add(year.toString()) + } + + view.expiry_year_drop_down.adapter = adapter + } + companion object { // Number of months in a year (0-indexed). private const val NUMBER_OF_MONTHS = 11 + + // Number of years to show in the expiry year dropdown. + private const val NUMBER_OF_YEARS_TO_SHOW = 10 } }