package com.dl7.mvp.module.manage.setting;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import com.dl7.mvp.R;
import com.dl7.mvp.widget.XFilePickerPreference;
import com.orhanobut.logger.Logger;
/**
* Created by long on 2016/9/29.
*/
public class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
public static final String NO_IMAGE_KEY = "setting_no_image";
public static final String SAVE_PATH_KEY = "setting_save_path";
public static final String DEFAULT_SAVE_PATH = "/storage/emulated/0/MvpApp";
private XFilePickerPreference mFilePickerPreference;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.pref_settings);
_initPreferences();
}
private void _initPreferences() {
mFilePickerPreference = (XFilePickerPreference) findPreference(SAVE_PATH_KEY);
}
@Override
public void onResume() {
super.onResume();
SharedPreferences sharedPreferences = getPreferenceScreen().getSharedPreferences();
mFilePickerPreference.setSummary(sharedPreferences.getString(SAVE_PATH_KEY, DEFAULT_SAVE_PATH));
sharedPreferences.registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause() {
super.onPause();
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(NO_IMAGE_KEY)) {
Logger.w(sharedPreferences.getBoolean(NO_IMAGE_KEY, false)+"");
} else if (key.equals(SAVE_PATH_KEY)) {
String path = sharedPreferences.getString(SAVE_PATH_KEY, "/sdcard");
mFilePickerPreference.setSummary(path);
}
}
}