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