package org.primftpd.prefs;
import org.primftpd.util.EncryptionUtil;
import org.primftpd.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import android.content.Context;
import android.preference.EditTextPreference;
import android.util.AttributeSet;
public class EncryptingEditTextPreference extends EditTextPreference
{
public EncryptingEditTextPreference(Context context)
{
super(context);
}
public EncryptingEditTextPreference(
Context context,
AttributeSet attrs,
int defStyle)
{
super(context, attrs, defStyle);
}
public EncryptingEditTextPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
}
protected static final Logger logger = LoggerFactory.getLogger(EncryptingEditTextPreference.class);
@Override
public String getText()
{
logger.debug("getText()");
return "";
}
@Override
public void setText(String text)
{
logger.debug("setText()");
if (StringUtils.isBlank(text)) {
logger.debug("is blank");
super.setText(null);
return;
}
super.setText(EncryptionUtil.encrypt(text));
}
@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue)
{
super.setText(restoreValue
? getPersistedString(null)
: (String) defaultValue);
}
}