• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2007 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 com.android.providers.settings;
18 
19 import android.annotation.NonNull;
20 import android.os.UserHandle;
21 import android.provider.DeviceConfig;
22 import android.provider.Settings;
23 import android.providers.settings.ConfigSettingsProto;
24 import android.providers.settings.GlobalSettingsProto;
25 import android.providers.settings.SecureSettingsProto;
26 import android.providers.settings.SettingProto;
27 import android.providers.settings.SettingsServiceDumpProto;
28 import android.providers.settings.SystemSettingsProto;
29 import android.providers.settings.UserSettingsProto;
30 import android.util.SparseBooleanArray;
31 import android.util.proto.ProtoOutputStream;
32 
33 import java.util.ArrayList;
34 import java.util.Collections;
35 import java.util.HashMap;
36 import java.util.List;
37 import java.util.Map;
38 
39 /** @hide */
40 class SettingsProtoDumpUtil {
41     private static final Map<String, Long> NAMESPACE_TO_FIELD_MAP = createNamespaceMap();
42 
SettingsProtoDumpUtil()43     private SettingsProtoDumpUtil() {}
44 
createNamespaceMap()45     private static Map<String, Long> createNamespaceMap() {
46         Map<String, Long> namespaceToFieldMap = new HashMap<>();
47         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
48                 ConfigSettingsProto.ACTIVITY_MANAGER_SETTINGS);
49         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT,
50                 ConfigSettingsProto.ACTIVITY_MANAGER_NATIVE_BOOT_SETTINGS);
51         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_ALARM_MANAGER,
52                 ConfigSettingsProto.ALARM_MANAGER_SETTINGS);
53         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_APP_COMPAT,
54                 ConfigSettingsProto.APP_COMPAT_SETTINGS);
55         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_APP_STANDBY,
56                 ConfigSettingsProto.APP_STANDBY_SETTINGS);
57         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_AUTOFILL,
58                 ConfigSettingsProto.AUTOFILL_SETTINGS);
59         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_BLOBSTORE,
60                 ConfigSettingsProto.BLOBSTORE_SETTINGS);
61         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_CONNECTIVITY,
62                 ConfigSettingsProto.CONNECTIVITY_SETTINGS);
63         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
64                 ConfigSettingsProto.CONTENT_CAPTURE_SETTINGS);
65         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_DEVICE_IDLE,
66                 ConfigSettingsProto.DEVICE_IDLE_SETTINGS);
67         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_GAME_DRIVER,
68                 ConfigSettingsProto.GAME_DRIVER_SETTINGS);
69         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_INPUT_NATIVE_BOOT,
70                 ConfigSettingsProto.INPUT_NATIVE_BOOT_SETTINGS);
71         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_JOB_SCHEDULER,
72                 ConfigSettingsProto.JOB_SCHEDULER_SETTINGS);
73         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_NETD_NATIVE,
74                 ConfigSettingsProto.NETD_NATIVE_SETTINGS);
75         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_PRIVACY,
76                 ConfigSettingsProto.PRIVACY_SETTINGS);
77         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_ROLLBACK,
78                 ConfigSettingsProto.ROLLBACK_SETTINGS);
79         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_ROLLBACK_BOOT,
80                 ConfigSettingsProto.ROLLBACK_BOOT_SETTINGS);
81         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_RUNTIME,
82                 ConfigSettingsProto.RUNTIME_SETTINGS);
83         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_RUNTIME_NATIVE,
84                 ConfigSettingsProto.RUNTIME_NATIVE_SETTINGS);
85         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_RUNTIME_NATIVE_BOOT,
86                 ConfigSettingsProto.RUNTIME_NATIVE_BOOT_SETTINGS);
87         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_STORAGE_NATIVE_BOOT,
88                 ConfigSettingsProto.STORAGE_SETTINGS);
89         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_SYSTEMUI,
90                 ConfigSettingsProto.SYSTEMUI_SETTINGS);
91         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_TELEPHONY,
92                 ConfigSettingsProto.TELEPHONY_SETTINGS);
93         namespaceToFieldMap.put(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
94                 ConfigSettingsProto.TEXTCLASSIFIER_SETTINGS);
95         return Collections.unmodifiableMap(namespaceToFieldMap);
96     }
97 
dumpProtoLocked(SettingsProvider.SettingsRegistry settingsRegistry, ProtoOutputStream proto)98     static void dumpProtoLocked(SettingsProvider.SettingsRegistry settingsRegistry,
99             ProtoOutputStream proto) {
100         // Config settings
101         SettingsState configSettings = settingsRegistry.getSettingsLocked(
102                 SettingsProvider.SETTINGS_TYPE_CONFIG, UserHandle.USER_SYSTEM);
103         if (configSettings != null) {
104             dumpProtoConfigSettingsLocked(
105                     proto, SettingsServiceDumpProto.CONFIG_SETTINGS, configSettings);
106         }
107 
108         // Global settings
109         SettingsState globalSettings = settingsRegistry.getSettingsLocked(
110                 SettingsProvider.SETTINGS_TYPE_GLOBAL, UserHandle.USER_SYSTEM);
111         if (globalSettings != null) {
112             dumpProtoGlobalSettingsLocked(
113                     proto, SettingsServiceDumpProto.GLOBAL_SETTINGS, globalSettings);
114         }
115 
116         // Per-user settings
117         SparseBooleanArray users = settingsRegistry.getKnownUsersLocked();
118         final int userCount = users.size();
119         for (int i = 0; i < userCount; i++) {
120             dumpProtoUserSettingsLocked(proto, SettingsServiceDumpProto.USER_SETTINGS,
121                     settingsRegistry, UserHandle.of(users.keyAt(i)));
122         }
123     }
124 
125     /**
126      * Dump all settings of a user as a proto buf.
127      *
128      * @param settingsRegistry
129      * @param user The user the settings should be dumped for
130      * @param proto The proto buf stream to dump to
131      */
dumpProtoUserSettingsLocked( @onNull ProtoOutputStream proto, long fieldId, SettingsProvider.SettingsRegistry settingsRegistry, @NonNull UserHandle user)132     private static void dumpProtoUserSettingsLocked(
133             @NonNull ProtoOutputStream proto,
134             long fieldId,
135             SettingsProvider.SettingsRegistry settingsRegistry,
136             @NonNull UserHandle user) {
137         final long token = proto.start(fieldId);
138 
139         proto.write(UserSettingsProto.USER_ID, user.getIdentifier());
140 
141         SettingsState secureSettings = settingsRegistry.getSettingsLocked(
142                 SettingsProvider.SETTINGS_TYPE_SECURE, user.getIdentifier());
143         if (secureSettings != null) {
144             dumpProtoSecureSettingsLocked(proto, UserSettingsProto.SECURE_SETTINGS, secureSettings);
145         }
146 
147         SettingsState systemSettings = settingsRegistry.getSettingsLocked(
148                 SettingsProvider.SETTINGS_TYPE_SYSTEM, user.getIdentifier());
149         if (systemSettings != null) {
150             dumpProtoSystemSettingsLocked(proto, UserSettingsProto.SYSTEM_SETTINGS, systemSettings);
151         }
152 
153         proto.end(token);
154     }
155 
dumpProtoGlobalSettingsLocked( @onNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s)156     private static void dumpProtoGlobalSettingsLocked(
157             @NonNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s) {
158         final long token = p.start(fieldId);
159         s.dumpHistoricalOperations(p, GlobalSettingsProto.HISTORICAL_OPERATIONS);
160 
161         // This uses the same order as in GlobalSettingsProto.
162         dumpSetting(s, p,
163                 Settings.Global.ACTIVITY_MANAGER_CONSTANTS,
164                 GlobalSettingsProto.ACTIVITY_MANAGER_CONSTANTS);
165         dumpSetting(s, p,
166                 Settings.Global.ADB_ENABLED,
167                 GlobalSettingsProto.ADB_ENABLED);
168         dumpSetting(s, p,
169                 Settings.Global.ADD_USERS_WHEN_LOCKED,
170                 GlobalSettingsProto.ADD_USERS_WHEN_LOCKED);
171 
172         final long airplaneModeToken = p.start(GlobalSettingsProto.AIRPLANE_MODE);
173         dumpSetting(s, p,
174                 Settings.Global.AIRPLANE_MODE_ON,
175                 GlobalSettingsProto.AirplaneMode.ON);
176         // RADIO_BLUETOOTH is just a constant and not an actual setting.
177         // RADIO_WIFI is just a constant and not an actual setting.
178         // RADIO_WIMAX is just a constant and not an actual setting.
179         // RADIO_CELL is just a constant and not an actual setting.
180         // RADIO_NFC is just a constant and not an actual setting.
181         dumpSetting(s, p,
182                 Settings.Global.AIRPLANE_MODE_RADIOS,
183                 GlobalSettingsProto.AirplaneMode.RADIOS);
184         dumpSetting(s, p,
185                 Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS,
186                 GlobalSettingsProto.AirplaneMode.TOGGLEABLE_RADIOS);
187         p.end(airplaneModeToken);
188 
189         dumpSetting(s, p,
190                 Settings.Global.ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED,
191                 GlobalSettingsProto.ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED);
192         dumpSetting(s, p,
193                 Settings.Global.ALWAYS_ON_DISPLAY_CONSTANTS,
194                 GlobalSettingsProto.ALWAYS_ON_DISPLAY_CONSTANTS);
195         dumpSetting(s, p,
196                 Settings.Global.ALWAYS_FINISH_ACTIVITIES,
197                 GlobalSettingsProto.ALWAYS_FINISH_ACTIVITIES);
198         dumpSetting(s, p,
199                 Settings.Global.ANIMATOR_DURATION_SCALE,
200                 GlobalSettingsProto.ANIMATOR_DURATION_SCALE);
201 
202         final long anomalyToken = p.start(GlobalSettingsProto.ANOMALY);
203         dumpSetting(s, p,
204                 Settings.Global.ANOMALY_DETECTION_CONSTANTS,
205                 GlobalSettingsProto.Anomaly.DETECTION_CONSTANTS);
206         dumpSetting(s, p,
207                 Settings.Global.ANOMALY_CONFIG_VERSION,
208                 GlobalSettingsProto.Anomaly.CONFIG_VERSION);
209         dumpSetting(s, p,
210                 Settings.Global.ANOMALY_CONFIG,
211                 GlobalSettingsProto.Anomaly.CONFIG);
212         p.end(anomalyToken);
213 
214         final long apnDbToken = p.start(GlobalSettingsProto.APN_DB);
215         dumpSetting(s, p,
216                 Settings.Global.APN_DB_UPDATE_CONTENT_URL,
217                 GlobalSettingsProto.ApnDb.UPDATE_CONTENT_URL);
218         dumpSetting(s, p,
219                 Settings.Global.APN_DB_UPDATE_METADATA_URL,
220                 GlobalSettingsProto.ApnDb.UPDATE_METADATA_URL);
221         p.end(apnDbToken);
222 
223         final long appToken = p.start(GlobalSettingsProto.APP);
224         dumpSetting(s, p,
225                 Settings.Global.APP_STANDBY_ENABLED,
226                 GlobalSettingsProto.App.STANDBY_ENABLED);
227         dumpSetting(s, p,
228                 Settings.Global.APP_AUTO_RESTRICTION_ENABLED,
229                 GlobalSettingsProto.App.AUTO_RESTRICTION_ENABLED);
230         dumpSetting(s, p,
231                 Settings.Global.FORCED_APP_STANDBY_ENABLED,
232                 GlobalSettingsProto.App.FORCED_APP_STANDBY_ENABLED);
233         dumpSetting(s, p,
234                 Settings.Global.FORCED_APP_STANDBY_FOR_SMALL_BATTERY_ENABLED,
235                 GlobalSettingsProto.App.FORCED_APP_STANDBY_FOR_SMALL_BATTERY_ENABLED);
236         p.end(appToken);
237 
238         dumpSetting(s, p,
239                 Settings.Global.ASSISTED_GPS_ENABLED,
240                 GlobalSettingsProto.ASSISTED_GPS_ENABLED);
241         dumpSetting(s, p,
242                 Settings.Global.AUDIO_SAFE_VOLUME_STATE,
243                 GlobalSettingsProto.AUDIO_SAFE_VOLUME_STATE);
244 
245         final long autofillToken = p.start(GlobalSettingsProto.AUTOFILL);
246         dumpSetting(s, p,
247                 Settings.Global.AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES,
248                 GlobalSettingsProto.Autofill.COMPAT_MODE_ALLOWED_PACKAGES);
249         dumpSetting(s, p,
250                 Settings.Global.AUTOFILL_LOGGING_LEVEL,
251                 GlobalSettingsProto.Autofill.LOGGING_LEVEL);
252         dumpSetting(s, p,
253                 Settings.Global.AUTOFILL_MAX_PARTITIONS_SIZE,
254                 GlobalSettingsProto.Autofill.MAX_PARTITIONS_SIZE);
255         dumpSetting(s, p,
256                 Settings.Global.AUTOFILL_MAX_VISIBLE_DATASETS,
257                 GlobalSettingsProto.Autofill.MAX_VISIBLE_DATASETS);
258         p.end(autofillToken);
259 
260         final long backupToken = p.start(GlobalSettingsProto.BACKUP);
261         dumpSetting(s, p,
262                 Settings.Global.BACKUP_AGENT_TIMEOUT_PARAMETERS,
263                 GlobalSettingsProto.Backup.BACKUP_AGENT_TIMEOUT_PARAMETERS);
264         p.end(backupToken);
265 
266         final long batteryToken = p.start(GlobalSettingsProto.BATTERY);
267         dumpSetting(s, p,
268                 Settings.Global.BATTERY_DISCHARGE_DURATION_THRESHOLD,
269                 GlobalSettingsProto.Battery.DISCHARGE_DURATION_THRESHOLD);
270         dumpSetting(s, p,
271                 Settings.Global.BATTERY_DISCHARGE_THRESHOLD,
272                 GlobalSettingsProto.Battery.DISCHARGE_THRESHOLD);
273         dumpSetting(s, p,
274                 Settings.Global.BATTERY_SAVER_CONSTANTS,
275                 GlobalSettingsProto.Battery.SAVER_CONSTANTS);
276         dumpSetting(s, p,
277                 Settings.Global.BATTERY_SAVER_DEVICE_SPECIFIC_CONSTANTS,
278                 GlobalSettingsProto.Battery.SAVER_DEVICE_SPECIFIC_CONSTANTS);
279         dumpSetting(s, p,
280                 Settings.Global.BATTERY_STATS_CONSTANTS,
281                 GlobalSettingsProto.Battery.STATS_CONSTANTS);
282         dumpSetting(s, p,
283                 Settings.Global.BATTERY_TIP_CONSTANTS,
284                 GlobalSettingsProto.Battery.TIP_CONSTANTS);
285         p.end(batteryToken);
286 
287         final long bleScanToken = p.start(GlobalSettingsProto.BLE_SCAN);
288         dumpSetting(s, p,
289                 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE,
290                 GlobalSettingsProto.BleScan.ALWAYS_AVAILABLE);
291         dumpSetting(s, p,
292                 Settings.Global.BLE_SCAN_LOW_POWER_WINDOW_MS,
293                 GlobalSettingsProto.BleScan.LOW_POWER_WINDOW_MS);
294         dumpSetting(s, p,
295                 Settings.Global.BLE_SCAN_BALANCED_WINDOW_MS,
296                 GlobalSettingsProto.BleScan.BALANCED_WINDOW_MS);
297         dumpSetting(s, p,
298                 Settings.Global.BLE_SCAN_LOW_LATENCY_WINDOW_MS,
299                 GlobalSettingsProto.BleScan.LOW_LATENCY_WINDOW_MS);
300         dumpSetting(s, p,
301                 Settings.Global.BLE_SCAN_LOW_POWER_INTERVAL_MS,
302                 GlobalSettingsProto.BleScan.LOW_POWER_INTERVAL_MS);
303         dumpSetting(s, p,
304                 Settings.Global.BLE_SCAN_BALANCED_INTERVAL_MS,
305                 GlobalSettingsProto.BleScan.BALANCED_INTERVAL_MS);
306         dumpSetting(s, p,
307                 Settings.Global.BLE_SCAN_LOW_LATENCY_INTERVAL_MS,
308                 GlobalSettingsProto.BleScan.LOW_LATENCY_INTERVAL_MS);
309         dumpSetting(s, p,
310                 Settings.Global.BLE_SCAN_BACKGROUND_MODE,
311                 GlobalSettingsProto.BleScan.BACKGROUND_MODE);
312         p.end(bleScanToken);
313 
314         final long bluetoothToken = p.start(GlobalSettingsProto.BLUETOOTH);
315         dumpSetting(s, p,
316                 Settings.Global.BLUETOOTH_CLASS_OF_DEVICE,
317                 GlobalSettingsProto.Bluetooth.CLASS_OF_DEVICE);
318         dumpSetting(s, p,
319                 Settings.Global.BLUETOOTH_DISABLED_PROFILES,
320                 GlobalSettingsProto.Bluetooth.DISABLED_PROFILES);
321         dumpSetting(s, p,
322                 Settings.Global.BLUETOOTH_INTEROPERABILITY_LIST,
323                 GlobalSettingsProto.Bluetooth.INTEROPERABILITY_LIST);
324         dumpSetting(s, p,
325                 Settings.Global.BLUETOOTH_ON,
326                 GlobalSettingsProto.Bluetooth.ON);
327         dumpRepeatedSetting(s, p,
328                 Settings.Global.BLUETOOTH_HEADSET_PRIORITY_PREFIX,
329                 GlobalSettingsProto.Bluetooth.HEADSET_PRIORITIES);
330         dumpRepeatedSetting(s, p,
331                 Settings.Global.BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX,
332                 GlobalSettingsProto.Bluetooth.A2DP_SINK_PRIORITIES);
333         dumpRepeatedSetting(s, p,
334                 Settings.Global.BLUETOOTH_A2DP_SRC_PRIORITY_PREFIX,
335                 GlobalSettingsProto.Bluetooth.A2DP_SRC_PRIORITIES);
336         dumpRepeatedSetting(s, p,
337                 Settings.Global.BLUETOOTH_A2DP_SUPPORTS_OPTIONAL_CODECS_PREFIX,
338                 GlobalSettingsProto.Bluetooth.A2DP_SUPPORTS_OPTIONAL_CODECS);
339         dumpRepeatedSetting(s, p,
340                 Settings.Global.BLUETOOTH_A2DP_OPTIONAL_CODECS_ENABLED_PREFIX,
341                 GlobalSettingsProto.Bluetooth.A2DP_OPTIONAL_CODECS_ENABLED);
342         dumpRepeatedSetting(s, p,
343                 Settings.Global.BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX,
344                 GlobalSettingsProto.Bluetooth.INPUT_DEVICE_PRIORITIES);
345         dumpRepeatedSetting(s, p,
346                 Settings.Global.BLUETOOTH_MAP_PRIORITY_PREFIX,
347                 GlobalSettingsProto.Bluetooth.MAP_PRIORITIES);
348         dumpRepeatedSetting(s, p,
349                 Settings.Global.BLUETOOTH_MAP_CLIENT_PRIORITY_PREFIX,
350                 GlobalSettingsProto.Bluetooth.MAP_CLIENT_PRIORITIES);
351         dumpRepeatedSetting(s, p,
352                 Settings.Global.BLUETOOTH_PBAP_CLIENT_PRIORITY_PREFIX,
353                 GlobalSettingsProto.Bluetooth.PBAP_CLIENT_PRIORITIES);
354         dumpRepeatedSetting(s, p,
355                 Settings.Global.BLUETOOTH_SAP_PRIORITY_PREFIX,
356                 GlobalSettingsProto.Bluetooth.SAP_PRIORITIES);
357         dumpRepeatedSetting(s, p,
358                 Settings.Global.BLUETOOTH_PAN_PRIORITY_PREFIX,
359                 GlobalSettingsProto.Bluetooth.PAN_PRIORITIES);
360         dumpRepeatedSetting(s, p,
361                 Settings.Global.BLUETOOTH_HEARING_AID_PRIORITY_PREFIX,
362                 GlobalSettingsProto.Bluetooth.HEARING_AID_PRIORITIES);
363         p.end(bluetoothToken);
364 
365         dumpSetting(s, p,
366                 Settings.Global.BOOT_COUNT,
367                 GlobalSettingsProto.BOOT_COUNT);
368         dumpSetting(s, p,
369                 Settings.Global.BUGREPORT_IN_POWER_MENU,
370                 GlobalSettingsProto.BUGREPORT_IN_POWER_MENU);
371         dumpSetting(s, p,
372                 Settings.Global.CACHED_APPS_FREEZER_ENABLED,
373                 GlobalSettingsProto.CACHED_APPS_FREEZER_ENABLED);
374         dumpSetting(s, p,
375                 Settings.Global.CALL_AUTO_RETRY,
376                 GlobalSettingsProto.CALL_AUTO_RETRY);
377 
378         final long captivePortalToken = p.start(GlobalSettingsProto.CAPTIVE_PORTAL);
379         dumpSetting(s, p,
380                 Settings.Global.CAPTIVE_PORTAL_MODE,
381                 GlobalSettingsProto.CaptivePortal.MODE);
382         dumpSetting(s, p,
383                 Settings.Global.CAPTIVE_PORTAL_DETECTION_ENABLED,
384                 GlobalSettingsProto.CaptivePortal.DETECTION_ENABLED);
385         dumpSetting(s, p,
386                 Settings.Global.CAPTIVE_PORTAL_SERVER,
387                 GlobalSettingsProto.CaptivePortal.SERVER);
388         dumpSetting(s, p,
389                 Settings.Global.CAPTIVE_PORTAL_HTTPS_URL,
390                 GlobalSettingsProto.CaptivePortal.HTTPS_URL);
391         dumpSetting(s, p,
392                 Settings.Global.CAPTIVE_PORTAL_HTTP_URL,
393                 GlobalSettingsProto.CaptivePortal.HTTP_URL);
394         dumpSetting(s, p,
395                 Settings.Global.CAPTIVE_PORTAL_FALLBACK_URL,
396                 GlobalSettingsProto.CaptivePortal.FALLBACK_URL);
397         dumpSetting(s, p,
398                 Settings.Global.CAPTIVE_PORTAL_OTHER_FALLBACK_URLS,
399                 GlobalSettingsProto.CaptivePortal.OTHER_FALLBACK_URLS);
400         dumpSetting(s, p,
401                 Settings.Global.CAPTIVE_PORTAL_USE_HTTPS,
402                 GlobalSettingsProto.CaptivePortal.USE_HTTPS);
403         dumpSetting(s, p,
404                 Settings.Global.CAPTIVE_PORTAL_USER_AGENT,
405                 GlobalSettingsProto.CaptivePortal.USER_AGENT);
406         p.end(captivePortalToken);
407 
408         final long carrierToken = p.start(GlobalSettingsProto.CARRIER);
409         dumpSetting(s, p,
410                 Settings.Global.CARRIER_APP_WHITELIST,
411                 GlobalSettingsProto.Carrier.APP_WHITELIST);
412         dumpSetting(s, p,
413                 Settings.Global.CARRIER_APP_NAMES,
414                 GlobalSettingsProto.Carrier.APP_NAMES);
415         dumpSetting(s, p,
416                 Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT,
417                 GlobalSettingsProto.Carrier.INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT);
418         dumpSetting(s, p,
419                 Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS,
420                 GlobalSettingsProto.Carrier.INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS);
421         p.end(carrierToken);
422 
423         final long cdmaToken = p.start(GlobalSettingsProto.CDMA);
424         dumpSetting(s, p,
425                 Settings.Global.CDMA_CELL_BROADCAST_SMS,
426                 GlobalSettingsProto.Cdma.CELL_BROADCAST_SMS);
427         dumpSetting(s, p,
428                 Settings.Global.CDMA_ROAMING_MODE,
429                 GlobalSettingsProto.Cdma.ROAMING_MODE);
430         dumpSetting(s, p,
431                 Settings.Global.CDMA_SUBSCRIPTION_MODE,
432                 GlobalSettingsProto.Cdma.SUBSCRIPTION_MODE);
433         p.end(cdmaToken);
434 
435         dumpSetting(s, p,
436                 Settings.Global.CELL_ON,
437                 GlobalSettingsProto.CELL_ON);
438 
439         final long certPinToken = p.start(GlobalSettingsProto.CERT_PIN);
440         dumpSetting(s, p,
441                 Settings.Global.CERT_PIN_UPDATE_CONTENT_URL,
442                 GlobalSettingsProto.CertPin.UPDATE_CONTENT_URL);
443         dumpSetting(s, p,
444                 Settings.Global.CERT_PIN_UPDATE_METADATA_URL,
445                 GlobalSettingsProto.CertPin.UPDATE_METADATA_URL);
446         p.end(certPinToken);
447 
448         dumpSetting(s, p,
449                 Settings.Global.CHAINED_BATTERY_ATTRIBUTION_ENABLED,
450                 GlobalSettingsProto.CHAINED_BATTERY_ATTRIBUTION_ENABLED);
451         dumpSetting(s, p,
452                 Settings.Global.COMPATIBILITY_MODE,
453                 GlobalSettingsProto.COMPATIBILITY_MODE);
454 
455         final long connectivityToken = p.start(GlobalSettingsProto.CONNECTIVITY);
456         dumpSetting(s, p,
457                 Settings.Global.CONNECTIVITY_METRICS_BUFFER_SIZE,
458                 GlobalSettingsProto.Connectivity.METRICS_BUFFER_SIZE);
459         dumpSetting(s, p,
460                 Settings.Global.CONNECTIVITY_CHANGE_DELAY,
461                 GlobalSettingsProto.Connectivity.CHANGE_DELAY);
462         dumpSetting(s, p,
463                 Settings.Global.CONNECTIVITY_SAMPLING_INTERVAL_IN_SECONDS,
464                 GlobalSettingsProto.Connectivity.SAMPLING_INTERVAL_IN_SECONDS);
465         p.end(connectivityToken);
466 
467         // Settings.Global.CONTACT_METADATA_SYNC intentionally excluded since it's deprecated.
468         dumpSetting(s, p,
469                 Settings.Global.CONTACT_METADATA_SYNC_ENABLED,
470                 GlobalSettingsProto.CONTACT_METADATA_SYNC_ENABLED);
471         dumpSetting(s, p,
472                 Settings.Global.CONTACTS_DATABASE_WAL_ENABLED,
473                 GlobalSettingsProto.CONTACTS_DATABASE_WAL_ENABLED);
474 
475         final long dataToken = p.start(GlobalSettingsProto.DATA);
476         // Settings.Global.DEFAULT_RESTRICT_BACKGROUND_DATA intentionally excluded.
477         dumpSetting(s, p,
478                 Settings.Global.DATA_ACTIVITY_TIMEOUT_MOBILE,
479                 GlobalSettingsProto.Data.ACTIVITY_TIMEOUT_MOBILE);
480         dumpSetting(s, p,
481                 Settings.Global.DATA_ACTIVITY_TIMEOUT_WIFI,
482                 GlobalSettingsProto.Data.ACTIVITY_TIMEOUT_WIFI);
483         dumpSetting(s, p,
484                 Settings.Global.DATA_ROAMING,
485                 GlobalSettingsProto.Data.ROAMING);
486         dumpSetting(s, p,
487                 Settings.Global.DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS,
488                 GlobalSettingsProto.Data.STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS);
489         dumpSetting(s, p,
490                 Settings.Global.DATA_STALL_ALARM_AGGRESSIVE_DELAY_IN_MS,
491                 GlobalSettingsProto.Data.STALL_ALARM_AGGRESSIVE_DELAY_IN_MS);
492         p.end(dataToken);
493 
494         final long databaseToken = p.start(GlobalSettingsProto.DATABASE);
495         dumpSetting(s, p,
496                 Settings.Global.DATABASE_DOWNGRADE_REASON,
497                 GlobalSettingsProto.Database.DOWNGRADE_REASON);
498         dumpSetting(s, p,
499                 Settings.Global.DATABASE_CREATION_BUILDID,
500                 GlobalSettingsProto.Database.CREATION_BUILDID);
501         p.end(databaseToken);
502 
503         final long dateTimeToken = p.start(GlobalSettingsProto.DATE_TIME);
504         dumpSetting(s, p,
505                 Settings.Global.AUTO_TIME,
506                 GlobalSettingsProto.DateTime.AUTO_TIME);
507         dumpSetting(s, p,
508                 Settings.Global.AUTO_TIME_ZONE,
509                 GlobalSettingsProto.DateTime.AUTO_TIME_ZONE);
510         p.end(dateTimeToken);
511 
512         final long debugToken = p.start(GlobalSettingsProto.DEBUG);
513         dumpSetting(s, p,
514                 Settings.Global.DEBUG_APP,
515                 GlobalSettingsProto.Debug.APP);
516         dumpSetting(s, p,
517                 Settings.Global.DEBUG_VIEW_ATTRIBUTES,
518                 GlobalSettingsProto.Debug.VIEW_ATTRIBUTES);
519         dumpSetting(s, p,
520                 Settings.Global.DEBUG_VIEW_ATTRIBUTES_APPLICATION_PACKAGE,
521                 GlobalSettingsProto.Debug.VIEW_ATTRIBUTES_APPLICATION_PACKAGE);
522         p.end(debugToken);
523 
524         final long defaultToken = p.start(GlobalSettingsProto.DEFAULT);
525         // Settings.Global.DEFAULT_SM_DP_PLUS intentionally excluded.
526         dumpSetting(s, p,
527                 Settings.Global.DEFAULT_INSTALL_LOCATION,
528                 GlobalSettingsProto.Default.INSTALL_LOCATION);
529         dumpSetting(s, p,
530                 Settings.Global.DEFAULT_DNS_SERVER,
531                 GlobalSettingsProto.Default.DNS_SERVER);
532         p.end(defaultToken);
533 
534         final long developmentToken = p.start(GlobalSettingsProto.DEVELOPMENT);
535         dumpSetting(s, p,
536                 Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES,
537                 GlobalSettingsProto.Development.FORCE_RESIZABLE_ACTIVITIES);
538         dumpSetting(s, p,
539                 Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT,
540                 GlobalSettingsProto.Development.ENABLE_FREEFORM_WINDOWS_SUPPORT);
541         dumpSetting(s, p,
542                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED,
543                 GlobalSettingsProto.Development.SETTINGS_ENABLED);
544         dumpSetting(s, p,
545                 Settings.Global.DEVELOPMENT_FORCE_RTL,
546                 GlobalSettingsProto.Development.FORCE_RTL);
547         dumpSetting(s, p,
548                 Settings.Global.EMULATE_DISPLAY_CUTOUT,
549                 GlobalSettingsProto.Development.EMULATE_DISPLAY_CUTOUT);
550         dumpSetting(s, p,
551                 Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
552                 GlobalSettingsProto.Development.FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS);
553         dumpSetting(s, p,
554                 Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW,
555                 GlobalSettingsProto.Development.ENABLE_NON_RESIZABLE_MULTI_WINDOW);
556         dumpSetting(s, p,
557                 Settings.Global.DISABLE_WINDOW_BLURS,
558                 GlobalSettingsProto.Development.DISABLE_WINDOW_BLURS);
559         p.end(developmentToken);
560 
561         final long deviceToken = p.start(GlobalSettingsProto.DEVICE);
562         dumpSetting(s, p,
563                 Settings.Global.DEVICE_NAME,
564                 GlobalSettingsProto.Device.NAME);
565         dumpSetting(s, p,
566                 Settings.Global.DEVICE_PROVISIONED,
567                 GlobalSettingsProto.Device.PROVISIONED);
568         dumpSetting(s, p,
569                 Settings.Global.DEVICE_PROVISIONING_MOBILE_DATA_ENABLED,
570                 GlobalSettingsProto.Device.PROVISIONING_MOBILE_DATA_ENABLED);
571         dumpSetting(s, p,
572                 Settings.Global.DEVICE_POLICY_CONSTANTS,
573                 GlobalSettingsProto.Device.POLICY_CONSTANTS);
574         dumpSetting(s, p,
575                 Settings.Global.DEVICE_DEMO_MODE,
576                 GlobalSettingsProto.Device.DEMO_MODE);
577         p.end(deviceToken);
578 
579         dumpSetting(s, p,
580                 Settings.Global.DISK_FREE_CHANGE_REPORTING_THRESHOLD,
581                 GlobalSettingsProto.DISK_FREE_CHANGE_REPORTING_THRESHOLD);
582 
583         final long displayToken = p.start(GlobalSettingsProto.DISPLAY);
584         dumpSetting(s, p,
585                 Settings.Global.DISPLAY_SIZE_FORCED,
586                 GlobalSettingsProto.Display.SIZE_FORCED);
587         dumpSetting(s, p,
588                 Settings.Global.DISPLAY_SCALING_FORCE,
589                 GlobalSettingsProto.Display.SCALING_FORCE);
590         dumpSetting(s, p,
591                 Settings.Global.DISPLAY_PANEL_LPM,
592                 GlobalSettingsProto.Display.PANEL_LPM);
593         p.end(displayToken);
594 
595         final long dnsResolverToken = p.start(GlobalSettingsProto.DNS_RESOLVER);
596         dumpSetting(s, p,
597                 Settings.Global.DNS_RESOLVER_SAMPLE_VALIDITY_SECONDS,
598                 GlobalSettingsProto.DnsResolver.SAMPLE_VALIDITY_SECONDS);
599         dumpSetting(s, p,
600                 Settings.Global.DNS_RESOLVER_SUCCESS_THRESHOLD_PERCENT,
601                 GlobalSettingsProto.DnsResolver.SUCCESS_THRESHOLD_PERCENT);
602         dumpSetting(s, p,
603                 Settings.Global.DNS_RESOLVER_MIN_SAMPLES,
604                 GlobalSettingsProto.DnsResolver.MIN_SAMPLES);
605         dumpSetting(s, p,
606                 Settings.Global.DNS_RESOLVER_MAX_SAMPLES,
607                 GlobalSettingsProto.DnsResolver.MAX_SAMPLES);
608         p.end(dnsResolverToken);
609 
610         dumpSetting(s, p,
611                 Settings.Global.DOCK_AUDIO_MEDIA_ENABLED,
612                 GlobalSettingsProto.DOCK_AUDIO_MEDIA_ENABLED);
613 
614         final long downloadToken = p.start(GlobalSettingsProto.DOWNLOAD);
615         dumpSetting(s, p,
616                 Settings.Global.DOWNLOAD_MAX_BYTES_OVER_MOBILE,
617                 GlobalSettingsProto.Download.MAX_BYTES_OVER_MOBILE);
618         dumpSetting(s, p,
619                 Settings.Global.DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE,
620                 GlobalSettingsProto.Download.RECOMMENDED_MAX_BYTES_OVER_MOBILE);
621         p.end(downloadToken);
622 
623         final long dropboxToken = p.start(GlobalSettingsProto.DROPBOX);
624         dumpSetting(s, p,
625                 Settings.Global.DROPBOX_AGE_SECONDS,
626                 GlobalSettingsProto.Dropbox.AGE_SECONDS);
627         dumpSetting(s, p,
628                 Settings.Global.DROPBOX_MAX_FILES,
629                 GlobalSettingsProto.Dropbox.MAX_FILES);
630         dumpSetting(s, p,
631                 Settings.Global.DROPBOX_QUOTA_KB,
632                 GlobalSettingsProto.Dropbox.QUOTA_KB);
633         dumpSetting(s, p,
634                 Settings.Global.DROPBOX_QUOTA_PERCENT,
635                 GlobalSettingsProto.Dropbox.QUOTA_PERCENT);
636         dumpSetting(s, p,
637                 Settings.Global.DROPBOX_RESERVE_PERCENT,
638                 GlobalSettingsProto.Dropbox.RESERVE_PERCENT);
639         dumpRepeatedSetting(s, p,
640                 Settings.Global.DROPBOX_TAG_PREFIX,
641                 GlobalSettingsProto.Dropbox.SETTINGS);
642         p.end(dropboxToken);
643 
644         final long dynamicPowerSavingsToken = p.start(GlobalSettingsProto.DYNAMIC_POWER_SAVINGS);
645         dumpSetting(s, p,
646                 Settings.Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD,
647                 GlobalSettingsProto.DynamicPowerSavings.DISABLE_THRESHOLD);
648         dumpSetting(s, p,
649                 Settings.Global.DYNAMIC_POWER_SAVINGS_ENABLED,
650                 GlobalSettingsProto.DynamicPowerSavings.ENABLED);
651         p.end(dynamicPowerSavingsToken);
652 
653         final long emergencyToken = p.start(GlobalSettingsProto.EMERGENCY);
654         dumpSetting(s, p,
655                 Settings.Global.EMERGENCY_TONE,
656                 GlobalSettingsProto.Emergency.TONE);
657         dumpSetting(s, p,
658                 Settings.Global.EMERGENCY_AFFORDANCE_NEEDED,
659                 GlobalSettingsProto.Emergency.AFFORDANCE_NEEDED);
660         p.end(emergencyToken);
661 
662         final long enableToken = p.start(GlobalSettingsProto.ENABLE);
663         dumpSetting(s, p,
664                 Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED,
665                 GlobalSettingsProto.Enable.ACCESSIBILITY_GLOBAL_GESTURE_ENABLED);
666         dumpSetting(s, p,
667                 Settings.Global.ENABLE_GPU_DEBUG_LAYERS,
668                 GlobalSettingsProto.Enable.GPU_DEBUG_LAYERS);
669         dumpSetting(s, p,
670                 Settings.Global.ENABLE_EPHEMERAL_FEATURE,
671                 GlobalSettingsProto.Enable.EPHEMERAL_FEATURE);
672         dumpSetting(s, p,
673                 Settings.Global.ENABLE_CELLULAR_ON_BOOT,
674                 GlobalSettingsProto.Enable.CELLULAR_ON_BOOT);
675         dumpSetting(s, p,
676                 Settings.Global.ENABLE_DISKSTATS_LOGGING,
677                 GlobalSettingsProto.Enable.DISKSTATS_LOGGING);
678         dumpSetting(s, p,
679                 Settings.Global.ENABLE_CACHE_QUOTA_CALCULATION,
680                 GlobalSettingsProto.Enable.CACHE_QUOTA_CALCULATION);
681         dumpSetting(s, p,
682                 Settings.Global.ENABLE_DELETION_HELPER_NO_THRESHOLD_TOGGLE,
683                 GlobalSettingsProto.Enable.DELETION_HELPER_NO_THRESHOLD_TOGGLE);
684         dumpSetting(s, p,
685                 Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING,
686                 GlobalSettingsProto.Enable.GNSS_RAW_MEAS_FULL_TRACKING);
687         p.end(enableToken);
688 
689         dumpSetting(s, p,
690                 Settings.Global.ENCODED_SURROUND_OUTPUT,
691                 GlobalSettingsProto.ENCODED_SURROUND_OUTPUT);
692         dumpSetting(s, p,
693                 Settings.Global.ENHANCED_4G_MODE_ENABLED,
694                 GlobalSettingsProto.ENHANCED_4G_MODE_ENABLED);
695         dumpRepeatedSetting(s, p,
696                 Settings.Global.ERROR_LOGCAT_PREFIX,
697                 GlobalSettingsProto.ERROR_LOGCAT_LINES);
698         dumpRepeatedSetting(s, p,
699                 Settings.Global.MAX_ERROR_BYTES_PREFIX,
700                 GlobalSettingsProto.MAX_ERROR_BYTES);
701 
702         final long euiccToken = p.start(GlobalSettingsProto.EUICC);
703         dumpSetting(s, p,
704                 Settings.Global.EUICC_PROVISIONED,
705                 GlobalSettingsProto.Euicc.PROVISIONED);
706         dumpSetting(s, p,
707                 Settings.Global.EUICC_FACTORY_RESET_TIMEOUT_MILLIS,
708                 GlobalSettingsProto.Euicc.FACTORY_RESET_TIMEOUT_MILLIS);
709         p.end(euiccToken);
710 
711         dumpSetting(s, p,
712                 Settings.Global.FANCY_IME_ANIMATIONS,
713                 GlobalSettingsProto.FANCY_IME_ANIMATIONS);
714         dumpSetting(s, p,
715                 Settings.Global.FORCE_ALLOW_ON_EXTERNAL,
716                 GlobalSettingsProto.FORCE_ALLOW_ON_EXTERNAL);
717         dumpSetting(s, p,
718                 Settings.Global.FPS_DEVISOR,
719                 GlobalSettingsProto.FPS_DIVISOR);
720         dumpSetting(s, p,
721                 Settings.Global.FSTRIM_MANDATORY_INTERVAL,
722                 GlobalSettingsProto.FSTRIM_MANDATORY_INTERVAL);
723 
724         final long ghpToken = p.start(GlobalSettingsProto.GLOBAL_HTTP_PROXY);
725         dumpSetting(s, p,
726                 Settings.Global.GLOBAL_HTTP_PROXY_HOST,
727                 GlobalSettingsProto.GlobalHttpProxy.HOST);
728         dumpSetting(s, p,
729                 Settings.Global.GLOBAL_HTTP_PROXY_PORT,
730                 GlobalSettingsProto.GlobalHttpProxy.PORT);
731         dumpSetting(s, p,
732                 Settings.Global.GLOBAL_HTTP_PROXY_EXCLUSION_LIST,
733                 GlobalSettingsProto.GlobalHttpProxy.EXCLUSION_LIST);
734         dumpSetting(s, p,
735                 Settings.Global.GLOBAL_HTTP_PROXY_PAC,
736                 GlobalSettingsProto.GlobalHttpProxy.PAC);
737         dumpSetting(s, p,
738                 Settings.Global.SET_GLOBAL_HTTP_PROXY,
739                 GlobalSettingsProto.GlobalHttpProxy.SETTING_UI_ENABLED);
740         p.end(ghpToken);
741 
742         dumpSetting(s, p,
743                 Settings.Global.GPRS_REGISTER_CHECK_PERIOD_MS,
744                 GlobalSettingsProto.GPRS_REGISTER_CHECK_PERIOD_MS);
745 
746         final long gpuToken = p.start(GlobalSettingsProto.GPU);
747         dumpSetting(s, p,
748                 Settings.Global.GPU_DEBUG_APP,
749                 GlobalSettingsProto.Gpu.DEBUG_APP);
750         dumpSetting(s, p,
751                 Settings.Global.GPU_DEBUG_LAYERS,
752                 GlobalSettingsProto.Gpu.DEBUG_LAYERS);
753         dumpSetting(s, p,
754                 Settings.Global.ANGLE_DEBUG_PACKAGE,
755                 GlobalSettingsProto.Gpu.ANGLE_DEBUG_PACKAGE);
756         dumpSetting(s, p,
757                 Settings.Global.ANGLE_GL_DRIVER_ALL_ANGLE,
758                 GlobalSettingsProto.Gpu.ANGLE_GL_DRIVER_ALL_ANGLE);
759         dumpSetting(s, p,
760                 Settings.Global.ANGLE_GL_DRIVER_SELECTION_PKGS,
761                 GlobalSettingsProto.Gpu.ANGLE_GL_DRIVER_SELECTION_PKGS);
762         dumpSetting(s, p,
763                 Settings.Global.ANGLE_GL_DRIVER_SELECTION_VALUES,
764                 GlobalSettingsProto.Gpu.ANGLE_GL_DRIVER_SELECTION_VALUES);
765         dumpSetting(s, p,
766                 Settings.Global.ANGLE_ALLOWLIST,
767                 GlobalSettingsProto.Gpu.ANGLE_ALLOWLIST);
768         dumpSetting(s, p,
769                 Settings.Global.ANGLE_EGL_FEATURES,
770                 GlobalSettingsProto.Gpu.ANGLE_EGL_FEATURES);
771         dumpSetting(s, p,
772                 Settings.Global.SHOW_ANGLE_IN_USE_DIALOG_BOX,
773                 GlobalSettingsProto.Gpu.SHOW_ANGLE_IN_USE_DIALOG);
774         dumpSetting(s, p,
775                 Settings.Global.GPU_DEBUG_LAYER_APP,
776                 GlobalSettingsProto.Gpu.DEBUG_LAYER_APP);
777         dumpSetting(s, p,
778                 Settings.Global.GPU_DEBUG_LAYERS_GLES,
779                 GlobalSettingsProto.Gpu.DEBUG_LAYERS_GLES);
780         dumpSetting(s, p,
781                 Settings.Global.UPDATABLE_DRIVER_ALL_APPS,
782                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_ALL_APPS);
783         dumpSetting(s, p,
784                 Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS,
785                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS);
786         dumpSetting(s, p,
787                 Settings.Global.UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS,
788                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS);
789         dumpSetting(s, p,
790                 Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS,
791                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS);
792         dumpSetting(s, p,
793                 Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLIST,
794                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_DENYLIST);
795         dumpSetting(s, p,
796                 Settings.Global.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST,
797                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST);
798         dumpSetting(s, p,
799                 Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS,
800                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS);
801         dumpSetting(s, p,
802                 Settings.Global.UPDATABLE_DRIVER_SPHAL_LIBRARIES,
803                 GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_SPHAL_LIBRARIES);
804         p.end(gpuToken);
805 
806         final long hdmiToken = p.start(GlobalSettingsProto.HDMI);
807         dumpSetting(s, p,
808                 Settings.Global.HDMI_CONTROL_ENABLED,
809                 GlobalSettingsProto.Hdmi.CONTROL_ENABLED);
810         dumpSetting(s, p,
811                 Settings.Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED,
812                 GlobalSettingsProto.Hdmi.SYSTEM_AUDIO_CONTROL_ENABLED);
813         dumpSetting(s, p,
814                 Settings.Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED,
815                 GlobalSettingsProto.Hdmi.CONTROL_AUTO_WAKEUP_ENABLED);
816         dumpSetting(s, p,
817                 Settings.Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED,
818                 GlobalSettingsProto.Hdmi.CONTROL_AUTO_DEVICE_OFF_ENABLED);
819         p.end(hdmiToken);
820 
821         dumpSetting(s, p,
822                 Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED,
823                 GlobalSettingsProto.HEADS_UP_NOTIFICATIONS_ENABLED);
824         dumpSetting(s, p,
825                 Settings.Global.HIDDEN_API_BLACKLIST_EXEMPTIONS,
826                 GlobalSettingsProto.HIDDEN_API_BLACKLIST_EXEMPTIONS);
827 
828         final long inetCondToken = p.start(GlobalSettingsProto.INET_CONDITION);
829         dumpSetting(s, p,
830                 Settings.Global.INET_CONDITION_DEBOUNCE_UP_DELAY,
831                 GlobalSettingsProto.InetCondition.DEBOUNCE_UP_DELAY);
832         dumpSetting(s, p,
833                 Settings.Global.INET_CONDITION_DEBOUNCE_DOWN_DELAY,
834                 GlobalSettingsProto.InetCondition.DEBOUNCE_DOWN_DELAY);
835         p.end(inetCondToken);
836 
837         final long instantAppToken = p.start(GlobalSettingsProto.INSTANT_APP);
838         dumpSetting(s, p,
839                 Settings.Global.INSTANT_APP_DEXOPT_ENABLED,
840                 GlobalSettingsProto.InstantApp.DEXOPT_ENABLED);
841         dumpSetting(s, p,
842                 Settings.Global.EPHEMERAL_COOKIE_MAX_SIZE_BYTES,
843                 GlobalSettingsProto.InstantApp.EPHEMERAL_COOKIE_MAX_SIZE_BYTES);
844         dumpSetting(s, p,
845                 Settings.Global.INSTALLED_INSTANT_APP_MIN_CACHE_PERIOD,
846                 GlobalSettingsProto.InstantApp.INSTALLED_MIN_CACHE_PERIOD);
847         dumpSetting(s, p,
848                 Settings.Global.INSTALLED_INSTANT_APP_MAX_CACHE_PERIOD,
849                 GlobalSettingsProto.InstantApp.INSTALLED_MAX_CACHE_PERIOD);
850         dumpSetting(s, p,
851                 Settings.Global.UNINSTALLED_INSTANT_APP_MIN_CACHE_PERIOD,
852                 GlobalSettingsProto.InstantApp.UNINSTALLED_MIN_CACHE_PERIOD);
853         dumpSetting(s, p,
854                 Settings.Global.UNINSTALLED_INSTANT_APP_MAX_CACHE_PERIOD,
855                 GlobalSettingsProto.InstantApp.UNINSTALLED_MAX_CACHE_PERIOD);
856         p.end(instantAppToken);
857 
858         final long intentFirewallToken = p.start(GlobalSettingsProto.INTENT_FIREWALL);
859         dumpSetting(s, p,
860                 Settings.Global.INTENT_FIREWALL_UPDATE_CONTENT_URL,
861                 GlobalSettingsProto.IntentFirewall.UPDATE_CONTENT_URL);
862         dumpSetting(s, p,
863                 Settings.Global.INTENT_FIREWALL_UPDATE_METADATA_URL,
864                 GlobalSettingsProto.IntentFirewall.UPDATE_METADATA_URL);
865         p.end(intentFirewallToken);
866 
867         dumpSetting(s, p,
868                 Settings.Global.KEEP_PROFILE_IN_BACKGROUND,
869                 GlobalSettingsProto.KEEP_PROFILE_IN_BACKGROUND);
870 
871         final long langIdToken = p.start(GlobalSettingsProto.LANG_ID);
872         dumpSetting(s, p,
873                 Settings.Global.LANG_ID_UPDATE_CONTENT_URL,
874                 GlobalSettingsProto.LangId.UPDATE_CONTENT_URL);
875         dumpSetting(s, p,
876                 Settings.Global.LANG_ID_UPDATE_METADATA_URL,
877                 GlobalSettingsProto.LangId.UPDATE_METADATA_URL);
878         p.end(langIdToken);
879 
880         final long locationToken = p.start(GlobalSettingsProto.LOCATION);
881         dumpSetting(s, p,
882                 Settings.Global.LOCATION_BACKGROUND_THROTTLE_INTERVAL_MS,
883                 GlobalSettingsProto.Location.BACKGROUND_THROTTLE_INTERVAL_MS);
884         dumpSetting(s, p,
885                 Settings.Global.LOCATION_BACKGROUND_THROTTLE_PROXIMITY_ALERT_INTERVAL_MS,
886                 GlobalSettingsProto.Location.BACKGROUND_THROTTLE_PROXIMITY_ALERT_INTERVAL_MS);
887         dumpSetting(s, p,
888                 Settings.Global.LOCATION_BACKGROUND_THROTTLE_PACKAGE_WHITELIST,
889                 GlobalSettingsProto.Location.BACKGROUND_THROTTLE_PACKAGE_WHITELIST);
890         dumpSetting(s, p,
891                 Settings.Global.LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED,
892                 GlobalSettingsProto.Location.SETTINGS_LINK_TO_PERMISSIONS_ENABLED);
893         dumpSetting(s, p,
894                 Settings.Global.GNSS_SATELLITE_BLOCKLIST,
895                 GlobalSettingsProto.Location.GNSS_SATELLITE_BLOCKLIST);
896         dumpSetting(s, p,
897                 Settings.Global.GNSS_HAL_LOCATION_REQUEST_DURATION_MILLIS,
898                 GlobalSettingsProto.Location.GNSS_HAL_LOCATION_REQUEST_DURATION_MILLIS);
899         p.end(locationToken);
900 
901         final long lpmToken = p.start(GlobalSettingsProto.LOW_POWER_MODE);
902         dumpSetting(s, p,
903                 Settings.Global.LOW_POWER_MODE,
904                 GlobalSettingsProto.LowPowerMode.ENABLED);
905         dumpSetting(s, p,
906                 Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
907                 GlobalSettingsProto.LowPowerMode.TRIGGER_LEVEL);
908         dumpSetting(s, p,
909                 Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL_MAX,
910                 GlobalSettingsProto.LowPowerMode.TRIGGER_LEVEL_MAX);
911         dumpSetting(s, p,
912                 Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
913                 GlobalSettingsProto.LowPowerMode.AUTOMATIC_POWER_SAVER_MODE);
914         dumpSetting(s, p,
915                 Settings.Global.LOW_POWER_MODE_STICKY,
916                 GlobalSettingsProto.LowPowerMode.STICKY_ENABLED);
917         dumpSetting(s, p,
918                 Settings.Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED,
919                 GlobalSettingsProto.LowPowerMode.STICKY_AUTO_DISABLE_ENABLED);
920         dumpSetting(s, p,
921                 Settings.Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL,
922                 GlobalSettingsProto.LowPowerMode.STICKY_AUTO_DISABLE_LEVEL);
923         p.end(lpmToken);
924 
925         dumpSetting(s, p,
926                 Settings.Global.LTE_SERVICE_FORCED,
927                 GlobalSettingsProto.LTE_SERVICE_FORCED);
928         dumpSetting(s, p,
929                 Settings.Global.MDC_INITIAL_MAX_RETRY,
930                 GlobalSettingsProto.MDC_INITIAL_MAX_RETRY);
931 
932         final long mhlToken = p.start(GlobalSettingsProto.MHL);
933         dumpSetting(s, p,
934                 Settings.Global.MHL_INPUT_SWITCHING_ENABLED,
935                 GlobalSettingsProto.Mhl.INPUT_SWITCHING_ENABLED);
936         dumpSetting(s, p,
937                 Settings.Global.MHL_POWER_CHARGE_ENABLED,
938                 GlobalSettingsProto.Mhl.POWER_CHARGE_ENABLED);
939         p.end(mhlToken);
940 
941         final long mobileDataToken = p.start(GlobalSettingsProto.MOBILE_DATA);
942         dumpSetting(s, p,
943                 Settings.Global.MOBILE_DATA,
944                 GlobalSettingsProto.MobileData.ALLOWED);
945         dumpSetting(s, p,
946                 Settings.Global.MOBILE_DATA_ALWAYS_ON,
947                 GlobalSettingsProto.MobileData.ALWAYS_ON);
948         p.end(mobileDataToken);
949 
950         dumpSetting(s, p,
951                 Settings.Global.MODE_RINGER,
952                 GlobalSettingsProto.MODE_RINGER);
953 
954         final long multiSimToken = p.start(GlobalSettingsProto.MULTI_SIM);
955         dumpSetting(s, p,
956                 Settings.Global.MULTI_SIM_VOICE_CALL_SUBSCRIPTION,
957                 GlobalSettingsProto.MultiSim.VOICE_CALL_SUBSCRIPTION);
958         dumpSetting(s, p,
959                 Settings.Global.MULTI_SIM_VOICE_PROMPT,
960                 GlobalSettingsProto.MultiSim.VOICE_PROMPT);
961         dumpSetting(s, p,
962                 Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION,
963                 GlobalSettingsProto.MultiSim.DATA_CALL_SUBSCRIPTION);
964         dumpSetting(s, p,
965                 Settings.Global.MULTI_SIM_SMS_SUBSCRIPTION,
966                 GlobalSettingsProto.MultiSim.SMS_SUBSCRIPTION);
967         dumpSetting(s, p,
968                 Settings.Global.MULTI_SIM_SMS_PROMPT,
969                 GlobalSettingsProto.MultiSim.SMS_PROMPT);
970         p.end(multiSimToken);
971 
972         dumpSetting(s, p,
973                 Settings.Global.NATIVE_FLAGS_HEALTH_CHECK_ENABLED,
974                 GlobalSettingsProto.NATIVE_FLAGS_HEALTH_CHECK_ENABLED);
975 
976         final long netstatsToken = p.start(GlobalSettingsProto.NETSTATS);
977         dumpSetting(s, p,
978                 Settings.Global.NETSTATS_ENABLED,
979                 GlobalSettingsProto.Netstats.ENABLED);
980         dumpSetting(s, p,
981                 Settings.Global.NETSTATS_POLL_INTERVAL,
982                 GlobalSettingsProto.Netstats.POLL_INTERVAL);
983         dumpSetting(s, p,
984                 Settings.Global.NETSTATS_TIME_CACHE_MAX_AGE,
985                 GlobalSettingsProto.Netstats.TIME_CACHE_MAX_AGE);
986         dumpSetting(s, p,
987                 Settings.Global.NETSTATS_GLOBAL_ALERT_BYTES,
988                 GlobalSettingsProto.Netstats.GLOBAL_ALERT_BYTES);
989         dumpSetting(s, p,
990                 Settings.Global.NETSTATS_SAMPLE_ENABLED,
991                 GlobalSettingsProto.Netstats.SAMPLE_ENABLED);
992         dumpSetting(s, p,
993                 Settings.Global.NETSTATS_AUGMENT_ENABLED,
994                 GlobalSettingsProto.Netstats.AUGMENT_ENABLED);
995         dumpSetting(s, p,
996                 Settings.Global.NETSTATS_DEV_BUCKET_DURATION,
997                 GlobalSettingsProto.Netstats.DEV_BUCKET_DURATION);
998         dumpSetting(s, p,
999                 Settings.Global.NETSTATS_DEV_PERSIST_BYTES,
1000                 GlobalSettingsProto.Netstats.DEV_PERSIST_BYTES);
1001         dumpSetting(s, p,
1002                 Settings.Global.NETSTATS_DEV_ROTATE_AGE,
1003                 GlobalSettingsProto.Netstats.DEV_ROTATE_AGE);
1004         dumpSetting(s, p,
1005                 Settings.Global.NETSTATS_DEV_DELETE_AGE,
1006                 GlobalSettingsProto.Netstats.DEV_DELETE_AGE);
1007         dumpSetting(s, p,
1008                 Settings.Global.NETSTATS_UID_BUCKET_DURATION,
1009                 GlobalSettingsProto.Netstats.UID_BUCKET_DURATION);
1010         dumpSetting(s, p,
1011                 Settings.Global.NETSTATS_UID_PERSIST_BYTES,
1012                 GlobalSettingsProto.Netstats.UID_PERSIST_BYTES);
1013         dumpSetting(s, p,
1014                 Settings.Global.NETSTATS_UID_ROTATE_AGE,
1015                 GlobalSettingsProto.Netstats.UID_ROTATE_AGE);
1016         dumpSetting(s, p,
1017                 Settings.Global.NETSTATS_UID_DELETE_AGE,
1018                 GlobalSettingsProto.Netstats.UID_DELETE_AGE);
1019         dumpSetting(s, p,
1020                 Settings.Global.NETSTATS_UID_TAG_BUCKET_DURATION,
1021                 GlobalSettingsProto.Netstats.UID_TAG_BUCKET_DURATION);
1022         dumpSetting(s, p,
1023                 Settings.Global.NETSTATS_UID_TAG_PERSIST_BYTES,
1024                 GlobalSettingsProto.Netstats.UID_TAG_PERSIST_BYTES);
1025         dumpSetting(s, p,
1026                 Settings.Global.NETSTATS_UID_TAG_ROTATE_AGE,
1027                 GlobalSettingsProto.Netstats.UID_TAG_ROTATE_AGE);
1028         dumpSetting(s, p,
1029                 Settings.Global.NETSTATS_UID_TAG_DELETE_AGE,
1030                 GlobalSettingsProto.Netstats.UID_TAG_DELETE_AGE);
1031         p.end(netstatsToken);
1032 
1033         final long networkToken = p.start(GlobalSettingsProto.NETWORK);
1034         dumpSetting(s, p,
1035                 Settings.Global.NETWORK_PREFERENCE,
1036                 GlobalSettingsProto.Network.PREFERENCE);
1037         dumpSetting(s, p,
1038                 Settings.Global.PREFERRED_NETWORK_MODE,
1039                 GlobalSettingsProto.Network.PREFERRED_NETWORK_MODE);
1040         dumpSetting(s, p,
1041                 Settings.Global.NETWORK_SCORER_APP,
1042                 GlobalSettingsProto.Network.SCORER_APP);
1043         dumpSetting(s, p,
1044                 Settings.Global.NETWORK_SWITCH_NOTIFICATION_DAILY_LIMIT,
1045                 GlobalSettingsProto.Network.SWITCH_NOTIFICATION_DAILY_LIMIT);
1046         dumpSetting(s, p,
1047                 Settings.Global.NETWORK_SWITCH_NOTIFICATION_RATE_LIMIT_MILLIS,
1048                 GlobalSettingsProto.Network.SWITCH_NOTIFICATION_RATE_LIMIT_MILLIS);
1049         dumpSetting(s, p,
1050                 Settings.Global.NETWORK_AVOID_BAD_WIFI,
1051                 GlobalSettingsProto.Network.AVOID_BAD_WIFI);
1052         dumpSetting(s, p,
1053                 Settings.Global.NETWORK_METERED_MULTIPATH_PREFERENCE,
1054                 GlobalSettingsProto.Network.METERED_MULTIPATH_PREFERENCE);
1055         dumpSetting(s, p,
1056                 Settings.Global.NETWORK_WATCHLIST_LAST_REPORT_TIME,
1057                 GlobalSettingsProto.Network.WATCHLIST_LAST_REPORT_TIME);
1058         dumpSetting(s, p,
1059                 Settings.Global.NETWORK_SCORING_UI_ENABLED,
1060                 GlobalSettingsProto.Network.SCORING_UI_ENABLED);
1061         dumpSetting(s, p,
1062                 Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED,
1063                 GlobalSettingsProto.Network.RECOMMENDATIONS_ENABLED);
1064         dumpSetting(s, p,
1065                 Settings.Global.NETWORK_RECOMMENDATIONS_PACKAGE,
1066                 GlobalSettingsProto.Network.RECOMMENDATIONS_PACKAGE);
1067         dumpSetting(s, p,
1068                 Settings.Global.NETWORK_WATCHLIST_ENABLED,
1069                 GlobalSettingsProto.Network.WATCHLIST_ENABLED);
1070         dumpSetting(s, p,
1071                 Settings.Global.NETWORK_SCORING_PROVISIONED,
1072                 GlobalSettingsProto.Network.SCORING_PROVISIONED);
1073         dumpSetting(s, p,
1074                 Settings.Global.NETWORK_ACCESS_TIMEOUT_MS,
1075                 GlobalSettingsProto.Network.ACCESS_TIMEOUT_MS);
1076         dumpSetting(s, p,
1077                 Settings.Global.RECOMMENDED_NETWORK_EVALUATOR_CACHE_EXPIRY_MS,
1078                 GlobalSettingsProto.Network.RECOMMENDED_NETWORK_EVALUATOR_CACHE_EXPIRY_MS);
1079         p.end(networkToken);
1080 
1081         dumpSetting(s, p,
1082                 Settings.Global.NEW_CONTACT_AGGREGATOR,
1083                 GlobalSettingsProto.NEW_CONTACT_AGGREGATOR);
1084         dumpSetting(s, p,
1085                 Settings.Global.NIGHT_DISPLAY_FORCED_AUTO_MODE_AVAILABLE,
1086                 GlobalSettingsProto.NIGHT_DISPLAY_FORCED_AUTO_MODE_AVAILABLE);
1087 
1088         final long nitzUpdateToken = p.start(GlobalSettingsProto.NITZ_UPDATE);
1089         dumpSetting(s, p,
1090                 Settings.Global.NITZ_UPDATE_DIFF,
1091                 GlobalSettingsProto.NitzUpdate.DIFF);
1092         dumpSetting(s, p,
1093                 Settings.Global.NITZ_UPDATE_SPACING,
1094                 GlobalSettingsProto.NitzUpdate.SPACING);
1095         p.end(nitzUpdateToken);
1096 
1097         final long notificationToken = p.start(GlobalSettingsProto.NOTIFICATION);
1098         dumpSetting(s, p,
1099                 Settings.Global.MAX_NOTIFICATION_ENQUEUE_RATE,
1100                 GlobalSettingsProto.Notification.MAX_NOTIFICATION_ENQUEUE_RATE);
1101         dumpSetting(s, p,
1102                 Settings.Global.SHOW_NOTIFICATION_CHANNEL_WARNINGS,
1103                 GlobalSettingsProto.Notification.SHOW_NOTIFICATION_CHANNEL_WARNINGS);
1104         // The list of snooze options for notifications. This is encoded as a key=value list,
1105         // separated by commas.
1106         dumpSetting(s, p,
1107                 Settings.Global.NOTIFICATION_SNOOZE_OPTIONS,
1108                 GlobalSettingsProto.Notification.SNOOZE_OPTIONS);
1109         dumpSetting(s, p,
1110                 Settings.Global.SMART_REPLIES_IN_NOTIFICATIONS_FLAGS,
1111                 GlobalSettingsProto.Notification.SMART_REPLIES_IN_NOTIFICATIONS_FLAGS);
1112         dumpSetting(s, p,
1113                 Settings.Global.SMART_SUGGESTIONS_IN_NOTIFICATIONS_FLAGS,
1114                 GlobalSettingsProto.Notification.SMART_SUGGESTIONS_IN_NOTIFICATIONS_FLAGS);
1115         p.end(notificationToken);
1116 
1117         dumpSetting(s, p,
1118                 Settings.Global.NSD_ON,
1119                 GlobalSettingsProto.NSD_ON);
1120 
1121         dumpSetting(s, p,
1122                 Settings.Global.NR_NSA_TRACKING_SCREEN_OFF_MODE,
1123                 GlobalSettingsProto.NR_NSA_TRACKING_SCREEN_OFF_MODE);
1124 
1125         final long ntpToken = p.start(GlobalSettingsProto.NTP);
1126         dumpSetting(s, p,
1127                 Settings.Global.NTP_SERVER,
1128                 GlobalSettingsProto.Ntp.SERVER);
1129         dumpSetting(s, p,
1130                 Settings.Global.NTP_TIMEOUT,
1131                 GlobalSettingsProto.Ntp.TIMEOUT_MS);
1132         p.end(ntpToken);
1133 
1134         final long uasbToken = p.start(GlobalSettingsProto.USER_ABSENT_SMALL_BATTERY);
1135         dumpSetting(s, p,
1136                 Settings.Global.USER_ABSENT_RADIOS_OFF_FOR_SMALL_BATTERY_ENABLED,
1137                 GlobalSettingsProto.UserAbsentSmallBattery.RADIOS_OFF_ENABLED);
1138         dumpSetting(s, p,
1139                 Settings.Global.USER_ABSENT_TOUCH_OFF_FOR_SMALL_BATTERY_ENABLED,
1140                 GlobalSettingsProto.UserAbsentSmallBattery.TOUCH_OFF_ENABLED);
1141         p.end(uasbToken);
1142 
1143         dumpSetting(s, p,
1144                 Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
1145                 GlobalSettingsProto.OTA_DISABLE_AUTOMATIC_UPDATE);
1146         dumpSetting(s, p,
1147                 Settings.Global.OVERLAY_DISPLAY_DEVICES,
1148                 GlobalSettingsProto.OVERLAY_DISPLAY_DEVICES);
1149         dumpSetting(s, p,
1150                 Settings.Global.OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION,
1151                 GlobalSettingsProto.OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION);
1152         dumpSetting(s, p,
1153                 Settings.Global.PAC_CHANGE_DELAY,
1154                 GlobalSettingsProto.PAC_CHANGE_DELAY);
1155 
1156         final long pkgVerifierToken = p.start(GlobalSettingsProto.PACKAGE_VERIFIER);
1157         dumpSetting(s, p,
1158                 Settings.Global.PACKAGE_VERIFIER_TIMEOUT,
1159                 GlobalSettingsProto.PackageVerifier.TIMEOUT);
1160         dumpSetting(s, p,
1161                 Settings.Global.PACKAGE_VERIFIER_DEFAULT_RESPONSE,
1162                 GlobalSettingsProto.PackageVerifier.DEFAULT_RESPONSE);
1163         dumpSetting(s, p,
1164                 Settings.Global.PACKAGE_VERIFIER_SETTING_VISIBLE,
1165                 GlobalSettingsProto.PackageVerifier.SETTING_VISIBLE);
1166         dumpSetting(s, p,
1167                 Settings.Global.PACKAGE_VERIFIER_INCLUDE_ADB,
1168                 GlobalSettingsProto.PackageVerifier.INCLUDE_ADB);
1169         p.end(pkgVerifierToken);
1170 
1171         final long pdpWatchdogToken = p.start(GlobalSettingsProto.PDP_WATCHDOG);
1172         dumpSetting(s, p,
1173                 Settings.Global.PDP_WATCHDOG_POLL_INTERVAL_MS,
1174                 GlobalSettingsProto.PdpWatchdog.POLL_INTERVAL_MS);
1175         dumpSetting(s, p,
1176                 Settings.Global.PDP_WATCHDOG_LONG_POLL_INTERVAL_MS,
1177                 GlobalSettingsProto.PdpWatchdog.LONG_POLL_INTERVAL_MS);
1178         dumpSetting(s, p,
1179                 Settings.Global.PDP_WATCHDOG_ERROR_POLL_INTERVAL_MS,
1180                 GlobalSettingsProto.PdpWatchdog.ERROR_POLL_INTERVAL_MS);
1181         dumpSetting(s, p,
1182                 Settings.Global.PDP_WATCHDOG_TRIGGER_PACKET_COUNT,
1183                 GlobalSettingsProto.PdpWatchdog.TRIGGER_PACKET_COUNT);
1184         dumpSetting(s, p,
1185                 Settings.Global.PDP_WATCHDOG_ERROR_POLL_COUNT,
1186                 GlobalSettingsProto.PdpWatchdog.ERROR_POLL_COUNT);
1187         dumpSetting(s, p,
1188                 Settings.Global.PDP_WATCHDOG_MAX_PDP_RESET_FAIL_COUNT,
1189                 GlobalSettingsProto.PdpWatchdog.MAX_PDP_RESET_FAIL_COUNT);
1190         p.end(pdpWatchdogToken);
1191 
1192         dumpSetting(s, p,
1193                 Settings.Global.POLICY_CONTROL,
1194                 GlobalSettingsProto.POLICY_CONTROL);
1195         dumpSetting(s, p,
1196                 Settings.Global.POWER_MANAGER_CONSTANTS,
1197                 GlobalSettingsProto.POWER_MANAGER_CONSTANTS);
1198 
1199         final long prepaidSetupToken = p.start(GlobalSettingsProto.PREPAID_SETUP);
1200         dumpSetting(s, p,
1201                 Settings.Global.SETUP_PREPAID_DATA_SERVICE_URL,
1202                 GlobalSettingsProto.PrepaidSetup.DATA_SERVICE_URL);
1203         dumpSetting(s, p,
1204                 Settings.Global.SETUP_PREPAID_DETECTION_TARGET_URL,
1205                 GlobalSettingsProto.PrepaidSetup.DETECTION_TARGET_URL);
1206         dumpSetting(s, p,
1207                 Settings.Global.SETUP_PREPAID_DETECTION_REDIR_HOST,
1208                 GlobalSettingsProto.PrepaidSetup.DETECTION_REDIR_HOST);
1209         p.end(prepaidSetupToken);
1210 
1211         final long privateToken = p.start(GlobalSettingsProto.PRIVATE);
1212         dumpSetting(s, p,
1213                 Settings.Global.PRIVATE_DNS_MODE,
1214                 GlobalSettingsProto.Private.DNS_MODE);
1215         dumpSetting(s, p,
1216                 Settings.Global.PRIVATE_DNS_SPECIFIER,
1217                 GlobalSettingsProto.Private.DNS_SPECIFIER);
1218         p.end(privateToken);
1219 
1220         dumpSetting(s, p,
1221                 Settings.Global.PROVISIONING_APN_ALARM_DELAY_IN_MS,
1222                 GlobalSettingsProto.PROVISIONING_APN_ALARM_DELAY_IN_MS);
1223         dumpSetting(s, p,
1224                 Settings.Global.READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT,
1225                 GlobalSettingsProto.READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT);
1226         dumpSetting(s, p,
1227                 Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT,
1228                 GlobalSettingsProto.REQUIRE_PASSWORD_TO_DECRYPT);
1229         dumpSetting(s, p,
1230                 Settings.Global.SAFE_BOOT_DISALLOWED,
1231                 GlobalSettingsProto.SAFE_BOOT_DISALLOWED);
1232 
1233         final long selinuxToken = p.start(GlobalSettingsProto.SELINUX);
1234         dumpSetting(s, p,
1235                 Settings.Global.SELINUX_UPDATE_CONTENT_URL,
1236                 GlobalSettingsProto.Selinux.UPDATE_CONTENT_URL);
1237         dumpSetting(s, p,
1238                 Settings.Global.SELINUX_UPDATE_METADATA_URL,
1239                 GlobalSettingsProto.Selinux.UPDATE_METADATA_URL);
1240         dumpSetting(s, p,
1241                 Settings.Global.SELINUX_STATUS,
1242                 GlobalSettingsProto.Selinux.STATUS);
1243         p.end(selinuxToken);
1244 
1245         dumpSetting(s, p,
1246                 Settings.Global.SEND_ACTION_APP_ERROR,
1247                 GlobalSettingsProto.SEND_ACTION_APP_ERROR);
1248         dumpSetting(s, p,
1249                 Settings.Global.SET_INSTALL_LOCATION,
1250                 GlobalSettingsProto.SET_INSTALL_LOCATION);
1251         dumpSetting(s, p,
1252                 Settings.Global.SHORTCUT_MANAGER_CONSTANTS,
1253                 GlobalSettingsProto.SHORTCUT_MANAGER_CONSTANTS);
1254         dumpSetting(s, p,
1255                 Settings.Global.SHOW_FIRST_CRASH_DIALOG,
1256                 GlobalSettingsProto.SHOW_FIRST_CRASH_DIALOG);
1257         dumpSetting(s, p,
1258                 Settings.Global.SHOW_HIDDEN_LAUNCHER_ICON_APPS_ENABLED,
1259                 GlobalSettingsProto.SHOW_HIDDEN_LAUNCHER_ICON_APPS_ENABLED);
1260         // Settings.Global.SHOW_PROCESSES intentionally excluded since it's deprecated.
1261         dumpSetting(s, p,
1262                 Settings.Global.SHOW_RESTART_IN_CRASH_DIALOG,
1263                 GlobalSettingsProto.SHOW_RESTART_IN_CRASH_DIALOG);
1264         dumpSetting(s, p,
1265                 Settings.Global.SHOW_MUTE_IN_CRASH_DIALOG,
1266                 GlobalSettingsProto.SHOW_MUTE_IN_CRASH_DIALOG);
1267         dumpSetting(s, p,
1268                 Settings.Global.SHOW_NEW_APP_INSTALLED_NOTIFICATION_ENABLED,
1269                 GlobalSettingsProto.SHOW_NEW_APP_INSTALLED_NOTIFICATION_ENABLED);
1270 
1271         final long smartSelectToken = p.start(GlobalSettingsProto.SMART_SELECTION);
1272         dumpSetting(s, p,
1273                 Settings.Global.SMART_SELECTION_UPDATE_CONTENT_URL,
1274                 GlobalSettingsProto.SmartSelection.UPDATE_CONTENT_URL);
1275         dumpSetting(s, p,
1276                 Settings.Global.SMART_SELECTION_UPDATE_METADATA_URL,
1277                 GlobalSettingsProto.SmartSelection.UPDATE_METADATA_URL);
1278         p.end(smartSelectToken);
1279 
1280         final long smsToken = p.start(GlobalSettingsProto.SMS);
1281         dumpSetting(s, p,
1282                 Settings.Global.SMS_OUTGOING_CHECK_INTERVAL_MS,
1283                 GlobalSettingsProto.Sms.OUTGOING_CHECK_INTERVAL_MS);
1284         dumpSetting(s, p,
1285                 Settings.Global.SMS_OUTGOING_CHECK_MAX_COUNT,
1286                 GlobalSettingsProto.Sms.OUTGOING_CHECK_MAX_COUNT);
1287         dumpSetting(s, p,
1288                 Settings.Global.SMS_SHORT_CODE_CONFIRMATION,
1289                 GlobalSettingsProto.Sms.SHORT_CODE_CONFIRMATION);
1290         dumpSetting(s, p,
1291                 Settings.Global.SMS_SHORT_CODE_RULE,
1292                 GlobalSettingsProto.Sms.SHORT_CODE_RULE);
1293         dumpSetting(s, p,
1294                 Settings.Global.SMS_SHORT_CODES_UPDATE_CONTENT_URL,
1295                 GlobalSettingsProto.Sms.SHORT_CODES_UPDATE_CONTENT_URL);
1296         dumpSetting(s, p,
1297                 Settings.Global.SMS_SHORT_CODES_UPDATE_METADATA_URL,
1298                 GlobalSettingsProto.Sms.SHORT_CODES_UPDATE_METADATA_URL);
1299         p.end(smsToken);
1300 
1301         final long soundsToken = p.start(GlobalSettingsProto.SOUNDS);
1302         dumpSetting(s, p,
1303                 Settings.Global.CAR_DOCK_SOUND,
1304                 GlobalSettingsProto.Sounds.CAR_DOCK);
1305         dumpSetting(s, p,
1306                 Settings.Global.CAR_UNDOCK_SOUND,
1307                 GlobalSettingsProto.Sounds.CAR_UNDOCK);
1308         dumpSetting(s, p,
1309                 Settings.Global.DESK_DOCK_SOUND,
1310                 GlobalSettingsProto.Sounds.DESK_DOCK);
1311         dumpSetting(s, p,
1312                 Settings.Global.DESK_UNDOCK_SOUND,
1313                 GlobalSettingsProto.Sounds.DESK_UNDOCK);
1314         dumpSetting(s, p,
1315                 Settings.Global.DOCK_SOUNDS_ENABLED,
1316                 GlobalSettingsProto.Sounds.DOCK_SOUNDS_ENABLED);
1317         dumpSetting(s, p,
1318                 Settings.Global.DOCK_SOUNDS_ENABLED_WHEN_ACCESSIBILITY,
1319                 GlobalSettingsProto.Sounds.DOCK_SOUNDS_ENABLED_WHEN_ACCESSIBILITY);
1320         dumpSetting(s, p,
1321                 Settings.Global.LOCK_SOUND,
1322                 GlobalSettingsProto.Sounds.LOCK);
1323         dumpSetting(s, p,
1324                 Settings.Global.UNLOCK_SOUND,
1325                 GlobalSettingsProto.Sounds.UNLOCK);
1326         dumpSetting(s, p,
1327                 Settings.Global.TRUSTED_SOUND,
1328                 GlobalSettingsProto.Sounds.TRUSTED);
1329         dumpSetting(s, p,
1330                 Settings.Global.LOW_BATTERY_SOUND,
1331                 GlobalSettingsProto.Sounds.LOW_BATTERY);
1332         dumpSetting(s, p,
1333                 Settings.Global.LOW_BATTERY_SOUND_TIMEOUT,
1334                 GlobalSettingsProto.Sounds.LOW_BATTERY_SOUND_TIMEOUT);
1335         dumpSetting(s, p,
1336                 Settings.Global.POWER_SOUNDS_ENABLED,
1337                 GlobalSettingsProto.Sounds.LOW_BATTERY_SOUNDS_ENABLED);
1338         dumpSetting(s, p,
1339                 Settings.Global.CHARGING_STARTED_SOUND,
1340                 GlobalSettingsProto.Sounds.CHARGING_STARTED);
1341         dumpSetting(s, p,
1342                 Settings.Global.WIRELESS_CHARGING_STARTED_SOUND,
1343                 GlobalSettingsProto.Sounds.WIRELESS_CHARGING_STARTED);
1344         p.end(soundsToken);
1345 
1346         final long soundTriggerToken = p.start(GlobalSettingsProto.SOUND_TRIGGER);
1347         dumpSetting(s, p,
1348                 Settings.Global.MAX_SOUND_TRIGGER_DETECTION_SERVICE_OPS_PER_DAY,
1349                 GlobalSettingsProto.SoundTrigger.MAX_SOUND_TRIGGER_DETECTION_SERVICE_OPS_PER_DAY);
1350         dumpSetting(s, p,
1351                 Settings.Global.SOUND_TRIGGER_DETECTION_SERVICE_OP_TIMEOUT,
1352                 GlobalSettingsProto.SoundTrigger.DETECTION_SERVICE_OP_TIMEOUT_MS);
1353         p.end(soundTriggerToken);
1354 
1355         dumpSetting(s, p,
1356                 Settings.Global.SPEED_LABEL_CACHE_EVICTION_AGE_MILLIS,
1357                 GlobalSettingsProto.SPEED_LABEL_CACHE_EVICTION_AGE_MS);
1358         dumpSetting(s, p,
1359                 Settings.Global.SQLITE_COMPATIBILITY_WAL_FLAGS,
1360                 GlobalSettingsProto.SQLITE_COMPATIBILITY_WAL_FLAGS);
1361         dumpSetting(s, p,
1362                 Settings.Global.STAY_ON_WHILE_PLUGGED_IN,
1363                 GlobalSettingsProto.STAY_ON_WHILE_PLUGGED_IN);
1364 
1365         final long storageToken = p.start(GlobalSettingsProto.STORAGE);
1366         dumpSetting(s, p,
1367                 Settings.Global.STORAGE_BENCHMARK_INTERVAL,
1368                 GlobalSettingsProto.Storage.BENCHMARK_INTERVAL);
1369         dumpSetting(s, p,
1370                 Settings.Global.STORAGE_SETTINGS_CLOBBER_THRESHOLD,
1371                 GlobalSettingsProto.Storage.SETTINGS_CLOBBER_THRESHOLD);
1372         p.end(storageToken);
1373 
1374         final long syncToken = p.start(GlobalSettingsProto.SYNC);
1375         dumpSetting(s, p,
1376                 Settings.Global.SYNC_MAX_RETRY_DELAY_IN_SECONDS,
1377                 GlobalSettingsProto.Sync.MAX_RETRY_DELAY_IN_SECONDS);
1378         dumpSetting(s, p,
1379                 Settings.Global.SYNC_MANAGER_CONSTANTS,
1380                 GlobalSettingsProto.Sync.MANAGER_CONSTANTS);
1381         p.end(syncToken);
1382 
1383         final long sysToken = p.start(GlobalSettingsProto.SYS);
1384         dumpSetting(s, p,
1385                 Settings.Global.SYS_FREE_STORAGE_LOG_INTERVAL,
1386                 GlobalSettingsProto.Sys.FREE_STORAGE_LOG_INTERVAL_MINS);
1387         dumpSetting(s, p,
1388                 Settings.Global.SYS_STORAGE_THRESHOLD_PERCENTAGE,
1389                 GlobalSettingsProto.Sys.STORAGE_THRESHOLD_PERCENTAGE);
1390         dumpSetting(s, p,
1391                 Settings.Global.SYS_STORAGE_THRESHOLD_MAX_BYTES,
1392                 GlobalSettingsProto.Sys.STORAGE_THRESHOLD_MAX_BYTES);
1393         dumpSetting(s, p,
1394                 Settings.Global.SYS_STORAGE_FULL_THRESHOLD_BYTES,
1395                 GlobalSettingsProto.Sys.STORAGE_FULL_THRESHOLD_BYTES);
1396         dumpSetting(s, p,
1397                 Settings.Global.SYS_STORAGE_CACHE_PERCENTAGE,
1398                 GlobalSettingsProto.Sys.STORAGE_CACHE_PERCENTAGE);
1399         dumpSetting(s, p,
1400                 Settings.Global.SYS_STORAGE_CACHE_MAX_BYTES,
1401                 GlobalSettingsProto.Sys.STORAGE_CACHE_MAX_BYTES);
1402         dumpSetting(s, p,
1403                 Settings.Global.SYS_UIDCPUPOWER,
1404                 GlobalSettingsProto.Sys.UIDCPUPOWER);
1405         p.end(sysToken);
1406 
1407         dumpSetting(s, p,
1408                 Settings.Global.TCP_DEFAULT_INIT_RWND,
1409                 GlobalSettingsProto.TCP_DEFAULT_INIT_RWND);
1410 
1411         final long tempWarningToken = p.start(GlobalSettingsProto.TEMPERATURE_WARNING);
1412         dumpSetting(s, p,
1413                 Settings.Global.SHOW_TEMPERATURE_WARNING,
1414                 GlobalSettingsProto.TemperatureWarning.SHOW_TEMPERATURE_WARNING);
1415         dumpSetting(s, p,
1416                 Settings.Global.SHOW_USB_TEMPERATURE_ALARM,
1417                 GlobalSettingsProto.TemperatureWarning.SHOW_USB_TEMPERATURE_ALARM);
1418         dumpSetting(s, p,
1419                 Settings.Global.WARNING_TEMPERATURE,
1420                 GlobalSettingsProto.TemperatureWarning.WARNING_TEMPERATURE_LEVEL);
1421         p.end(tempWarningToken);
1422 
1423         final long tetherToken = p.start(GlobalSettingsProto.TETHER);
1424         dumpSetting(s, p,
1425                 Settings.Global.TETHER_SUPPORTED,
1426                 GlobalSettingsProto.Tether.SUPPORTED);
1427         dumpSetting(s, p,
1428                 Settings.Global.TETHER_DUN_REQUIRED,
1429                 GlobalSettingsProto.Tether.DUN_REQUIRED);
1430         dumpSetting(s, p,
1431                 Settings.Global.TETHER_DUN_APN,
1432                 GlobalSettingsProto.Tether.DUN_APN);
1433         dumpSetting(s, p,
1434                 Settings.Global.TETHER_OFFLOAD_DISABLED,
1435                 GlobalSettingsProto.Tether.OFFLOAD_DISABLED);
1436         dumpSetting(s, p,
1437                 Settings.Global.SOFT_AP_TIMEOUT_ENABLED,
1438                 GlobalSettingsProto.Tether.TIMEOUT_ENABLED);
1439         p.end(tetherToken);
1440 
1441         dumpSetting(s, p,
1442                 Settings.Global.TEXT_CLASSIFIER_CONSTANTS,
1443                 GlobalSettingsProto.TEXT_CLASSIFIER_CONSTANTS);
1444         dumpSetting(s, p,
1445                 Settings.Global.TEXT_CLASSIFIER_ACTION_MODEL_PARAMS,
1446                 GlobalSettingsProto.TEXT_CLASSIFIER_ACTION_MODEL_PARAMS);
1447         dumpSetting(s, p,
1448                 Settings.Global.THEATER_MODE_ON,
1449                 GlobalSettingsProto.THEATER_MODE_ON);
1450         dumpSetting(s, p,
1451                 Settings.Global.TIME_ONLY_MODE_CONSTANTS,
1452                 GlobalSettingsProto.TIME_ONLY_MODE_CONSTANTS);
1453         dumpSetting(s, p,
1454                 Settings.Global.TRANSITION_ANIMATION_SCALE,
1455                 GlobalSettingsProto.TRANSITION_ANIMATION_SCALE);
1456 
1457         final long tzinfoToken = p.start(GlobalSettingsProto.TZINFO);
1458         dumpSetting(s, p,
1459                 Settings.Global.TZINFO_UPDATE_CONTENT_URL,
1460                 GlobalSettingsProto.Tzinfo.UPDATE_CONTENT_URL);
1461         dumpSetting(s, p,
1462                 Settings.Global.TZINFO_UPDATE_METADATA_URL,
1463                 GlobalSettingsProto.Tzinfo.UPDATE_METADATA_URL);
1464         p.end(tzinfoToken);
1465 
1466         dumpSetting(s, p,
1467                 Settings.Global.UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD,
1468                 GlobalSettingsProto.UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD_MS);
1469         dumpSetting(s, p,
1470                 Settings.Global.USB_MASS_STORAGE_ENABLED,
1471                 GlobalSettingsProto.USB_MASS_STORAGE_ENABLED);
1472         dumpSetting(s, p,
1473                 Settings.Global.USE_GOOGLE_MAIL,
1474                 GlobalSettingsProto.USE_GOOGLE_MAIL);
1475         dumpSetting(s, p,
1476                 Settings.Global.USE_OPEN_WIFI_PACKAGE,
1477                 GlobalSettingsProto.USE_OPEN_WIFI_PACKAGE);
1478         dumpSetting(s, p,
1479                 Settings.Global.VT_IMS_ENABLED,
1480                 GlobalSettingsProto.VT_IMS_ENABLED);
1481         dumpSetting(s, p,
1482                 Settings.Global.WAIT_FOR_DEBUGGER,
1483                 GlobalSettingsProto.WAIT_FOR_DEBUGGER);
1484 
1485         final long webviewToken = p.start(GlobalSettingsProto.WEBVIEW);
1486         dumpSetting(s, p,
1487                 Settings.Global.WEBVIEW_DATA_REDUCTION_PROXY_KEY,
1488                 GlobalSettingsProto.Webview.DATA_REDUCTION_PROXY_KEY);
1489         dumpSetting(s, p,
1490                 Settings.Global.WEBVIEW_PROVIDER,
1491                 GlobalSettingsProto.Webview.PROVIDER);
1492         dumpSetting(s, p,
1493                 Settings.Global.WEBVIEW_MULTIPROCESS,
1494                 GlobalSettingsProto.Webview.MULTIPROCESS);
1495         p.end(webviewToken);
1496 
1497         final long wfcToken = p.start(GlobalSettingsProto.WFC);
1498         dumpSetting(s, p,
1499                 Settings.Global.WFC_IMS_ENABLED,
1500                 GlobalSettingsProto.Wfc.IMS_ENABLED);
1501         dumpSetting(s, p,
1502                 Settings.Global.WFC_IMS_MODE,
1503                 GlobalSettingsProto.Wfc.IMS_MODE);
1504         dumpSetting(s, p,
1505                 Settings.Global.WFC_IMS_ROAMING_MODE,
1506                 GlobalSettingsProto.Wfc.IMS_ROAMING_MODE);
1507         dumpSetting(s, p,
1508                 Settings.Global.WFC_IMS_ROAMING_ENABLED,
1509                 GlobalSettingsProto.Wfc.IMS_ROAMING_ENABLED);
1510         p.end(wfcToken);
1511 
1512         final long wifiToken = p.start(GlobalSettingsProto.WIFI);
1513         dumpSetting(s, p,
1514                 Settings.Global.WIFI_SLEEP_POLICY,
1515                 GlobalSettingsProto.Wifi.SLEEP_POLICY);
1516         dumpSetting(s, p,
1517                 Settings.Global.WIFI_BADGING_THRESHOLDS,
1518                 GlobalSettingsProto.Wifi.BADGING_THRESHOLDS);
1519         dumpSetting(s, p,
1520                 Settings.Global.WIFI_DISPLAY_ON,
1521                 GlobalSettingsProto.Wifi.DISPLAY_ON);
1522         dumpSetting(s, p,
1523                 Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON,
1524                 GlobalSettingsProto.Wifi.DISPLAY_CERTIFICATION_ON);
1525         dumpSetting(s, p,
1526                 Settings.Global.WIFI_DISPLAY_WPS_CONFIG,
1527                 GlobalSettingsProto.Wifi.DISPLAY_WPS_CONFIG);
1528         dumpSetting(s, p,
1529                 Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON,
1530                 GlobalSettingsProto.Wifi.NETWORKS_AVAILABLE_NOTIFICATION_ON);
1531         dumpSetting(s, p,
1532                 Settings.Global.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY,
1533                 GlobalSettingsProto.Wifi.NETWORKS_AVAILABLE_REPEAT_DELAY);
1534         dumpSetting(s, p,
1535                 Settings.Global.WIFI_COUNTRY_CODE,
1536                 GlobalSettingsProto.Wifi.COUNTRY_CODE);
1537         dumpSetting(s, p,
1538                 Settings.Global.WIFI_FRAMEWORK_SCAN_INTERVAL_MS,
1539                 GlobalSettingsProto.Wifi.FRAMEWORK_SCAN_INTERVAL_MS);
1540         dumpSetting(s, p,
1541                 Settings.Global.WIFI_IDLE_MS,
1542                 GlobalSettingsProto.Wifi.IDLE_MS);
1543         dumpSetting(s, p,
1544                 Settings.Global.WIFI_NUM_OPEN_NETWORKS_KEPT,
1545                 GlobalSettingsProto.Wifi.NUM_OPEN_NETWORKS_KEPT);
1546         dumpSetting(s, p,
1547                 Settings.Global.WIFI_ON,
1548                 GlobalSettingsProto.Wifi.ON);
1549         dumpSetting(s, p,
1550                 Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE,
1551                 GlobalSettingsProto.Wifi.SCAN_ALWAYS_AVAILABLE);
1552         dumpSetting(s, p,
1553                 Settings.Global.WIFI_WAKEUP_ENABLED,
1554                 GlobalSettingsProto.Wifi.WAKEUP_ENABLED);
1555         dumpSetting(s, p,
1556                 Settings.Global.WIFI_SUPPLICANT_SCAN_INTERVAL_MS,
1557                 GlobalSettingsProto.Wifi.SUPPLICANT_SCAN_INTERVAL_MS);
1558         dumpSetting(s, p,
1559                 Settings.Global.WIFI_ENHANCED_AUTO_JOIN,
1560                 GlobalSettingsProto.Wifi.ENHANCED_AUTO_JOIN);
1561         dumpSetting(s, p,
1562                 Settings.Global.WIFI_NETWORK_SHOW_RSSI,
1563                 GlobalSettingsProto.Wifi.NETWORK_SHOW_RSSI);
1564         dumpSetting(s, p,
1565                 Settings.Global.WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS,
1566                 GlobalSettingsProto.Wifi.SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS);
1567         dumpSetting(s, p,
1568                 Settings.Global.WIFI_WATCHDOG_ON,
1569                 GlobalSettingsProto.Wifi.WATCHDOG_ON);
1570         dumpSetting(s, p,
1571                 Settings.Global.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED,
1572                 GlobalSettingsProto.Wifi.WATCHDOG_POOR_NETWORK_TEST_ENABLED);
1573         dumpSetting(s, p,
1574                 Settings.Global.WIFI_VERBOSE_LOGGING_ENABLED,
1575                 GlobalSettingsProto.Wifi.VERBOSE_LOGGING_ENABLED);
1576         dumpSetting(s, p,
1577                 Settings.Global.WIFI_MAX_DHCP_RETRY_COUNT,
1578                 GlobalSettingsProto.Wifi.MAX_DHCP_RETRY_COUNT);
1579         dumpSetting(s, p,
1580                 Settings.Global.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS,
1581                 GlobalSettingsProto.Wifi.MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS);
1582         dumpSetting(s, p,
1583                 Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN,
1584                 GlobalSettingsProto.Wifi.DEVICE_OWNER_CONFIGS_LOCKDOWN);
1585         dumpSetting(s, p,
1586                 Settings.Global.WIFI_FREQUENCY_BAND,
1587                 GlobalSettingsProto.Wifi.FREQUENCY_BAND);
1588         dumpSetting(s, p,
1589                 Settings.Global.WIFI_P2P_DEVICE_NAME,
1590                 GlobalSettingsProto.Wifi.P2P_DEVICE_NAME);
1591         dumpSetting(s, p,
1592                 Settings.Global.WIFI_EPHEMERAL_OUT_OF_RANGE_TIMEOUT_MS,
1593                 GlobalSettingsProto.Wifi.EPHEMERAL_OUT_OF_RANGE_TIMEOUT_MS);
1594         dumpSetting(s, p,
1595                 Settings.Global.WIFI_ON_WHEN_PROXY_DISCONNECTED,
1596                 GlobalSettingsProto.Wifi.ON_WHEN_PROXY_DISCONNECTED);
1597         dumpSetting(s, p,
1598                 Settings.Global.WIFI_BOUNCE_DELAY_OVERRIDE_MS,
1599                 GlobalSettingsProto.Wifi.BOUNCE_DELAY_OVERRIDE_MS);
1600         p.end(wifiToken);
1601 
1602         dumpSetting(s, p,
1603                 Settings.Global.WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON,
1604                 GlobalSettingsProto.WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON);
1605         dumpSetting(s, p,
1606                 Settings.Global.WINDOW_ANIMATION_SCALE,
1607                 GlobalSettingsProto.WINDOW_ANIMATION_SCALE);
1608         dumpSetting(s, p,
1609                 Settings.Global.WTF_IS_FATAL,
1610                 GlobalSettingsProto.WTF_IS_FATAL);
1611 
1612         final long zenToken = p.start(GlobalSettingsProto.ZEN);
1613         dumpSetting(s, p,
1614                 Settings.Global.ZEN_MODE,
1615                 GlobalSettingsProto.Zen.MODE);
1616         dumpSetting(s, p,
1617                 Settings.Global.ZEN_MODE_RINGER_LEVEL,
1618                 GlobalSettingsProto.Zen.MODE_RINGER_LEVEL);
1619         dumpSetting(s, p,
1620                 Settings.Global.ZEN_MODE_CONFIG_ETAG,
1621                 GlobalSettingsProto.Zen.MODE_CONFIG_ETAG);
1622         p.end(zenToken);
1623 
1624         dumpSetting(s, p,
1625                 Settings.Global.ZRAM_ENABLED,
1626                 GlobalSettingsProto.ZRAM_ENABLED);
1627 
1628         dumpSetting(s, p,
1629                 Settings.Global.APP_OPS_CONSTANTS,
1630                 GlobalSettingsProto.APP_OPS_CONSTANTS);
1631 
1632         p.end(token);
1633         // Please insert new settings using the same order as in GlobalSettingsProto.
1634 
1635         // Settings.Global.INSTALL_NON_MARKET_APPS intentionally excluded since it's deprecated.
1636     }
1637 
dumpProtoConfigSettingsLocked( @onNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s)1638     private static void dumpProtoConfigSettingsLocked(
1639             @NonNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s) {
1640         Map<String, List<String>> namespaceMap = new HashMap<>();
1641         final long token = p.start(fieldId);
1642         s.dumpHistoricalOperations(p, ConfigSettingsProto.HISTORICAL_OPERATIONS);
1643         for (String name : s.getSettingNamesLocked()) {
1644             String namespace = name.substring(0, name.indexOf('/'));
1645             if (NAMESPACE_TO_FIELD_MAP.containsKey(namespace)) {
1646                 dumpSetting(s, p, name, NAMESPACE_TO_FIELD_MAP.get(namespace));
1647             } else {
1648                 if (!namespaceMap.containsKey(namespace)) {
1649                     namespaceMap.put(namespace, new ArrayList<>());
1650                 }
1651                 namespaceMap.get(namespace).add(name);
1652             }
1653         }
1654         for (String namespace : namespaceMap.keySet()) {
1655             final long namespacesToken = p.start(ConfigSettingsProto.EXTRA_NAMESPACES);
1656             p.write(ConfigSettingsProto.NamespaceProto.NAMESPACE, namespace);
1657             for (String name : namespaceMap.get(namespace)) {
1658                 dumpSetting(s, p, name, ConfigSettingsProto.NamespaceProto.SETTINGS);
1659             }
1660             p.end(namespacesToken);
1661         }
1662         p.end(token);
1663     }
1664 
1665     /** Dumps settings that use a common prefix into a repeated field. */
dumpRepeatedSetting(@onNull SettingsState settings, @NonNull ProtoOutputStream proto, String settingPrefix, long fieldId)1666     private static void dumpRepeatedSetting(@NonNull SettingsState settings,
1667             @NonNull ProtoOutputStream proto, String settingPrefix, long fieldId) {
1668         for (String s : settings.getSettingNamesLocked()) {
1669             if (s.startsWith(settingPrefix)) {
1670                 dumpSetting(settings, proto, s, fieldId);
1671             }
1672         }
1673     }
1674 
1675     /** Dump a single {@link SettingsState.Setting} to a proto buf */
dumpSetting(@onNull SettingsState settings, @NonNull ProtoOutputStream proto, String settingName, long fieldId)1676     private static void dumpSetting(@NonNull SettingsState settings,
1677             @NonNull ProtoOutputStream proto, String settingName, long fieldId) {
1678         SettingsState.Setting setting = settings.getSettingLocked(settingName);
1679         long settingsToken = proto.start(fieldId);
1680         proto.write(SettingProto.ID, setting.getId());
1681         proto.write(SettingProto.NAME, settingName);
1682         if (setting.getPackageName() != null) {
1683             proto.write(SettingProto.PKG, setting.getPackageName());
1684         }
1685         proto.write(SettingProto.VALUE, setting.getValue());
1686         if (setting.getDefaultValue() != null) {
1687             proto.write(SettingProto.DEFAULT_VALUE, setting.getDefaultValue());
1688             proto.write(SettingProto.DEFAULT_FROM_SYSTEM, setting.isDefaultFromSystem());
1689         }
1690         proto.end(settingsToken);
1691     }
1692 
dumpProtoSecureSettingsLocked( @onNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s)1693     static void dumpProtoSecureSettingsLocked(
1694             @NonNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s) {
1695         final long token = p.start(fieldId);
1696 
1697         s.dumpHistoricalOperations(p, SecureSettingsProto.HISTORICAL_OPERATIONS);
1698 
1699         // This uses the same order as in SecureSettingsProto.
1700 
1701         final long accessibilityToken = p.start(SecureSettingsProto.ACCESSIBILITY);
1702         dumpSetting(s, p,
1703                 Settings.Secure.ACCESSIBILITY_ENABLED,
1704                 SecureSettingsProto.Accessibility.ENABLED);
1705         dumpSetting(s, p,
1706                 Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,
1707                 SecureSettingsProto.Accessibility.ENABLED_ACCESSIBILITY_SERVICES);
1708         dumpSetting(s, p,
1709                 Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED,
1710                 SecureSettingsProto.Accessibility.AUTOCLICK_ENABLED);
1711         dumpSetting(s, p,
1712                 Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
1713                 SecureSettingsProto.Accessibility.AUTOCLICK_DELAY);
1714         dumpSetting(s, p,
1715                 Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT,
1716                 SecureSettingsProto.Accessibility.BUTTON_TARGET_COMPONENT);
1717         dumpSetting(s, p,
1718                 Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED,
1719                 SecureSettingsProto.Accessibility.CAPTIONING_ENABLED);
1720         dumpSetting(s, p,
1721                 Settings.Secure.ACCESSIBILITY_CAPTIONING_LOCALE,
1722                 SecureSettingsProto.Accessibility.CAPTIONING_LOCALE);
1723         dumpSetting(s, p,
1724                 Settings.Secure.ACCESSIBILITY_CAPTIONING_PRESET,
1725                 SecureSettingsProto.Accessibility.CAPTIONING_PRESET);
1726         dumpSetting(s, p,
1727                 Settings.Secure.ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR,
1728                 SecureSettingsProto.Accessibility.CAPTIONING_BACKGROUND_COLOR);
1729         dumpSetting(s, p,
1730                 Settings.Secure.ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR,
1731                 SecureSettingsProto.Accessibility.CAPTIONING_FOREGROUND_COLOR);
1732         dumpSetting(s, p,
1733                 Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_TYPE,
1734                 SecureSettingsProto.Accessibility.CAPTIONING_EDGE_TYPE);
1735         dumpSetting(s, p,
1736                 Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_COLOR,
1737                 SecureSettingsProto.Accessibility.CAPTIONING_EDGE_COLOR);
1738         dumpSetting(s, p,
1739                 Settings.Secure.ACCESSIBILITY_CAPTIONING_WINDOW_COLOR,
1740                 SecureSettingsProto.Accessibility.CAPTIONING_WINDOW_COLOR);
1741         dumpSetting(s, p,
1742                 Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE,
1743                 SecureSettingsProto.Accessibility.CAPTIONING_TYPEFACE);
1744         dumpSetting(s, p,
1745                 Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE,
1746                 SecureSettingsProto.Accessibility.CAPTIONING_FONT_SCALE);
1747         dumpSetting(s, p,
1748                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
1749                 SecureSettingsProto.Accessibility.DISPLAY_DALTONIZER_ENABLED);
1750         dumpSetting(s, p,
1751                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER,
1752                 SecureSettingsProto.Accessibility.DISPLAY_DALTONIZER);
1753         dumpSetting(s, p,
1754                 Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED,
1755                 SecureSettingsProto.Accessibility.DISPLAY_INVERSION_ENABLED);
1756         dumpSetting(s, p,
1757                 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
1758                 SecureSettingsProto.Accessibility.DISPLAY_MAGNIFICATION_ENABLED);
1759         dumpSetting(s, p,
1760                 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
1761                 SecureSettingsProto.Accessibility.DISPLAY_MAGNIFICATION_NAVBAR_ENABLED);
1762         dumpSetting(s, p,
1763                 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_SCALE,
1764                 SecureSettingsProto.Accessibility.DISPLAY_MAGNIFICATION_SCALE);
1765         dumpSetting(s, p,
1766                 Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED,
1767                 SecureSettingsProto.Accessibility.HIGH_TEXT_CONTRAST_ENABLED);
1768         dumpSetting(s, p,
1769                 Settings.Secure.FONT_WEIGHT_ADJUSTMENT,
1770                 SecureSettingsProto.FONT_WEIGHT_ADJUSTMENT);
1771         dumpSetting(s, p,
1772                 Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON,
1773                 SecureSettingsProto.Accessibility.LARGE_POINTER_ICON);
1774         dumpSetting(s, p,
1775                 Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN,
1776                 SecureSettingsProto.Accessibility.SHORTCUT_ON_LOCK_SCREEN);
1777         dumpSetting(s, p,
1778                 Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN,
1779                 SecureSettingsProto.Accessibility.SHORTCUT_DIALOG_SHOWN);
1780         dumpSetting(s, p,
1781                 Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE,
1782                 SecureSettingsProto.Accessibility.SHORTCUT_TARGET_SERVICE);
1783         dumpSetting(s, p,
1784                 Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE,
1785                 SecureSettingsProto.Accessibility.SOFT_KEYBOARD_MODE);
1786         dumpSetting(s, p,
1787                 Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD,
1788                 SecureSettingsProto.Accessibility.SPEAK_PASSWORD);
1789         dumpSetting(s, p,
1790                 Settings.Secure.TOUCH_EXPLORATION_ENABLED,
1791                 SecureSettingsProto.Accessibility.TOUCH_EXPLORATION_ENABLED);
1792         dumpSetting(s, p,
1793                 Settings.Secure.TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES,
1794                 SecureSettingsProto.Accessibility.TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES);
1795         dumpSetting(s, p,
1796                 Settings.Secure.ACCESSIBILITY_NON_INTERACTIVE_UI_TIMEOUT_MS,
1797                 SecureSettingsProto.Accessibility.NON_INTERACTIVE_UI_TIMEOUT_MS);
1798         dumpSetting(s, p,
1799                 Settings.Secure.ACCESSIBILITY_INTERACTIVE_UI_TIMEOUT_MS,
1800                 SecureSettingsProto.Accessibility.INTERACTIVE_UI_TIMEOUT_MS);
1801         dumpSetting(s, p,
1802                 Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE,
1803                 SecureSettingsProto.Accessibility.ACCESSIBILITY_MAGNIFICATION_MODE);
1804         dumpSetting(s, p,
1805                 Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS,
1806                 SecureSettingsProto.Accessibility.BUTTON_TARGETS);
1807         dumpSetting(s, p,
1808                 Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY,
1809                 SecureSettingsProto.Accessibility.ACCESSIBILITY_MAGNIFICATION_CAPABILITY);
1810         dumpSetting(s, p,
1811                 Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
1812                 SecureSettingsProto.Accessibility.ACCESSIBILITY_BUTTON_MODE);
1813         dumpSetting(s, p,
1814                 Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
1815                 SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_SIZE);
1816         dumpSetting(s, p,
1817                 Settings.Secure.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE,
1818                 SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE);
1819         dumpSetting(s, p,
1820                 Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY,
1821                 SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_OPACITY);
1822         dumpSetting(s, p,
1823                 Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED,
1824                 SecureSettingsProto.Accessibility.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED);
1825         p.end(accessibilityToken);
1826 
1827         final long adaptiveSleepToken = p.start(SecureSettingsProto.ADAPTIVE_SLEEP);
1828         dumpSetting(s, p,
1829                 Settings.Secure.ADAPTIVE_SLEEP,
1830                 SecureSettingsProto.AdaptiveSleep.ENABLED);
1831         p.end(adaptiveSleepToken);
1832 
1833         dumpSetting(s, p,
1834                 Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS,
1835                 SecureSettingsProto.ALLOWED_GEOLOCATION_ORIGINS);
1836 
1837         final long aovToken = p.start(SecureSettingsProto.ALWAYS_ON_VPN);
1838         dumpSetting(s, p,
1839                 Settings.Secure.ALWAYS_ON_VPN_APP,
1840                 SecureSettingsProto.AlwaysOnVpn.APP);
1841         dumpSetting(s, p,
1842                 Settings.Secure.ALWAYS_ON_VPN_LOCKDOWN,
1843                 SecureSettingsProto.AlwaysOnVpn.LOCKDOWN);
1844         p.end(aovToken);
1845 
1846         dumpSetting(s, p,
1847                 Settings.Secure.ANDROID_ID,
1848                 SecureSettingsProto.ANDROID_ID);
1849         dumpSetting(s, p,
1850                 Settings.Secure.ANR_SHOW_BACKGROUND,
1851                 SecureSettingsProto.ANR_SHOW_BACKGROUND);
1852 
1853         final long assistToken = p.start(SecureSettingsProto.ASSIST);
1854         dumpSetting(s, p,
1855                 Settings.Secure.ASSISTANT,
1856                 SecureSettingsProto.Assist.ASSISTANT);
1857         dumpSetting(s, p,
1858                 Settings.Secure.ASSIST_STRUCTURE_ENABLED,
1859                 SecureSettingsProto.Assist.STRUCTURE_ENABLED);
1860         dumpSetting(s, p,
1861                 Settings.Secure.ASSIST_SCREENSHOT_ENABLED,
1862                 SecureSettingsProto.Assist.SCREENSHOT_ENABLED);
1863         dumpSetting(s, p,
1864                 Settings.Secure.ASSIST_DISCLOSURE_ENABLED,
1865                 SecureSettingsProto.Assist.DISCLOSURE_ENABLED);
1866         dumpSetting(s, p,
1867                 Settings.Secure.ASSIST_GESTURE_ENABLED,
1868                 SecureSettingsProto.Assist.GESTURE_ENABLED);
1869         dumpSetting(s, p,
1870                 Settings.Secure.ASSIST_GESTURE_SENSITIVITY,
1871                 SecureSettingsProto.Assist.GESTURE_SENSITIVITY);
1872         dumpSetting(s, p,
1873                 Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED,
1874                 SecureSettingsProto.Assist.GESTURE_SILENCE_ALERTS_ENABLED);
1875         dumpSetting(s, p,
1876                 Settings.Secure.ASSIST_GESTURE_WAKE_ENABLED,
1877                 SecureSettingsProto.Assist.GESTURE_WAKE_ENABLED);
1878         dumpSetting(s, p,
1879                 Settings.Secure.ASSIST_GESTURE_SETUP_COMPLETE,
1880                 SecureSettingsProto.Assist.GESTURE_SETUP_COMPLETE);
1881         dumpSetting(s, p,
1882                 Settings.Secure.ASSIST_TOUCH_GESTURE_ENABLED,
1883                 SecureSettingsProto.Assist.TOUCH_GESTURE_ENABLED);
1884         dumpSetting(s, p,
1885                 Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED,
1886                 SecureSettingsProto.Assist.LONG_PRESS_HOME_ENABLED);
1887         p.end(assistToken);
1888 
1889         final long assistHandlesToken = p.start(SecureSettingsProto.ASSIST_HANDLES);
1890         dumpSetting(s, p,
1891                 Settings.Secure.ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS,
1892                 SecureSettingsProto.AssistHandles.LEARNING_TIME_ELAPSED_MILLIS);
1893         dumpSetting(s, p,
1894                 Settings.Secure.ASSIST_HANDLES_LEARNING_EVENT_COUNT,
1895                 SecureSettingsProto.AssistHandles.LEARNING_EVENT_COUNT);
1896         p.end(assistHandlesToken);
1897 
1898         final long autofillToken = p.start(SecureSettingsProto.AUTOFILL);
1899         dumpSetting(s, p,
1900                 Settings.Secure.AUTOFILL_SERVICE,
1901                 SecureSettingsProto.Autofill.SERVICE);
1902         dumpSetting(s, p,
1903                 Settings.Secure.AUTOFILL_FEATURE_FIELD_CLASSIFICATION,
1904                 SecureSettingsProto.Autofill.FEATURE_FIELD_CLASSIFICATION);
1905         dumpSetting(s, p,
1906                 Settings.Secure.AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE,
1907                 SecureSettingsProto.Autofill.USER_DATA_MAX_USER_DATA_SIZE);
1908         dumpSetting(s, p,
1909                 Settings.Secure.AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE,
1910                 SecureSettingsProto.Autofill.USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE);
1911         dumpSetting(s, p,
1912                 Settings.Secure.AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT,
1913                 SecureSettingsProto.Autofill.USER_DATA_MAX_CATEGORY_COUNT);
1914         dumpSetting(s, p,
1915                 Settings.Secure.AUTOFILL_USER_DATA_MAX_VALUE_LENGTH,
1916                 SecureSettingsProto.Autofill.USER_DATA_MAX_VALUE_LENGTH);
1917         dumpSetting(s, p,
1918                 Settings.Secure.AUTOFILL_USER_DATA_MIN_VALUE_LENGTH,
1919                 SecureSettingsProto.Autofill.USER_DATA_MIN_VALUE_LENGTH);
1920         dumpSetting(s, p,
1921                 Settings.Secure.AUTOFILL_SERVICE_SEARCH_URI,
1922                 SecureSettingsProto.Autofill.SERVICE_SEARCH_URI);
1923         p.end(autofillToken);
1924 
1925         final long asmToken = p.start(SecureSettingsProto.AUTOMATIC_STORAGE_MANAGER);
1926         dumpSetting(s, p,
1927                 Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED,
1928                 SecureSettingsProto.AutomaticStorageManager.ENABLED);
1929         dumpSetting(s, p,
1930                 Settings.Secure.AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN,
1931                 SecureSettingsProto.AutomaticStorageManager.DAYS_TO_RETAIN);
1932         dumpSetting(s, p,
1933                 Settings.Secure.AUTOMATIC_STORAGE_MANAGER_BYTES_CLEARED,
1934                 SecureSettingsProto.AutomaticStorageManager.BYTES_CLEARED);
1935         dumpSetting(s, p,
1936                 Settings.Secure.AUTOMATIC_STORAGE_MANAGER_LAST_RUN,
1937                 SecureSettingsProto.AutomaticStorageManager.LAST_RUN);
1938         dumpSetting(s, p,
1939                 Settings.Secure.AUTOMATIC_STORAGE_MANAGER_TURNED_OFF_BY_POLICY,
1940                 SecureSettingsProto.AutomaticStorageManager.TURNED_OFF_BY_POLICY);
1941         p.end(asmToken);
1942 
1943         final long backupToken = p.start(SecureSettingsProto.BACKUP);
1944         dumpSetting(s, p,
1945                 Settings.Secure.BACKUP_ENABLED,
1946                 SecureSettingsProto.Backup.ENABLED);
1947         dumpSetting(s, p,
1948                 Settings.Secure.BACKUP_AUTO_RESTORE,
1949                 SecureSettingsProto.Backup.AUTO_RESTORE);
1950         dumpSetting(s, p,
1951                 Settings.Secure.BACKUP_PROVISIONED,
1952                 SecureSettingsProto.Backup.PROVISIONED);
1953         dumpSetting(s, p,
1954                 Settings.Secure.BACKUP_TRANSPORT,
1955                 SecureSettingsProto.Backup.TRANSPORT);
1956         dumpSetting(s, p,
1957                 Settings.Secure.BACKUP_MANAGER_CONSTANTS,
1958                 SecureSettingsProto.Backup.MANAGER_CONSTANTS);
1959         dumpSetting(s, p,
1960                 Settings.Secure.BACKUP_LOCAL_TRANSPORT_PARAMETERS,
1961                 SecureSettingsProto.Backup.LOCAL_TRANSPORT_PARAMETERS);
1962         dumpSetting(s, p,
1963                 Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE,
1964                 SecureSettingsProto.Backup.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE);
1965         p.end(backupToken);
1966 
1967         // Settings.Secure.BLUETOOTH_ON intentionally excluded since it's deprecated.
1968         dumpSetting(s, p,
1969                 Settings.Secure.BLUETOOTH_ON_WHILE_DRIVING,
1970                 SecureSettingsProto.BLUETOOTH_ON_WHILE_DRIVING);
1971 
1972         final long smartAutoRotateToken = p.start(SecureSettingsProto.CAMERA_AUTOROTATE);
1973         dumpSetting(s, p,
1974                 Settings.Secure.CAMERA_AUTOROTATE,
1975                 SecureSettingsProto.CameraAutorotate.ENABLED);
1976         p.end(smartAutoRotateToken);
1977 
1978         final long cameraToken = p.start(SecureSettingsProto.CAMERA);
1979         dumpSetting(s, p,
1980                 Settings.Secure.CAMERA_GESTURE_DISABLED,
1981                 SecureSettingsProto.Camera.GESTURE_DISABLED);
1982         dumpSetting(s, p,
1983                 Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED,
1984                 SecureSettingsProto.Camera.DOUBLE_TAP_POWER_GESTURE_DISABLED);
1985         dumpSetting(s, p,
1986                 Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED,
1987                 SecureSettingsProto.Camera.DOUBLE_TWIST_TO_FLIP_ENABLED);
1988         dumpSetting(s, p,
1989                 Settings.Secure.CAMERA_LIFT_TRIGGER_ENABLED,
1990                 SecureSettingsProto.Camera.LIFT_TRIGGER_ENABLED);
1991         p.end(cameraToken);
1992 
1993         dumpSetting(s, p,
1994                 Settings.Secure.CARRIER_APPS_HANDLED,
1995                 SecureSettingsProto.CARRIER_APPS_HANDLED);
1996 
1997         final long clipboardToken = p.start(SecureSettingsProto.CLIPBOARD);
1998         dumpSetting(s, p,
1999                 Settings.Secure.CLIPBOARD_SHOW_ACCESS_NOTIFICATIONS,
2000                 SecureSettingsProto.Clipboard.SHOW_ACCESS_NOTIFICATIONS);
2001         p.end(clipboardToken);
2002 
2003         dumpSetting(s, p,
2004                 Settings.Secure.CMAS_ADDITIONAL_BROADCAST_PKG,
2005                 SecureSettingsProto.CMAS_ADDITIONAL_BROADCAST_PKG);
2006         dumpRepeatedSetting(s, p,
2007                 Settings.Secure.COMPLETED_CATEGORY_PREFIX,
2008                 SecureSettingsProto.COMPLETED_CATEGORIES);
2009         dumpSetting(s, p,
2010                 Settings.Secure.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS,
2011                 SecureSettingsProto.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS);
2012         dumpSetting(s, p,
2013                 Settings.Secure.ADAPTIVE_CONNECTIVITY_ENABLED,
2014                 SecureSettingsProto.ADAPTIVE_CONNECTIVITY_ENABLED);
2015 
2016         final long controlsToken = p.start(SecureSettingsProto.CONTROLS);
2017         dumpSetting(s, p,
2018                 Settings.Secure.CONTROLS_ENABLED,
2019                 SecureSettingsProto.Controls.ENABLED);
2020         p.end(controlsToken);
2021 
2022         final long dateTimeToken = p.start(SecureSettingsProto.DATE_TIME);
2023         dumpSetting(s, p,
2024                 Settings.Secure.LOCATION_TIME_ZONE_DETECTION_ENABLED,
2025                 SecureSettingsProto.DateTime.LOCATION_TIME_ZONE_DETECTION_ENABLED);
2026         p.end(dateTimeToken);
2027 
2028         dumpSetting(s, p,
2029                 Settings.Secure.DEVICE_PAIRED,
2030                 SecureSettingsProto.DEVICE_PAIRED);
2031         dumpSetting(s, p,
2032                 Settings.Secure.DIALER_DEFAULT_APPLICATION,
2033                 SecureSettingsProto.DIALER_DEFAULT_APPLICATION);
2034         dumpSetting(s, p,
2035                 Settings.Secure.DISPLAY_DENSITY_FORCED,
2036                 SecureSettingsProto.DISPLAY_DENSITY_FORCED);
2037         dumpSetting(s, p,
2038                 Settings.Secure.DOUBLE_TAP_TO_WAKE,
2039                 SecureSettingsProto.DOUBLE_TAP_TO_WAKE);
2040 
2041         final long dozeToken = p.start(SecureSettingsProto.DOZE);
2042         dumpSetting(s, p,
2043                 Settings.Secure.DOZE_ENABLED,
2044                 SecureSettingsProto.Doze.ENABLED);
2045         dumpSetting(s, p,
2046                 Settings.Secure.DOZE_ALWAYS_ON,
2047                 SecureSettingsProto.Doze.ALWAYS_ON);
2048         dumpSetting(s, p,
2049                 Settings.Secure.DOZE_PICK_UP_GESTURE,
2050                 SecureSettingsProto.Doze.PULSE_ON_PICK_UP);
2051         dumpSetting(s, p,
2052                 Settings.Secure.DOZE_PULSE_ON_LONG_PRESS,
2053                 SecureSettingsProto.Doze.PULSE_ON_LONG_PRESS);
2054         dumpSetting(s, p,
2055                 Settings.Secure.DOZE_DOUBLE_TAP_GESTURE,
2056                 SecureSettingsProto.Doze.PULSE_ON_DOUBLE_TAP);
2057         dumpSetting(s, p,
2058                 Settings.Secure.DOZE_TAP_SCREEN_GESTURE,
2059                 SecureSettingsProto.Doze.PULSE_ON_TAP);
2060         dumpSetting(s, p,
2061                 Settings.Secure.SUPPRESS_DOZE,
2062                 SecureSettingsProto.Doze.SUPPRESS);
2063         p.end(dozeToken);
2064 
2065         dumpSetting(s, p,
2066                 Settings.Secure.EMERGENCY_ASSISTANCE_APPLICATION,
2067                 SecureSettingsProto.EMERGENCY_ASSISTANCE_APPLICATION);
2068 
2069         final long emergencyResponseToken = p.start(SecureSettingsProto.EMERGENCY_RESPONSE);
2070         dumpSetting(s, p,
2071                 Settings.Secure.EMERGENCY_GESTURE_ENABLED,
2072                 SecureSettingsProto.EmergencyResponse.EMERGENCY_GESTURE_ENABLED);
2073         dumpSetting(s, p,
2074                 Settings.Secure.EMERGENCY_GESTURE_SOUND_ENABLED,
2075                 SecureSettingsProto.EmergencyResponse.EMERGENCY_GESTURE_SOUND_ENABLED);
2076         p.end(emergencyResponseToken);
2077 
2078         dumpSetting(s, p,
2079                 Settings.Secure.ENHANCED_VOICE_PRIVACY_ENABLED,
2080                 SecureSettingsProto.ENHANCED_VOICE_PRIVACY_ENABLED);
2081 
2082         final long gestureToken = p.start(SecureSettingsProto.GESTURE);
2083         dumpSetting(s, p,
2084                 Settings.Secure.AWARE_ENABLED,
2085                 SecureSettingsProto.Gesture.AWARE_ENABLED);
2086 
2087         dumpSetting(s, p,
2088                 Settings.Secure.SILENCE_ALARMS_GESTURE_COUNT,
2089                 SecureSettingsProto.Gesture.SILENCE_ALARMS_COUNT);
2090         dumpSetting(s, p,
2091                 Settings.Secure.SILENCE_CALL_GESTURE_COUNT,
2092                 SecureSettingsProto.Gesture.SILENCE_CALLS_COUNT);
2093         dumpSetting(s, p,
2094                 Settings.Secure.SILENCE_GESTURE,
2095                 SecureSettingsProto.Gesture.SILENCE_ENABLED);
2096         dumpSetting(s, p,
2097                 Settings.Secure.SILENCE_TIMER_GESTURE_COUNT,
2098                 SecureSettingsProto.Gesture.SILENCE_TIMER_COUNT);
2099 
2100         dumpSetting(s, p,
2101                 Settings.Secure.SKIP_GESTURE_COUNT,
2102                 SecureSettingsProto.Gesture.SKIP_COUNT);
2103         dumpSetting(s, p,
2104                 Settings.Secure.SKIP_GESTURE,
2105                 SecureSettingsProto.Gesture.SKIP_ENABLED);
2106 
2107         dumpSetting(s, p,
2108                 Settings.Secure.SILENCE_ALARMS_TOUCH_COUNT,
2109                 SecureSettingsProto.Gesture.SILENCE_ALARMS_TOUCH_COUNT);
2110         dumpSetting(s, p,
2111                 Settings.Secure.SILENCE_CALL_TOUCH_COUNT,
2112                 SecureSettingsProto.Gesture.SILENCE_CALLS_TOUCH_COUNT);
2113         dumpSetting(s, p,
2114                 Settings.Secure.SILENCE_TIMER_TOUCH_COUNT,
2115                 SecureSettingsProto.Gesture.SILENCE_TIMER_TOUCH_COUNT);
2116         dumpSetting(s, p,
2117                 Settings.Secure.SKIP_TOUCH_COUNT,
2118                 SecureSettingsProto.Gesture.SKIP_TOUCH_COUNT);
2119         dumpSetting(s, p,
2120                 Settings.Secure.AWARE_TAP_PAUSE_GESTURE_COUNT,
2121                 SecureSettingsProto.Gesture.AWARE_TAP_PAUSE_GESTURE_COUNT);
2122         dumpSetting(s, p,
2123                 Settings.Secure.AWARE_TAP_PAUSE_TOUCH_COUNT,
2124                 SecureSettingsProto.Gesture.AWARE_TAP_PAUSE_TOUCH_COUNT);
2125         p.end(gestureToken);
2126 
2127         dumpSetting(s, p,
2128                 Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS,
2129                 SecureSettingsProto.IMMERSIVE_MODE_CONFIRMATIONS);
2130 
2131         final long incallToken = p.start(SecureSettingsProto.INCALL);
2132         dumpSetting(s, p,
2133                 Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
2134                 SecureSettingsProto.Incall.POWER_BUTTON_BEHAVIOR);
2135         dumpSetting(s, p,
2136                 Settings.Secure.INCALL_BACK_BUTTON_BEHAVIOR,
2137                 SecureSettingsProto.Incall.BACK_BUTTON_BEHAVIOR);
2138         p.end(incallToken);
2139 
2140         final long inputMethodsToken = p.start(SecureSettingsProto.INPUT_METHODS);
2141         dumpSetting(s, p,
2142                 Settings.Secure.DEFAULT_INPUT_METHOD,
2143                 SecureSettingsProto.InputMethods.DEFAULT_INPUT_METHOD);
2144         dumpSetting(s, p,
2145                 Settings.Secure.DISABLED_SYSTEM_INPUT_METHODS,
2146                 SecureSettingsProto.InputMethods.DISABLED_SYSTEM_INPUT_METHODS);
2147         dumpSetting(s, p,
2148                 Settings.Secure.ENABLED_INPUT_METHODS,
2149                 SecureSettingsProto.InputMethods.ENABLED_INPUT_METHODS);
2150         dumpSetting(s, p,
2151                 Settings.Secure.INPUT_METHODS_SUBTYPE_HISTORY,
2152                 SecureSettingsProto.InputMethods.SUBTYPE_HISTORY);
2153         dumpSetting(s, p,
2154                 Settings.Secure.INPUT_METHOD_SELECTOR_VISIBILITY,
2155                 SecureSettingsProto.InputMethods.METHOD_SELECTOR_VISIBILITY);
2156         dumpSetting(s, p,
2157                 Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE,
2158                 SecureSettingsProto.InputMethods.SELECTED_INPUT_METHOD_SUBTYPE);
2159         dumpSetting(s, p,
2160                 Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD,
2161                 SecureSettingsProto.InputMethods.SHOW_IME_WITH_HARD_KEYBOARD);
2162         dumpSetting(s, p,
2163                 Settings.Secure.DEFAULT_VOICE_INPUT_METHOD,
2164                 SecureSettingsProto.InputMethods.DEFAULT_VOICE_INPUT_METHOD);
2165         p.end(inputMethodsToken);
2166 
2167         dumpSetting(s, p,
2168                 Settings.Secure.INSTALL_NON_MARKET_APPS,
2169                 SecureSettingsProto.INSTALL_NON_MARKET_APPS);
2170         dumpSetting(s, p,
2171                 Settings.Secure.INSTANT_APPS_ENABLED,
2172                 SecureSettingsProto.INSTANT_APPS_ENABLED);
2173         dumpSetting(s, p,
2174                 Settings.Secure.KEYGUARD_SLICE_URI,
2175                 SecureSettingsProto.KEYGUARD_SLICE_URI);
2176         dumpSetting(s, p,
2177                 Settings.Secure.LAST_SETUP_SHOWN,
2178                 SecureSettingsProto.LAST_SETUP_SHOWN);
2179 
2180         final long locationToken = p.start(SecureSettingsProto.LOCATION);
2181         // Settings.Secure.LOCATION_PROVIDERS_ALLOWED intentionally excluded since it's deprecated.
2182         dumpSetting(s, p,
2183                 Settings.Secure.LOCATION_MODE,
2184                 SecureSettingsProto.Location.MODE);
2185         dumpSetting(s, p,
2186                 Settings.Secure.LOCATION_CHANGER,
2187                 SecureSettingsProto.Location.CHANGER);
2188         p.end(locationToken);
2189 
2190         final long locationAccessCheckToken = p.start(SecureSettingsProto.LOCATION_ACCESS_CHECK);
2191         dumpSetting(s, p,
2192                 Settings.Secure.LOCATION_ACCESS_CHECK_INTERVAL_MILLIS,
2193                 SecureSettingsProto.LocationAccessCheck.INTERVAL_MILLIS);
2194         dumpSetting(s, p,
2195                 Settings.Secure.LOCATION_ACCESS_CHECK_DELAY_MILLIS,
2196                 SecureSettingsProto.LocationAccessCheck.DELAY_MILLIS);
2197         p.end(locationAccessCheckToken);
2198 
2199         final long lockScreenToken = p.start(SecureSettingsProto.LOCK_SCREEN);
2200         // Settings.Secure.LOCK_BIOMETRIC_WEAK_FLAGS intentionally excluded since it's deprecated.
2201         // Settings.Secure.LOCK_PATTERN_ENABLED intentionally excluded since it's deprecated.
2202         // Settings.Secure.LOCK_PATTERN_VISIBLE intentionally excluded since it's deprecated.
2203         // Settings.Secure.LOCK_PATTERN_TACTICLE_FEEDBACK_ENABLED intentionally excluded since it's deprecated.
2204         dumpSetting(s, p,
2205                 Settings.Secure.LOCK_SCREEN_LOCK_AFTER_TIMEOUT,
2206                 SecureSettingsProto.LockScreen.LOCK_AFTER_TIMEOUT);
2207         // Settings.Secure.LOCK_SCREEN_OWNER_INFO intentionally excluded since it's deprecated.
2208         // Settings.Secure.LOCK_SCREEN_APPWIDGET_IDS intentionally excluded since it's deprecated.
2209         // Settings.Secure.LOCK_SCREEN_FALLBACK_APPWIDGET_ID intentionally excluded since it's deprecated.
2210         // Settings.Secure.LOCK_SCREEN_STICKY_APPWIDGET intentionally excluded since it's deprecated.
2211         // Settings.Secure.LOCK_SCREEN_OWNER_INFO_ENABLED intentionally excluded since it's deprecated.
2212         dumpSetting(s, p,
2213                 Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
2214                 SecureSettingsProto.LockScreen.ALLOW_PRIVATE_NOTIFICATIONS);
2215         dumpSetting(s, p,
2216                 Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT,
2217                 SecureSettingsProto.LockScreen.ALLOW_REMOTE_INPUT);
2218         dumpSetting(s, p,
2219                 Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS,
2220                 SecureSettingsProto.LockScreen.SHOW_NOTIFICATIONS);
2221         p.end(lockScreenToken);
2222 
2223         dumpSetting(s, p,
2224                 Settings.Secure.LOCK_TO_APP_EXIT_LOCKED,
2225                 SecureSettingsProto.LOCK_TO_APP_EXIT_LOCKED);
2226         dumpSetting(s, p,
2227                 Settings.Secure.LONG_PRESS_TIMEOUT,
2228                 SecureSettingsProto.LONG_PRESS_TIMEOUT);
2229 
2230         final long managedProfileToken = p.start(SecureSettingsProto.MANAGED_PROFILE);
2231         dumpSetting(s, p,
2232                 Settings.Secure.MANAGED_PROFILE_CONTACT_REMOTE_SEARCH,
2233                 SecureSettingsProto.ManagedProfile.CONTACT_REMOTE_SEARCH);
2234         p.end(managedProfileToken);
2235 
2236         final long mountToken = p.start(SecureSettingsProto.MOUNT);
2237         dumpSetting(s, p,
2238                 Settings.Secure.MOUNT_PLAY_NOTIFICATION_SND,
2239                 SecureSettingsProto.Mount.PLAY_NOTIFICATION_SND);
2240         dumpSetting(s, p,
2241                 Settings.Secure.MOUNT_UMS_AUTOSTART,
2242                 SecureSettingsProto.Mount.UMS_AUTOSTART);
2243         dumpSetting(s, p,
2244                 Settings.Secure.MOUNT_UMS_PROMPT,
2245                 SecureSettingsProto.Mount.UMS_PROMPT);
2246         dumpSetting(s, p,
2247                 Settings.Secure.MOUNT_UMS_NOTIFY_ENABLED,
2248                 SecureSettingsProto.Mount.UMS_NOTIFY_ENABLED);
2249         p.end(mountToken);
2250 
2251         dumpSetting(s, p,
2252                 Settings.Secure.MULTI_PRESS_TIMEOUT,
2253                 SecureSettingsProto.MULTI_PRESS_TIMEOUT);
2254 
2255         dumpSetting(s, p,
2256                 Settings.Secure.NAVIGATION_MODE,
2257                 SecureSettingsProto.NAVIGATION_MODE);
2258 
2259         final long gestureNavToken = p.start(SecureSettingsProto.GESTURE_NAVIGATION);
2260         dumpSetting(s, p,
2261                 Settings.Secure.BACK_GESTURE_INSET_SCALE_LEFT,
2262                 SecureSettingsProto.GestureNavigation.BACK_GESTURE_INSET_SCALE_LEFT);
2263         dumpSetting(s, p,
2264                 Settings.Secure.BACK_GESTURE_INSET_SCALE_RIGHT,
2265                 SecureSettingsProto.GestureNavigation.BACK_GESTURE_INSET_SCALE_RIGHT);
2266         p.end(gestureNavToken);
2267 
2268         final long nfcPaymentToken = p.start(SecureSettingsProto.NFC_PAYMENT);
2269         dumpSetting(s, p,
2270                 Settings.Secure.NFC_PAYMENT_DEFAULT_COMPONENT,
2271                 SecureSettingsProto.NfcPayment.DEFAULT_COMPONENT);
2272         dumpSetting(s, p,
2273                 Settings.Secure.NFC_PAYMENT_FOREGROUND,
2274                 SecureSettingsProto.NfcPayment.FOREGROUND);
2275         dumpSetting(s, p,
2276                 Settings.Secure.PAYMENT_SERVICE_SEARCH_URI,
2277                 SecureSettingsProto.NfcPayment.PAYMENT_SERVICE_SEARCH_URI);
2278         p.end(nfcPaymentToken);
2279 
2280         final long nightDisplayToken = p.start(SecureSettingsProto.NIGHT_DISPLAY);
2281         dumpSetting(s, p,
2282                 Settings.Secure.NIGHT_DISPLAY_ACTIVATED,
2283                 SecureSettingsProto.NightDisplay.ACTIVATED);
2284         dumpSetting(s, p,
2285                 Settings.Secure.NIGHT_DISPLAY_AUTO_MODE,
2286                 SecureSettingsProto.NightDisplay.AUTO_MODE);
2287         dumpSetting(s, p,
2288                 Settings.Secure.NIGHT_DISPLAY_COLOR_TEMPERATURE,
2289                 SecureSettingsProto.NightDisplay.COLOR_TEMPERATURE);
2290         dumpSetting(s, p,
2291                 Settings.Secure.NIGHT_DISPLAY_CUSTOM_START_TIME,
2292                 SecureSettingsProto.NightDisplay.CUSTOM_START_TIME);
2293         dumpSetting(s, p,
2294                 Settings.Secure.NIGHT_DISPLAY_CUSTOM_END_TIME,
2295                 SecureSettingsProto.NightDisplay.CUSTOM_END_TIME);
2296         dumpSetting(s, p,
2297                 Settings.Secure.NIGHT_DISPLAY_LAST_ACTIVATED_TIME,
2298                 SecureSettingsProto.NightDisplay.LAST_ACTIVATED_TIME);
2299         p.end(nightDisplayToken);
2300 
2301         final long notificationToken = p.start(SecureSettingsProto.NOTIFICATION);
2302         dumpSetting(s, p,
2303                 Settings.Secure.ENABLED_NOTIFICATION_ASSISTANT,
2304                 SecureSettingsProto.Notification.ENABLED_ASSISTANT);
2305         dumpSetting(s, p,
2306                 Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
2307                 SecureSettingsProto.Notification.ENABLED_LISTENERS);
2308         dumpSetting(s, p,
2309                 Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES,
2310                 SecureSettingsProto.Notification.ENABLED_POLICY_ACCESS_PACKAGES);
2311         dumpSetting(s, p,
2312                 Settings.Secure.NOTIFICATION_BADGING,
2313                 SecureSettingsProto.Notification.BADGING);
2314         dumpSetting(s, p,
2315                 Settings.Secure.NOTIFICATION_BUBBLES,
2316                 SecureSettingsProto.Notification.BUBBLES);
2317         dumpSetting(s, p,
2318                 Settings.Secure.SHOW_NOTE_ABOUT_NOTIFICATION_HIDING,
2319                 SecureSettingsProto.Notification.SHOW_NOTE_ABOUT_NOTIFICATION_HIDING);
2320         dumpSetting(s, p,
2321                 Settings.Secure.IN_CALL_NOTIFICATION_ENABLED,
2322                 SecureSettingsProto.Notification.IN_CALL_NOTIFICATION_ENABLED);
2323         p.end(notificationToken);
2324 
2325         final long oneHandedToken = p.start(SecureSettingsProto.ONEHANDED);
2326         dumpSetting(s, p,
2327                 Settings.Secure.ONE_HANDED_MODE_ENABLED,
2328                 SecureSettingsProto.OneHanded.ONE_HANDED_MODE_ENABLED);
2329         dumpSetting(s, p,
2330                 Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
2331                 SecureSettingsProto.OneHanded.ONE_HANDED_MODE_TIMEOUT);
2332         dumpSetting(s, p,
2333                 Settings.Secure.TAPS_APP_TO_EXIT,
2334                 SecureSettingsProto.OneHanded.TAPS_APP_TO_EXIT);
2335         p.end(oneHandedToken);
2336 
2337         final long parentalControlToken = p.start(SecureSettingsProto.PARENTAL_CONTROL);
2338         dumpSetting(s, p,
2339                 Settings.Secure.PARENTAL_CONTROL_ENABLED,
2340                 SecureSettingsProto.ParentalControl.ENABLED);
2341         dumpSetting(s, p,
2342                 Settings.Secure.PARENTAL_CONTROL_LAST_UPDATE,
2343                 SecureSettingsProto.ParentalControl.LAST_UPDATE);
2344         dumpSetting(s, p,
2345                 Settings.Secure.PARENTAL_CONTROL_REDIRECT_URL,
2346                 SecureSettingsProto.ParentalControl.REDIRECT_URL);
2347         p.end(parentalControlToken);
2348 
2349         final long powerMenuPrivacyToken = p.start(SecureSettingsProto.POWER_MENU_PRIVACY);
2350         dumpSetting(s, p,
2351                 Settings.Secure.POWER_MENU_LOCKED_SHOW_CONTENT,
2352                 SecureSettingsProto.PowerMenuPrivacy.SHOW);
2353         p.end(powerMenuPrivacyToken);
2354 
2355         final long printServiceToken = p.start(SecureSettingsProto.PRINT_SERVICE);
2356         dumpSetting(s, p,
2357                 Settings.Secure.PRINT_SERVICE_SEARCH_URI,
2358                 SecureSettingsProto.PrintService.SEARCH_URI);
2359         dumpSetting(s, p,
2360                 Settings.Secure.ENABLED_PRINT_SERVICES,
2361                 SecureSettingsProto.PrintService.ENABLED_PRINT_SERVICES);
2362         dumpSetting(s, p,
2363                 Settings.Secure.DISABLED_PRINT_SERVICES,
2364                 SecureSettingsProto.PrintService.DISABLED_PRINT_SERVICES);
2365         p.end(printServiceToken);
2366 
2367         final long qsToken = p.start(SecureSettingsProto.QS);
2368         dumpSetting(s, p,
2369                 Settings.Secure.QS_TILES,
2370                 SecureSettingsProto.QuickSettings.TILES);
2371         dumpSetting(s, p,
2372                 Settings.Secure.QS_AUTO_ADDED_TILES,
2373                 SecureSettingsProto.QuickSettings.AUTO_ADDED_TILES);
2374         p.end(qsToken);
2375 
2376         final long reduceBrightColorsToken = p.start(SecureSettingsProto.REDUCE_BRIGHT_COLORS);
2377         dumpSetting(s, p,
2378                 Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED,
2379                 SecureSettingsProto.ReduceBrightColors.ACTIVATED);
2380         dumpSetting(s, p,
2381                 Settings.Secure.REDUCE_BRIGHT_COLORS_LEVEL,
2382                 SecureSettingsProto.ReduceBrightColors.LEVEL);
2383         dumpSetting(s, p,
2384                 Settings.Secure.REDUCE_BRIGHT_COLORS_PERSIST_ACROSS_REBOOTS,
2385                 SecureSettingsProto.ReduceBrightColors.PERSIST_ACROSS_REBOOTS);
2386         p.end(reduceBrightColorsToken);
2387 
2388         final long rotationToken = p.start(SecureSettingsProto.ROTATION);
2389         dumpSetting(s, p,
2390                 Settings.Secure.SHOW_ROTATION_SUGGESTIONS,
2391                 SecureSettingsProto.Rotation.SHOW_ROTATION_SUGGESTIONS);
2392         dumpSetting(s, p,
2393                 Settings.Secure.NUM_ROTATION_SUGGESTIONS_ACCEPTED,
2394                 SecureSettingsProto.Rotation.NUM_ROTATION_SUGGESTIONS_ACCEPTED);
2395         p.end(rotationToken);
2396 
2397         dumpSetting(s, p,
2398                 Settings.Secure.RTT_CALLING_MODE,
2399                 SecureSettingsProto.RTT_CALLING_MODE);
2400 
2401         final long screensaverToken = p.start(SecureSettingsProto.SCREENSAVER);
2402         dumpSetting(s, p,
2403                 Settings.Secure.SCREENSAVER_ENABLED,
2404                 SecureSettingsProto.Screensaver.ENABLED);
2405         dumpSetting(s, p,
2406                 Settings.Secure.SCREENSAVER_COMPONENTS,
2407                 SecureSettingsProto.Screensaver.COMPONENTS);
2408         dumpSetting(s, p,
2409                 Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK,
2410                 SecureSettingsProto.Screensaver.ACTIVATE_ON_DOCK);
2411         dumpSetting(s, p,
2412                 Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP,
2413                 SecureSettingsProto.Screensaver.ACTIVATE_ON_SLEEP);
2414         dumpSetting(s, p,
2415                 Settings.Secure.SCREENSAVER_DEFAULT_COMPONENT,
2416                 SecureSettingsProto.Screensaver.DEFAULT_COMPONENT);
2417         p.end(screensaverToken);
2418 
2419         final long searchToken = p.start(SecureSettingsProto.SEARCH);
2420         dumpSetting(s, p,
2421                 Settings.Secure.SEARCH_GLOBAL_SEARCH_ACTIVITY,
2422                 SecureSettingsProto.Search.GLOBAL_SEARCH_ACTIVITY);
2423         dumpSetting(s, p,
2424                 Settings.Secure.SEARCH_NUM_PROMOTED_SOURCES,
2425                 SecureSettingsProto.Search.NUM_PROMOTED_SOURCES);
2426         dumpSetting(s, p,
2427                 Settings.Secure.SEARCH_MAX_RESULTS_TO_DISPLAY,
2428                 SecureSettingsProto.Search.MAX_RESULTS_TO_DISPLAY);
2429         dumpSetting(s, p,
2430                 Settings.Secure.SEARCH_MAX_RESULTS_PER_SOURCE,
2431                 SecureSettingsProto.Search.MAX_RESULTS_PER_SOURCE);
2432         dumpSetting(s, p,
2433                 Settings.Secure.SEARCH_WEB_RESULTS_OVERRIDE_LIMIT,
2434                 SecureSettingsProto.Search.WEB_RESULTS_OVERRIDE_LIMIT);
2435         dumpSetting(s, p,
2436                 Settings.Secure.SEARCH_PROMOTED_SOURCE_DEADLINE_MILLIS,
2437                 SecureSettingsProto.Search.PROMOTED_SOURCE_DEADLINE_MILLIS);
2438         dumpSetting(s, p,
2439                 Settings.Secure.SEARCH_SOURCE_TIMEOUT_MILLIS,
2440                 SecureSettingsProto.Search.SOURCE_TIMEOUT_MILLIS);
2441         dumpSetting(s, p,
2442                 Settings.Secure.SEARCH_PREFILL_MILLIS,
2443                 SecureSettingsProto.Search.PREFILL_MILLIS);
2444         dumpSetting(s, p,
2445                 Settings.Secure.SEARCH_MAX_STAT_AGE_MILLIS,
2446                 SecureSettingsProto.Search.MAX_STAT_AGE_MILLIS);
2447         dumpSetting(s, p,
2448                 Settings.Secure.SEARCH_MAX_SOURCE_EVENT_AGE_MILLIS,
2449                 SecureSettingsProto.Search.MAX_SOURCE_EVENT_AGE_MILLIS);
2450         dumpSetting(s, p,
2451                 Settings.Secure.SEARCH_MIN_IMPRESSIONS_FOR_SOURCE_RANKING,
2452                 SecureSettingsProto.Search.MIN_IMPRESSIONS_FOR_SOURCE_RANKING);
2453         dumpSetting(s, p,
2454                 Settings.Secure.SEARCH_MIN_CLICKS_FOR_SOURCE_RANKING,
2455                 SecureSettingsProto.Search.MIN_CLICKS_FOR_SOURCE_RANKING);
2456         dumpSetting(s, p,
2457                 Settings.Secure.SEARCH_MAX_SHORTCUTS_RETURNED,
2458                 SecureSettingsProto.Search.MAX_SHORTCUTS_RETURNED);
2459         dumpSetting(s, p,
2460                 Settings.Secure.SEARCH_QUERY_THREAD_CORE_POOL_SIZE,
2461                 SecureSettingsProto.Search.QUERY_THREAD_CORE_POOL_SIZE);
2462         dumpSetting(s, p,
2463                 Settings.Secure.SEARCH_QUERY_THREAD_MAX_POOL_SIZE,
2464                 SecureSettingsProto.Search.QUERY_THREAD_MAX_POOL_SIZE);
2465         dumpSetting(s, p,
2466                 Settings.Secure.SEARCH_SHORTCUT_REFRESH_CORE_POOL_SIZE,
2467                 SecureSettingsProto.Search.SHORTCUT_REFRESH_CORE_POOL_SIZE);
2468         dumpSetting(s, p,
2469                 Settings.Secure.SEARCH_SHORTCUT_REFRESH_MAX_POOL_SIZE,
2470                 SecureSettingsProto.Search.SHORTCUT_REFRESH_MAX_POOL_SIZE);
2471         dumpSetting(s, p,
2472                 Settings.Secure.SEARCH_THREAD_KEEPALIVE_SECONDS,
2473                 SecureSettingsProto.Search.THREAD_KEEPALIVE_SECONDS);
2474         dumpSetting(s, p,
2475                 Settings.Secure.SEARCH_PER_SOURCE_CONCURRENT_QUERY_LIMIT,
2476                 SecureSettingsProto.Search.PER_SOURCE_CONCURRENT_QUERY_LIMIT);
2477         p.end(searchToken);
2478 
2479         final long spellCheckerToken = p.start(SecureSettingsProto.SPELL_CHECKER);
2480         dumpSetting(s, p,
2481                 Settings.Secure.SPELL_CHECKER_ENABLED,
2482                 SecureSettingsProto.SpellChecker.ENABLED);
2483         dumpSetting(s, p,
2484                 Settings.Secure.SELECTED_SPELL_CHECKER,
2485                 SecureSettingsProto.SpellChecker.SELECTED);
2486         dumpSetting(s, p,
2487                 Settings.Secure.SELECTED_SPELL_CHECKER_SUBTYPE,
2488                 SecureSettingsProto.SpellChecker.SELECTED_SUBTYPE);
2489         p.end(spellCheckerToken);
2490 
2491         dumpSetting(s, p,
2492                 Settings.Secure.SETTINGS_CLASSNAME,
2493                 SecureSettingsProto.SETTINGS_CLASSNAME);
2494         dumpSetting(s, p,
2495                 Settings.Secure.SHOW_FIRST_CRASH_DIALOG_DEV_OPTION,
2496                 SecureSettingsProto.SHOW_FIRST_CRASH_DIALOG_DEV_OPTION);
2497         dumpSetting(s, p,
2498                 Settings.Secure.SKIP_FIRST_USE_HINTS,
2499                 SecureSettingsProto.SKIP_FIRST_USE_HINTS);
2500         dumpSetting(s, p,
2501                 Settings.Secure.SLEEP_TIMEOUT,
2502                 SecureSettingsProto.SLEEP_TIMEOUT);
2503         dumpSetting(s, p,
2504                 Settings.Secure.SMS_DEFAULT_APPLICATION,
2505                 SecureSettingsProto.SMS_DEFAULT_APPLICATION);
2506 
2507         final long soundsToken = p.start(SecureSettingsProto.SOUNDS);
2508         dumpSetting(s, p,
2509                 Settings.Secure.CHARGING_SOUNDS_ENABLED,
2510                 SecureSettingsProto.Sounds.CHARGING_SOUNDS_ENABLED);
2511         dumpSetting(s, p,
2512                 Settings.Secure.CHARGING_VIBRATION_ENABLED,
2513                 SecureSettingsProto.Sounds.CHARGING_VIBRATION_ENABLED);
2514         p.end(soundsToken);
2515 
2516         dumpSetting(s, p,
2517                 Settings.Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED,
2518                 SecureSettingsProto.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED);
2519         dumpSetting(s, p,
2520                 Settings.Secure.SYNC_PARENT_SOUNDS,
2521                 SecureSettingsProto.SYNC_PARENT_SOUNDS);
2522         dumpSetting(s, p,
2523                 Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED,
2524                 SecureSettingsProto.SYSTEM_NAVIGATION_KEYS_ENABLED);
2525         dumpSetting(s, p,
2526                 Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES,
2527                 SecureSettingsProto.THEME_CUSTOMIZATION_OVERLAY_PACKAGES);
2528         dumpSetting(s, p,
2529                 Settings.Secure.TRUST_AGENTS_INITIALIZED,
2530                 SecureSettingsProto.TRUST_AGENTS_INITIALIZED);
2531 
2532         final long ttsToken = p.start(SecureSettingsProto.TTS);
2533         // Settings.Secure.TTS_USE_DEFAULTS intentionally excluded since it's deprecated.
2534         dumpSetting(s, p,
2535                 Settings.Secure.TTS_DEFAULT_RATE,
2536                 SecureSettingsProto.Tts.DEFAULT_RATE);
2537         dumpSetting(s, p,
2538                 Settings.Secure.TTS_DEFAULT_PITCH,
2539                 SecureSettingsProto.Tts.DEFAULT_PITCH);
2540         dumpSetting(s, p,
2541                 Settings.Secure.TTS_DEFAULT_SYNTH,
2542                 SecureSettingsProto.Tts.DEFAULT_SYNTH);
2543         // Settings.Secure.TTS_DEFAULT_LANG intentionally excluded since it's deprecated.
2544         // Settings.Secure.TTS_DEFAULT_COUNTRY intentionally excluded since it's deprecated.
2545         // Settings.Secure.TTS_DEFAULT_VARIANT intentionally excluded since it's deprecated.
2546         dumpSetting(s, p,
2547                 Settings.Secure.TTS_DEFAULT_LOCALE,
2548                 SecureSettingsProto.Tts.DEFAULT_LOCALE);
2549         dumpSetting(s, p,
2550                 Settings.Secure.TTS_ENABLED_PLUGINS,
2551                 SecureSettingsProto.Tts.ENABLED_PLUGINS);
2552         p.end(ttsToken);
2553 
2554         final long ttyToken = p.start(SecureSettingsProto.TTY);
2555         dumpSetting(s, p,
2556                 Settings.Secure.TTY_MODE_ENABLED,
2557                 SecureSettingsProto.Tty.TTY_MODE_ENABLED);
2558         dumpSetting(s, p,
2559                 Settings.Secure.PREFERRED_TTY_MODE,
2560                 SecureSettingsProto.Tty.PREFERRED_TTY_MODE);
2561         p.end(ttyToken);
2562 
2563         final long tvToken = p.start(SecureSettingsProto.TV);
2564         // Whether the current user has been set up via setup wizard (0 = false, 1 = true). This
2565         // value differs from USER_SETUP_COMPLETE in that it can be reset back to 0 in case
2566         // SetupWizard has been re-enabled on TV devices.
2567         dumpSetting(s, p,
2568                 Settings.Secure.TV_USER_SETUP_COMPLETE,
2569                 SecureSettingsProto.Tv.USER_SETUP_COMPLETE);
2570         dumpSetting(s, p,
2571                 Settings.Secure.TV_INPUT_HIDDEN_INPUTS,
2572                 SecureSettingsProto.Tv.INPUT_HIDDEN_INPUTS);
2573         dumpSetting(s, p,
2574                 Settings.Secure.TV_INPUT_CUSTOM_LABELS,
2575                 SecureSettingsProto.Tv.INPUT_CUSTOM_LABELS);
2576         p.end(tvToken);
2577 
2578         dumpSetting(s, p,
2579                 Settings.Secure.UI_NIGHT_MODE,
2580                 SecureSettingsProto.UI_NIGHT_MODE);
2581         dumpSetting(s, p,
2582                 Settings.Secure.UNKNOWN_SOURCES_DEFAULT_REVERSED,
2583                 SecureSettingsProto.UNKNOWN_SOURCES_DEFAULT_REVERSED);
2584         dumpSetting(s, p,
2585                 Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED,
2586                 SecureSettingsProto.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED);
2587         dumpSetting(s, p,
2588                 Settings.Secure.USER_SETUP_COMPLETE,
2589                 SecureSettingsProto.USER_SETUP_COMPLETE);
2590 
2591         final long voiceToken = p.start(SecureSettingsProto.VOICE);
2592         dumpSetting(s, p,
2593                 Settings.Secure.VOICE_INTERACTION_SERVICE,
2594                 SecureSettingsProto.Voice.INTERACTION_SERVICE);
2595         dumpSetting(s, p,
2596                 Settings.Secure.VOICE_RECOGNITION_SERVICE,
2597                 SecureSettingsProto.Voice.RECOGNITION_SERVICE);
2598         p.end(voiceToken);
2599 
2600         final long volumeToken = p.start(SecureSettingsProto.VOLUME);
2601         dumpSetting(s, p,
2602                 Settings.Secure.VOLUME_HUSH_GESTURE,
2603                 SecureSettingsProto.Volume.HUSH_GESTURE);
2604         dumpSetting(s, p,
2605                 Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS,
2606                 SecureSettingsProto.Volume.UNSAFE_VOLUME_MUSIC_ACTIVE_MS);
2607         p.end(volumeToken);
2608 
2609         final long vrToken = p.start(SecureSettingsProto.VR);
2610         dumpSetting(s, p,
2611                 Settings.Secure.VR_DISPLAY_MODE,
2612                 SecureSettingsProto.Vr.DISPLAY_MODE);
2613         dumpSetting(s, p,
2614                 Settings.Secure.ENABLED_VR_LISTENERS,
2615                 SecureSettingsProto.Vr.ENABLED_LISTENERS);
2616         p.end(vrToken);
2617 
2618         dumpSetting(s, p,
2619                 Settings.Secure.WAKE_GESTURE_ENABLED,
2620                 SecureSettingsProto.WAKE_GESTURE_ENABLED);
2621 
2622         final long zenToken = p.start(SecureSettingsProto.ZEN);
2623         dumpSetting(s, p,
2624                 Settings.Secure.ZEN_DURATION,
2625                 SecureSettingsProto.Zen.DURATION);
2626         dumpSetting(s, p,
2627                 Settings.Secure.SHOW_ZEN_UPGRADE_NOTIFICATION,
2628                 SecureSettingsProto.Zen.SHOW_ZEN_UPGRADE_NOTIFICATION);
2629         dumpSetting(s, p,
2630                 Settings.Secure.SHOW_ZEN_SETTINGS_SUGGESTION,
2631                 SecureSettingsProto.Zen.SHOW_ZEN_SETTINGS_SUGGESTION);
2632         dumpSetting(s, p,
2633                 Settings.Secure.ZEN_SETTINGS_UPDATED,
2634                 SecureSettingsProto.Zen.SETTINGS_UPDATED);
2635         dumpSetting(s, p,
2636                 Settings.Secure.ZEN_SETTINGS_SUGGESTION_VIEWED,
2637                 SecureSettingsProto.Zen.SETTINGS_SUGGESTION_VIEWED);
2638         p.end(zenToken);
2639 
2640         // Please insert new settings using the same order as in SecureSettingsProto.
2641         p.end(token);
2642 
2643         // Settings.Secure.DEVELOPMENT_SETTINGS_ENABLED intentionally excluded since it's deprecated.
2644         // Settings.Secure.BUGREPORT_IN_POWER_MENU intentionally excluded since it's deprecated.
2645         // Settings.Secure.ADB_ENABLED intentionally excluded since it's deprecated.
2646         // Settings.Secure.ALLOW_MOCK_LOCATION intentionally excluded since it's deprecated.
2647         // Settings.Secure.DATA_ROAMING intentionally excluded since it's deprecated.
2648         // Settings.Secure.DEVICE_PROVISIONED intentionally excluded since it's deprecated.
2649         // Settings.Secure.HTTP_PROXY intentionally excluded since it's deprecated.
2650         // Settings.Secure.LOGGING_ID intentionally excluded since it's deprecated.
2651         // Settings.Secure.NETWORK_PREFERENCE intentionally excluded since it's deprecated.
2652         // Settings.Secure.USB_MASS_STORAGE_ENABLED intentionally excluded since it's deprecated.
2653         // Settings.Secure.USE_GOOGLE_MAIL intentionally excluded since it's deprecated.
2654         // Settings.Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON intentionally excluded since it's deprecated.
2655         // Settings.Secure.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY intentionally excluded since it's deprecated.
2656         // Settings.Secure.WIFI_NUM_OPEN_NETWORKS_KEPT intentionally excluded since it's deprecated.
2657         // Settings.Secure.WIFI_ON intentionally excluded since it's deprecated.
2658         // Settings.Secure.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE intentionally excluded since it's deprecated.
2659         // Settings.Secure.WIFI_WATCHDOG_AP_COUNT intentionally excluded since it's deprecated.
2660         // Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS intentionally excluded since it's deprecated.
2661         // Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED intentionally excluded since it's deprecated.
2662         // Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS intentionally excluded since it's deprecated.
2663         // Settings.Secure.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT intentionally excluded since it's deprecated.
2664         // Settings.Secure.WIFI_WATCHDOG_MAX_AP_CHECKS intentionally excluded since it's deprecated.
2665         // Settings.Secure.WIFI_WATCHDOG_ON intentionally excluded since it's deprecated.
2666         // Settings.Secure.WIFI_WATCHDOG_WATCH_LIST intentionally excluded since it's deprecated.
2667         // Settings.Secure.WIFI_WATCHDOG_PING_COUNT intentionally excluded since it's deprecated.
2668         // Settings.Secure.WIFI_WATCHDOG_PING_DELAY_MS intentionally excluded since it's deprecated.
2669         // Settings.Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS intentionally excluded since it's deprecated.
2670         // Settings.Secure.WIFI_MAX_DHCP_RETRY_COUNT intentionally excluded since it's deprecated.
2671         // Settings.Secure.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS intentionally excluded since it's deprecated.
2672         // Settings.Secure.BACKGROUND_DATA intentionally excluded since it's deprecated.
2673         // Settings.Secure.WIFI_IDLE_MS intentionally excluded since it's deprecated.
2674 
2675 
2676         // Please insert new settings using the same order as in SecureSettingsProto.
2677     }
2678 
dumpProtoSystemSettingsLocked( @onNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s)2679     private static void dumpProtoSystemSettingsLocked(
2680             @NonNull ProtoOutputStream p, long fieldId, @NonNull SettingsState s) {
2681         final long token = p.start(fieldId);
2682 
2683         s.dumpHistoricalOperations(p, SystemSettingsProto.HISTORICAL_OPERATIONS);
2684 
2685         // This uses the same order as in SystemSettingsProto.
2686 
2687         dumpSetting(s, p,
2688                 Settings.System.ADVANCED_SETTINGS,
2689                 SystemSettingsProto.ADVANCED_SETTINGS);
2690 
2691         final long alarmToken = p.start(SystemSettingsProto.ALARM);
2692         dumpSetting(s, p,
2693                 Settings.System.ALARM_ALERT,
2694                 SystemSettingsProto.Alarm.DEFAULT_URI);
2695         dumpSetting(s, p,
2696                 Settings.System.ALARM_ALERT_CACHE,
2697                 SystemSettingsProto.Alarm.ALERT_CACHE);
2698         // Settings.System.NEXT_ALARM_FORMATTED intentionally excluded since it's deprecated.
2699         p.end(alarmToken);
2700 
2701         final long bluetoothToken = p.start(SystemSettingsProto.BLUETOOTH);
2702         dumpSetting(s, p,
2703                 Settings.System.BLUETOOTH_DISCOVERABILITY,
2704                 SystemSettingsProto.Bluetooth.DISCOVERABILITY);
2705         dumpSetting(s, p,
2706                 Settings.System.BLUETOOTH_DISCOVERABILITY_TIMEOUT,
2707                 SystemSettingsProto.Bluetooth.DISCOVERABILITY_TIMEOUT_SECS);
2708         p.end(bluetoothToken);
2709 
2710         dumpSetting(s, p,
2711                 Settings.System.DISPLAY_COLOR_MODE,
2712                 SystemSettingsProto.DISPLAY_COLOR_MODE);
2713 
2714         final long devOptionsToken = p.start(SystemSettingsProto.DEVELOPER_OPTIONS);
2715         dumpSetting(s, p,
2716                 Settings.System.SHOW_TOUCHES,
2717                 SystemSettingsProto.DevOptions.SHOW_TOUCHES);
2718         dumpSetting(s, p,
2719                 Settings.System.POINTER_LOCATION,
2720                 SystemSettingsProto.DevOptions.POINTER_LOCATION);
2721         dumpSetting(s, p,
2722                 Settings.System.WINDOW_ORIENTATION_LISTENER_LOG,
2723                 SystemSettingsProto.DevOptions.WINDOW_ORIENTATION_LISTENER_LOG);
2724         p.end(devOptionsToken);
2725 
2726         final long dtmfToneToken = p.start(SystemSettingsProto.DTMF_TONE);
2727         dumpSetting(s, p,
2728                 Settings.System.DTMF_TONE_WHEN_DIALING,
2729                 SystemSettingsProto.DtmfTone.PLAY_WHEN_DIALING);
2730         dumpSetting(s, p,
2731                 Settings.System.DTMF_TONE_TYPE_WHEN_DIALING,
2732                 SystemSettingsProto.DtmfTone.TYPE_PLAYED_WHEN_DIALING);
2733         p.end(dtmfToneToken);
2734 
2735         dumpSetting(s, p,
2736                 Settings.System.EGG_MODE,
2737                 SystemSettingsProto.EGG_MODE);
2738         dumpSetting(s, p,
2739                 Settings.System.END_BUTTON_BEHAVIOR,
2740                 SystemSettingsProto.END_BUTTON_BEHAVIOR);
2741         dumpSetting(s, p,
2742                 Settings.System.FONT_SCALE,
2743                 SystemSettingsProto.FONT_SCALE);
2744 
2745         final long hapticFeedbackToken = p.start(SystemSettingsProto.HAPTIC_FEEDBACK);
2746         dumpSetting(s, p,
2747                 Settings.System.HAPTIC_FEEDBACK_ENABLED,
2748                 SystemSettingsProto.HapticFeedback.ENABLED);
2749         dumpSetting(s, p,
2750                 Settings.System.HAPTIC_FEEDBACK_INTENSITY,
2751                 SystemSettingsProto.HapticFeedback.INTENSITY);
2752         p.end(hapticFeedbackToken);
2753 
2754         dumpSetting(s, p,
2755                 Settings.System.HEARING_AID,
2756                 SystemSettingsProto.HEARING_AID);
2757         dumpSetting(s, p,
2758                 Settings.System.LOCK_TO_APP_ENABLED,
2759                 SystemSettingsProto.LOCK_TO_APP_ENABLED);
2760 
2761         final long lockscreenToken = p.start(SystemSettingsProto.LOCKSCREEN);
2762         dumpSetting(s, p,
2763                 Settings.System.LOCKSCREEN_SOUNDS_ENABLED,
2764                 SystemSettingsProto.Lockscreen.SOUNDS_ENABLED);
2765         dumpSetting(s, p,
2766                 Settings.System.LOCKSCREEN_DISABLED,
2767                 SystemSettingsProto.Lockscreen.DISABLED);
2768         p.end(lockscreenToken);
2769 
2770         dumpSetting(s, p,
2771                 Settings.System.MEDIA_BUTTON_RECEIVER,
2772                 SystemSettingsProto.MEDIA_BUTTON_RECEIVER);
2773 
2774         final long notificationToken = p.start(SystemSettingsProto.NOTIFICATION);
2775         dumpSetting(s, p,
2776                 Settings.System.NOTIFICATION_SOUND,
2777                 SystemSettingsProto.Notification.SOUND);
2778         dumpSetting(s, p,
2779                 Settings.System.NOTIFICATION_SOUND_CACHE,
2780                 SystemSettingsProto.Notification.SOUND_CACHE);
2781         dumpSetting(s, p,
2782                 Settings.System.NOTIFICATION_LIGHT_PULSE,
2783                 SystemSettingsProto.Notification.LIGHT_PULSE);
2784         dumpSetting(s, p,
2785                 Settings.System.NOTIFICATION_VIBRATION_INTENSITY,
2786                 SystemSettingsProto.Notification.VIBRATION_INTENSITY);
2787         // Settings.System.NOTIFICATIONS_USE_RING_VOLUME intentionally excluded since it's deprecated.
2788         p.end(notificationToken);
2789 
2790         dumpSetting(s, p,
2791                 Settings.System.POINTER_SPEED,
2792                 SystemSettingsProto.POINTER_SPEED);
2793 
2794         final long ringtoneToken = p.start(SystemSettingsProto.RINGTONE);
2795         dumpSetting(s, p,
2796                 Settings.System.RINGTONE,
2797                 SystemSettingsProto.Ringtone.DEFAULT_URI);
2798         dumpSetting(s, p,
2799                 Settings.System.RINGTONE_CACHE,
2800                 SystemSettingsProto.Ringtone.CACHE);
2801         p.end(ringtoneToken);
2802 
2803         final long rotationToken = p.start(SystemSettingsProto.ROTATION);
2804         dumpSetting(s, p,
2805                 Settings.System.ACCELEROMETER_ROTATION,
2806                 SystemSettingsProto.Rotation.ACCELEROMETER_ROTATION);
2807         dumpSetting(s, p,
2808                 Settings.System.USER_ROTATION,
2809                 SystemSettingsProto.Rotation.USER_ROTATION);
2810         dumpSetting(s, p,
2811                 Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY,
2812                 SystemSettingsProto.Rotation.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY);
2813         p.end(rotationToken);
2814 
2815         final long screenToken = p.start(SystemSettingsProto.SCREEN);
2816         dumpSetting(s, p,
2817                 Settings.System.SCREEN_OFF_TIMEOUT,
2818                 SystemSettingsProto.Screen.OFF_TIMEOUT);
2819         dumpSetting(s, p,
2820                 Settings.System.SCREEN_BRIGHTNESS,
2821                 SystemSettingsProto.Screen.BRIGHTNESS);
2822         dumpSetting(s, p,
2823                 Settings.System.SCREEN_BRIGHTNESS_FOR_VR,
2824                 SystemSettingsProto.Screen.BRIGHTNESS_FOR_VR);
2825         dumpSetting(s, p,
2826                 Settings.System.SCREEN_BRIGHTNESS_MODE,
2827                 SystemSettingsProto.Screen.BRIGHTNESS_MODE);
2828         dumpSetting(s, p,
2829                 Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ,
2830                 SystemSettingsProto.Screen.AUTO_BRIGHTNESS_ADJ);
2831         dumpSetting(s, p,
2832                 Settings.System.SCREEN_BRIGHTNESS_FLOAT,
2833                 SystemSettingsProto.Screen.BRIGHTNESS_FLOAT);
2834         dumpSetting(s, p,
2835                 Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT,
2836                 SystemSettingsProto.Screen.BRIGHTNESS_FOR_VR_FLOAT);
2837         p.end(screenToken);
2838 
2839         dumpSetting(s, p,
2840                 Settings.System.SETUP_WIZARD_HAS_RUN,
2841                 SystemSettingsProto.SETUP_WIZARD_HAS_RUN);
2842         dumpSetting(s, p,
2843                 Settings.System.SHOW_BATTERY_PERCENT,
2844                 SystemSettingsProto.SHOW_BATTERY_PERCENT);
2845         dumpSetting(s, p,
2846                 Settings.System.SHOW_GTALK_SERVICE_STATUS,
2847                 SystemSettingsProto.SHOW_GTALK_SERVICE_STATUS);
2848         // Settings.System.SHOW_PROCESSES intentionally excluded since it's deprecated.
2849         // Settings.System.SHOW_WEB_SUGGESTIONS intentionally excluded since it's deprecated.
2850 
2851         final long sipToken = p.start(SystemSettingsProto.SIP);
2852         dumpSetting(s, p,
2853                 Settings.System.SIP_RECEIVE_CALLS,
2854                 SystemSettingsProto.Sip.RECEIVE_CALLS);
2855         dumpSetting(s, p,
2856                 Settings.System.SIP_CALL_OPTIONS,
2857                 SystemSettingsProto.Sip.CALL_OPTIONS);
2858         dumpSetting(s, p,
2859                 Settings.System.SIP_ALWAYS,
2860                 SystemSettingsProto.Sip.ALWAYS);
2861         dumpSetting(s, p,
2862                 Settings.System.SIP_ADDRESS_ONLY,
2863                 SystemSettingsProto.Sip.ADDRESS_ONLY);
2864         // Settings.System.SIP_ASK_ME_EACH_TIME intentionally excluded since it's deprecated.
2865         p.end(sipToken);
2866 
2867         dumpSetting(s, p,
2868                 Settings.System.SOUND_EFFECTS_ENABLED,
2869                 SystemSettingsProto.SOUND_EFFECTS_ENABLED);
2870         // Settings.System.POWER_SOUNDS_ENABLED intentionally excluded since it's deprecated.
2871         // Settings.System.DOCK_SOUNDS_ENABLED intentionally excluded since it's deprecated.
2872         // Settings.System.LOW_BATTERY_SOUND intentionally excluded since it's deprecated.
2873         // Settings.System.DESK_DOCK_SOUND intentionally excluded since it's deprecated.
2874         // Settings.System.DESK_UNDOCK_SOUND intentionally excluded since it's deprecated.
2875         // Settings.System.CAR_DOCK_SOUND intentionally excluded since it's deprecated.
2876         // Settings.System.CAR_UNDOCK_SOUND intentionally excluded since it's deprecated.
2877         // Settings.System.LOCK_SOUND intentionally excluded since it's deprecated.
2878         // Settings.System.UNLOCK_SOUND intentionally excluded since it's deprecated.
2879         dumpSetting(s, p,
2880                 Settings.System.SYSTEM_LOCALES,
2881                 SystemSettingsProto.SYSTEM_LOCALES);
2882 
2883         final long textToken = p.start(SystemSettingsProto.TEXT);
2884         dumpSetting(s, p,
2885                 Settings.System.TEXT_AUTO_REPLACE,
2886                 SystemSettingsProto.Text.AUTO_REPLACE);
2887         dumpSetting(s, p,
2888                 Settings.System.TEXT_AUTO_CAPS,
2889                 SystemSettingsProto.Text.AUTO_CAPS);
2890         dumpSetting(s, p,
2891                 Settings.System.TEXT_AUTO_PUNCTUATE,
2892                 SystemSettingsProto.Text.AUTO_PUNCTUATE);
2893         dumpSetting(s, p,
2894                 Settings.System.TEXT_SHOW_PASSWORD,
2895                 SystemSettingsProto.Text.SHOW_PASSWORD);
2896         p.end(textToken);
2897 
2898         // Settings.System.AUTO_TIME intentionally excluded since it's deprecated.
2899         // Settings.System.AUTO_TIME_ZONE intentionally excluded since it's deprecated.
2900         dumpSetting(s, p,
2901                 Settings.System.TIME_12_24,
2902                 SystemSettingsProto.TIME_12_24);
2903         dumpSetting(s, p,
2904                 Settings.System.TTY_MODE,
2905                 SystemSettingsProto.TTY_MODE);
2906 
2907         final long vibrateToken = p.start(SystemSettingsProto.VIBRATE);
2908         dumpSetting(s, p,
2909                 Settings.System.VIBRATE_ON,
2910                 SystemSettingsProto.Vibrate.ON);
2911         dumpSetting(s, p,
2912                 Settings.System.VIBRATE_INPUT_DEVICES,
2913                 SystemSettingsProto.Vibrate.INPUT_DEVICES);
2914         dumpSetting(s, p,
2915                 Settings.System.VIBRATE_IN_SILENT,
2916                 SystemSettingsProto.Vibrate.IN_SILENT);
2917         dumpSetting(s, p,
2918                 Settings.System.VIBRATE_WHEN_RINGING,
2919                 SystemSettingsProto.Vibrate.WHEN_RINGING);
2920         p.end(vibrateToken);
2921 
2922         final long volumeToken = p.start(SystemSettingsProto.VOLUME);
2923         dumpSetting(s, p,
2924                 Settings.System.VOLUME_RING,
2925                 SystemSettingsProto.Volume.RING);
2926         dumpSetting(s, p,
2927                 Settings.System.VOLUME_SYSTEM,
2928                 SystemSettingsProto.Volume.SYSTEM);
2929         dumpSetting(s, p,
2930                 Settings.System.VOLUME_VOICE,
2931                 SystemSettingsProto.Volume.VOICE);
2932         dumpSetting(s, p,
2933                 Settings.System.VOLUME_MUSIC,
2934                 SystemSettingsProto.Volume.MUSIC);
2935         dumpSetting(s, p,
2936                 Settings.System.VOLUME_ALARM,
2937                 SystemSettingsProto.Volume.ALARM);
2938         dumpSetting(s, p,
2939                 Settings.System.VOLUME_NOTIFICATION,
2940                 SystemSettingsProto.Volume.NOTIFICATION);
2941         dumpSetting(s, p,
2942                 Settings.System.VOLUME_BLUETOOTH_SCO,
2943                 SystemSettingsProto.Volume.BLUETOOTH_SCO);
2944         dumpSetting(s, p,
2945                 Settings.System.VOLUME_ACCESSIBILITY,
2946                 SystemSettingsProto.Volume.ACCESSIBILITY);
2947         dumpSetting(s, p,
2948                 Settings.System.VOLUME_MASTER,
2949                 SystemSettingsProto.Volume.MASTER);
2950         dumpSetting(s, p,
2951                 Settings.System.MASTER_MONO,
2952                 SystemSettingsProto.Volume.MASTER_MONO);
2953         dumpSetting(s, p,
2954                 Settings.System.MODE_RINGER_STREAMS_AFFECTED,
2955                 SystemSettingsProto.Volume.MODE_RINGER_STREAMS_AFFECTED);
2956         dumpSetting(s, p,
2957                 Settings.System.MUTE_STREAMS_AFFECTED,
2958                 SystemSettingsProto.Volume.MUTE_STREAMS_AFFECTED);
2959         dumpSetting(s, p,
2960                 Settings.System.MASTER_BALANCE,
2961                 SystemSettingsProto.Volume.MASTER_BALANCE);
2962         p.end(volumeToken);
2963 
2964         dumpSetting(s, p,
2965                 Settings.System.WHEN_TO_MAKE_WIFI_CALLS,
2966                 SystemSettingsProto.WHEN_TO_MAKE_WIFI_CALLS);
2967 
2968         // Please insert new settings using the same order as in SecureSettingsProto.
2969 
2970         // The rest of the settings were moved to Settings.Secure, and are thus excluded here since
2971         // they're deprecated from Settings.System.
2972 
2973         // Settings.System.STAY_ON_WHILE_PLUGGED_IN intentionally excluded since it's deprecated.
2974         // Settings.System.AIRPLANE_MODE_ON intentionally excluded since it's deprecated.
2975         // Settings.System.RADIO_BLUETOOTH intentionally excluded since it's just a constant.
2976         // Settings.System.RADIO_WIFI intentionally excluded since it's just a constant.
2977         // Settings.System.RADIO_WIMAX intentionally excluded since it's just a constant.
2978         // Settings.System.RADIO_CELL intentionally excluded since it's just a constant.
2979         // Settings.System.RADIO_NFC intentionally excluded since it's just a constant.
2980         // Settings.System.AIRPLANE_MODE_RADIOS intentionally excluded since it's deprecated.
2981         // Settings.System.AIRPLANE_MODE_TOGGLABLE_RADIOS intentionally excluded since it's deprecated.
2982         // Settings.System.WIFI_SLEEP_POLICY intentionally excluded since it's deprecated.
2983         // Settings.System.MODE_RINGER intentionally excluded since it's deprecated.
2984         // Settings.System.WIFI_USE_STATIC_IP intentionally excluded since it's deprecated.
2985         // Settings.System.WIFI_STATIC_IP intentionally excluded since it's deprecated.
2986         // Settings.System.WIFI_STATIC_GATEWAY intentionally excluded since it's deprecated.
2987         // Settings.System.WIFI_STATIC_NETMASK intentionally excluded since it's deprecated.
2988         // Settings.System.WIFI_STATIC_DNS1 intentionally excluded since it's deprecated.
2989         // Settings.System.WIFI_STATIC_DNS2 intentionally excluded since it's deprecated.
2990         // Settings.System.LOCK_PATTERN_ENABLED intentionally excluded since it's deprecated.
2991         // Settings.System.LOCK_PATTERN_VISIBLE intentionally excluded since it's deprecated.
2992         // Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED intentionally excluded since it's deprecated.
2993         // Settings.System.DEBUG_APP intentionally excluded since it's deprecated.
2994         // Settings.System.WAIT_FOR_DEBUGGER intentionally excluded since it's deprecated.
2995         // Settings.System.DIM_SCREEN intentionally excluded since it's deprecated.
2996         // Settings.System.ALWAYS_FINISH_ACTIVITIES intentionally excluded since it's deprecated.
2997         // Settings.System.APPEND_FOR_LAST_AUDIBLE intentionally excluded since it hasn't been used since API 2.
2998         // Settings.System.WALLPAPER_ACTIVITY intentionally excluded since it's deprecated.
2999         // Settings.System.WINDOW_ANIMATION_SCALE intentionally excluded since it's deprecated.
3000         // Settings.System.TRANSITION_ANIMATION_SCALE intentionally excluded since it's deprecated.
3001         // Settings.System.ANIMATOR_ANIMATION_SCALE intentionally excluded since it's deprecated.
3002 
3003         // The rest of the settings were moved to Settings.Secure, and are thus excluded here since
3004         // they're deprecated from Settings.System.
3005 
3006         // Please insert new settings using the same order as in SecureSettingsProto.
3007         p.end(token);
3008         // Please insert new settings using the same order as in SecureSettingsProto.
3009     }
3010 }
3011