diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SettingsValidators.java
index 255b1ad..4c281f0 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/SettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/SettingsValidators.java
@@ -35,6 +35,15 @@
  */
 public class SettingsValidators {
 
+    public static final Validator OMNI_CHARGING_CONTROL_LIMIT_VALIDATOR =
+            new InclusiveIntegerRangeValidator(70, 100);
+
+    public static final Validator OMNI_CHARGING_CONTROL_MODE_VALIDATOR =
+            new InclusiveIntegerRangeValidator(1, 3);
+
+    public static final Validator OMNI_CHARGING_CONTROL_TIME_VALIDATOR =
+            new InclusiveIntegerRangeValidator(0, 86400);
+
     public static final Validator BOOLEAN_VALIDATOR =
             new DiscreteValueValidator(new String[] {"0", "1"});
 
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java
index b3da42e..c427fe0 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java
@@ -1020,6 +1020,9 @@
             // BOOLEAN_VALIDATOR == 0
             // ANY_INTEGER_VALIDATOR == 1
             // ANY_STRING_VALIDATOR == 2
+            // OMNI_CHARGING_CONTROL_LIMIT_VALIDATOR == 3 +++InclusiveIntegerRangeValidator
+            // OMNI_CHARGING_CONTROL_MODE_VALIDATOR == 4
+            // OMNI_CHARGING_CONTROL_TIME_VALIDATOR == 5 ---InclusiveIntegerRangeValidator
             for (String key : omniValidators.keySet()) {
                 Integer validatorId = omniValidators.get(key);
                 if (validatorId == 0) {
@@ -1028,6 +1031,12 @@
                     validators.put(key, SettingsValidators.ANY_INTEGER_VALIDATOR);
                 } else if (validatorId == 2) {
                     validators.put(key, SettingsValidators.ANY_STRING_VALIDATOR);
+                } else if (validatorId == 3) {
+                    validators.put(key, SettingsValidators.OMNI_CHARGING_CONTROL_LIMIT_VALIDATOR);
+                } else if (validatorId == 4) {
+                    validators.put(key, SettingsValidators.OMNI_CHARGING_CONTROL_MODE_VALIDATOR);
+                } else if (validatorId == 5) {
+                    validators.put(key, SettingsValidators.OMNI_CHARGING_CONTROL_TIME_VALIDATOR);
                 }
             }
         } else if (contentUri.equals(Settings.Global.CONTENT_URI)) {
