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()来设置和取得设置的值。

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值