android8.1添加默認的系統鍵值對

    近期做了一個鈴聲和震動的開關需求,本來原生的設置應該支持這兩種開關,但是我們的開關卻沒有效果,因此,我自己加了一套設置的鍵值,來自己做控制。

    直接上代碼:

diff --git a/api/current.txt b/api/current.txt
index 887da6aa3..4b2b9d473 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -35185,6 +35185,8 @@ package android.provider {
     field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
     field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
     field public static final deprecated java.lang.String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+    field public static final java.lang.String XF_NOTIFICATION_TONE_ON = "xf_notification_tone_on";
+    field public static final java.lang.String XF_NOTIFICATION_VIBRATOR_ON = "xf_notification_vibrator_on";

   }
 
   public class SyncStateContract {
diff --git a/api/system-current.txt b/api/system-current.txt
index a4532f3f1..cf1046375 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -38246,6 +38246,8 @@ package android.provider {
     field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
     field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
     field public static final deprecated java.lang.String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+    field public static final java.lang.String XF_NOTIFICATION_TONE_ON = "xf_notification_tone_on";
+    field public static final java.lang.String XF_NOTIFICATION_VIBRATOR_ON = "xf_notification_vibrator_on";

   }
 
   public class SyncStateContract {
diff --git a/api/test-current.txt b/api/test-current.txt
index 15ff25191..bc5917afe 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -35381,6 +35381,8 @@ package android.provider {
     field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
     field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
     field public static final deprecated java.lang.String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+    field public static final java.lang.String XF_NOTIFICATION_TONE_ON = "xf_notification_tone_on";
+    field public static final java.lang.String XF_NOTIFICATION_VIBRATOR_ON = "xf_notification_vibrator_on";

   }
 
   public class SyncStateContract {
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 2c0ca4e7c..c349e603a 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3089,7 +3089,21 @@ public final class Settings {
 
         private static final Validator SCREEN_BRIGHTNESS_MODE_VALIDATOR = sBooleanValidator;
 
-         /**
+        /**
+         * kongbo add for xf vibrator control.
+         */
+        public static final String XF_NOTIFICATION_VIBRATOR_ON = "xf_notification_vibrator_on";
+
+        private static final Validator XF_NOTIFICATION_VIBRATOR_ON_VALIDATOR = sBooleanValidator;
+
+        /**
+         * kongbo add for xf notification tone control.
+         */
+        public static final String XF_NOTIFICATION_TONE_ON = "xf_notification_tone_on";
+
+        private static final Validator XF_NOTIFICATION_TONE_ON_VALIDATOR = sBooleanValidator;
+
+        /**

          * the timeout last for touch light
          * @hide
          */
@@ -3970,6 +3984,8 @@ public final class Settings {
             SCREEN_BRIGHTNESS_MODE,
             SCREEN_AUTO_BRIGHTNESS_ADJ,
             SCREEN_BRIGHTNESS_FOR_VR,
+            XF_NOTIFICATION_VIBRATOR_ON,
+            XF_NOTIFICATION_TONE_ON,

             VIBRATE_INPUT_DEVICES,
             MODE_RINGER_STREAMS_AFFECTED,
             TEXT_AUTO_REPLACE,
@@ -4033,6 +4049,8 @@ public final class Settings {
             PUBLIC_SETTINGS.add(SCREEN_OFF_TIMEOUT);
             PUBLIC_SETTINGS.add(SCREEN_BRIGHTNESS);
             PUBLIC_SETTINGS.add(SCREEN_BRIGHTNESS_MODE);
+            PUBLIC_SETTINGS.add(XF_NOTIFICATION_VIBRATOR_ON);
+            PUBLIC_SETTINGS.add(XF_NOTIFICATION_TONE_ON);

             PUBLIC_SETTINGS.add(MODE_RINGER_STREAMS_AFFECTED);
             PUBLIC_SETTINGS.add(MUTE_STREAMS_AFFECTED);
             PUBLIC_SETTINGS.add(VIBRATE_ON);
@@ -4139,6 +4157,8 @@ public final class Settings {
             VALIDATORS.put(SCREEN_BRIGHTNESS, SCREEN_BRIGHTNESS_VALIDATOR);
             VALIDATORS.put(SCREEN_BRIGHTNESS_FOR_VR, SCREEN_BRIGHTNESS_FOR_VR_VALIDATOR);
             VALIDATORS.put(SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_VALIDATOR);
+            VALIDATORS.put(XF_NOTIFICATION_VIBRATOR_ON, XF_NOTIFICATION_VIBRATOR_ON_VALIDATOR);
+            VALIDATORS.put(XF_NOTIFICATION_TONE_ON, XF_NOTIFICATION_TONE_ON_VALIDATOR);

             VALIDATORS.put(MODE_RINGER_STREAMS_AFFECTED, MODE_RINGER_STREAMS_AFFECTED_VALIDATOR);
             VALIDATORS.put(MUTE_STREAMS_AFFECTED, MUTE_STREAMS_AFFECTED_VALIDATOR);
             VALIDATORS.put(VIBRATE_ON, VIBRATE_ON_VALIDATOR);
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 5d62162cb..b3fe45217 100755
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -200,6 +200,12 @@
     <!-- SPRD: bug739620 Default for Settings.Secure.CAMERA_GESTURE_DISABLED -->
     <integer name="camera_gesture_disabled">1</integer>
 
+    <!-- kongbo add for notification vibrator enable default -->
+    <integer name="xf_notification_vibrator_on">1</integer>
+
+    <!-- kongbo add for notification tone enable default -->
+    <integer name="xf_notification_tone_on">1</integer>
+

     <!--SPRD:861465 recreate settingsprovider xml -->
     <bool name="provision_disabled">true</bool>
 
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index b956b74fa..b6e6b544b 100755
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2369,6 +2369,12 @@ class DatabaseHelper extends SQLiteOpenHelper {
             loadIntegerSetting(stmt, Settings.System.POINTER_SPEED,
                     R.integer.def_pointer_speed);
 
+            loadIntegerSetting(stmt, Settings.System.XF_NOTIFICATION_VIBRATOR_ON,
+                    R.integer.xf_notification_vibrator_on);
+
+            loadIntegerSetting(stmt, Settings.System.XF_NOTIFICATION_TONE_ON,
+                    R.integer.xf_notification_tone_on);
+

             // set default button light timeout.
             loadIntegerSetting(stmt, Settings.System.BUTTON_LIGHT_OFF_TIMEOUT,
                     R.integer.def_button_light_off_timeout);

 

用Settings.System.putInt();Settings.System.getInt()來設置和取得設置的值。

 

大功告成~~~~歡迎同仁交流!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章