summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml4
-rw-r--r--res/drawable-hdpi/appwidget_clock_hour.pngbin431 -> 410 bytes
-rw-r--r--res/drawable-hdpi/appwidget_clock_minute.pngbin289 -> 410 bytes
-rw-r--r--res/drawable-hdpi/divider_vertical_dark.9.pngbin0 -> 2807 bytes
-rw-r--r--res/drawable-hdpi/divider_vertical_dark_opaque.9.pngbin0 -> 120 bytes
-rw-r--r--res/drawable-mdpi/appwidget_clock_hour.pngbin325 -> 316 bytes
-rw-r--r--res/drawable-mdpi/appwidget_clock_minute.pngbin219 -> 305 bytes
-rw-r--r--res/drawable-mdpi/divider_vertical_dark.9.pngbin0 -> 2807 bytes
-rw-r--r--res/drawable-mdpi/divider_vertical_dark_opaque.9.pngbin0 -> 120 bytes
-rw-r--r--res/layout/alarm_time.xml2
-rw-r--r--res/values/strings.xml4
-rw-r--r--res/values/themes.xml26
-rw-r--r--res/xml/settings.xml5
-rw-r--r--src/com/android/deskclock/AlarmAlert.java30
-rw-r--r--src/com/android/deskclock/AlarmKlaxon.java2
-rw-r--r--src/com/android/deskclock/DeskClock.java91
-rw-r--r--src/com/android/deskclock/SettingsActivity.java10
17 files changed, 150 insertions, 24 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 293d0fe9c..109c0ee2c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -15,7 +15,7 @@
<activity android:name="DeskClock"
android:label="@string/app_label"
- android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
+ android:theme="@style/Theme.Wallpaper.NoTitleBar"
android:icon="@drawable/ic_widget_analog_clock"
android:launchMode="singleInstance"
android:configChanges="orientation|keyboardHidden|keyboard|navigation">
@@ -68,7 +68,7 @@
with the wallpaper background. -->
<activity android:name="AlarmAlertFullScreen"
android:excludeFromRecents="true"
- android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
+ android:theme="@style/Theme.Wallpaper.NoTitleBar"
android:launchMode="singleInstance"
android:taskAffinity=""
android:configChanges="orientation|keyboardHidden|keyboard|navigation"/>
diff --git a/res/drawable-hdpi/appwidget_clock_hour.png b/res/drawable-hdpi/appwidget_clock_hour.png
index d357e8c9f..b9207eb58 100644
--- a/res/drawable-hdpi/appwidget_clock_hour.png
+++ b/res/drawable-hdpi/appwidget_clock_hour.png
Binary files differ
diff --git a/res/drawable-hdpi/appwidget_clock_minute.png b/res/drawable-hdpi/appwidget_clock_minute.png
index dd675805f..d8ca8c3ed 100644
--- a/res/drawable-hdpi/appwidget_clock_minute.png
+++ b/res/drawable-hdpi/appwidget_clock_minute.png
Binary files differ
diff --git a/res/drawable-hdpi/divider_vertical_dark.9.png b/res/drawable-hdpi/divider_vertical_dark.9.png
new file mode 100644
index 000000000..702b8785c
--- /dev/null
+++ b/res/drawable-hdpi/divider_vertical_dark.9.png
Binary files differ
diff --git a/res/drawable-hdpi/divider_vertical_dark_opaque.9.png b/res/drawable-hdpi/divider_vertical_dark_opaque.9.png
new file mode 100644
index 000000000..8f35315ae
--- /dev/null
+++ b/res/drawable-hdpi/divider_vertical_dark_opaque.9.png
Binary files differ
diff --git a/res/drawable-mdpi/appwidget_clock_hour.png b/res/drawable-mdpi/appwidget_clock_hour.png
index 608682300..d80ae0595 100644
--- a/res/drawable-mdpi/appwidget_clock_hour.png
+++ b/res/drawable-mdpi/appwidget_clock_hour.png
Binary files differ
diff --git a/res/drawable-mdpi/appwidget_clock_minute.png b/res/drawable-mdpi/appwidget_clock_minute.png
index 8ec61bcc3..9f8416c05 100644
--- a/res/drawable-mdpi/appwidget_clock_minute.png
+++ b/res/drawable-mdpi/appwidget_clock_minute.png
Binary files differ
diff --git a/res/drawable-mdpi/divider_vertical_dark.9.png b/res/drawable-mdpi/divider_vertical_dark.9.png
new file mode 100644
index 000000000..702b8785c
--- /dev/null
+++ b/res/drawable-mdpi/divider_vertical_dark.9.png
Binary files differ
diff --git a/res/drawable-mdpi/divider_vertical_dark_opaque.9.png b/res/drawable-mdpi/divider_vertical_dark_opaque.9.png
new file mode 100644
index 000000000..8f35315ae
--- /dev/null
+++ b/res/drawable-mdpi/divider_vertical_dark_opaque.9.png
Binary files differ
diff --git a/res/layout/alarm_time.xml b/res/layout/alarm_time.xml
index 5c3b19b78..bddb0e3a7 100644
--- a/res/layout/alarm_time.xml
+++ b/res/layout/alarm_time.xml
@@ -51,7 +51,7 @@
</com.android.deskclock.DontPressWithParentLayout>
<ImageView
- android:src="@*android:drawable/divider_vertical_dark"
+ android:src="@drawable/divider_vertical_dark"
android:background="?android:attr/windowBackground"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4d9d57f55..35546de84 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -247,7 +247,11 @@
present on the device, we show nothing at all. -->
<string name="weather_fetch_failure">Weather information currently unavailable.</string>
+ <string name="alarm_requires_unlock_title">Alarm requires unlock</string>
+ <string name="alarm_requires_unlock_summary">Must unlock phone to disable or snooze alarm</string>
+
<string name="menu_item_dock_settings" msgid="9161438664257429372">Dock settings</string>
</resources>
+
diff --git a/res/values/themes.xml b/res/values/themes.xml
new file mode 100644
index 000000000..7b5272ddd
--- /dev/null
+++ b/res/values/themes.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+ <!-- Default theme for windows that want to have the user's selected
+ wallpaper appear behind them. -->
+ <style name="Theme.Wallpaper" parent="android:Theme">
+ <item name="android:windowBackground">@android:color/transparent</item>
+<!--
+ <item name="android:colorBackgroundCacheHint">@null</item>
+ <item name="android:windowShowWallpaper">true</item>
+-->
+ </style>
+
+ <!-- Variant of the translucent theme with no title bar -->
+ <style name="Theme.Wallpaper.NoTitleBar">
+ <item name="android:windowNoTitle">true</item>
+ </style>
+
+ <!-- Variant of the translucent theme that has no title bar and
+ fills the entire screen -->
+ <style name="Theme.Wallpaper.NoTitleBar.Fullscreen">
+ <item name="android:windowFullscreen">true</item>
+ <item name="android:windowContentOverlay">@null</item>
+ </style>
+</resources>
+
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index e49126c05..52d93a5bc 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -23,6 +23,11 @@
android:title="@string/alarm_in_silent_mode_title"
android:summary="@string/alarm_in_silent_mode_summary" />
+ <CheckBoxPreference
+ android:key="alarm_requires_unlock"
+ android:title="@string/alarm_requires_unlock_title"
+ android:summary="@string/alarm_requires_unlock_summary" />
+
<VolumePreference
android:title="@string/alarm_volume_title"
android:summary="@string/alarm_volume_summary"
diff --git a/src/com/android/deskclock/AlarmAlert.java b/src/com/android/deskclock/AlarmAlert.java
index 6319dff70..29e556000 100644
--- a/src/com/android/deskclock/AlarmAlert.java
+++ b/src/com/android/deskclock/AlarmAlert.java
@@ -16,29 +16,26 @@
package com.android.deskclock;
+import java.util.Calendar;
+
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
-import android.content.Context;
import android.content.BroadcastReceiver;
+import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.SharedPreferences;
-import android.content.res.Configuration;
import android.os.Bundle;
import android.preference.PreferenceManager;
+import android.provider.Settings;
import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
import android.view.LayoutInflater;
-import android.view.Window;
+import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
-import android.widget.Toast;
import android.widget.TextView;
-
-import java.util.Calendar;
+import android.widget.Toast;
/**
* Alarm Clock alarm alert: pops visible indicator and plays alarm
@@ -77,11 +74,18 @@ public class AlarmAlert extends Activity {
DEFAULT_VOLUME_BEHAVIOR);
mVolumeBehavior = Integer.parseInt(vol);
+ final boolean requireUnlock = Settings.System.getInt(getContentResolver(), SettingsActivity.KEY_ALARM_REQUIRES_UNLOCK, 0) == 1;
+
requestWindowFeature(android.view.Window.FEATURE_NO_TITLE);
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
- | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
- | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
- | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
+// getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
+// | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
+// | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+
+ if (!requireUnlock) {
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
+ }
+
updateLayout();
// Register to get the alarm killed intent.
diff --git a/src/com/android/deskclock/AlarmKlaxon.java b/src/com/android/deskclock/AlarmKlaxon.java
index 040dc24df..eaa8159dd 100644
--- a/src/com/android/deskclock/AlarmKlaxon.java
+++ b/src/com/android/deskclock/AlarmKlaxon.java
@@ -41,7 +41,7 @@ import android.telephony.TelephonyManager;
public class AlarmKlaxon extends Service {
/** Play alarm up to 10 minutes before silencing */
- private static final int ALARM_TIMEOUT_SECONDS = 10 * 60;
+ private static final int ALARM_TIMEOUT_SECONDS = 30 * 60;
private static final long[] sVibratePattern = new long[] { 500, 500 };
diff --git a/src/com/android/deskclock/DeskClock.java b/src/com/android/deskclock/DeskClock.java
index de96e9b9a..202d24c81 100644
--- a/src/com/android/deskclock/DeskClock.java
+++ b/src/com/android/deskclock/DeskClock.java
@@ -21,6 +21,7 @@ import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -73,6 +74,11 @@ import static android.os.BatteryManager.BATTERY_STATUS_CHARGING;
import static android.os.BatteryManager.BATTERY_STATUS_FULL;
import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.PixelFormat;
+import android.graphics.ColorFilter;
+
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
@@ -80,6 +86,7 @@ import java.util.Date;
import java.util.Locale;
import java.util.Random;
+import java.text.SimpleDateFormat;
/**
* DeskClock clock view for desk docks.
*/
@@ -253,9 +260,9 @@ public class DeskClock extends Activity {
if (DEBUG) Log.d(LOG_TAG, (hold ? "hold" : " releas") + "ing wake lock");
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
- winParams.flags |= WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
+// winParams.flags |= WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
winParams.flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
- winParams.flags |= WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
+// winParams.flags |= WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
if (hold)
winParams.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
else
@@ -571,7 +578,14 @@ public class DeskClock extends Activity {
// reload the date format in case the user has changed settings
// recently
- mDateFormat = getString(com.android.internal.R.string.full_wday_month_day_no_year);
+// mDateFormat = getString(com.android.internal.R.string.full_wday_month_day_no_year);
+
+ final SimpleDateFormat dateFormat
+ = (SimpleDateFormat)java.text.DateFormat.getDateInstance(java.text.DateFormat.FULL);
+ mDateFormat = dateFormat.toPattern()
+ .replace("MMMM", "MMM") // we want "Sep", not "September"
+ .replace("EEEE", "EEE") // we want "Fri", no "Friday"
+ .replaceAll("EEE$", "(EEE)");
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_DATE_CHANGED);
@@ -653,6 +667,12 @@ public class DeskClock extends Activity {
setContentView(R.layout.desk_clock);
+ // set wallpaper as background by nobunobuta for Donut
+ Window window = getWindow();
+ final BitmapDrawable drawable = (BitmapDrawable) getWallpaper();
+ window.setBackgroundDrawable(
+ new FastBitmapDrawable(drawable.getBitmap()));
+
mTime = (DigitalClock) findViewById(R.id.time);
mDate = (TextView) findViewById(R.id.date);
mBatteryDisplay = (TextView) findViewById(R.id.battery);
@@ -696,9 +716,13 @@ public class DeskClock extends Activity {
musicButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
- Intent musicAppQuery = getPackageManager()
- .getLaunchIntentForPackage(MUSIC_PACKAGE_ID)
- .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
+// Intent musicAppQuery = getPackageManager()
+// .getLaunchIntentForPackage(MUSIC_PACKAGE_ID)
+// .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ Intent musicAppQuery = new Intent(Intent.ACTION_MAIN);
+ musicAppQuery.setComponent(new ComponentName(MUSIC_PACKAGE_ID,"com.android.music.MusicBrowserActivity"));
+ musicAppQuery.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
+
if (musicAppQuery != null) {
startActivity(musicAppQuery);
}
@@ -798,4 +822,59 @@ public class DeskClock extends Activity {
initViews();
}
+ /**
+ * Used to put wallpaper on the background of the lock screen. Centers it Horizontally and
+ * vertically.
+ */
+ static private class FastBitmapDrawable extends Drawable {
+ private Bitmap mBitmap;
+ private int mOpacity;
+
+ private FastBitmapDrawable(Bitmap bitmap) {
+ mBitmap = bitmap;
+ mOpacity = mBitmap.hasAlpha() ? PixelFormat.TRANSLUCENT : PixelFormat.OPAQUE;
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ canvas.drawBitmap(
+ mBitmap,
+ (getBounds().width() - mBitmap.getWidth()) / 2,
+ (getBounds().height() - mBitmap.getHeight()) / 2,
+ null);
+ }
+
+ @Override
+ public int getOpacity() {
+ return mOpacity;
+ }
+
+ @Override
+ public void setAlpha(int alpha) {
+ }
+
+ @Override
+ public void setColorFilter(ColorFilter cf) {
+ }
+
+ @Override
+ public int getIntrinsicWidth() {
+ return mBitmap.getWidth();
+ }
+
+ @Override
+ public int getIntrinsicHeight() {
+ return mBitmap.getHeight();
+ }
+
+ @Override
+ public int getMinimumWidth() {
+ return mBitmap.getWidth();
+ }
+
+ @Override
+ public int getMinimumHeight() {
+ return mBitmap.getHeight();
+ }
+ }
}
diff --git a/src/com/android/deskclock/SettingsActivity.java b/src/com/android/deskclock/SettingsActivity.java
index f28d1e73b..1924bbfda 100644
--- a/src/com/android/deskclock/SettingsActivity.java
+++ b/src/com/android/deskclock/SettingsActivity.java
@@ -40,7 +40,10 @@ public class SettingsActivity extends PreferenceActivity
"snooze_duration";
static final String KEY_VOLUME_BEHAVIOR =
"volume_button_setting";
-
+ static final String KEY_ALARM_REQUIRES_UNLOCK =
+ "alarm_requires_unlock";
+
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -73,6 +76,11 @@ public class SettingsActivity extends PreferenceActivity
ringerModeStreamTypes);
return true;
+
+ } else if (KEY_ALARM_REQUIRES_UNLOCK.equals(preference.getKey())) {
+ CheckBoxPreference pref = (CheckBoxPreference) preference;
+ Settings.System.putInt(getContentResolver(), KEY_ALARM_REQUIRES_UNLOCK, pref.isChecked() ? 1 : 0);
+ return true;
}
return super.onPreferenceTreeClick(preferenceScreen, preference);