From ef18177f9bbbeab8ef266c3f080175bc813dc34c Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Thu, 22 Oct 2009 09:42:27 -0400 Subject: [PATCH] Wire up date & next alarm displays. Change-Id: I367e0dcdb3fdfa7256dfd5ce54097c8206806f51 --- res/layout/desk_clock.xml | 51 +++++++++++++++--------------- src/com/android/deskclock/DeskClock.java | 54 ++++++++++++++++++++++++++------ 2 files changed, 69 insertions(+), 36 deletions(-) diff --git a/res/layout/desk_clock.xml b/res/layout/desk_clock.xml index ca86e14..d07ed99 100644 --- a/res/layout/desk_clock.xml +++ b/res/layout/desk_clock.xml @@ -52,38 +52,35 @@ /> - + - - - - - - - - - + android:gravity="center" + android:textSize="110sp" + android:textColor="@color/white" + /> + + + + + diff --git a/src/com/android/deskclock/DeskClock.java b/src/com/android/deskclock/DeskClock.java index 3dce921..e756db1 100644 --- a/src/com/android/deskclock/DeskClock.java +++ b/src/com/android/deskclock/DeskClock.java @@ -18,9 +18,11 @@ package com.android.deskclock; import android.app.Activity; import android.app.AlertDialog; +import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.res.Configuration; import android.database.Cursor; @@ -50,8 +52,8 @@ import android.widget.Button; import android.widget.TextView; import android.widget.CheckBox; -import java.util.Calendar; -import java.text.DateFormatSymbols; +import java.text.DateFormat; +import java.util.Date; /** * DeskClock clock view for desk docks. @@ -59,21 +61,32 @@ import java.text.DateFormatSymbols; public class DeskClock extends Activity { private TextView mNextAlarm = null; - private Drawable mAlarmIcon = null; - private TextView mDate; private DigitalClock mTime; private boolean mDimmed = false; + private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + refreshDate(); + } + }; + + + private DateFormat mDateFormat; + + private void refreshDate() { + mDate.setText(mDateFormat.format(new Date())); + } + private void refreshAlarm() { String nextAlarm = Settings.System.getString(getContentResolver(), Settings.System.NEXT_ALARM_FORMATTED); - if (nextAlarm != null && TextUtils.isEmpty(nextAlarm)) { + if (!TextUtils.isEmpty(nextAlarm)) { mNextAlarm.setText(nextAlarm); - mAlarmIcon = getResources().getDrawable(android.R.drawable.ic_lock_idle_alarm); - mNextAlarm.setCompoundDrawablesWithIntrinsicBounds( - mAlarmIcon, null, null, null); + //mNextAlarm.setCompoundDrawablesWithIntrinsicBounds( + // android.R.drawable.ic_lock_idle_alarm, 0, 0, 0); mNextAlarm.setVisibility(View.VISIBLE); } else { mNextAlarm.setVisibility(View.INVISIBLE); @@ -97,6 +110,29 @@ public class DeskClock extends Activity { } @Override + public void onResume() { + super.onResume(); + + // reload the date format in case the user has changed settings + // recently + mDateFormat = java.text.DateFormat.getDateInstance(java.text.DateFormat.FULL); + + IntentFilter filter = new IntentFilter(); + filter.addAction(Intent.ACTION_DATE_CHANGED); + registerReceiver(mIntentReceiver, filter); + + doDim(); + refreshDate(); + refreshAlarm(); + } + + @Override + public void onPause() { + super.onPause(); + unregisterReceiver(mIntentReceiver); + } + + @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -134,8 +170,6 @@ public class DeskClock extends Activity { } }); - doDim(); - refreshAlarm(); } } -- 2.11.0