in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/edgecases/MultiplePartitionsActivity.java [54:107]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.multiple_partitions_activity);
mCustomVirtualView = findViewById(R.id.custom_view);
mCredentialsPartition =
mCustomVirtualView.addPartition(getString(R.string.partition_credentials));
mCredentialsPartition.addLine("username", View.AUTOFILL_TYPE_TEXT,
getString(R.string.username_label),
" ", false, View.AUTOFILL_HINT_USERNAME);
mCredentialsPartition.addLine("password", View.AUTOFILL_TYPE_TEXT,
getString(R.string.password_label),
" ", true, View.AUTOFILL_HINT_PASSWORD);
int ccExpirationType = View.AUTOFILL_TYPE_DATE;
// TODO: add a checkbox to switch between text / date instead
Intent intent = getIntent();
if (intent != null) {
int newType = intent.getIntExtra("dateType", -1);
if (newType != -1) {
ccExpirationType = newType;
String typeMessage = getString(R.string.message_credit_card_expiration_type,
Util.getAutofillTypeAsString(ccExpirationType));
// TODO: display type in a header or proper status widget
Toast.makeText(getApplicationContext(), typeMessage, Toast.LENGTH_LONG).show();
}
}
mCcPartition = mCustomVirtualView.addPartition(getString(R.string.partition_credit_card));
mCcPartition.addLine("ccNumber", View.AUTOFILL_TYPE_TEXT,
getString(R.string.credit_card_number_label),
" ", true, View.AUTOFILL_HINT_CREDIT_CARD_NUMBER);
mCcPartition.addLine("ccDay", View.AUTOFILL_TYPE_TEXT,
getString(R.string.credit_card_expiration_day_label),
" ", true, View.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY);
mCcPartition.addLine("ccMonth", ccExpirationType,
getString(R.string.credit_card_expiration_month_label),
" ", true, View.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH);
mCcPartition.addLine("ccYear", View.AUTOFILL_TYPE_TEXT,
getString(R.string.credit_card_expiration_year_label),
" ", true, View.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR);
mCcPartition.addLine("ccDate", ccExpirationType,
getString(R.string.credit_card_expiration_date_label),
" ", true, View.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE);
mCcPartition.addLine("ccSecurityCode", View.AUTOFILL_TYPE_TEXT,
getString(R.string.credit_card_security_code_label),
" ", true, View.AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE);
mAutofillManager = getSystemService(AutofillManager.class);
findViewById(R.id.clear).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
resetFields();
mCustomVirtualView.resetPositions();
mAutofillManager.cancel();
}
});
}