From ae3ed706702a5ebe6ffcc08b941b1401c9a24b89 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Tue, 1 Dec 2009 19:02:05 -0800 Subject: [PATCH] Add new setting for notification light pulsing. Bug #2238250 New System setting and code to set the defaults on upgrade. --- core/java/android/provider/Settings.java | 10 ++++++++- .../SettingsProvider/res/values/defaults.xml | 3 +++ .../providers/settings/DatabaseHelper.java | 22 ++++++++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 7433a799e4e72..f7e55db80b884 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -1408,6 +1408,13 @@ public final class Settings { */ public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions"; + /** + * Whether the notification LED should repeatedly flash when a notification is + * pending. The value is boolean (1 or 0). + * @hide + */ + public static final String NOTIFICATION_LIGHT_PULSE = "notification_light_pulse"; + /** * Settings to backup. This is here so that it's in the same place as the settings * keys and easy to update. @@ -1462,7 +1469,8 @@ public final class Settings { TTY_MODE, SOUND_EFFECTS_ENABLED, HAPTIC_FEEDBACK_ENABLED, - SHOW_WEB_SUGGESTIONS + SHOW_WEB_SUGGESTIONS, + NOTIFICATION_LIGHT_PULSE }; // Settings moved to Settings.Secure diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index fbfe75552f719..ab93d8c8e7eb7 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -48,4 +48,7 @@ false + + true diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index e25c6488be5d1..1a64e20b1c99b 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -71,7 +71,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // is properly propagated through your change. Not doing so will result in a loss of user // settings. - private static final int DATABASE_VERSION = 42; + private static final int DATABASE_VERSION = 43; private Context mContext; @@ -521,6 +521,24 @@ public class DatabaseHelper extends SQLiteOpenHelper { upgradeVersion = 42; } + if (upgradeVersion == 42) { + /* + * Initialize new notification pulse setting + */ + db.beginTransaction(); + try { + SQLiteStatement stmt = db.compileStatement("INSERT INTO system(name,value)" + + " VALUES(?,?);"); + loadBooleanSetting(stmt, Settings.System.NOTIFICATION_LIGHT_PULSE, + R.bool.def_notification_pulse); + stmt.close(); + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + upgradeVersion = 43; + } + if (upgradeVersion != currentVersion) { Log.w(TAG, "Got stuck trying to upgrade from version " + upgradeVersion + ", must wipe the settings provider"); @@ -767,6 +785,8 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadDefaultHapticSettings(stmt); + loadBooleanSetting(stmt, Settings.System.NOTIFICATION_LIGHT_PULSE, + R.bool.def_notification_pulse); stmt.close(); }