1 /** 2 * Copyright (C) 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.internal.config.sysui; 18 19 /** 20 * Keeps the flags related to the SystemUI namespace in {@link DeviceConfig}. 21 * 22 * @hide 23 */ 24 public final class SystemUiDeviceConfigFlags { 25 26 // Flags related to NotificationAssistant 27 28 /** 29 * Whether the Notification Assistant should generate replies for notifications. 30 */ 31 public static final String NAS_GENERATE_REPLIES = "nas_generate_replies"; 32 33 /** 34 * Whether the Notification Assistant should generate contextual actions for notifications. 35 */ 36 public static final String NAS_GENERATE_ACTIONS = "nas_generate_actions"; 37 38 /** 39 * The maximum number of messages the Notification Assistant should extract from a 40 * conversation when constructing responses for that conversation. 41 */ 42 public static final String NAS_MAX_MESSAGES_TO_EXTRACT = "nas_max_messages_to_extract"; 43 44 /** 45 * The maximum number of suggestions the Notification Assistant should provide for a 46 * messaging conversation. 47 */ 48 public static final String NAS_MAX_SUGGESTIONS = "nas_max_suggestions"; 49 50 // Flags related to Smart Suggestions - these are read in SmartReplyConstants. 51 52 /** (boolean) Whether to enable smart suggestions in notifications. */ 53 public static final String SSIN_ENABLED = "ssin_enabled"; 54 55 /** 56 * (boolean) Whether apps need to target at least P to provide their own smart replies (this 57 * doesn't apply to actions!). 58 */ 59 public static final String SSIN_REQUIRES_TARGETING_P = "ssin_requires_targeting_p"; 60 61 /** 62 * (int) The number of times we'll try to find a better line-break for double-line smart 63 * suggestion buttons. 64 */ 65 public static final String SSIN_MAX_SQUEEZE_REMEASURE_ATTEMPTS = 66 "ssin_max_squeeze_remeasure_attempts"; 67 68 /** (boolean) Whether to let the user edit smart replies before sending. */ 69 public static final String SSIN_EDIT_CHOICES_BEFORE_SENDING = 70 "ssin_edit_choices_before_sending"; 71 72 /** (boolean) Whether smart suggestions should be enabled in heads-up notifications. */ 73 public static final String SSIN_SHOW_IN_HEADS_UP = "ssin_show_in_heads_up"; 74 75 /** (int) Minimum number of system generated replies to show in a notification. */ 76 public static final String SSIN_MIN_NUM_SYSTEM_GENERATED_REPLIES = 77 "ssin_min_num_system_generated_replies"; 78 79 /** 80 * (int) Maximum number of actions to show in a notification, -1 if there shouldn't be a limit 81 */ 82 public static final String SSIN_MAX_NUM_ACTIONS = "ssin_max_num_actions"; 83 84 /** 85 * (int) The amount of time (ms) before smart suggestions are clickable, since the suggestions 86 * were added. 87 */ 88 public static final String SSIN_ONCLICK_INIT_DELAY = "ssin_onclick_init_delay"; 89 90 /** 91 * The default component of 92 * {@link android.service.notification.NotificationAssistantService}. 93 */ 94 public static final String NAS_DEFAULT_SERVICE = "nas_default_service"; 95 96 // Flags related to media notifications 97 98 /** 99 * (boolean) If {@code true}, enables the seekbar in compact media notifications. 100 */ 101 public static final String COMPACT_MEDIA_SEEKBAR_ENABLED = 102 "compact_media_notification_seekbar_enabled"; 103 104 /** 105 * (int) Maximum number of days to retain the salt for hashing direct share targets in logging 106 */ 107 public static final String HASH_SALT_MAX_DAYS = "hash_salt_max_days"; 108 109 // Flags related to Assistant Handles 110 111 /** 112 * (String) Which behavior mode for the Assistant Handles to use. 113 */ 114 public static final String ASSIST_HANDLES_BEHAVIOR_MODE = "assist_handles_behavior_mode"; 115 116 /** 117 * (long) How long, in milliseconds, to display Assist Handles when showing them temporarily. 118 */ 119 public static final String ASSIST_HANDLES_SHOW_AND_GO_DURATION_MS = 120 "assist_handles_show_and_go_duration_ms"; 121 122 /** 123 * (long) How long, in milliseconds, to wait before showing the Assist Handles temporarily when 124 * performing a short delayed show. 125 */ 126 public static final String ASSIST_HANDLES_SHOW_AND_GO_DELAYED_SHORT_DELAY_MS = 127 "assist_handles_show_and_go_delayed_short_delay_ms"; 128 129 /** 130 * (long) How long, in milliseconds, to wait before showing the Assist Handles temporarily when 131 * performing a long delayed show. 132 */ 133 public static final String ASSIST_HANDLES_SHOW_AND_GO_DELAYED_LONG_DELAY_MS = 134 "assist_handles_show_and_go_delayed_long_delay_ms"; 135 136 /** 137 * (long) How long, in milliseconds, to wait before resetting delayed show delay times. 138 */ 139 public static final String ASSIST_HANDLES_SHOW_AND_GO_DELAY_RESET_TIMEOUT_MS = 140 "assist_handles_show_and_go_delay_reset_timeout_ms"; 141 142 /** 143 * (long) How long, in milliseconds, to wait before displaying Assist Handles temporarily after 144 * hiding them. 145 */ 146 public static final String ASSIST_HANDLES_SHOWN_FREQUENCY_THRESHOLD_MS = 147 "assist_handles_shown_frequency_threshold_ms"; 148 149 /** 150 * (long) How long, in milliseconds, for teaching behaviors to wait before considering the user 151 * taught. 152 */ 153 public static final String ASSIST_HANDLES_LEARN_TIME_MS = "assist_handles_learn_time_ms"; 154 155 /** 156 * (int) How many times for teaching behaviors to see the user perform an action to consider it 157 * taught. 158 */ 159 public static final String ASSIST_HANDLES_LEARN_COUNT = "assist_handles_learn_count"; 160 161 /** 162 * (bool) Whether to suppress handles on lockscreen." 163 */ 164 public static final String ASSIST_HANDLES_SUPPRESS_ON_LOCKSCREEN = 165 "assist_handles_suppress_on_lockscreen"; 166 167 /** 168 * (bool) Whether to suppress handles on launcher." 169 */ 170 public static final String ASSIST_HANDLES_SUPPRESS_ON_LAUNCHER = 171 "assist_handles_suppress_on_launcher"; 172 173 /** 174 * (bool) Whether to suppress handles on apps." 175 */ 176 public static final String ASSIST_HANDLES_SUPPRESS_ON_APPS = 177 "assist_handles_suppress_on_apps"; 178 179 /** 180 * (bool) Whether to show handles when taught. 181 */ 182 public static final String ASSIST_HANDLES_SHOW_WHEN_TAUGHT = "assist_handles_show_when_taught"; 183 184 /** 185 * (bool) Whether to use the new BrightLineFalsingManager. 186 */ 187 public static final String BRIGHTLINE_FALSING_MANAGER_ENABLED = 188 "brightline_falsing_manager_enabled"; 189 /** 190 * (float) Maximum fraction of the screen required to qualify as a real swipe. 191 */ 192 public static final String BRIGHTLINE_FALSING_DISTANCE_SCREEN_FRACTION_MAX_DISTANCE = 193 "brightline_falsing_distance_screen_fraction_max_distance"; 194 195 /** 196 * (float) Multiplier for swipe velocity to convert it to pixels for a fling. 197 */ 198 public static final String BRIGHTLINE_FALSING_DISTANCE_VELOCITY_TO_DISTANCE = 199 "brightline_falsing_distance_velcoity_to_distance"; 200 201 /** 202 * (float) How far, in inches, must a fling travel horizontally to qualify as intentional. 203 */ 204 public static final String BRIGHTLINE_FALSING_DISTANCE_HORIZONTAL_FLING_THRESHOLD_IN = 205 "brightline_falsing_distance_horizontal_fling_threshold_in"; 206 207 /** 208 * (float) Maximum fraction of the screen required to qualify as a real swipe. 209 */ 210 public static final String BRIGHTLINE_FALSING_DISTANCE_VERTICAL_FLING_THRESHOLD_IN = 211 "brightline_falsing_distance_vertical_fling_threshold_in"; 212 213 /** 214 * (float) How far, in inches, must a continuous swipe travel horizontally to be intentional. 215 */ 216 public static final String BRIGHTLINE_FALSING_DISTANCE_HORIZONTAL_SWIPE_THRESHOLD_IN = 217 "brightline_falsing_distance_horizontal_swipe_threshold_in"; 218 219 /** 220 * (float) How far, in inches, must a continuous swipe travel vertically to be intentional. 221 */ 222 public static final String BRIGHTLINE_FALSING_DISTANCE_VERTICAL_SWIPE_THRESHOLD_IN = 223 "brightline_falsing_distance_horizontal_swipe_threshold_in"; 224 225 /** 226 * (float) Percentage of swipe with the proximity sensor covered that triggers a higher 227 * swipe distance requirement. 228 */ 229 public static final String BRIGHTLINE_FALSING_PROXIMITY_PERCENT_COVERED_THRESHOLD = 230 "brightline_falsing_proximity_percent_covered_threshold"; 231 232 /** 233 * (float) Angle, in radians, that a swipe can vary from horizontal and sill be intentional. 234 */ 235 public static final String BRIGHTLINE_FALSING_DIAGONAL_HORIZONTAL_ANGLE_RANGE = 236 "brightline_falsing_diagonal_horizontal_angle_range"; 237 238 /** 239 * (float) Angle, in radians, that a swipe can vary from vertical and sill be intentional. 240 */ 241 public static final String BRIGHTLINE_FALSING_DIAGONAL_VERTICAL_ANGLE_RANGE = 242 "brightline_falsing_diagonal_horizontal_angle_range"; 243 244 /** 245 * (float) Distance, in inches, that a swipe is allowed to vary in the horizontal direction for 246 * horizontal swipes. 247 */ 248 public static final String BRIGHTLINE_FALSING_ZIGZAG_X_PRIMARY_DEVIANCE = 249 "brightline_falsing_zigzag_x_primary_deviance"; 250 251 /** 252 * (float) Distance, in inches, that a swipe is allowed to vary in the vertical direction for 253 * vertical swipes. 254 */ 255 public static final String BRIGHTLINE_FALSING_ZIGZAG_Y_PRIMARY_DEVIANCE = 256 "brightline_falsing_zigzag_y_primary_deviance"; 257 258 /** 259 * (float) Distance, in inches, that a swipe is allowed to vary in the horizontal direction for 260 * horizontal swipes. 261 */ 262 public static final String BRIGHTLINE_FALSING_ZIGZAG_X_SECONDARY_DEVIANCE = 263 "brightline_falsing_zigzag_x_secondary_deviance"; 264 265 /** 266 * (float) Distance, in inches, that a swipe is allowed to vary in the vertical direction for 267 * vertical swipes. 268 */ 269 public static final String BRIGHTLINE_FALSING_ZIGZAG_Y_SECONDARY_DEVIANCE = 270 "brightline_falsing_zigzag_y_secondary_deviance"; 271 272 SystemUiDeviceConfigFlags()273 private SystemUiDeviceConfigFlags() { } 274 } 275