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