add OnSharedPreferenceChangeListener