1 /* 2 * Copyright (C) 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.provider.settings.validators; 18 19 import static android.hardware.display.HdrConversionMode.HDR_CONVERSION_FORCE; 20 import static android.hardware.display.HdrConversionMode.HDR_CONVERSION_PASSTHROUGH; 21 import static android.hardware.display.HdrConversionMode.HDR_CONVERSION_SYSTEM; 22 import static android.media.AudioFormat.SURROUND_SOUND_ENCODING; 23 import static android.net.ConnectivitySettingsManager.NETWORK_AVOID_BAD_WIFI_AVOID; 24 import static android.net.ConnectivitySettingsManager.NETWORK_AVOID_BAD_WIFI_IGNORE; 25 import static android.net.ConnectivitySettingsManager.NETWORK_AVOID_BAD_WIFI_PROMPT; 26 import static android.provider.settings.validators.SettingsValidators.ANY_INTEGER_VALIDATOR; 27 import static android.provider.settings.validators.SettingsValidators.ANY_STRING_VALIDATOR; 28 import static android.provider.settings.validators.SettingsValidators.BOOLEAN_VALIDATOR; 29 import static android.provider.settings.validators.SettingsValidators.NONE_NEGATIVE_LONG_VALIDATOR; 30 import static android.provider.settings.validators.SettingsValidators.NON_NEGATIVE_FLOAT_VALIDATOR; 31 import static android.provider.settings.validators.SettingsValidators.NON_NEGATIVE_INTEGER_VALIDATOR; 32 import static android.provider.settings.validators.SettingsValidators.PACKAGE_NAME_VALIDATOR; 33 import static android.provider.settings.validators.SettingsValidators.PERCENTAGE_INTEGER_VALIDATOR; 34 import static android.view.Display.HdrCapabilities.HDR_TYPES; 35 import static android.view.Display.HdrCapabilities.HDR_TYPE_DOLBY_VISION; 36 import static android.view.Display.HdrCapabilities.HDR_TYPE_HDR10; 37 import static android.view.Display.HdrCapabilities.HDR_TYPE_HDR10_PLUS; 38 import static android.view.Display.HdrCapabilities.HDR_TYPE_HLG; 39 import static android.view.Display.HdrCapabilities.HDR_TYPE_INVALID; 40 41 import android.os.BatteryManager; 42 import android.provider.Settings.Global; 43 import android.util.ArrayMap; 44 45 import java.util.Map; 46 47 /** 48 * Validators for Global settings 49 */ 50 public class GlobalSettingsValidators { 51 public static final Map<String, Validator> VALIDATORS = new ArrayMap<>(); 52 53 static { VALIDATORS.put(Global.APPLY_RAMPING_RINGER, BOOLEAN_VALIDATOR)54 VALIDATORS.put(Global.APPLY_RAMPING_RINGER, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.BUGREPORT_IN_POWER_MENU, BOOLEAN_VALIDATOR)55 VALIDATORS.put(Global.BUGREPORT_IN_POWER_MENU, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.STAY_ON_WHILE_PLUGGED_IN, value -> { try { int val = Integer.parseInt(value); return (val == 0) || (val == BatteryManager.BATTERY_PLUGGED_AC) || (val == BatteryManager.BATTERY_PLUGGED_USB) || (val == BatteryManager.BATTERY_PLUGGED_WIRELESS) || (val == BatteryManager.BATTERY_PLUGGED_DOCK) || (val == (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB)) || (val == (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_WIRELESS)) || (val == (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_DOCK)) || (val == (BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_WIRELESS)) || (val == (BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_DOCK)) || (val == (BatteryManager.BATTERY_PLUGGED_WIRELESS | BatteryManager.BATTERY_PLUGGED_DOCK)) || (val == (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_WIRELESS)) || (val == (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_DOCK)) || (val == (BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_WIRELESS | BatteryManager.BATTERY_PLUGGED_DOCK)); } catch (NumberFormatException e) { return false; } })56 VALIDATORS.put( 57 Global.STAY_ON_WHILE_PLUGGED_IN, 58 value -> { 59 try { 60 int val = Integer.parseInt(value); 61 return (val == 0) 62 || (val == BatteryManager.BATTERY_PLUGGED_AC) 63 || (val == BatteryManager.BATTERY_PLUGGED_USB) 64 || (val == BatteryManager.BATTERY_PLUGGED_WIRELESS) 65 || (val == BatteryManager.BATTERY_PLUGGED_DOCK) 66 || (val 67 == (BatteryManager.BATTERY_PLUGGED_AC 68 | BatteryManager.BATTERY_PLUGGED_USB)) 69 || (val 70 == (BatteryManager.BATTERY_PLUGGED_AC 71 | BatteryManager.BATTERY_PLUGGED_WIRELESS)) 72 || (val 73 == (BatteryManager.BATTERY_PLUGGED_AC 74 | BatteryManager.BATTERY_PLUGGED_DOCK)) 75 || (val 76 == (BatteryManager.BATTERY_PLUGGED_USB 77 | BatteryManager.BATTERY_PLUGGED_WIRELESS)) 78 || (val 79 == (BatteryManager.BATTERY_PLUGGED_USB 80 | BatteryManager.BATTERY_PLUGGED_DOCK)) 81 || (val 82 == (BatteryManager.BATTERY_PLUGGED_WIRELESS 83 | BatteryManager.BATTERY_PLUGGED_DOCK)) 84 || (val 85 == (BatteryManager.BATTERY_PLUGGED_AC 86 | BatteryManager.BATTERY_PLUGGED_USB 87 | BatteryManager.BATTERY_PLUGGED_WIRELESS)) 88 || (val 89 == (BatteryManager.BATTERY_PLUGGED_AC 90 | BatteryManager.BATTERY_PLUGGED_USB 91 | BatteryManager.BATTERY_PLUGGED_DOCK)) 92 || (val 93 == (BatteryManager.BATTERY_PLUGGED_USB 94 | BatteryManager.BATTERY_PLUGGED_WIRELESS 95 | BatteryManager.BATTERY_PLUGGED_DOCK)); 96 } catch (NumberFormatException e) { 97 return false; 98 } 99 }); VALIDATORS.put(Global.AUTO_TIME, BOOLEAN_VALIDATOR)100 VALIDATORS.put(Global.AUTO_TIME, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.AUTO_TIME_ZONE, BOOLEAN_VALIDATOR)101 VALIDATORS.put(Global.AUTO_TIME_ZONE, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.POWER_SOUNDS_ENABLED, BOOLEAN_VALIDATOR)102 VALIDATORS.put(Global.POWER_SOUNDS_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.DOCK_SOUNDS_ENABLED, BOOLEAN_VALIDATOR)103 VALIDATORS.put(Global.DOCK_SOUNDS_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.CHARGING_SOUNDS_ENABLED, BOOLEAN_VALIDATOR)104 VALIDATORS.put(Global.CHARGING_SOUNDS_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.USB_MASS_STORAGE_ENABLED, BOOLEAN_VALIDATOR)105 VALIDATORS.put(Global.USB_MASS_STORAGE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.NETWORK_RECOMMENDATIONS_ENABLED, new DiscreteValueValidator(new String[] {R, R, R}))106 VALIDATORS.put( 107 Global.NETWORK_RECOMMENDATIONS_ENABLED, 108 new DiscreteValueValidator(new String[] {"-1", "0", "1"})); VALIDATORS.put( Global.NETWORK_AVOID_BAD_WIFI, new DiscreteValueValidator( new String[] { String.valueOf(NETWORK_AVOID_BAD_WIFI_IGNORE), String.valueOf(NETWORK_AVOID_BAD_WIFI_PROMPT), String.valueOf(NETWORK_AVOID_BAD_WIFI_AVOID), }))109 VALIDATORS.put( 110 Global.NETWORK_AVOID_BAD_WIFI, 111 new DiscreteValueValidator( 112 new String[] { 113 String.valueOf(NETWORK_AVOID_BAD_WIFI_IGNORE), 114 String.valueOf(NETWORK_AVOID_BAD_WIFI_PROMPT), 115 String.valueOf(NETWORK_AVOID_BAD_WIFI_AVOID), 116 })); VALIDATORS.put(Global.WIFI_WAKEUP_ENABLED, BOOLEAN_VALIDATOR)117 VALIDATORS.put(Global.WIFI_WAKEUP_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, BOOLEAN_VALIDATOR)118 VALIDATORS.put(Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.USE_OPEN_WIFI_PACKAGE, value -> (value == null) || PACKAGE_NAME_VALIDATOR.validate(value))119 VALIDATORS.put( 120 Global.USE_OPEN_WIFI_PACKAGE, 121 value -> (value == null) || PACKAGE_NAME_VALIDATOR.validate(value)); VALIDATORS.put(Global.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED, ANY_STRING_VALIDATOR)122 VALIDATORS.put(Global.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED, ANY_STRING_VALIDATOR); VALIDATORS.put( Global.EMERGENCY_TONE, new DiscreteValueValidator(new String[] {R, R, R}))123 VALIDATORS.put( 124 Global.EMERGENCY_TONE, new DiscreteValueValidator(new String[] {"0", "1", "2"})); VALIDATORS.put(Global.EMERGENCY_GESTURE_POWER_BUTTON_COOLDOWN_PERIOD_MS, NON_NEGATIVE_INTEGER_VALIDATOR)125 VALIDATORS.put(Global.EMERGENCY_GESTURE_POWER_BUTTON_COOLDOWN_PERIOD_MS, 126 NON_NEGATIVE_INTEGER_VALIDATOR); VALIDATORS.put(Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS, NON_NEGATIVE_INTEGER_VALIDATOR)127 VALIDATORS.put(Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS, 128 NON_NEGATIVE_INTEGER_VALIDATOR); VALIDATORS.put(Global.EMERGENCY_GESTURE_STICKY_UI_MAX_DURATION_MILLIS, NON_NEGATIVE_INTEGER_VALIDATOR)129 VALIDATORS.put(Global.EMERGENCY_GESTURE_STICKY_UI_MAX_DURATION_MILLIS, 130 NON_NEGATIVE_INTEGER_VALIDATOR); VALIDATORS.put(Global.CALL_AUTO_RETRY, BOOLEAN_VALIDATOR)131 VALIDATORS.put(Global.CALL_AUTO_RETRY, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.DOCK_AUDIO_MEDIA_ENABLED, BOOLEAN_VALIDATOR)132 VALIDATORS.put(Global.DOCK_AUDIO_MEDIA_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.ENABLE_AUTOMATIC_SYSTEM_SERVER_HEAP_DUMPS, new DiscreteValueValidator(new String[] {R, R}))133 VALIDATORS.put( 134 Global.ENABLE_AUTOMATIC_SYSTEM_SERVER_HEAP_DUMPS, 135 new DiscreteValueValidator(new String[] {"0", "1"})); VALIDATORS.put( Global.ARE_USER_DISABLED_HDR_FORMATS_ALLOWED, new DiscreteValueValidator(new String[] {R, R}))136 VALIDATORS.put( 137 Global.ARE_USER_DISABLED_HDR_FORMATS_ALLOWED, 138 new DiscreteValueValidator(new String[] {"0", "1"})); VALIDATORS.put( Global.USER_DISABLED_HDR_FORMATS, new DiscreteValueIntegerListValidator(R, HDR_TYPES))139 VALIDATORS.put( 140 Global.USER_DISABLED_HDR_FORMATS, 141 new DiscreteValueIntegerListValidator(",", HDR_TYPES)); VALIDATORS.put( Global.ENCODED_SURROUND_OUTPUT, new DiscreteValueValidator(new String[] {R, R, R, R}))142 VALIDATORS.put( 143 Global.ENCODED_SURROUND_OUTPUT, 144 new DiscreteValueValidator(new String[] {"0", "1", "2", "3"})); VALIDATORS.put( Global.ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS, new DiscreteValueIntegerListValidator(R, SURROUND_SOUND_ENCODING))145 VALIDATORS.put( 146 Global.ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS, 147 new DiscreteValueIntegerListValidator(",", SURROUND_SOUND_ENCODING)); VALIDATORS.put( Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL, new InclusiveIntegerRangeValidator(0, 100))148 VALIDATORS.put( 149 Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL, 150 new InclusiveIntegerRangeValidator(0, 100)); VALIDATORS.put( Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED, new DiscreteValueValidator(new String[] {R, R}))151 VALIDATORS.put( 152 Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED, 153 new DiscreteValueValidator(new String[] {"0", "1"})); VALIDATORS.put(Global.LOW_POWER_MODE_TRIGGER_LEVEL, PERCENTAGE_INTEGER_VALIDATOR)154 VALIDATORS.put(Global.LOW_POWER_MODE_TRIGGER_LEVEL, PERCENTAGE_INTEGER_VALIDATOR); VALIDATORS.put(Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX, PERCENTAGE_INTEGER_VALIDATOR)155 VALIDATORS.put(Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX, PERCENTAGE_INTEGER_VALIDATOR); VALIDATORS.put(Global.LOW_POWER_MODE_REMINDER_ENABLED, BOOLEAN_VALIDATOR)156 VALIDATORS.put(Global.LOW_POWER_MODE_REMINDER_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.AUTOMATIC_POWER_SAVE_MODE, new DiscreteValueValidator(new String[] {R, R}))157 VALIDATORS.put( 158 Global.AUTOMATIC_POWER_SAVE_MODE, 159 new DiscreteValueValidator(new String[] {"0", "1"})); VALIDATORS.put( Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, PERCENTAGE_INTEGER_VALIDATOR)160 VALIDATORS.put( 161 Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, PERCENTAGE_INTEGER_VALIDATOR); VALIDATORS.put(Global.BLUETOOTH_ON, BOOLEAN_VALIDATOR)162 VALIDATORS.put(Global.BLUETOOTH_ON, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.CLOCKWORK_HOME_READY, ANY_STRING_VALIDATOR)163 VALIDATORS.put(Global.CLOCKWORK_HOME_READY, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.ENABLE_TARE, new DiscreteValueValidator(new String[] {R, R, R}))164 VALIDATORS.put(Global.ENABLE_TARE, 165 new DiscreteValueValidator(new String[] {"0", "1", "2"})); VALIDATORS.put(Global.TARE_ALARM_MANAGER_CONSTANTS, ANY_STRING_VALIDATOR)166 VALIDATORS.put(Global.TARE_ALARM_MANAGER_CONSTANTS, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.TARE_JOB_SCHEDULER_CONSTANTS, ANY_STRING_VALIDATOR)167 VALIDATORS.put(Global.TARE_JOB_SCHEDULER_CONSTANTS, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.PRIVATE_DNS_MODE, ANY_STRING_VALIDATOR)168 VALIDATORS.put(Global.PRIVATE_DNS_MODE, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.PRIVATE_DNS_SPECIFIER, ANY_STRING_VALIDATOR)169 VALIDATORS.put(Global.PRIVATE_DNS_SPECIFIER, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.SOFT_AP_TIMEOUT_ENABLED, BOOLEAN_VALIDATOR)170 VALIDATORS.put(Global.SOFT_AP_TIMEOUT_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.WIFI_SCAN_THROTTLE_ENABLED, BOOLEAN_VALIDATOR)171 VALIDATORS.put(Global.WIFI_SCAN_THROTTLE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.APP_AUTO_RESTRICTION_ENABLED, BOOLEAN_VALIDATOR)172 VALIDATORS.put(Global.APP_AUTO_RESTRICTION_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.ZEN_DURATION, ANY_INTEGER_VALIDATOR)173 VALIDATORS.put(Global.ZEN_DURATION, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.CHARGING_VIBRATION_ENABLED, BOOLEAN_VALIDATOR)174 VALIDATORS.put(Global.CHARGING_VIBRATION_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.DEVICE_PROVISIONING_MOBILE_DATA_ENABLED, BOOLEAN_VALIDATOR)175 VALIDATORS.put(Global.DEVICE_PROVISIONING_MOBILE_DATA_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.REQUIRE_PASSWORD_TO_DECRYPT, BOOLEAN_VALIDATOR)176 VALIDATORS.put(Global.REQUIRE_PASSWORD_TO_DECRYPT, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.DEVICE_DEMO_MODE, BOOLEAN_VALIDATOR)177 VALIDATORS.put(Global.DEVICE_DEMO_MODE, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.AWARE_ALLOWED, BOOLEAN_VALIDATOR)178 VALIDATORS.put(Global.AWARE_ALLOWED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.POWER_BUTTON_LONG_PRESS, new InclusiveIntegerRangeValidator(0, 5))179 VALIDATORS.put(Global.POWER_BUTTON_LONG_PRESS, new InclusiveIntegerRangeValidator(0, 5)); VALIDATORS.put( Global.POWER_BUTTON_VERY_LONG_PRESS, new InclusiveIntegerRangeValidator(0, 1))180 VALIDATORS.put( 181 Global.POWER_BUTTON_VERY_LONG_PRESS, new InclusiveIntegerRangeValidator(0, 1)); VALIDATORS.put(Global.KEY_CHORD_POWER_VOLUME_UP, new InclusiveIntegerRangeValidator(0, 2))182 VALIDATORS.put(Global.KEY_CHORD_POWER_VOLUME_UP, new InclusiveIntegerRangeValidator(0, 2)); VALIDATORS.put(Global.CUSTOM_BUGREPORT_HANDLER_APP, ANY_STRING_VALIDATOR)183 VALIDATORS.put(Global.CUSTOM_BUGREPORT_HANDLER_APP, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.CUSTOM_BUGREPORT_HANDLER_USER, ANY_INTEGER_VALIDATOR)184 VALIDATORS.put(Global.CUSTOM_BUGREPORT_HANDLER_USER, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.DEVELOPMENT_SETTINGS_ENABLED, BOOLEAN_VALIDATOR)185 VALIDATORS.put(Global.DEVELOPMENT_SETTINGS_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.NOTIFICATION_FEEDBACK_ENABLED, BOOLEAN_VALIDATOR)186 VALIDATORS.put(Global.NOTIFICATION_FEEDBACK_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.RESTRICTED_NETWORKING_MODE, BOOLEAN_VALIDATOR)187 VALIDATORS.put(Global.RESTRICTED_NETWORKING_MODE, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.ONE_HANDED_KEYGUARD_SIDE, new InclusiveIntegerRangeValidator( Global.ONE_HANDED_KEYGUARD_SIDE_LEFT, Global.ONE_HANDED_KEYGUARD_SIDE_RIGHT))188 VALIDATORS.put( 189 Global.ONE_HANDED_KEYGUARD_SIDE, 190 new InclusiveIntegerRangeValidator( 191 /* first= */Global.ONE_HANDED_KEYGUARD_SIDE_LEFT, 192 /* last= */Global.ONE_HANDED_KEYGUARD_SIDE_RIGHT)); VALIDATORS.put(Global.DISABLE_WINDOW_BLURS, BOOLEAN_VALIDATOR)193 VALIDATORS.put(Global.DISABLE_WINDOW_BLURS, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.DEVICE_CONFIG_SYNC_DISABLED, BOOLEAN_VALIDATOR)194 VALIDATORS.put(Global.DEVICE_CONFIG_SYNC_DISABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.AUTOMATIC_POWER_SAVE_MODE, ANY_INTEGER_VALIDATOR)195 VALIDATORS.put(Global.AUTOMATIC_POWER_SAVE_MODE, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.ADVANCED_BATTERY_USAGE_AMOUNT, PERCENTAGE_INTEGER_VALIDATOR)196 VALIDATORS.put(Global.ADVANCED_BATTERY_USAGE_AMOUNT, PERCENTAGE_INTEGER_VALIDATOR); VALIDATORS.put(Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, BOOLEAN_VALIDATOR)197 VALIDATORS.put(Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.POWER_BUTTON_LONG_PRESS_DURATION_MS, NONE_NEGATIVE_LONG_VALIDATOR)198 VALIDATORS.put(Global.POWER_BUTTON_LONG_PRESS_DURATION_MS, NONE_NEGATIVE_LONG_VALIDATOR); VALIDATORS.put(Global.STYLUS_EVER_USED, BOOLEAN_VALIDATOR)199 VALIDATORS.put(Global.STYLUS_EVER_USED, BOOLEAN_VALIDATOR); 200 VALIDATORS.put(Global.Wearable.HAS_PAY_TOKENS, BOOLEAN_VALIDATOR)201 VALIDATORS.put(Global.Wearable.HAS_PAY_TOKENS, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.GMS_CHECKIN_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR)202 VALIDATORS.put(Global.Wearable.GMS_CHECKIN_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.HOTWORD_DETECTION_ENABLED, BOOLEAN_VALIDATOR)203 VALIDATORS.put(Global.Wearable.HOTWORD_DETECTION_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.SMART_REPLIES_ENABLED, BOOLEAN_VALIDATOR)204 VALIDATORS.put(Global.Wearable.SMART_REPLIES_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.OBTAIN_PAIRED_DEVICE_LOCATION, BOOLEAN_VALIDATOR)205 VALIDATORS.put(Global.Wearable.OBTAIN_PAIRED_DEVICE_LOCATION, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.PHONE_PLAY_STORE_AVAILABLE), String.valueOf(Global.Wearable.PHONE_PLAY_STORE_UNAVAILABLE), String.valueOf(Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY_UNKNOWN) }))206 VALIDATORS.put( 207 Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY, 208 new DiscreteValueValidator( 209 new String[] { 210 String.valueOf(Global.Wearable.PHONE_PLAY_STORE_AVAILABLE), 211 String.valueOf(Global.Wearable.PHONE_PLAY_STORE_UNAVAILABLE), 212 String.valueOf(Global.Wearable.PHONE_PLAY_STORE_AVAILABILITY_UNKNOWN) 213 })); VALIDATORS.put( Global.Wearable.BUG_REPORT, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.BUG_REPORT_ENABLED), String.valueOf(Global.Wearable.BUG_REPORT_DISABLED) }))214 VALIDATORS.put( 215 Global.Wearable.BUG_REPORT, 216 new DiscreteValueValidator( 217 new String[] { 218 String.valueOf(Global.Wearable.BUG_REPORT_ENABLED), 219 String.valueOf(Global.Wearable.BUG_REPORT_DISABLED) 220 })); VALIDATORS.put(Global.Wearable.SMART_ILLUMINATE_ENABLED, BOOLEAN_VALIDATOR)221 VALIDATORS.put(Global.Wearable.SMART_ILLUMINATE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.Wearable.CLOCKWORK_AUTO_TIME, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.SYNC_TIME_FROM_PHONE), String.valueOf(Global.Wearable.SYNC_TIME_FROM_NETWORK), String.valueOf(Global.Wearable.AUTO_TIME_OFF), String.valueOf(Global.Wearable.INVALID_AUTO_TIME_STATE) }))222 VALIDATORS.put( 223 Global.Wearable.CLOCKWORK_AUTO_TIME, 224 new DiscreteValueValidator( 225 new String[] { 226 String.valueOf(Global.Wearable.SYNC_TIME_FROM_PHONE), 227 String.valueOf(Global.Wearable.SYNC_TIME_FROM_NETWORK), 228 String.valueOf(Global.Wearable.AUTO_TIME_OFF), 229 String.valueOf(Global.Wearable.INVALID_AUTO_TIME_STATE) 230 })); VALIDATORS.put( Global.Wearable.CLOCKWORK_AUTO_TIME_ZONE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.SYNC_TIME_ZONE_FROM_PHONE), String.valueOf(Global.Wearable.SYNC_TIME_ZONE_FROM_NETWORK), String.valueOf(Global.Wearable.AUTO_TIME_ZONE_OFF), String.valueOf(Global.Wearable.INVALID_AUTO_TIME_ZONE_STATE) }))231 VALIDATORS.put( 232 Global.Wearable.CLOCKWORK_AUTO_TIME_ZONE, 233 new DiscreteValueValidator( 234 new String[] { 235 String.valueOf(Global.Wearable.SYNC_TIME_ZONE_FROM_PHONE), 236 String.valueOf(Global.Wearable.SYNC_TIME_ZONE_FROM_NETWORK), 237 String.valueOf(Global.Wearable.AUTO_TIME_ZONE_OFF), 238 String.valueOf(Global.Wearable.INVALID_AUTO_TIME_ZONE_STATE) 239 })); VALIDATORS.put(Global.Wearable.CLOCKWORK_24HR_TIME, BOOLEAN_VALIDATOR)240 VALIDATORS.put(Global.Wearable.CLOCKWORK_24HR_TIME, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AUTO_WIFI, BOOLEAN_VALIDATOR)241 VALIDATORS.put(Global.Wearable.AUTO_WIFI, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.WIFI_POWER_SAVE, ANY_INTEGER_VALIDATOR)242 VALIDATORS.put(Global.Wearable.WIFI_POWER_SAVE, ANY_INTEGER_VALIDATOR); VALIDATORS.put( Global.Wearable.ALT_BYPASS_WIFI_REQUIREMENT_TIME_MILLIS, ANY_INTEGER_VALIDATOR)243 VALIDATORS.put( 244 Global.Wearable.ALT_BYPASS_WIFI_REQUIREMENT_TIME_MILLIS, 245 ANY_INTEGER_VALIDATOR); VALIDATORS.put( Global.Wearable.SETUP_SKIPPED, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.SETUP_SKIPPED_YES), String.valueOf(Global.Wearable.SETUP_SKIPPED_NO), String.valueOf(Global.Wearable.SETUP_SKIPPED_UNKNOWN) }))246 VALIDATORS.put( 247 Global.Wearable.SETUP_SKIPPED, 248 new DiscreteValueValidator( 249 new String[] { 250 String.valueOf(Global.Wearable.SETUP_SKIPPED_YES), 251 String.valueOf(Global.Wearable.SETUP_SKIPPED_NO), 252 String.valueOf(Global.Wearable.SETUP_SKIPPED_UNKNOWN) 253 })); VALIDATORS.put( Global.Wearable.LAST_CALL_FORWARD_ACTION, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.CALL_FORWARD_ACTION_ON), String.valueOf(Global.Wearable.CALL_FORWARD_ACTION_OFF), String.valueOf(Global.Wearable.CALL_FORWARD_NO_LAST_ACTION) }))254 VALIDATORS.put( 255 Global.Wearable.LAST_CALL_FORWARD_ACTION, 256 new DiscreteValueValidator( 257 new String[] { 258 String.valueOf(Global.Wearable.CALL_FORWARD_ACTION_ON), 259 String.valueOf(Global.Wearable.CALL_FORWARD_ACTION_OFF), 260 String.valueOf(Global.Wearable.CALL_FORWARD_NO_LAST_ACTION) 261 })); VALIDATORS.put( Global.Wearable.STEM_1_TYPE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN), String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH), String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH) }))262 VALIDATORS.put( 263 Global.Wearable.STEM_1_TYPE, 264 new DiscreteValueValidator( 265 new String[] { 266 String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN), 267 String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH), 268 String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH) 269 })); VALIDATORS.put( Global.Wearable.STEM_2_TYPE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN), String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH), String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH) }))270 VALIDATORS.put( 271 Global.Wearable.STEM_2_TYPE, 272 new DiscreteValueValidator( 273 new String[] { 274 String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN), 275 String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH), 276 String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH) 277 })); VALIDATORS.put( Global.Wearable.STEM_3_TYPE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN), String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH), String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH) }))278 VALIDATORS.put( 279 Global.Wearable.STEM_3_TYPE, 280 new DiscreteValueValidator( 281 new String[] { 282 String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN), 283 String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH), 284 String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH) 285 })); VALIDATORS.put(Global.Wearable.MUTE_WHEN_OFF_BODY_ENABLED, BOOLEAN_VALIDATOR)286 VALIDATORS.put(Global.Wearable.MUTE_WHEN_OFF_BODY_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.SIDE_BUTTON, BOOLEAN_VALIDATOR)287 VALIDATORS.put(Global.Wearable.SIDE_BUTTON, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.ANDROID_WEAR_VERSION, ANY_INTEGER_VALIDATOR)288 VALIDATORS.put(Global.Wearable.ANDROID_WEAR_VERSION, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.SYSTEM_CAPABILITIES, ANY_INTEGER_VALIDATOR)289 VALIDATORS.put(Global.Wearable.SYSTEM_CAPABILITIES, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.SYSTEM_EDITION, ANY_INTEGER_VALIDATOR)290 VALIDATORS.put(Global.Wearable.SYSTEM_EDITION, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.WEAR_PLATFORM_MR_NUMBER, ANY_INTEGER_VALIDATOR)291 VALIDATORS.put(Global.Wearable.WEAR_PLATFORM_MR_NUMBER, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.MOBILE_SIGNAL_DETECTOR, BOOLEAN_VALIDATOR)292 VALIDATORS.put(Global.Wearable.MOBILE_SIGNAL_DETECTOR, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_ENABLED, BOOLEAN_VALIDATOR)293 VALIDATORS.put(Global.Wearable.AMBIENT_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_WAKE, BOOLEAN_VALIDATOR)294 VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_WAKE, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED_DEV, BOOLEAN_VALIDATOR)295 VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED_DEV, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_TOUCH_TO_WAKE, BOOLEAN_VALIDATOR)296 VALIDATORS.put(Global.Wearable.AMBIENT_TOUCH_TO_WAKE, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.DECOMPOSABLE_WATCHFACE, BOOLEAN_VALIDATOR)297 VALIDATORS.put(Global.Wearable.DECOMPOSABLE_WATCHFACE, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_FORCE_WHEN_DOCKED, BOOLEAN_VALIDATOR)298 VALIDATORS.put(Global.Wearable.AMBIENT_FORCE_WHEN_DOCKED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED, BOOLEAN_VALIDATOR)299 VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR)300 VALIDATORS.put(Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_BRIGHT, BOOLEAN_VALIDATOR)301 VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_BRIGHT, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.Wearable.LOCK_SCREEN_STATE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_NONE), String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PIN), String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PATTERN) }))302 VALIDATORS.put( 303 Global.Wearable.LOCK_SCREEN_STATE, 304 new DiscreteValueValidator( 305 new String[] { 306 String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_NONE), 307 String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PIN), 308 String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PATTERN) 309 })); VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_ENABLED, BOOLEAN_VALIDATOR)310 VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE, new DiscreteValueValidator(new String[]{ String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT), String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE)}))311 VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE, 312 new DiscreteValueValidator(new String[]{ 313 String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT), 314 String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE)})); VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED, new DiscreteValueValidator(new String[]{String.valueOf( Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW), String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW), String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM), String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST), String.valueOf( Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST)}))315 VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED, 316 new DiscreteValueValidator(new String[]{String.valueOf( 317 Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW), 318 String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW), 319 String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM), 320 String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST), 321 String.valueOf( 322 Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST)})); VALIDATORS.put( Global.Wearable.PAIRED_DEVICE_OS_TYPE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.PAIRED_DEVICE_OS_TYPE_UNKNOWN), String.valueOf(Global.Wearable.PAIRED_DEVICE_OS_TYPE_ANDROID), String.valueOf(Global.Wearable.PAIRED_DEVICE_OS_TYPE_IOS) }))323 VALIDATORS.put( 324 Global.Wearable.PAIRED_DEVICE_OS_TYPE, 325 new DiscreteValueValidator( 326 new String[] { 327 String.valueOf(Global.Wearable.PAIRED_DEVICE_OS_TYPE_UNKNOWN), 328 String.valueOf(Global.Wearable.PAIRED_DEVICE_OS_TYPE_ANDROID), 329 String.valueOf(Global.Wearable.PAIRED_DEVICE_OS_TYPE_IOS) 330 })); VALIDATORS.put( Global.Wearable.COMPANION_BLE_ROLE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.BLUETOOTH_ROLE_CENTRAL), String.valueOf(Global.Wearable.BLUETOOTH_ROLE_PERIPHERAL) }))331 VALIDATORS.put( 332 Global.Wearable.COMPANION_BLE_ROLE, 333 new DiscreteValueValidator( 334 new String[] { 335 String.valueOf(Global.Wearable.BLUETOOTH_ROLE_CENTRAL), 336 String.valueOf(Global.Wearable.BLUETOOTH_ROLE_PERIPHERAL) 337 })); VALIDATORS.put( Global.Wearable.USER_HFP_CLIENT_SETTING, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.HFP_CLIENT_UNSET), String.valueOf(Global.Wearable.HFP_CLIENT_ENABLED), String.valueOf(Global.Wearable.HFP_CLIENT_DISABLED) }))338 VALIDATORS.put( 339 Global.Wearable.USER_HFP_CLIENT_SETTING, 340 new DiscreteValueValidator( 341 new String[] { 342 String.valueOf(Global.Wearable.HFP_CLIENT_UNSET), 343 String.valueOf(Global.Wearable.HFP_CLIENT_ENABLED), 344 String.valueOf(Global.Wearable.HFP_CLIENT_DISABLED) 345 })); VALIDATORS.put(Global.Wearable.COMPANION_OS_VERSION, ANY_INTEGER_VALIDATOR)346 VALIDATORS.put(Global.Wearable.COMPANION_OS_VERSION, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.COMPANION_APP_NAME, ANY_STRING_VALIDATOR)347 VALIDATORS.put(Global.Wearable.COMPANION_APP_NAME, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.Wearable.ENABLE_ALL_LANGUAGES, BOOLEAN_VALIDATOR)348 VALIDATORS.put(Global.Wearable.ENABLE_ALL_LANGUAGES, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.OEM_SETUP_VERSION, ANY_INTEGER_VALIDATOR)349 VALIDATORS.put(Global.Wearable.OEM_SETUP_VERSION, ANY_INTEGER_VALIDATOR); VALIDATORS.put( Global.Wearable.OEM_SETUP_COMPLETED_STATUS, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.OEM_SETUP_COMPLETED_FAILURE), String.valueOf(Global.Wearable.OEM_SETUP_COMPLETED_SUCCESS), }))350 VALIDATORS.put( 351 Global.Wearable.OEM_SETUP_COMPLETED_STATUS, 352 new DiscreteValueValidator( 353 new String[] { 354 String.valueOf(Global.Wearable.OEM_SETUP_COMPLETED_FAILURE), 355 String.valueOf(Global.Wearable.OEM_SETUP_COMPLETED_SUCCESS), 356 })); VALIDATORS.put(Global.Wearable.MASTER_GESTURES_ENABLED, BOOLEAN_VALIDATOR)357 VALIDATORS.put(Global.Wearable.MASTER_GESTURES_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.UNGAZE_ENABLED, BOOLEAN_VALIDATOR)358 VALIDATORS.put(Global.Wearable.UNGAZE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.Wearable.BATTERY_SAVER_MODE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_NONE), String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_LIGHT), String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_TRADITIONAL_WATCH), String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_TIME_ONLY), String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_CUSTOM) }))359 VALIDATORS.put( 360 Global.Wearable.BATTERY_SAVER_MODE, 361 new DiscreteValueValidator( 362 new String[] { 363 String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_NONE), 364 String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_LIGHT), 365 String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_TRADITIONAL_WATCH), 366 String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_TIME_ONLY), 367 String.valueOf(Global.Wearable.BATTERY_SAVER_MODE_CUSTOM) 368 })); VALIDATORS.put( Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, NON_NEGATIVE_INTEGER_VALIDATOR)369 VALIDATORS.put( 370 Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, 371 NON_NEGATIVE_INTEGER_VALIDATOR); VALIDATORS.put( Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_SET_BY_USER, BOOLEAN_VALIDATOR)372 VALIDATORS.put( 373 Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_SET_BY_USER, 374 BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.BURN_IN_PROTECTION_ENABLED, BOOLEAN_VALIDATOR)375 VALIDATORS.put(Global.Wearable.BURN_IN_PROTECTION_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.COMBINED_LOCATION_ENABLED, BOOLEAN_VALIDATOR)376 VALIDATORS.put(Global.Wearable.COMBINED_LOCATION_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.WRIST_ORIENTATION_MODE, new DiscreteValueValidator(new String[] {R, R, R, R}))377 VALIDATORS.put(Global.Wearable.WRIST_ORIENTATION_MODE, 378 new DiscreteValueValidator(new String[] {"0", "1", "2", "3"})); VALIDATORS.put(Global.USER_PREFERRED_REFRESH_RATE, NON_NEGATIVE_FLOAT_VALIDATOR)379 VALIDATORS.put(Global.USER_PREFERRED_REFRESH_RATE, NON_NEGATIVE_FLOAT_VALIDATOR); VALIDATORS.put(Global.USER_PREFERRED_RESOLUTION_HEIGHT, ANY_INTEGER_VALIDATOR)380 VALIDATORS.put(Global.USER_PREFERRED_RESOLUTION_HEIGHT, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.USER_PREFERRED_RESOLUTION_WIDTH, ANY_INTEGER_VALIDATOR)381 VALIDATORS.put(Global.USER_PREFERRED_RESOLUTION_WIDTH, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.HDR_CONVERSION_MODE, new DiscreteValueValidator( new String[] { String.valueOf(HDR_CONVERSION_PASSTHROUGH), String.valueOf(HDR_CONVERSION_SYSTEM), String.valueOf(HDR_CONVERSION_FORCE) }))382 VALIDATORS.put(Global.HDR_CONVERSION_MODE, new DiscreteValueValidator( 383 new String[] { 384 String.valueOf(HDR_CONVERSION_PASSTHROUGH), 385 String.valueOf(HDR_CONVERSION_SYSTEM), 386 String.valueOf(HDR_CONVERSION_FORCE) 387 })); VALIDATORS.put(Global.HDR_FORCE_CONVERSION_TYPE, new DiscreteValueValidator( new String[] { String.valueOf(HDR_TYPE_INVALID), String.valueOf(HDR_TYPE_DOLBY_VISION), String.valueOf(HDR_TYPE_HDR10), String.valueOf(HDR_TYPE_HLG), String.valueOf(HDR_TYPE_HDR10_PLUS) }))388 VALIDATORS.put(Global.HDR_FORCE_CONVERSION_TYPE, new DiscreteValueValidator( 389 new String[] { 390 String.valueOf(HDR_TYPE_INVALID), 391 String.valueOf(HDR_TYPE_DOLBY_VISION), 392 String.valueOf(HDR_TYPE_HDR10), 393 String.valueOf(HDR_TYPE_HLG), 394 String.valueOf(HDR_TYPE_HDR10_PLUS) 395 })); VALIDATORS.put(Global.RECEIVE_EXPLICIT_USER_INTERACTION_AUDIO_ENABLED, new DiscreteValueValidator(new String[]{R, R}))396 VALIDATORS.put(Global.RECEIVE_EXPLICIT_USER_INTERACTION_AUDIO_ENABLED, 397 new DiscreteValueValidator(new String[]{"0", "1"})); VALIDATORS.put(Global.Wearable.WET_MODE_ON, BOOLEAN_VALIDATOR)398 VALIDATORS.put(Global.Wearable.WET_MODE_ON, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.COOLDOWN_MODE_ON, BOOLEAN_VALIDATOR)399 VALIDATORS.put(Global.Wearable.COOLDOWN_MODE_ON, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.Wearable.GESTURE_TOUCH_AND_HOLD_WATCH_FACE_ENABLED, BOOLEAN_VALIDATOR)400 VALIDATORS.put( 401 Global.Wearable.GESTURE_TOUCH_AND_HOLD_WATCH_FACE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.RSB_WAKE_ENABLED, BOOLEAN_VALIDATOR)402 VALIDATORS.put(Global.Wearable.RSB_WAKE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.SCREEN_UNLOCK_SOUND_ENABLED, BOOLEAN_VALIDATOR)403 VALIDATORS.put(Global.Wearable.SCREEN_UNLOCK_SOUND_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.CHARGING_SOUNDS_ENABLED, BOOLEAN_VALIDATOR)404 VALIDATORS.put(Global.Wearable.CHARGING_SOUNDS_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.BEDTIME_MODE, BOOLEAN_VALIDATOR)405 VALIDATORS.put(Global.Wearable.BEDTIME_MODE, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.BEDTIME_HARD_MODE, BOOLEAN_VALIDATOR)406 VALIDATORS.put(Global.Wearable.BEDTIME_HARD_MODE, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.DYNAMIC_COLOR_THEME_ENABLED, BOOLEAN_VALIDATOR)407 VALIDATORS.put(Global.Wearable.DYNAMIC_COLOR_THEME_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.SCREENSHOT_ENABLED, BOOLEAN_VALIDATOR)408 VALIDATORS.put(Global.Wearable.SCREENSHOT_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.UPGRADE_DATA_MIGRATION_STATUS, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.UPGRADE_DATA_MIGRATION_NOT_NEEDED), String.valueOf(Global.Wearable.UPGRADE_DATA_MIGRATION_PENDING), String.valueOf(Global.Wearable.UPGRADE_DATA_MIGRATION_DONE) }))409 VALIDATORS.put(Global.Wearable.UPGRADE_DATA_MIGRATION_STATUS, 410 new DiscreteValueValidator( 411 new String[] { 412 String.valueOf(Global.Wearable.UPGRADE_DATA_MIGRATION_NOT_NEEDED), 413 String.valueOf(Global.Wearable.UPGRADE_DATA_MIGRATION_PENDING), 414 String.valueOf(Global.Wearable.UPGRADE_DATA_MIGRATION_DONE) 415 })); VALIDATORS.put(Global.Wearable.DISABLE_AOD_WHILE_PLUGGED, BOOLEAN_VALIDATOR)416 VALIDATORS.put(Global.Wearable.DISABLE_AOD_WHILE_PLUGGED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.NETWORK_LOCATION_OPT_IN, BOOLEAN_VALIDATOR)417 VALIDATORS.put(Global.Wearable.NETWORK_LOCATION_OPT_IN, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.PHONE_SWITCHING_STATUS, new InclusiveIntegerRangeValidator( Global.Wearable.PHONE_SWITCHING_STATUS_NOT_STARTED, Global.Wearable.PHONE_SWITCHING_STATUS_IN_PROGRESS_MIGRATION_SUCCESS))418 VALIDATORS.put(Global.Wearable.PHONE_SWITCHING_STATUS, 419 new InclusiveIntegerRangeValidator( 420 Global.Wearable.PHONE_SWITCHING_STATUS_NOT_STARTED, 421 Global.Wearable.PHONE_SWITCHING_STATUS_IN_PROGRESS_MIGRATION_SUCCESS)); VALIDATORS.put(Global.Wearable.REDUCE_MOTION, BOOLEAN_VALIDATOR)422 VALIDATORS.put(Global.Wearable.REDUCE_MOTION, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.RTL_SWIPE_TO_DISMISS_ENABLED_DEV, BOOLEAN_VALIDATOR)423 VALIDATORS.put(Global.Wearable.RTL_SWIPE_TO_DISMISS_ENABLED_DEV, BOOLEAN_VALIDATOR); VALIDATORS.put( Global.Wearable.TETHER_CONFIG_STATE, new DiscreteValueValidator( new String[] { String.valueOf(Global.Wearable.TETHERED_CONFIG_UNKNOWN), String.valueOf(Global.Wearable.TETHERED_CONFIG_STANDALONE), String.valueOf(Global.Wearable.TETHERED_CONFIG_TETHERED) }))424 VALIDATORS.put( 425 Global.Wearable.TETHER_CONFIG_STATE, 426 new DiscreteValueValidator( 427 new String[] { 428 String.valueOf(Global.Wearable.TETHERED_CONFIG_UNKNOWN), 429 String.valueOf(Global.Wearable.TETHERED_CONFIG_STANDALONE), 430 String.valueOf(Global.Wearable.TETHERED_CONFIG_TETHERED) 431 })); VALIDATORS.put(Global.Wearable.PHONE_SWITCHING_SUPPORTED, BOOLEAN_VALIDATOR)432 VALIDATORS.put(Global.Wearable.PHONE_SWITCHING_SUPPORTED, BOOLEAN_VALIDATOR); 433 } 434 } 435