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