From fa954248b41b567dfa2ddd7bd063d3936a51758e Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Fri, 16 Oct 2009 16:12:30 -0400 Subject: [PATCH] Moving things around a little in the new DeskClock. - Package is now com.android.deskclock - Launches in response to insertion in desk dock or DESK dialercode TODO next: split the AlarmClock activity into a DeskClock and AlarmList (or similar). --- AndroidManifest.xml | 22 +++++-- res/layout/alarm_time.xml | 4 +- res/layout/digital_clock.xml | 4 +- res/xml/alarm_prefs.xml | 4 +- .../android/{alarmclock => deskclock}/Alarm.java | 4 +- .../{alarmclock => deskclock}/AlarmAlert.java | 2 +- .../AlarmAlertFullScreen.java | 2 +- .../AlarmAlertWakeLock.java | 2 +- .../{alarmclock => deskclock}/AlarmClock.java | 2 +- .../AlarmInitReceiver.java | 2 +- .../{alarmclock => deskclock}/AlarmKlaxon.java | 2 +- .../{alarmclock => deskclock}/AlarmPreference.java | 2 +- .../{alarmclock => deskclock}/AlarmProvider.java | 6 +- .../{alarmclock => deskclock}/AlarmReceiver.java | 2 +- .../android/{alarmclock => deskclock}/Alarms.java | 4 +- .../AnalogAppWidgetProvider.java | 2 +- .../{alarmclock => deskclock}/ClockPicker.java | 2 +- .../{alarmclock => deskclock}/DigitalClock.java | 2 +- src/com/android/deskclock/DockEventReceiver.java | 73 ++++++++++++++++++++++ src/com/android/{alarmclock => deskclock}/Log.java | 2 +- .../RepeatPreference.java | 2 +- .../{alarmclock => deskclock}/SetAlarm.java | 2 +- .../SettingsActivity.java | 2 +- .../{alarmclock => deskclock}/ToastMaster.java | 2 +- 24 files changed, 120 insertions(+), 33 deletions(-) rename src/com/android/{alarmclock => deskclock}/Alarm.java (99%) rename src/com/android/{alarmclock => deskclock}/AlarmAlert.java (99%) rename src/com/android/{alarmclock => deskclock}/AlarmAlertFullScreen.java (97%) rename src/com/android/{alarmclock => deskclock}/AlarmAlertWakeLock.java (98%) rename src/com/android/{alarmclock => deskclock}/AlarmClock.java (99%) rename src/com/android/{alarmclock => deskclock}/AlarmInitReceiver.java (97%) rename src/com/android/{alarmclock => deskclock}/AlarmKlaxon.java (99%) rename src/com/android/{alarmclock => deskclock}/AlarmPreference.java (98%) rename src/com/android/{alarmclock => deskclock}/AlarmProvider.java (97%) rename src/com/android/{alarmclock => deskclock}/AlarmReceiver.java (99%) rename src/com/android/{alarmclock => deskclock}/Alarms.java (99%) rename src/com/android/{alarmclock => deskclock}/AnalogAppWidgetProvider.java (98%) rename src/com/android/{alarmclock => deskclock}/ClockPicker.java (99%) rename src/com/android/{alarmclock => deskclock}/DigitalClock.java (99%) create mode 100644 src/com/android/deskclock/DockEventReceiver.java rename src/com/android/{alarmclock => deskclock}/Log.java (97%) rename src/com/android/{alarmclock => deskclock}/RepeatPreference.java (98%) rename src/com/android/{alarmclock => deskclock}/SetAlarm.java (99%) rename src/com/android/{alarmclock => deskclock}/SettingsActivity.java (99%) rename src/com/android/{alarmclock => deskclock}/ToastMaster.java (96%) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d731009..95824e4 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.android.deskclock"> @@ -11,7 +11,7 @@ - + + @@ -53,7 +54,7 @@ - + @@ -67,7 +68,7 @@ causes the AlarmAlert activity to pause. --> - + @@ -86,6 +87,19 @@ + + + + + + + + + + + + + diff --git a/res/layout/alarm_time.xml b/res/layout/alarm_time.xml index ecf5cda..6541804 100644 --- a/res/layout/alarm_time.xml +++ b/res/layout/alarm_time.xml @@ -23,7 +23,7 @@ - - + - @@ -49,4 +49,4 @@ android:includeFontPadding="false" android:textSize="28sp"/> - + diff --git a/res/xml/alarm_prefs.xml b/res/xml/alarm_prefs.xml index ff672e1..84b44e2 100644 --- a/res/xml/alarm_prefs.xml +++ b/res/xml/alarm_prefs.xml @@ -19,7 +19,7 @@ - - diff --git a/src/com/android/alarmclock/Alarm.java b/src/com/android/deskclock/Alarm.java similarity index 99% rename from src/com/android/alarmclock/Alarm.java rename to src/com/android/deskclock/Alarm.java index 350b7b4..13e4bd7 100644 --- a/src/com/android/alarmclock/Alarm.java +++ b/src/com/android/deskclock/Alarm.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.content.Context; import android.database.Cursor; @@ -72,7 +72,7 @@ public final class Alarm implements Parcelable { * The content:// style URL for this table */ public static final Uri CONTENT_URI = - Uri.parse("content://com.android.alarmclock/alarm"); + Uri.parse("content://com.android.deskclock/alarm"); /** * Hour in 24-hour localtime 0 - 23. diff --git a/src/com/android/alarmclock/AlarmAlert.java b/src/com/android/deskclock/AlarmAlert.java similarity index 99% rename from src/com/android/alarmclock/AlarmAlert.java rename to src/com/android/deskclock/AlarmAlert.java index 89a866a..732bee8 100644 --- a/src/com/android/alarmclock/AlarmAlert.java +++ b/src/com/android/deskclock/AlarmAlert.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.Activity; import android.app.Notification; diff --git a/src/com/android/alarmclock/AlarmAlertFullScreen.java b/src/com/android/deskclock/AlarmAlertFullScreen.java similarity index 97% rename from src/com/android/alarmclock/AlarmAlertFullScreen.java rename to src/com/android/deskclock/AlarmAlertFullScreen.java index c00ffce..fe7d61d 100644 --- a/src/com/android/alarmclock/AlarmAlertFullScreen.java +++ b/src/com/android/deskclock/AlarmAlertFullScreen.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.os.Bundle; import android.view.WindowManager; diff --git a/src/com/android/alarmclock/AlarmAlertWakeLock.java b/src/com/android/deskclock/AlarmAlertWakeLock.java similarity index 98% rename from src/com/android/alarmclock/AlarmAlertWakeLock.java rename to src/com/android/deskclock/AlarmAlertWakeLock.java index 8cbcd94..92b79e3 100644 --- a/src/com/android/alarmclock/AlarmAlertWakeLock.java +++ b/src/com/android/deskclock/AlarmAlertWakeLock.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.content.Context; import android.os.PowerManager; diff --git a/src/com/android/alarmclock/AlarmClock.java b/src/com/android/deskclock/AlarmClock.java similarity index 99% rename from src/com/android/alarmclock/AlarmClock.java rename to src/com/android/deskclock/AlarmClock.java index 75477fd..cb9fc35 100644 --- a/src/com/android/alarmclock/AlarmClock.java +++ b/src/com/android/deskclock/AlarmClock.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.Activity; import android.app.AlertDialog; diff --git a/src/com/android/alarmclock/AlarmInitReceiver.java b/src/com/android/deskclock/AlarmInitReceiver.java similarity index 97% rename from src/com/android/alarmclock/AlarmInitReceiver.java rename to src/com/android/deskclock/AlarmInitReceiver.java index 8657e03..3ab8c62 100644 --- a/src/com/android/alarmclock/AlarmInitReceiver.java +++ b/src/com/android/deskclock/AlarmInitReceiver.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.content.Context; import android.content.Intent; diff --git a/src/com/android/alarmclock/AlarmKlaxon.java b/src/com/android/deskclock/AlarmKlaxon.java similarity index 99% rename from src/com/android/alarmclock/AlarmKlaxon.java rename to src/com/android/deskclock/AlarmKlaxon.java index 7205db6..b8f4b6b 100644 --- a/src/com/android/alarmclock/AlarmKlaxon.java +++ b/src/com/android/deskclock/AlarmKlaxon.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.Service; import android.content.Context; diff --git a/src/com/android/alarmclock/AlarmPreference.java b/src/com/android/deskclock/AlarmPreference.java similarity index 98% rename from src/com/android/alarmclock/AlarmPreference.java rename to src/com/android/deskclock/AlarmPreference.java index cb0e3f5..c1b94f8 100644 --- a/src/com/android/alarmclock/AlarmPreference.java +++ b/src/com/android/deskclock/AlarmPreference.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.content.Context; import android.media.Ringtone; diff --git a/src/com/android/alarmclock/AlarmProvider.java b/src/com/android/deskclock/AlarmProvider.java similarity index 97% rename from src/com/android/alarmclock/AlarmProvider.java rename to src/com/android/deskclock/AlarmProvider.java index 5849a38..c635b01 100644 --- a/src/com/android/alarmclock/AlarmProvider.java +++ b/src/com/android/deskclock/AlarmProvider.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.content.ContentProvider; import android.content.ContentUris; @@ -38,8 +38,8 @@ public class AlarmProvider extends ContentProvider { UriMatcher.NO_MATCH); static { - sURLMatcher.addURI("com.android.alarmclock", "alarm", ALARMS); - sURLMatcher.addURI("com.android.alarmclock", "alarm/#", ALARMS_ID); + sURLMatcher.addURI("com.android.deskclock", "alarm", ALARMS); + sURLMatcher.addURI("com.android.deskclock", "alarm/#", ALARMS_ID); } private static class DatabaseHelper extends SQLiteOpenHelper { diff --git a/src/com/android/alarmclock/AlarmReceiver.java b/src/com/android/deskclock/AlarmReceiver.java similarity index 99% rename from src/com/android/alarmclock/AlarmReceiver.java rename to src/com/android/deskclock/AlarmReceiver.java index 97374ef..18457b6 100644 --- a/src/com/android/alarmclock/AlarmReceiver.java +++ b/src/com/android/deskclock/AlarmReceiver.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.KeyguardManager; import android.app.Notification; diff --git a/src/com/android/alarmclock/Alarms.java b/src/com/android/deskclock/Alarms.java similarity index 99% rename from src/com/android/alarmclock/Alarms.java rename to src/com/android/deskclock/Alarms.java index 63a67d7..cd47b18 100644 --- a/src/com/android/alarmclock/Alarms.java +++ b/src/com/android/deskclock/Alarms.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.AlarmManager; import android.app.PendingIntent; @@ -41,7 +41,7 @@ public class Alarms { // This action triggers the AlarmReceiver as well as the AlarmKlaxon. It // is a public action used in the manifest for receiving Alarm broadcasts // from the alarm manager. - public static final String ALARM_ALERT_ACTION = "com.android.alarmclock.ALARM_ALERT"; + public static final String ALARM_ALERT_ACTION = "com.android.deskclock.ALARM_ALERT"; // This is a private action used when the user clears all notifications. public static final String CLEAR_NOTIFICATION = "clear_notification"; diff --git a/src/com/android/alarmclock/AnalogAppWidgetProvider.java b/src/com/android/deskclock/AnalogAppWidgetProvider.java similarity index 98% rename from src/com/android/alarmclock/AnalogAppWidgetProvider.java rename to src/com/android/deskclock/AnalogAppWidgetProvider.java index 524b1d2..d78f82f 100644 --- a/src/com/android/alarmclock/AnalogAppWidgetProvider.java +++ b/src/com/android/deskclock/AnalogAppWidgetProvider.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.AlarmManager; import android.app.PendingIntent; diff --git a/src/com/android/alarmclock/ClockPicker.java b/src/com/android/deskclock/ClockPicker.java similarity index 99% rename from src/com/android/alarmclock/ClockPicker.java rename to src/com/android/deskclock/ClockPicker.java index 31150a2..077eba1 100644 --- a/src/com/android/alarmclock/ClockPicker.java +++ b/src/com/android/deskclock/ClockPicker.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.Activity; import android.content.SharedPreferences; diff --git a/src/com/android/alarmclock/DigitalClock.java b/src/com/android/deskclock/DigitalClock.java similarity index 99% rename from src/com/android/alarmclock/DigitalClock.java rename to src/com/android/deskclock/DigitalClock.java index 7ae92f1..14205e7 100644 --- a/src/com/android/alarmclock/DigitalClock.java +++ b/src/com/android/deskclock/DigitalClock.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.content.BroadcastReceiver; import android.content.Context; diff --git a/src/com/android/deskclock/DockEventReceiver.java b/src/com/android/deskclock/DockEventReceiver.java new file mode 100644 index 0000000..e15e2cb --- /dev/null +++ b/src/com/android/deskclock/DockEventReceiver.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2009 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.android.deskclock; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; + +/** + * BroadcastReceiver which receives {@link Intent#ACTION_DOCK_EVENT} events. + * Launches the CarDockActivity if the device is placed into a car dock. + * + * TODO: This is the wrong way to launch, as this would cause contention + * between multiple activities trying to launch if others did the same. Instead + * register for a regular intent which should fire when placed into a car dock. + */ +public class DockEventReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + Intent clockIntent = new Intent(Intent.ACTION_MAIN); + clockIntent.setComponent( + new ComponentName(context, AlarmClock.class)); + clockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + + String action = intent.getAction(); + if (Intent.ACTION_DOCK_EVENT.equals(action)) { + // Code to control a sticky notification for the dock. + /* + NotificationManager notificationManager = (NotificationManager) + context.getSystemService(Context.NOTIFICATION_SERVICE); + + int dockState = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, -1); + if (dockState == Intent.EXTRA_DOCK_STATE_DESK) { + Notification n = new Notification(); + n.icon = R.drawable.notification; + n.defaults = Notification.DEFAULT_LIGHTS; + n.flags = Notification.FLAG_ONGOING_EVENT; + n.tickerText = context.getString(R.string.notification_title); + n.when = 0; + n.setLatestEventInfo( + context, + context.getString(R.string.notification_title), + context.getString(R.string.notification_text), + PendingIntent.getActivity(context, 0, clockIntent, 0)); + notificationManager.notify(0, n); + } else if (dockState == Intent.EXTRA_DOCK_STATE_UNDOCKED) { + notificationManager.cancelAll(); + } + */ + } else if (android.provider.Telephony.Intents.SECRET_CODE_ACTION.equals(action)) { + // The user dialed *#*#DESK#*#* + context.startActivity(clockIntent); + } + } +} diff --git a/src/com/android/alarmclock/Log.java b/src/com/android/deskclock/Log.java similarity index 97% rename from src/com/android/alarmclock/Log.java rename to src/com/android/deskclock/Log.java index 18cc391..7e128b9 100644 --- a/src/com/android/alarmclock/Log.java +++ b/src/com/android/deskclock/Log.java @@ -18,7 +18,7 @@ * package-level logging flag */ -package com.android.alarmclock; +package com.android.deskclock; import android.os.SystemClock; import android.util.Config; diff --git a/src/com/android/alarmclock/RepeatPreference.java b/src/com/android/deskclock/RepeatPreference.java similarity index 98% rename from src/com/android/alarmclock/RepeatPreference.java rename to src/com/android/deskclock/RepeatPreference.java index 6af023b..8c07c47 100644 --- a/src/com/android/alarmclock/RepeatPreference.java +++ b/src/com/android/deskclock/RepeatPreference.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.AlertDialog.Builder; import android.content.Context; diff --git a/src/com/android/alarmclock/SetAlarm.java b/src/com/android/deskclock/SetAlarm.java similarity index 99% rename from src/com/android/alarmclock/SetAlarm.java rename to src/com/android/deskclock/SetAlarm.java index 03533af..1acc1d7 100644 --- a/src/com/android/alarmclock/SetAlarm.java +++ b/src/com/android/deskclock/SetAlarm.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.app.TimePickerDialog; import android.content.Context; diff --git a/src/com/android/alarmclock/SettingsActivity.java b/src/com/android/deskclock/SettingsActivity.java similarity index 99% rename from src/com/android/alarmclock/SettingsActivity.java rename to src/com/android/deskclock/SettingsActivity.java index f0b97fd..f28d1e7 100644 --- a/src/com/android/alarmclock/SettingsActivity.java +++ b/src/com/android/deskclock/SettingsActivity.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.media.AudioManager; import android.os.Bundle; diff --git a/src/com/android/alarmclock/ToastMaster.java b/src/com/android/deskclock/ToastMaster.java similarity index 96% rename from src/com/android/alarmclock/ToastMaster.java rename to src/com/android/deskclock/ToastMaster.java index c4c2815..4d51696 100644 --- a/src/com/android/alarmclock/ToastMaster.java +++ b/src/com/android/deskclock/ToastMaster.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.alarmclock; +package com.android.deskclock; import android.widget.Toast; -- 2.11.0