blob: fe752779da7514471ac906e9a961129fb2897626 [file] [log] [blame]
/*
* 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 java.util.Date;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.preference.Preference;
import com.google.android.apps.adk2.Preferences;
import com.google.android.apps.adk2.R;
import com.google.android.apps.adk2.Utilities;
public class ClockActivity extends Adk2PreferenceActivity {
private Handler mHandler = new Handler();
private Runnable mUpdateTimeTask;
final static int kUpdateTime = 500;
int mHours = -1;
int mMinutes = -1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.clock_preferences);
updatePreferencesDisplay();
mUpdateTimeTask = new Runnable() {
public void run() {
updatePreferencesDisplay();
mHandler.postDelayed(mUpdateTimeTask, kUpdateTime);
}
};
mHandler.postDelayed(mUpdateTimeTask, kUpdateTime);
}
@Override
protected void onPause() {
mHandler.removeCallbacks(mUpdateTimeTask);
super.onPause();
}
@Override
protected void onResume() {
mHandler.postDelayed(mUpdateTimeTask, kUpdateTime);
super.onResume();
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
}
private void updatePreferencesDisplay() {
Preference clockTimePref = mPreferenceManager
.findPreference(Preferences.PREF_TIME);
if (clockTimePref != null) {
Date d = new Date();
if (d.getHours() != mHours || d.getMinutes() != mMinutes) {
mHours = d.getHours();
mMinutes = d.getMinutes();
clockTimePref.setSummary(Utilities.formatTime(this, d));
}
}
}
}