93 lines
2.9 KiB
Java
93 lines
2.9 KiB
Java
/**
|
|
* @author Twenty Codes
|
|
* @author ricky barrette
|
|
*/
|
|
package com.TwentyCodes.android.SweetDreamsLib;
|
|
|
|
|
|
import com.TwentyCodes.android.SweetSoundsLite.R;
|
|
|
|
import android.content.SharedPreferences;
|
|
import android.os.Bundle;
|
|
import android.preference.Preference;
|
|
import android.preference.PreferenceActivity;
|
|
import android.preference.Preference.OnPreferenceChangeListener;
|
|
|
|
/**
|
|
* this is a settings activity for WhiteNoise. it handles user changeable settings and saves them
|
|
* @author ricky barrette
|
|
*/
|
|
public class Settings extends PreferenceActivity implements OnPreferenceChangeListener {
|
|
|
|
//shared_prefs file name
|
|
protected static final String SETTINGS = "settings";
|
|
|
|
//the following strings are for sound track selection
|
|
protected static final String SOUNDS = "sounds";
|
|
protected static final String SOUND_RIVER = "Rainy River";
|
|
protected static final String SOUND_BEACH = "Beach";
|
|
protected static final String SOUND_CRICKETS = "Crickets";
|
|
protected static final String SOUND_FALLS = "Water Falls";
|
|
protected static final String SOUND_AC = "Air Conditioner";
|
|
|
|
//the following strings are for saving volume level from the audiomanager.STREAM_MUSIC so we can restore them back when the app quits
|
|
protected static final String MUSIC_VOLUME = "music_volume";
|
|
|
|
//the following strings are for timer preference
|
|
protected static final String TIMER_ENABLED = "timer_enabled";
|
|
protected static final String TIMER_LENGTH = "timer_length";
|
|
protected static final String TIMER_EXIT_ON_FINISH = "timer_exit_on_finish";
|
|
|
|
/**
|
|
* Called when the activity is first created.
|
|
*/
|
|
@Override
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
|
|
//set shared_prefs name
|
|
getPreferenceManager().setSharedPreferencesName(SETTINGS);
|
|
|
|
//load preferences xml
|
|
this.addPreferencesFromResource(R.xml.settings);
|
|
|
|
//get shared_prefs
|
|
SharedPreferences settings = getPreferenceManager().getSharedPreferences();
|
|
|
|
/*
|
|
* Initialize preference sound
|
|
* set OnPreferenceChangeListener
|
|
* and set summary to current settings
|
|
*/
|
|
Preference pSounds = findPreference(SOUNDS);
|
|
pSounds.setOnPreferenceChangeListener(this);
|
|
pSounds.setSummary(settings.getString(SOUNDS, SOUND_RIVER));
|
|
|
|
/*
|
|
* Initialize preference timerLength
|
|
* set OnPreferenceChangeListener
|
|
* and set summary to current settings
|
|
*/
|
|
Preference timerLength = findPreference(TIMER_LENGTH);
|
|
timerLength.setOnPreferenceChangeListener(this);
|
|
try {
|
|
timerLength.setSummary(settings.getInt(TIMER_LENGTH, 5));
|
|
} catch (Exception e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* called when a preference is changed
|
|
* @param preference
|
|
* @param newValue
|
|
* @return
|
|
* @author ricky barrette
|
|
*/
|
|
@Override
|
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
preference.setSummary(newValue.toString());
|
|
return true;
|
|
}
|
|
} |