¿Procesar el valor de preferencia antes de guardar en Android?

Necesito encriptar mi contraseña antes de guardarla en la base de datos local de Android. Todo funciona bien sin cifrado, tengo preferencias.xml y así. ¿Cómo puedo llamar a una funcióndespué ¿Cambio el valor de preferencia (por ejemplo, contraseña)? Aquí está mi código:

public class Preferences extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);

            // Get the custom preference
            Preference customPref = (Preference) findPreference("pass");

            customPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener(){
                @Override
                public boolean onPreferenceChange(Preference preference, Object newValue) {
                String crypto = SimpleCrypto.encrypt("MYSECRETKEY", newValue.toString()); // encrypt
                // Here is where I'm wrong, I guess.
                SharedPreferences settings = getSharedPreferences("preferences", MODE_PRIVATE);
                SharedPreferences.Editor editor = settings.edit();
                editor.putString("pass", crypto);
                editor.commit();
            });
    }
}

P.S: así, cuando cambio la contraseña, almacena la contraseña sin cifrar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta