1bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler/* 2bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * Copyright (C) 2009 The Android Open Source Project 3bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * 4bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * Licensed under the Apache License, Version 2.0 (the "License"); 5bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * you may not use this file except in compliance with the License. 6bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * You may obtain a copy of the License at 7bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * 8bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * http://www.apache.org/licenses/LICENSE-2.0 9bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * 10bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * Unless required by applicable law or agreed to in writing, software 11bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * distributed under the License is distributed on an "AS IS" BASIS, 12bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * See the License for the specific language governing permissions and 14bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * limitations under the License. 15bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler */ 16bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 17bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerpackage com.android.deskclock; 18bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 19bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.app.ActionBar; 20bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.content.Intent; 21bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.media.AudioManager; 22bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.os.Bundle; 23bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.preference.CheckBoxPreference; 24bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.preference.ListPreference; 25bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.preference.Preference; 26bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.preference.PreferenceActivity; 27bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.preference.PreferenceScreen; 28bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.provider.Settings; 29bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.view.Menu; 30bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerimport android.view.MenuItem; 31bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 32bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler/** 33bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler * Settings for the Alarm Clock Dream (com.android.deskclock.Screensaver). 34bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler */ 35bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandlerpublic class ScreensaverSettingsActivity extends PreferenceActivity 36bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler implements Preference.OnPreferenceChangeListener { 37bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 38bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler static final String KEY_CLOCK_STYLE = 39bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler "screensaver_clock_style"; 40bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler static final String KEY_NIGHT_MODE = 41bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler "screensaver_night_mode"; 42bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 43bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler @Override 44bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler protected void onCreate(Bundle savedInstanceState) { 45bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler super.onCreate(savedInstanceState); 46bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler addPreferencesFromResource(R.xml.dream_settings); 47bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler } 48bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 49bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler @Override 50bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler protected void onResume() { 51bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler super.onResume(); 52bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler refresh(); 53bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler } 54bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 55bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler @Override 56bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler public boolean onPreferenceChange(Preference pref, Object newValue) { 57bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler if (KEY_CLOCK_STYLE.equals(pref.getKey())) { 58bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler final ListPreference listPref = (ListPreference) pref; 59bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler final int idx = listPref.findIndexOfValue((String) newValue); 60bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler listPref.setSummary(listPref.getEntries()[idx]); 61bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler } else if (KEY_NIGHT_MODE.equals(pref.getKey())) { 62bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler boolean state = ((CheckBoxPreference) pref).isChecked(); 63bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler } 64bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler return true; 65bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler } 66bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 67bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler private void refresh() { 68bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler ListPreference listPref = (ListPreference) findPreference(KEY_CLOCK_STYLE); 69bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler listPref.setSummary(listPref.getEntry()); 70bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler listPref.setOnPreferenceChangeListener(this); 71bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 72bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler Preference pref = findPreference(KEY_NIGHT_MODE); 73bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler boolean state = ((CheckBoxPreference) pref).isChecked(); 74bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler pref.setOnPreferenceChangeListener(this); 75bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler } 76bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler 77bb8a0e27ede464e46d549e288a9d289a925f0a4eDaniel Sandler} 78