18f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler/* 28f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * Copyright (C) 2009 The Android Open Source Project 38f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * 48f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * Licensed under the Apache License, Version 2.0 (the "License"); 58f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * you may not use this file except in compliance with the License. 68f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * You may obtain a copy of the License at 78f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * 88f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * http://www.apache.org/licenses/LICENSE-2.0 98f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * 108f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * Unless required by applicable law or agreed to in writing, software 118f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * distributed under the License is distributed on an "AS IS" BASIS, 128f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * See the License for the specific language governing permissions and 148f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * limitations under the License. 158f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler */ 168f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 178f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandlerpackage com.android.deskclock; 188f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 198f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandlerimport android.os.Bundle; 208f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandlerimport android.preference.CheckBoxPreference; 218f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandlerimport android.preference.ListPreference; 228f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandlerimport android.preference.Preference; 238f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandlerimport android.preference.PreferenceActivity; 248f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 258f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler/** 268f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler * Settings for the Alarm Clock Dream (com.android.deskclock.Screensaver). 278f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler */ 288f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandlerpublic class ScreensaverSettingsActivity extends PreferenceActivity 298f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler implements Preference.OnPreferenceChangeListener { 308f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 318f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler static final String KEY_CLOCK_STYLE = 328f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler "screensaver_clock_style"; 338f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler static final String KEY_NIGHT_MODE = 348f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler "screensaver_night_mode"; 358f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 368f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler @Override 378f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler protected void onCreate(Bundle savedInstanceState) { 388f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler super.onCreate(savedInstanceState); 398f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler addPreferencesFromResource(R.xml.dream_settings); 408f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler } 418f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 428f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler @Override 438f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler protected void onResume() { 448f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler super.onResume(); 458f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler refresh(); 468f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler } 478f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 488f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler @Override 498f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler public boolean onPreferenceChange(Preference pref, Object newValue) { 508f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler if (KEY_CLOCK_STYLE.equals(pref.getKey())) { 518f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler final ListPreference listPref = (ListPreference) pref; 528f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler final int idx = listPref.findIndexOfValue((String) newValue); 538f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler listPref.setSummary(listPref.getEntries()[idx]); 548f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler } else if (KEY_NIGHT_MODE.equals(pref.getKey())) { 558f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler boolean state = ((CheckBoxPreference) pref).isChecked(); 568f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler } 578f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler return true; 588f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler } 598f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 608f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler private void refresh() { 618f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler ListPreference listPref = (ListPreference) findPreference(KEY_CLOCK_STYLE); 628f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler listPref.setSummary(listPref.getEntry()); 638f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler listPref.setOnPreferenceChangeListener(this); 648f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 658f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler Preference pref = findPreference(KEY_NIGHT_MODE); 668f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler boolean state = ((CheckBoxPreference) pref).isChecked(); 678f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler pref.setOnPreferenceChangeListener(this); 688f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler } 698f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler 70339b3be0e0c293393ab7d71cb65aecdb21897f55Alon Albert @Override 71339b3be0e0c293393ab7d71cb65aecdb21897f55Alon Albert protected boolean isValidFragment(String fragmentName) { 72339b3be0e0c293393ab7d71cb65aecdb21897f55Alon Albert // This activity is not exported so we can just approve everything 73339b3be0e0c293393ab7d71cb65aecdb21897f55Alon Albert return true; 74339b3be0e0c293393ab7d71cb65aecdb21897f55Alon Albert } 758f873a2bca1277f37cc8d08655d73385e5508232Daniel Sandler} 76