1 /* 2 * Copyright (C) 2007 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.providers.settings; 18 19 import android.util.ArraySet; 20 21 import java.util.Arrays; 22 import java.util.Set; 23 24 /** 25 * Contains the list of prefixes for namespaces in which any flag can be written with adb. 26 * <p> 27 * A security review is required for any prefix that's added to this list. To add to 28 * the list, create a change and tag the OWNER. In the change description, include a 29 * description of the flag's functionality, and a justification for why it needs to be 30 * allowlisted. 31 */ 32 final class WritableNamespacePrefixes { 33 public static final Set<String> ALLOWLIST = 34 new ArraySet<String>(Arrays.asList( 35 "app_compat_overrides", 36 "game_overlay", 37 "namespace1", 38 "accessibility", 39 "activity_manager", 40 "activity_manager_native_boot", 41 "adaptive_charging", 42 "adservices", 43 "aiai_controlled_releases", 44 "alarm_manager", 45 "app_cloning", 46 "app_compat", 47 "app_compat_overrides", 48 "app_hibernation", 49 "app_standby", 50 "appsearch", 51 "arc_app_compat", 52 "astrea_controlled_releases", 53 "attention_manager_service", 54 "auto_pin_confirmation", 55 "autofill", 56 "backup_and_restore", 57 "base", 58 "battery_saver", 59 "biometrics", 60 "bluetooth", 61 "bluetooth_native", 62 "camera_native", 63 "captive_portal_login", 64 "car", 65 "cellular_security", 66 "clipboard", 67 "codegen_feature_flag_extractor", 68 "companion", 69 "configuration", 70 "connectivity", 71 "connectivity_thermal_power_manager", 72 "constrain_display_apis", 73 "content_capture", 74 "credential_manager", 75 "device_idle", 76 "device_personalization_services", 77 "device_policy_manager", 78 "devicelock", 79 "display_manager", 80 "dropbox", 81 "edgetpu_native", 82 "exo", 83 "flipendo", 84 "game_driver", 85 "game_overlay", 86 "gantry", 87 "halyard_demo", 88 "haptics", 89 "hdmi_control", 90 "health_fitness", 91 "input", 92 "input_method", 93 "input_native", 94 "input_native_boot", 95 "intelligence_bubbles", 96 "interaction_jank_monitor", 97 "ipsec", 98 "jobscheduler", 99 "kiwi", 100 "latency_tracker", 101 "launcher", 102 "launcher_lily", 103 "leaked_animator", 104 "lmkd_native", 105 "location", 106 "logcat_manager", 107 "low_power_standby", 108 "media", 109 "media_better_together", 110 "media_native", 111 "memory_safety_native", 112 "memory_safety_native_boot", 113 "mglru_native", 114 "nearby", 115 "netd_native", 116 "nnapi_native", 117 "notification_assistant", 118 "odad", 119 "on_device_abuse", 120 "on_device_personalization", 121 "oslo", 122 "ota", 123 "package_manager_service", 124 "permissions", 125 "privacy", 126 "private_compute_services", 127 "profcollect_native_boot", 128 "remote_auth", 129 "remote_key_provisioning_native", 130 "rollback", 131 "rollback_boot", 132 "rotation_resolver", 133 "runtime", 134 "runtime_native", 135 "runtime_native_boot", 136 "sdk_sandbox", 137 "settings_stats", 138 "shared", 139 "shared_native", 140 "shared_native_boot", 141 "statsd_java", 142 "statsd_java_boot", 143 "statsd_native", 144 "statsd_native_boot", 145 "storage_native_boot", 146 "surface_flinger_native_boot", 147 "swcodec_native", 148 "system_scheduler", 149 "system_server_watchdog", 150 "system_time", 151 "systemui", 152 "tare", 153 "telephony", 154 "testing", 155 "tethering", 156 "text", 157 "textclassifier", 158 "touchflow_native", 159 "tv_hdr_output_control", 160 "twoshay_native", 161 "uwb", 162 "vcn", 163 "vendor_system_native", 164 "vendor_system_native_boot", 165 "virtualization_framework_native", 166 "vpn", 167 "wallpaper_content", 168 "wear", 169 "wearable_sensing", 170 "widget", 171 "wifi", 172 "window_manager", 173 "window_manager_native_boot", 174 "wrong" 175 )); 176 } 177