diff options
Diffstat (limited to 'src/com/google/android/apps/adk2/activity/AlarmActivity.java')
-rw-r--r-- | src/com/google/android/apps/adk2/activity/AlarmActivity.java | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/src/com/google/android/apps/adk2/activity/AlarmActivity.java b/src/com/google/android/apps/adk2/activity/AlarmActivity.java new file mode 100644 index 0000000..04bdf17 --- /dev/null +++ b/src/com/google/android/apps/adk2/activity/AlarmActivity.java @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.android.apps.adk2.activity; + +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.ListPreference; +import android.preference.Preference; +import android.util.Log; + +import com.google.android.apps.adk2.ADK; +import com.google.android.apps.adk2.Preferences; +import com.google.android.apps.adk2.R; +import com.google.android.apps.adk2.Utilities; + +public class AlarmActivity extends Adk2PreferenceActivity { + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + addPreferencesFromResource(R.xml.alarm_preferences); + + updatePreferencesDisplay(); + + HomeActivity h = HomeActivity.get(); + if (h == null) { + Log.i(ADK.TAG, "Can't find home activity"); + } else { + Log.i(ADK.TAG, "h = " + h.toString()); + } + } + + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + if (Preferences.PREF_ALARM_ON.equals(key) + || Preferences.PREF_ALARM_TIME.equals(key) + || Preferences.PREF_ALARM_SOUND.equals(key)) + updatePreferencesDisplay(); + } + + void updatePreferencesDisplay() { + boolean alarmOn = mPreferences.getBoolean(Preferences.PREF_ALARM_ON, + true); + + Utilities.enablePreference(mPreferenceManager, + Preferences.PREF_ALARM_TIME, alarmOn); + Utilities.enablePreference(mPreferenceManager, + Preferences.PREF_ALARM_SOUND, alarmOn); + + updateAlarmTime(); + updateAlarmSoundList(); + } + + private void updateAlarmTime() { + int alarmTime = mPreferences.getInt(Preferences.PREF_ALARM_TIME, + Preferences.DEFAULT_ALARM_TIME); + String alarmTimeString = Utilities.formatTime(this, alarmTime); + Preference alarmTimePref = mPreferenceManager + .findPreference(Preferences.PREF_ALARM_TIME); + if (alarmTimePref != null) { + alarmTimePref.setSummary(alarmTimeString); + } + } + + private void updateAlarmSoundList() { + ListPreference alarmSoundPref = (ListPreference) mPreferenceManager + .findPreference(Preferences.PREF_ALARM_SOUND); + if (alarmSoundPref != null) { + HomeActivity h = HomeActivity.get(); + String[] alarmSoundsList = h.getAlarmSounds(); + String defaultAlarmSound = ""; + if (alarmSoundsList.length > 0) { + defaultAlarmSound = alarmSoundsList[0]; + } + String alarmSoundString = mPreferences.getString( + Preferences.PREF_ALARM_SOUND, defaultAlarmSound); + alarmSoundPref.setEntries(alarmSoundsList); + alarmSoundPref.setEntryValues(alarmSoundsList); + alarmSoundPref.setSummary(alarmSoundString); + alarmSoundPref.setValue(alarmSoundString); + } + } +} |