package com.liato.bankdroid.banking;
import com.liato.bankdroid.api.configuration.Field;
import com.liato.bankdroid.api.configuration.FieldBuilder;
import com.liato.bankdroid.api.configuration.ProviderConfiguration;
import com.liato.bankdroid.utils.FieldTypeMapper;
import java.util.LinkedList;
import java.util.List;
public class LegacyProviderConfiguration implements ProviderConfiguration {
public static final String USERNAME = "legacy.username";
public static final String PASSWORD = "legacy.password";
public static final String EXTRAS = "legacy.extras";
private List<Field> mConfiguration;
private Bank mLegacyBank;
public LegacyProviderConfiguration(Bank legacyBank) {
mLegacyBank = legacyBank;
}
@Override
public List<Field> getConnectionConfiguration() {
if (mConfiguration == null) {
mConfiguration = createConfiguration();
}
return mConfiguration;
}
private List<Field> createConfiguration() {
List<Field> configuration = new LinkedList<>();
configuration.add(new FieldBuilder(USERNAME)
.label(mLegacyBank.getContext().getString(mLegacyBank.getInputTitleUsername()))
.placeholder(mLegacyBank.getInputHintUsername())
.hidden(mLegacyBank.isInputUsernameHidden())
.required(true)
.fieldType(FieldTypeMapper.toFieldType(mLegacyBank.getInputTypeUsername()))
.build());
configuration.add(new FieldBuilder(PASSWORD)
.label(mLegacyBank.getContext().getString(mLegacyBank.getInputTitlePassword()))
.hidden(mLegacyBank.isInputPasswordHidden())
.secret(true)
.required(!mLegacyBank.isInputPasswordHidden())
.fieldType(FieldTypeMapper.toFieldType(mLegacyBank.getInputTypePassword()))
.build());
configuration.add(new FieldBuilder(EXTRAS)
.label(mLegacyBank.getContext().getString(mLegacyBank.getInputTitleExtras()))
.hidden(mLegacyBank.isInputExtrasHidden())
.fieldType(FieldTypeMapper.toFieldType(mLegacyBank.getInputTypeExtras()))
.build());
return configuration;
}
}