From 8e4f496dd1b41d0fe2b30496dd473e168daf95fe Mon Sep 17 00:00:00 2001 From: Douglas Sigelbaum Date: Wed, 14 Jun 2017 11:59:41 -0700 Subject: Autofill sample: Use custom adapter for cc exp years. Bug: 38182790 Test: manual Change-Id: Ieef7e94664b973781e7320c04cdb6d3b3af14eeb --- .../autofillframework/app/CreditCardActivity.kt | 25 +++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/app') diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/app/CreditCardActivity.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/app/CreditCardActivity.kt index d804311a..c8136ed3 100644 --- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/app/CreditCardActivity.kt +++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/app/CreditCardActivity.kt @@ -22,14 +22,20 @@ import android.support.v7.app.AppCompatActivity import android.widget.ArrayAdapter import com.example.android.autofillframework.R import kotlinx.android.synthetic.main.credit_card_activity.clear +import kotlinx.android.synthetic.main.credit_card_activity.creditCardNumberField import kotlinx.android.synthetic.main.credit_card_activity.expirationDay import kotlinx.android.synthetic.main.credit_card_activity.expirationMonth import kotlinx.android.synthetic.main.credit_card_activity.expirationYear import kotlinx.android.synthetic.main.credit_card_activity.submit +import java.util.Calendar class CreditCardActivity : AppCompatActivity() { + private val CC_EXP_YEARS_COUNT = 5 + + private val years: Array = arrayOfNulls(CC_EXP_YEARS_COUNT) + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.credit_card_activity) @@ -45,16 +51,25 @@ class CreditCardActivity : AppCompatActivity() { monthAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) expirationMonth.adapter = monthAdapter - val yearAdapter = ArrayAdapter.createFromResource(this, R.array.year_array, android.R.layout.simple_spinner_item) - yearAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) - expirationYear.adapter = yearAdapter - + val year = Calendar.getInstance().get(Calendar.YEAR) + for (i in years.indices) { + years[i] = Integer.toString(year + i) + } + expirationYear.adapter = + object : ArrayAdapter(this, android.R.layout.simple_spinner_item, years) { + override fun getAutofillOptions(): Array { + return years + } + } submit.setOnClickListener { submitCcInfo() } clear.setOnClickListener { resetFields() } } private fun resetFields() { - //TODO + creditCardNumberField.setText("") + expirationDay.setSelection(0) + expirationMonth.setSelection(0) + expirationYear.setSelection(0) } /** -- cgit v1.2.3