1 // Copyright 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.chromium.chrome.browser.preferences; 6 7 import org.chromium.base.annotations.CheckDiscard; 8 9 import java.util.Arrays; 10 import java.util.List; 11 12 /** 13 * Contains String and {@link KeyPrefix} constants with the SharedPreferences keys used by Chrome. 14 * 15 * All Chrome layer SharedPreferences keys should be declared in this class. 16 * 17 * To add a new key: 18 * 1. Declare it as a String constant in this class. Its value should follow the format 19 * "Chrome.[Feature].[Key]" and the constants names should be in alphabetical order. 20 * 2. Add it to {@link #getKeysInUse()}. 21 * 22 * To deprecate a key that is not used anymore: 23 * 1. Add its constant value to {@link DeprecatedChromePreferenceKeys#getKeysForTesting()}, in 24 * alphabetical order by value. 25 * 2. Remove the key from {@link #getKeysInUse()} or {@link 26 * GrandfatheredChromePreferenceKeys#getKeysInUse()}. 27 * 3. Delete the constant. 28 * 29 * To add a new KeyPrefix: 30 * 1. Declare it as a KeyPrefix constant in this class. Its value should follow the format 31 * "Chrome.[Feature].[KeyPrefix].*" and the constants names should be in alphabetical order. 32 * 2. Add PREFIX_CONSTANT.pattern() to {@link #getKeysInUse()}}. 33 * 34 * To deprecate a KeyPrefix that is not used anymore: 35 * 1. Add its String value to {@link DeprecatedChromePreferenceKeys#getPrefixesForTesting()}, 36 * including the ".*", in alphabetical order by value. 37 * 2. Remove it from {@link #getKeysInUse()} or {@link 38 * GrandfatheredChromePreferenceKeys#getPrefixesInUse()}. 39 * 3. Delete the KeyPrefix constant. 40 * 41 * Tests in ChromePreferenceKeysTest and checks in {@link ChromePreferenceKeyChecker} ensure the 42 * sanity of this file. 43 */ 44 public final class ChromePreferenceKeys { 45 /** 46 * Whether the simplified tab switcher is enabled when accessibility mode is enabled. Keep in 47 * sync with accessibility_preferences.xml. 48 * Default value is true. 49 */ 50 public static final String ACCESSIBILITY_TAB_SWITCHER = "accessibility_tab_switcher"; 51 52 public static final String ACCOUNT_PICKER_BOTTOM_SHEET_SHOWN_COUNT = 53 "Chrome.AccountPickerBottomSheet.ShownCount"; 54 55 /** The language code to override application language with. */ 56 public static final String APPLICATION_OVERRIDE_LANGUAGE = 57 "Chrome.Language.ApplicationOverrideLanguage"; 58 59 public static final String APP_LOCALE = "locale"; 60 61 /** Assistant voice search keys. */ 62 public static final String ASSISTANT_LAST_VERSION = "Chrome.Assistant.LastVersion"; 63 public static final String ASSISTANT_VOICE_SEARCH_SUPPORTED = "Chrome.Assistant.Supported"; 64 public static final String ASSISTANT_VOICE_SEARCH_ENABLED = "Chrome.Assistant.Enabled"; 65 66 /** Whether Autofill Assistant is enabled */ 67 public static final String AUTOFILL_ASSISTANT_ENABLED = "autofill_assistant_switch"; 68 /** Whether the Autofill Assistant onboarding has been accepted. */ 69 public static final String AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED = 70 "AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED"; 71 /** Whether the user has seen a lite-script before or is a first-time user. */ 72 public static final String AUTOFILL_ASSISTANT_FIRST_TIME_LITE_SCRIPT_USER = 73 "Chrome.AutofillAssistant.LiteScriptFirstTimeUser"; 74 /** The number of times a user has explicitly canceled a lite script. */ 75 public static final String AUTOFILL_ASSISTANT_NUMBER_OF_LITE_SCRIPTS_CANCELED = 76 "Chrome.AutofillAssistant.NumberOfLiteScriptsCanceled"; 77 /** Whether proactive help is enabled. */ 78 public static final String AUTOFILL_ASSISTANT_PROACTIVE_HELP = 79 "Chrome.AutofillAssistant.ProactiveHelp"; 80 /** 81 * LEGACY preference indicating whether "do not show again" was checked in the autofill 82 * assistant onboarding 83 */ 84 public static final String AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN = 85 "AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN"; 86 87 public static final String BACKUP_FIRST_BACKUP_DONE = "first_backup_done"; 88 89 public static final String BOOKMARKS_LAST_MODIFIED_FOLDER_ID = "last_bookmark_folder_id"; 90 public static final String BOOKMARKS_LAST_USED_URL = "enhanced_bookmark_last_used_url"; 91 public static final String BOOKMARKS_LAST_USED_PARENT = 92 "enhanced_bookmark_last_used_parent_folder"; 93 94 /** 95 * Whether Chrome is set as the default browser. 96 * Default value is false. 97 */ 98 public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser"; 99 100 /** 101 * The URI of Chrome shared to Android system clibpoard, we only need this preference for the 102 * Android O and O_MR1 version. 103 */ 104 public static final String CLIPBOARD_SHARED_URI = "Chrome.Clipboard.SharedUri"; 105 106 /** 107 * Saves a counter of how many continuous feature sessions in which a user has dismissed 108 * conditional tab strip. 109 */ 110 public static final String CONDITIONAL_TAB_STRIP_CONTINUOUS_DISMISS_COUNTER = 111 "Chrome.ConditionalTabStrip.ContinuousDismissCounter"; 112 113 /** 114 * Saves the feature status of conditional tab strip. 115 */ 116 public static final String CONDITIONAL_TAB_STRIP_FEATURE_STATUS = 117 "Chrome.ConditionalTabStrip.FeatureStatus"; 118 119 /** 120 * Saves the timestamp of the last time that conditional tab strip shows. 121 */ 122 public static final String CONDITIONAL_TAB_STRIP_LAST_SHOWN_TIMESTAMP = 123 "Chrome.ConditionalTabStrip.LastShownTimeStamp"; 124 125 /** 126 * Saves whether a user has chosen to opt-out the conditional tab strip feature. 127 */ 128 public static final String CONDITIONAL_TAB_STRIP_OPT_OUT = "Chrome.ConditionalTabStrip.OptOut"; 129 130 /** 131 * Marks that the content suggestions surface has been shown. 132 * Default value is false. 133 */ 134 public static final String CONTENT_SUGGESTIONS_SHOWN = "content_suggestions_shown"; 135 136 /** An all-time counter of Contextual Search panel opens triggered by any gesture.*/ 137 public static final String CONTEXTUAL_SEARCH_ALL_TIME_OPEN_COUNT = 138 "contextual_search_all_time_open_count"; 139 /** An all-time counter of taps that triggered the Contextual Search peeking panel. */ 140 public static final String CONTEXTUAL_SEARCH_ALL_TIME_TAP_COUNT = 141 "contextual_search_all_time_tap_count"; 142 /** 143 * The number of times a tap gesture caused a Contextual Search Quick Answer to be shown. 144 * Cumulative, starting at M-69. 145 */ 146 public static final String CONTEXTUAL_SEARCH_ALL_TIME_TAP_QUICK_ANSWER_COUNT = 147 "contextual_search_all_time_tap_quick_answer_count"; 148 public static final KeyPrefix CONTEXTUAL_SEARCH_CLICKS_WEEK_PREFIX = 149 new KeyPrefix("contextual_search_clicks_week_*"); 150 public static final String CONTEXTUAL_SEARCH_CURRENT_WEEK_NUMBER = 151 "contextual_search_current_week_number"; 152 /** 153 * The entity-data impressions count for Contextual Search, i.e. thumbnails shown in the Bar. 154 * Cumulative, starting at M-69. 155 */ 156 public static final String CONTEXTUAL_SEARCH_ENTITY_IMPRESSIONS_COUNT = 157 "contextual_search_entity_impressions_count"; 158 /** 159 * The entity-data opens count for Contextual Search, e.g. Panel opens following thumbnails 160 * shown in the Bar. Cumulative, starting at M-69. 161 */ 162 public static final String CONTEXTUAL_SEARCH_ENTITY_OPENS_COUNT = 163 "contextual_search_entity_opens_count"; 164 public static final KeyPrefix CONTEXTUAL_SEARCH_IMPRESSIONS_WEEK_PREFIX = 165 new KeyPrefix("contextual_search_impressions_week_*"); 166 public static final String CONTEXTUAL_SEARCH_LAST_ANIMATION_TIME = 167 "contextual_search_last_animation_time"; 168 public static final String CONTEXTUAL_SEARCH_NEWEST_WEEK = "contextual_search_newest_week"; 169 public static final String CONTEXTUAL_SEARCH_OLDEST_WEEK = "contextual_search_oldest_week"; 170 /** 171 * An encoded set of outcomes of user interaction with Contextual Search, stored as an int. 172 */ 173 public static final String CONTEXTUAL_SEARCH_PREVIOUS_INTERACTION_ENCODED_OUTCOMES = 174 "contextual_search_previous_interaction_encoded_outcomes"; 175 /** 176 * A user interaction event ID for interaction with Contextual Search, stored as a long. 177 */ 178 public static final String CONTEXTUAL_SEARCH_PREVIOUS_INTERACTION_EVENT_ID = 179 "contextual_search_previous_interaction_event_id"; 180 /** 181 * A timestamp indicating when we updated the user interaction with Contextual Search, stored 182 * as a long, with resolution in days. 183 */ 184 public static final String CONTEXTUAL_SEARCH_PREVIOUS_INTERACTION_TIMESTAMP = 185 "contextual_search_previous_interaction_timestamp"; 186 /** 187 * The number of times the Contextual Search panel was opened with the opt-in promo visible. 188 */ 189 public static final String CONTEXTUAL_SEARCH_PROMO_OPEN_COUNT = 190 "contextual_search_promo_open_count"; 191 /** 192 * The Quick Actions ignored count, i.e. phone numbers available but not dialed. 193 * Cumulative, starting at M-69. 194 */ 195 public static final String CONTEXTUAL_SEARCH_QUICK_ACTIONS_IGNORED_COUNT = 196 "contextual_search_quick_actions_ignored_count"; 197 /** 198 * The Quick Actions taken count for Contextual Search, i.e. phone numbers dialed and similar 199 * actions. Cumulative, starting at M-69. 200 */ 201 public static final String CONTEXTUAL_SEARCH_QUICK_ACTIONS_TAKEN_COUNT = 202 "contextual_search_quick_actions_taken_count"; 203 /** 204 * The Quick Action impressions count for Contextual Search, i.e. actions presented in the Bar. 205 * Cumulative, starting at M-69. 206 */ 207 public static final String CONTEXTUAL_SEARCH_QUICK_ACTION_IMPRESSIONS_COUNT = 208 "contextual_search_quick_action_impressions_count"; 209 /** 210 * The number of times that a tap triggered the Contextual Search panel to peek since the last 211 * time the panel was opened. Note legacy string value without "open". 212 */ 213 public static final String CONTEXTUAL_SEARCH_TAP_SINCE_OPEN_COUNT = 214 "contextual_search_tap_count"; 215 /** 216 * The number of times a tap gesture caused a Contextual Search Quick Answer to be shown since 217 * the last time the panel was opened. Note legacy string value without "open". 218 */ 219 public static final String CONTEXTUAL_SEARCH_TAP_SINCE_OPEN_QUICK_ANSWER_COUNT = 220 "contextual_search_tap_quick_answer_count"; 221 public static final String CONTEXTUAL_SEARCH_TAP_TRIGGERED_PROMO_COUNT = 222 "contextual_search_tap_triggered_promo_count"; 223 224 /** 225 * Keys that indicates if an item in the context menu has been clicked or not. 226 * Used to hide the "new" tag for the items after they are clicked. 227 */ 228 public static final String CONTEXT_MENU_OPEN_IMAGE_IN_EPHEMERAL_TAB_CLICKED = 229 "Chrome.Contextmenu.OpenImageInEphemeralTabClicked"; 230 public static final String CONTEXT_MENU_OPEN_IN_EPHEMERAL_TAB_CLICKED = 231 "Chrome.Contextmenu.OpenInEphemeralTabClicked"; 232 public static final String CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS_CLICKED = 233 "Chrome.ContextMenu.SearchWithGoogleLensClicked"; 234 235 public static final String CONTEXT_MENU_SHOP_SIMILAR_PRODUCTS_CLICKED = 236 "Chrome.ContextMenu.ShopSimilarProductsClicked"; 237 238 public static final String CONTEXT_MENU_SHOP_IMAGE_WITH_GOOGLE_LENS_CLICKED = 239 "Chrome.ContextMenu.ShopImageWithGoogleLensClicked"; 240 241 public static final String CONTEXT_MENU_SEARCH_SIMILAR_PRODUCTS_CLICKED = 242 "Chrome.ContextMenu.SearchSimilarProductsClicked"; 243 244 public static final String CRASH_UPLOAD_FAILURE_BROWSER = "browser_crash_failure_upload"; 245 public static final String CRASH_UPLOAD_FAILURE_GPU = "gpu_crash_failure_upload"; 246 public static final String CRASH_UPLOAD_FAILURE_OTHER = "other_crash_failure_upload"; 247 public static final String CRASH_UPLOAD_FAILURE_RENDERER = "renderer_crash_failure_upload"; 248 public static final String CRASH_UPLOAD_SUCCESS_BROWSER = "browser_crash_success_upload"; 249 public static final String CRASH_UPLOAD_SUCCESS_GPU = "gpu_crash_success_upload"; 250 public static final String CRASH_UPLOAD_SUCCESS_OTHER = "other_crash_success_upload"; 251 public static final String CRASH_UPLOAD_SUCCESS_RENDERER = "renderer_crash_success_upload"; 252 253 public static final String CRYPTID_LAST_RENDER_TIMESTAMP = "Chrome.Cryptid.LastRenderTimestamp"; 254 255 public static final KeyPrefix CUSTOM_TABS_DEX_LAST_UPDATE_TIME_PREF_PREFIX = 256 new KeyPrefix("pref_local_custom_tabs_module_dex_last_update_time_*"); 257 public static final String CUSTOM_TABS_LAST_URL = "pref_last_custom_tab_url"; 258 259 /** 260 * Key used to save the time in milliseconds since epoch that the first run experience or second 261 * run promo was shown. 262 */ 263 public static final String DATA_REDUCTION_DISPLAYED_FRE_OR_SECOND_PROMO_TIME_MS = 264 "displayed_data_reduction_promo_time_ms"; 265 /** 266 * Key used to save the Chrome version the first run experience or second run promo was shown 267 * in. 268 */ 269 public static final String DATA_REDUCTION_DISPLAYED_FRE_OR_SECOND_PROMO_VERSION = 270 "displayed_data_reduction_promo_version"; 271 /** 272 * Key used to save whether the first run experience or second run promo screen has been shown. 273 */ 274 public static final String DATA_REDUCTION_DISPLAYED_FRE_OR_SECOND_RUN_PROMO = 275 "displayed_data_reduction_promo"; 276 /** 277 * Key used to save whether the infobar promo has been shown. 278 */ 279 public static final String DATA_REDUCTION_DISPLAYED_INFOBAR_PROMO = 280 "displayed_data_reduction_infobar_promo"; 281 /** 282 * Key used to save the Chrome version the infobar promo was shown in. 283 */ 284 public static final String DATA_REDUCTION_DISPLAYED_INFOBAR_PROMO_VERSION = 285 "displayed_data_reduction_infobar_promo_version"; 286 /** 287 * Key used to save the saved bytes when the milestone promo was last shown. This value is 288 * initialized to the bytes saved for data saver users that had data saver turned on when this 289 * pref was added. This prevents us from showing promo for savings that have already happened 290 * for existing users. 291 * Note: For historical reasons, this pref key is misnamed. This promotion used to be conveyed 292 * in a snackbar but was moved to an IPH in M74. 293 */ 294 public static final String DATA_REDUCTION_DISPLAYED_MILESTONE_PROMO_SAVED_BYTES = 295 "displayed_data_reduction_snackbar_promo_saved_bytes"; 296 297 // Visible for backup and restore 298 public static final String DATA_REDUCTION_ENABLED = "BANDWIDTH_REDUCTION_PROXY_ENABLED"; 299 public static final String DATA_REDUCTION_FIRST_ENABLED_TIME = 300 "BANDWIDTH_REDUCTION_FIRST_ENABLED_TIME"; 301 /** 302 * Key used to save whether the user opted out of the data reduction proxy in the FRE promo. 303 */ 304 public static final String DATA_REDUCTION_FRE_PROMO_OPT_OUT = "fre_promo_opt_out"; 305 /** 306 * Key used to save the date on which the site breakdown should be shown. If the user has 307 * historical data saver stats, the site breakdown cannot be shown for MAXIMUM_DAYS_IN_CHART. 308 */ 309 public static final String DATA_REDUCTION_SITE_BREAKDOWN_ALLOWED_DATE = 310 "data_reduction_site_breakdown_allowed_date"; 311 312 /** 313 * Keys used to save whether it is ready to promo. 314 */ 315 public static final String DEFAULT_BROWSER_PROMO_SESSION_COUNT = 316 "Chrome.DefaultBrowserPromo.SessionCount"; 317 public static final String DEFAULT_BROWSER_PROMO_PROMOED_COUNT = 318 "Chrome.DefaultBrowserPromo.PromoedCount"; 319 public static final String DEFAULT_BROWSER_PROMO_LAST_DEFAULT_STATE = 320 "Chrome.DefaultBrowserPromo.LastDefaultState"; 321 public static final String DEFAULT_BROWSER_PROMO_LAST_PROMO_TIME = 322 "Chrome.DefaultBrowserPromo.LastPromoTime"; 323 public static final String DEFAULT_BROWSER_PROMO_PROMOED_BY_SYSTEM_SETTINGS = 324 "Chrome.DefaultBrowserPromo.PromoedBySystemSettings"; 325 326 public static final String DOWNLOAD_AUTO_RESUMPTION_ATTEMPT_LEFT = "ResumptionAttemptLeft"; 327 public static final String DOWNLOAD_FOREGROUND_SERVICE_OBSERVERS = "ForegroundServiceObservers"; 328 public static final String DOWNLOAD_IS_DOWNLOAD_HOME_ENABLED = 329 "org.chromium.chrome.browser.download.IS_DOWNLOAD_HOME_ENABLED"; 330 public static final String DOWNLOAD_NEXT_DOWNLOAD_NOTIFICATION_ID = 331 "NextDownloadNotificationId"; 332 public static final String DOWNLOAD_PENDING_DOWNLOAD_NOTIFICATIONS = 333 "PendingDownloadNotifications"; 334 public static final String DOWNLOAD_PENDING_OMA_DOWNLOADS = "PendingOMADownloads"; 335 public static final String DOWNLOAD_UMA_ENTRY = "DownloadUmaEntry"; 336 337 /** 338 * Indicates whether or not there are prefetched content in chrome that can be viewed offline. 339 */ 340 public static final String EXPLORE_OFFLINE_CONTENT_AVAILABILITY_STATUS = 341 "Chrome.NTPExploreOfflineCard.HasExploreOfflineContent"; 342 343 /** 344 * The Feed articles visibility. This value is used as a pre-native cache and should be kept 345 * consistent with {@link Pref.ARTICLES_LIST_VISIBLE}. 346 */ 347 public static final String FEED_ARTICLES_LIST_VISIBLE = "Chrome.Feed.ArticlesListVisible"; 348 public static final String FEED_PLACEHOLDER_DENSE = "Chrome.Feed.PlaceholderIsDense"; 349 350 public static final String FIRST_RUN_CACHED_TOS_ACCEPTED = "first_run_tos_accepted"; 351 public static final String FIRST_RUN_FLOW_COMPLETE = "first_run_flow"; 352 public static final String FIRST_RUN_FLOW_SIGNIN_ACCOUNT_NAME = "first_run_signin_account_name"; 353 public static final String FIRST_RUN_FLOW_SIGNIN_COMPLETE = "first_run_signin_complete"; 354 // Needed by ChromeBackupAgent 355 public static final String FIRST_RUN_FLOW_SIGNIN_SETUP = "first_run_signin_setup"; 356 public static final String FIRST_RUN_LIGHTWEIGHT_FLOW_COMPLETE = "lightweight_first_run_flow"; 357 public static final String FIRST_RUN_SKIP_WELCOME_PAGE = "skip_welcome_page"; 358 359 /** 360 * Cached feature flags generated by CachedFeatureFlags use this prefix. 361 */ 362 public static final KeyPrefix FLAGS_CACHED = new KeyPrefix("Chrome.Flags.CachedFlag.*"); 363 364 /** 365 * Cached field trial parameters generated by CachedFeatureFlags use this prefix. 366 */ 367 public static final KeyPrefix FLAGS_FIELD_TRIAL_PARAM_CACHED = 368 new KeyPrefix("Chrome.Flags.FieldTrialParamCached.*"); 369 370 /** 371 * Whether or not the adaptive toolbar is enabled. 372 * Default value is true. 373 */ 374 public static final String FLAGS_CACHED_ADAPTIVE_TOOLBAR_ENABLED = "adaptive_toolbar_enabled"; 375 376 /** 377 * Whether or not command line on non-rooted devices is enabled. 378 * Default value is false. 379 */ 380 public static final String FLAGS_CACHED_COMMAND_LINE_ON_NON_ROOTED_ENABLED = 381 "command_line_on_non_rooted_enabled"; 382 /** 383 * Whether or not the download auto-resumption is enabled in native. 384 * Default value is true. 385 */ 386 public static final String FLAGS_CACHED_DOWNLOAD_AUTO_RESUMPTION_IN_NATIVE = 387 "download_auto_resumption_in_native"; 388 /** 389 * Whether or not the grid tab switcher is enabled. 390 * Default value is false. 391 */ 392 public static final String FLAGS_CACHED_GRID_TAB_SWITCHER_ENABLED = "grid_tab_switcher_enabled"; 393 /** 394 * Key to cache whether immersive ui mode is enabled. 395 */ 396 public static final String FLAGS_CACHED_IMMERSIVE_UI_MODE_ENABLED = "immersive_ui_mode_enabled"; 397 /** 398 * Whether warming up network service is enabled. 399 * Default value is false. 400 */ 401 public static final String FLAGS_CACHED_NETWORK_SERVICE_WARM_UP_ENABLED = 402 "network_service_warm_up_enabled"; 403 /** 404 * Whether or not bootstrap tasks should be prioritized (i.e. bootstrap task prioritization 405 * experiment is enabled). Default value is true. 406 */ 407 public static final String FLAGS_CACHED_PRIORITIZE_BOOTSTRAP_TASKS = 408 "prioritize_bootstrap_tasks"; 409 /** 410 * Key for whether PrefetchBackgroundTask should load native in service manager only mode. 411 * Default value is false. 412 */ 413 public static final String FLAGS_CACHED_SERVICE_MANAGER_FOR_BACKGROUND_PREFETCH = 414 "service_manager_for_background_prefetch"; 415 /** 416 * Key for whether DownloadResumptionBackgroundTask should load native in service manager only 417 * mode. 418 * Default value is false. 419 */ 420 public static final String FLAGS_CACHED_SERVICE_MANAGER_FOR_DOWNLOAD_RESUMPTION = 421 "service_manager_for_download_resumption"; 422 /** 423 * Whether or not the start surface is enabled. 424 * Default value is false. 425 */ 426 public static final String FLAGS_CACHED_START_SURFACE_ENABLED = "start_surface_enabled"; 427 428 /** 429 * Key to cache whether SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT is enabled. 430 */ 431 public static final String FLAGS_CACHED_SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT = 432 "swap_pixel_format_to_fix_convert_from_translucent"; 433 /** 434 * Whether or not the tab group is enabled. 435 * Default value is false. 436 */ 437 public static final String FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED = 438 "tab_group_android_enabled"; 439 440 public static final String FONT_USER_FONT_SCALE_FACTOR = "user_font_scale_factor"; 441 public static final String FONT_USER_SET_FORCE_ENABLE_ZOOM = "user_set_force_enable_zoom"; 442 443 public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info"; 444 445 /** Keys used to save settings related to homepage. */ 446 public static final String HOMEPAGE_CUSTOM_URI = "homepage_custom_uri"; 447 public static final String HOMEPAGE_ENABLED = "homepage"; 448 public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP"; 449 public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled"; 450 451 /** 452 * Key used to save homepage location set by enterprise policy 453 */ 454 public static final String HOMEPAGE_LOCATION_POLICY = "Chrome.Policy.HomepageLocation"; 455 456 /** 457 * Used for get image descriptions feature, track "Just once"/"Don't ask again" choice. 458 */ 459 public static final String IMAGE_DESCRIPTIONS_JUST_ONCE_COUNT = 460 "Chrome.ImageDescriptions.JustOnceCount"; 461 public static final String IMAGE_DESCRIPTIONS_DONT_ASK_AGAIN = 462 "Chrome.ImageDescriptions.DontAskAgain"; 463 464 public static final String INCOGNITO_SHORTCUT_ADDED = "incognito-shortcut-added"; 465 466 /** 467 * When the user is shown a badge that the current Android OS version is unsupported, and they 468 * tap it to display the menu (which has additional information), we store the current version 469 * of Chrome to this preference to ensure we only show the badge once. The value is cleared 470 * if the Chrome version later changes. 471 */ 472 public static final String LATEST_UNSUPPORTED_VERSION = "android_os_unsupported_chrome_version"; 473 474 public static final String LOCALE_MANAGER_AUTO_SWITCH = "LocaleManager_PREF_AUTO_SWITCH"; 475 public static final String LOCALE_MANAGER_PROMO_SHOWN = "LocaleManager_PREF_PROMO_SHOWN"; 476 public static final String LOCALE_MANAGER_SEARCH_ENGINE_PROMO_SHOW_STATE = 477 "com.android.chrome.SEARCH_ENGINE_PROMO_SHOWN"; 478 public static final String LOCALE_MANAGER_WAS_IN_SPECIAL_LOCALE = 479 "LocaleManager_WAS_IN_SPECIAL_LOCALE"; 480 481 public static final String MEDIA_WEBRTC_NOTIFICATION_IDS = "WebRTCNotificationIds"; 482 483 public static final String METRICS_MAIN_INTENT_LAUNCH_COUNT = "MainIntent.LaunchCount"; 484 public static final String METRICS_MAIN_INTENT_LAUNCH_TIMESTAMP = "MainIntent.LaunchTimestamp"; 485 486 public static final String NOTIFICATIONS_CHANNELS_VERSION = "channels_version_key"; 487 public static final String NOTIFICATIONS_LAST_SHOWN_NOTIFICATION_TYPE = 488 "NotificationUmaTracker.LastShownNotificationType"; 489 public static final String NOTIFICATIONS_NEXT_TRIGGER = 490 "notification_trigger_scheduler.next_trigger"; 491 492 public static final String NTP_SNIPPETS_IS_SCHEDULED = "ntp_snippets.is_scheduled"; 493 494 // Name of an application preference variable used to track whether or not the in-progress 495 // notification is being shown. This is an alternative to 496 // NotificationManager.getActiveNotifications, which isn't available prior to API level 23. 497 public static final String OFFLINE_AUTO_FETCH_SHOWING_IN_PROGRESS = 498 "offline_auto_fetch_showing_in_progress"; 499 // The application preference variable which is set to the NotificationAction that triggered the 500 // cancellation, when a cancellation is requested by the user. 501 public static final String OFFLINE_AUTO_FETCH_USER_CANCEL_ACTION_IN_PROGRESS = 502 "offline_auto_fetch_user_cancel_action_in_progress"; 503 504 /** 505 * Key to cache whether offline indicator v2 (persistent offline indicator) is enabled. 506 */ 507 public static final String OFFLINE_INDICATOR_V2_ENABLED = "offline_indicator_v2_enabled"; 508 509 /** The shared preference for the 'save card to device' checkbox status. */ 510 public static final String PAYMENTS_CHECK_SAVE_CARD_TO_DEVICE = "check_save_card_to_device"; 511 512 /** Prefix of the preferences to persist use count of the payment instruments. */ 513 public static final KeyPrefix PAYMENTS_PAYMENT_INSTRUMENT_USE_COUNT = 514 new KeyPrefix("payment_instrument_use_count_*"); 515 516 /** Prefix of the preferences to persist last use date of the payment instruments. */ 517 public static final KeyPrefix PAYMENTS_PAYMENT_INSTRUMENT_USE_DATE = 518 new KeyPrefix("payment_instrument_use_date_*"); 519 520 /** Preference to indicate whether payment request has been completed successfully once.*/ 521 public static final String PAYMENTS_PAYMENT_COMPLETE_ONCE = "payment_complete_once"; 522 523 /** 524 * Indicates whether or not there is any persistent (i.e. non-transient) content in chrome that 525 * can be viewed offline. 526 */ 527 public static final String PERSISTENT_OFFLINE_CONTENT_AVAILABILITY_STATUS = 528 "Chrome.OfflineIndicatorV2.HasPersistentOfflineContent"; 529 530 public static final String PREFETCH_HAS_NEW_PAGES = "prefetch_notification_has_new_pages"; 531 public static final String PREFETCH_IGNORED_NOTIFICATION_COUNTER = 532 "prefetch_notification_ignored_counter"; 533 public static final String PREFETCH_NOTIFICATION_ENABLED = "prefetch_notification_enabled"; 534 public static final String PREFETCH_NOTIFICATION_TIME = "prefetch_notification_shown_time"; 535 public static final String PREFETCH_OFFLINE_COUNTER = "prefetch_notification_offline_counter"; 536 537 /** 538 * Whether users disable the PriceWelcomeMessageCard. 539 */ 540 public static final String PRICE_TRACKING_PRICE_WELCOME_MESSAGE_CARD = 541 "Chrome.PriceTracking.PriceWelcome"; 542 /** 543 * Whether users turn on the feature track prices on tabs. 544 */ 545 public static final String PRICE_TRACKING_TRACK_PRICES_ON_TABS = 546 "Chrome.PriceTracking.TrackPricesOnTabs"; 547 548 public static final String PRIVACY_METRICS_REPORTING = "metrics_reporting"; 549 public static final String PRIVACY_METRICS_IN_SAMPLE = "in_metrics_sample"; 550 public static final String PRIVACY_NETWORK_PREDICTIONS = "network_predictions"; 551 public static final String PRIVACY_BANDWIDTH_OLD = "prefetch_bandwidth"; 552 public static final String PRIVACY_BANDWIDTH_NO_CELLULAR_OLD = "prefetch_bandwidth_no_cellular"; 553 public static final String PRIVACY_ALLOW_PRERENDER_OLD = "allow_prefetch"; 554 555 public static final String PROFILES_BOOT_TIMESTAMP = 556 "com.google.android.apps.chrome.ChromeMobileApplication.BOOT_TIMESTAMP"; 557 558 /** 559 * Key prefix for base promo component. Used in {@link 560 * org.chromium.components.browser_ui.widget.promo.PromoCardCoordinator} to store related state 561 * or statistics. 562 */ 563 public static final KeyPrefix PROMO_IS_DISMISSED = 564 new KeyPrefix("Chrome.PromoCard.IsDismissed.*"); 565 public static final KeyPrefix PROMO_TIMES_SEEN = new KeyPrefix("Chrome.PromoCard.TimesSeen.*"); 566 567 /** 568 * Whether the promotion for data reduction has been skipped on first invocation. 569 * Default value is false. 570 */ 571 public static final String PROMOS_SKIPPED_ON_FIRST_START = "promos_skipped_on_first_start"; 572 573 /** 574 * Contains a trial group that was used to determine whether the reached code profiler should be 575 * enabled. 576 */ 577 public static final String REACHED_CODE_PROFILER_GROUP = "reached_code_profiler_group"; 578 579 public static final String RLZ_NOTIFIED = "rlz_first_search_notified"; 580 581 /** Key used to store the default Search Engine Type before choice is presented. */ 582 public static final String SEARCH_ENGINE_CHOICE_DEFAULT_TYPE_BEFORE = 583 "search_engine_choice_default_type_before"; 584 /** Key used to store the version of Chrome in which the choice was presented. */ 585 public static final String SEARCH_ENGINE_CHOICE_PRESENTED_VERSION = 586 "search_engine_choice_presented_version"; 587 /** Key used to store the date of when search engine choice was requested. */ 588 public static final String SEARCH_ENGINE_CHOICE_REQUESTED_TIMESTAMP = 589 "search_engine_choice_requested_timestamp"; 590 591 public static final String SEARCH_WIDGET_IS_VOICE_SEARCH_AVAILABLE = 592 "org.chromium.chrome.browser.searchwidget.IS_VOICE_SEARCH_AVAILABLE"; 593 public static final String SEARCH_WIDGET_NUM_CONSECUTIVE_CRASHES = 594 "org.chromium.chrome.browser.searchwidget.NUM_CONSECUTIVE_CRASHES"; 595 public static final String SEARCH_WIDGET_SEARCH_ENGINE_SHORTNAME = 596 "org.chromium.chrome.browser.searchwidget.SEARCH_ENGINE_SHORTNAME"; 597 598 // Tracks which GUIDs there is an active notification for. 599 public static final String SEND_TAB_TO_SELF_ACTIVE_NOTIFICATIONS = 600 "send_tab_to_self.notification.active"; 601 public static final String SEND_TAB_TO_SELF_NEXT_NOTIFICATION_ID = 602 "send_tab_to_self.notification.next_id"; 603 604 public static final String SETTINGS_DEVELOPER_ENABLED = "developer"; 605 public static final String SETTINGS_DEVELOPER_TRACING_CATEGORIES = "tracing_categories"; 606 public static final String SETTINGS_DEVELOPER_TRACING_MODE = "tracing_mode"; 607 608 /** 609 * SharedPreference name for the preference that disables signing out of Chrome. 610 * Signing out is forever disabled once Chrome signs the user in automatically 611 * if the device has a child account or if the device is an Android EDU device. 612 */ 613 public static final String SETTINGS_SYNC_SIGN_OUT_ALLOWED = "auto_signed_in_school_account"; 614 615 public static final String SETTINGS_PRIVACY_OTHER_FORMS_OF_HISTORY_DIALOG_SHOWN = 616 "org.chromium.chrome.browser.settings.privacy." 617 + "PREF_OTHER_FORMS_OF_HISTORY_DIALOG_SHOWN"; 618 619 /** Stores the timestamp of the last performed Safety check. */ 620 public static final String SETTINGS_SAFETY_CHECK_LAST_RUN_TIMESTAMP = 621 "Chrome.SafetyCheck.LastRunTimestamp"; 622 623 /** Stores the number of times the user has performed Safety check. */ 624 public static final String SETTINGS_SAFETY_CHECK_RUN_COUNTER = "Chrome.SafetyCheck.RunCounter"; 625 626 public static final String SETTINGS_WEBSITE_FAILED_BUILD_VERSION = 627 "ManagedSpace.FailedBuildVersion"; 628 629 public static final String SHARING_LAST_SHARED_CLASS_NAME = "last_shared_class_name"; 630 public static final String SHARING_LAST_SHARED_PACKAGE_NAME = "last_shared_package_name"; 631 632 public static final String SIGNIN_ACCOUNTS_CHANGED = "prefs_sync_accounts_changed"; 633 634 /** 635 * Holds the new account's name if the currently signed in account has been renamed. 636 */ 637 public static final String SIGNIN_ACCOUNT_RENAMED = "prefs_sync_account_renamed"; 638 639 /** 640 * Holds the last read index of all the account changed events of the current signed in account. 641 */ 642 public static final String SIGNIN_ACCOUNT_RENAME_EVENT_INDEX = 643 "prefs_sync_account_rename_event_index"; 644 645 /** 646 * Generic signin and sync promo preferences. 647 */ 648 public static final String SIGNIN_AND_SYNC_PROMO_SHOW_COUNT = 649 "enhanced_bookmark_signin_promo_show_count"; 650 651 public static final String SIGNIN_PROMO_IMPRESSIONS_COUNT_BOOKMARKS = 652 "signin_promo_impressions_count_bookmarks"; 653 public static final String SIGNIN_PROMO_IMPRESSIONS_COUNT_NTP = 654 "Chrome.SigninPromo.NTPImpressions"; 655 public static final String SIGNIN_PROMO_IMPRESSIONS_COUNT_SETTINGS = 656 "signin_promo_impressions_count_settings"; 657 public static final String SIGNIN_PROMO_LAST_SHOWN_ACCOUNT_NAMES = 658 "signin_promo_last_shown_account_names"; 659 public static final String SIGNIN_PROMO_LAST_SHOWN_MAJOR_VERSION = 660 "signin_promo_last_shown_chrome_version"; 661 /** 662 * Whether the user dismissed the personalized sign in promo from the new tab page. 663 * Default value is false. 664 */ 665 public static final String SIGNIN_PROMO_NTP_PROMO_DISMISSED = 666 "ntp.personalized_signin_promo_dismissed"; 667 public static final String SIGNIN_PROMO_NTP_PROMO_SUPPRESSION_PERIOD_START = 668 "ntp.signin_promo_suppression_period_start"; 669 /** 670 * Personalized signin promo preference. 671 */ 672 public static final String SIGNIN_PROMO_PERSONALIZED_DECLINED = 673 "signin_promo_bookmarks_declined"; 674 /** 675 * Whether the user dismissed the personalized sign in promo from the Settings. 676 * Default value is false. 677 */ 678 public static final String SIGNIN_PROMO_SETTINGS_PERSONALIZED_DISMISSED = 679 "settings_personalized_signin_promo_dismissed"; 680 681 // TODO(https://crbug.com/1091858): Remove this after migrating the legacy code that uses 682 // the sync account before the native is loaded. 683 public static final String SIGNIN_LEGACY_SYNC_ACCOUNT_EMAIL = "google.services.username"; 684 685 public static final String SNAPSHOT_DATABASE_REMOVED = "snapshot_database_removed"; 686 687 public static final String SURVEY_DATE_LAST_ROLLED = "last_rolled_for_chrome_survey_key"; 688 /** 689 * The survey questions for this survey are the same as those in the survey used for Chrome 690 * Home, so we reuse the old infobar key to prevent the users from seeing the same survey more 691 * than once. 692 */ 693 public static final String SURVEY_INFO_BAR_DISPLAYED = "chrome_home_survey_info_bar_displayed"; 694 695 public static final String SYNC_SESSIONS_UUID = "chromium.sync.sessions.id"; 696 697 public static final String TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF = 698 "ChromeTabbedActivity.BackgroundTimeMs"; 699 700 public static final String TABMODEL_ACTIVE_TAB_ID = 701 "org.chromium.chrome.browser.tabmodel.TabPersistentStore.ACTIVE_TAB_ID"; 702 public static final String TABMODEL_HAS_COMPUTED_MAX_ID = 703 "org.chromium.chrome.browser.tabmodel.TabPersistentStore.HAS_COMPUTED_MAX_ID"; 704 public static final String TABMODEL_HAS_RUN_FILE_MIGRATION = 705 "org.chromium.chrome.browser.tabmodel.TabPersistentStore.HAS_RUN_FILE_MIGRATION"; 706 public static final String TABMODEL_HAS_RUN_MULTI_INSTANCE_FILE_MIGRATION = 707 "org.chromium.chrome.browser.tabmodel.TabPersistentStore." 708 + "HAS_RUN_MULTI_INSTANCE_FILE_MIGRATION"; 709 710 public static final String TAB_ID_MANAGER_NEXT_ID = 711 "org.chromium.chrome.browser.tab.TabIdManager.NEXT_ID"; 712 713 public static final String TOS_ACKED_ACCOUNTS = "ToS acknowledged accounts"; 714 715 /** 716 * Keys for deferred recording of the outcomes of showing the clear data dialog after 717 * Trusted Web Activity client apps are uninstalled or have their data cleared. 718 */ 719 public static final String TWA_DIALOG_NUMBER_OF_DISMISSALS_ON_CLEAR_DATA = 720 "twa_dialog_number_of_dismissals_on_clear_data"; 721 public static final String TWA_DIALOG_NUMBER_OF_DISMISSALS_ON_UNINSTALL = 722 "twa_dialog_number_of_dismissals_on_uninstall"; 723 public static final String TWA_DISCLOSURE_ACCEPTED_PACKAGES = 724 "trusted_web_activity_disclosure_accepted_packages"; 725 public static final String TWA_DISCLOSURE_SEEN_PACKAGES = 726 "Chrome.TrustedWebActivities.DisclosureAcceptedPackages"; 727 728 /** 729 * Whether or not darken websites is enabled. 730 * Default value is false. 731 */ 732 public static final String UI_THEME_DARKEN_WEBSITES_ENABLED = "darken_websites_enabled"; 733 /** 734 * The current theme setting in the user settings. 735 * Default value is -1. Use NightModeUtils#getThemeSetting() to retrieve current setting or 736 * default theme. 737 */ 738 public static final String UI_THEME_SETTING = "ui_theme_setting"; 739 740 public static final String VERIFIED_DIGITAL_ASSET_LINKS = "verified_digital_asset_links"; 741 742 public static final String VIDEO_TUTORIALS_SHARE_URL_SET = "Chrome.VideoTutorials.ShareUrls"; 743 public static final String VR_EXIT_TO_2D_COUNT = "VR_EXIT_TO_2D_COUNT"; 744 public static final String VR_FEEDBACK_OPT_OUT = "VR_FEEDBACK_OPT_OUT"; 745 746 /** 747 * Whether VR assets component should be registered on startup. 748 * Default value is false. 749 */ 750 public static final String VR_SHOULD_REGISTER_ASSETS_COMPONENT_ON_STARTUP = 751 "should_register_vr_assets_component_on_startup"; 752 753 /** 754 * Name of the shared preference for the version number of the dynamically loaded dex. 755 */ 756 public static final String WEBAPK_EXTRACTED_DEX_VERSION = 757 "org.chromium.chrome.browser.webapps.extracted_dex_version"; 758 759 /** 760 * Name of the shared preference for the Android OS version at the time that the dex was last 761 * extracted from Chrome's assets and optimized. 762 */ 763 public static final String WEBAPK_LAST_SDK_VERSION = 764 "org.chromium.chrome.browser.webapps.last_sdk_version"; 765 766 /** Key for deferred recording of list of uninstalled WebAPK packages. */ 767 public static final String WEBAPK_UNINSTALLED_PACKAGES = "webapk_uninstalled_packages"; 768 769 /** Cached Suggestions and Suggestion Headers. */ 770 public static final String KEY_ZERO_SUGGEST_LIST_SIZE = "zero_suggest_list_size"; 771 public static final KeyPrefix KEY_ZERO_SUGGEST_URL_PREFIX = new KeyPrefix("zero_suggest_url*"); 772 public static final KeyPrefix KEY_ZERO_SUGGEST_DISPLAY_TEXT_PREFIX = 773 new KeyPrefix("zero_suggest_display_text*"); 774 public static final KeyPrefix KEY_ZERO_SUGGEST_DESCRIPTION_PREFIX = 775 new KeyPrefix("zero_suggest_description*"); 776 public static final KeyPrefix KEY_ZERO_SUGGEST_NATIVE_TYPE_PREFIX = 777 new KeyPrefix("zero_suggest_native_type*"); 778 public static final KeyPrefix KEY_ZERO_SUGGEST_NATIVE_SUBTYPES_PREFIX = 779 new KeyPrefix("zero_suggest_native_subtypes*"); 780 public static final KeyPrefix KEY_ZERO_SUGGEST_IS_SEARCH_TYPE_PREFIX = 781 new KeyPrefix("zero_suggest_is_search*"); 782 public static final KeyPrefix KEY_ZERO_SUGGEST_ANSWER_TEXT_PREFIX = 783 new KeyPrefix("zero_suggest_answer_text*"); 784 public static final KeyPrefix KEY_ZERO_SUGGEST_GROUP_ID_PREFIX = 785 new KeyPrefix("zero_suggest_group_id*"); 786 @Deprecated 787 public static final KeyPrefix KEY_ZERO_SUGGEST_IS_DELETABLE_PREFIX = 788 new KeyPrefix("zero_suggest_is_deletable*"); 789 public static final KeyPrefix KEY_ZERO_SUGGEST_IS_STARRED_PREFIX = 790 new KeyPrefix("zero_suggest_is_starred*"); 791 public static final KeyPrefix KEY_ZERO_SUGGEST_POST_CONTENT_TYPE_PREFIX = 792 new KeyPrefix("zero_suggest_post_content_type*"); 793 public static final KeyPrefix KEY_ZERO_SUGGEST_POST_CONTENT_DATA_PREFIX = 794 new KeyPrefix("zero_suggest_post_content_data*"); 795 public static final String KEY_ZERO_SUGGEST_HEADER_LIST_SIZE = "zero_suggest_header_list_size"; 796 public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_ID_PREFIX = 797 new KeyPrefix("zero_suggest_header_group_id*"); 798 public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_TITLE_PREFIX = 799 new KeyPrefix("zero_suggest_header_group_title*"); 800 public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_COLLAPSED_BY_DEFAULT_PREFIX = 801 new KeyPrefix("zero_suggest_header_group_collapsed_by_default*"); 802 803 /** 804 * These values are currently used as SharedPreferences keys, along with the keys in 805 * {@link GrandfatheredChromePreferenceKeys#getKeysInUse()}. Add new SharedPreferences keys 806 * here. 807 * 808 * @return The list of [keys in use] conforming to the format. 809 */ 810 @CheckDiscard("Validation is performed in tests and in debug builds.") getKeysInUse()811 static List<String> getKeysInUse() { 812 // clang-format off 813 return Arrays.asList( 814 ACCOUNT_PICKER_BOTTOM_SHEET_SHOWN_COUNT, 815 ASSISTANT_LAST_VERSION, 816 ASSISTANT_VOICE_SEARCH_ENABLED, 817 ASSISTANT_VOICE_SEARCH_SUPPORTED, 818 AUTOFILL_ASSISTANT_FIRST_TIME_LITE_SCRIPT_USER, 819 AUTOFILL_ASSISTANT_NUMBER_OF_LITE_SCRIPTS_CANCELED, 820 AUTOFILL_ASSISTANT_PROACTIVE_HELP, 821 APPLICATION_OVERRIDE_LANGUAGE, 822 CLIPBOARD_SHARED_URI, 823 CONDITIONAL_TAB_STRIP_CONTINUOUS_DISMISS_COUNTER, 824 CONDITIONAL_TAB_STRIP_FEATURE_STATUS, 825 CONDITIONAL_TAB_STRIP_LAST_SHOWN_TIMESTAMP, 826 CONDITIONAL_TAB_STRIP_OPT_OUT, 827 CONTEXT_MENU_OPEN_IMAGE_IN_EPHEMERAL_TAB_CLICKED, 828 CONTEXT_MENU_OPEN_IN_EPHEMERAL_TAB_CLICKED, 829 CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS_CLICKED, 830 CONTEXT_MENU_SHOP_IMAGE_WITH_GOOGLE_LENS_CLICKED, 831 CONTEXT_MENU_SHOP_SIMILAR_PRODUCTS_CLICKED, 832 CONTEXT_MENU_SEARCH_SIMILAR_PRODUCTS_CLICKED, 833 CRYPTID_LAST_RENDER_TIMESTAMP, 834 DEFAULT_BROWSER_PROMO_LAST_DEFAULT_STATE, 835 DEFAULT_BROWSER_PROMO_LAST_PROMO_TIME, 836 DEFAULT_BROWSER_PROMO_PROMOED_BY_SYSTEM_SETTINGS, 837 DEFAULT_BROWSER_PROMO_PROMOED_COUNT, 838 DEFAULT_BROWSER_PROMO_SESSION_COUNT, 839 EXPLORE_OFFLINE_CONTENT_AVAILABILITY_STATUS, 840 FEED_ARTICLES_LIST_VISIBLE, 841 FEED_PLACEHOLDER_DENSE, 842 FLAGS_CACHED.pattern(), 843 FLAGS_FIELD_TRIAL_PARAM_CACHED.pattern(), 844 HOMEPAGE_LOCATION_POLICY, 845 HOMEPAGE_USE_CHROME_NTP, 846 IMAGE_DESCRIPTIONS_JUST_ONCE_COUNT, 847 IMAGE_DESCRIPTIONS_DONT_ASK_AGAIN, 848 PERSISTENT_OFFLINE_CONTENT_AVAILABILITY_STATUS, 849 PRICE_TRACKING_PRICE_WELCOME_MESSAGE_CARD, 850 PRICE_TRACKING_TRACK_PRICES_ON_TABS, 851 PROMO_IS_DISMISSED.pattern(), 852 PROMO_TIMES_SEEN.pattern(), 853 SETTINGS_SAFETY_CHECK_LAST_RUN_TIMESTAMP, 854 SETTINGS_SAFETY_CHECK_RUN_COUNTER, 855 SIGNIN_PROMO_IMPRESSIONS_COUNT_NTP, 856 TWA_DISCLOSURE_SEEN_PACKAGES, 857 VIDEO_TUTORIALS_SHARE_URL_SET 858 ); 859 // clang-format on 860 } 861 ChromePreferenceKeys()862 private ChromePreferenceKeys() {} 863 } 864