1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2025 The Android Open Source Project 4 ~ 5 ~ Licensed under the Apache License, Version 2.0 (the "License"); 6 ~ you may not use this file except in compliance with the License. 7 ~ You may obtain a copy of the License at 8 ~ 9 ~ http://www.apache.org/licenses/LICENSE-2.0 10 ~ 11 ~ Unless required by applicable law or agreed to in writing, software 12 ~ distributed under the License is distributed on an "AS IS" BASIS, 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ~ See the License for the specific language governing permissions and 15 ~ limitations under the License. 16 --> 17<LinearLayout 18 xmlns:android="http://schemas.android.com/apk/res/android" 19 xmlns:tools="http://schemas.android.com/tools" 20 android:id="@+id/container" 21 android:orientation="vertical" 22 android:layout_width="match_parent" 23 android:layout_height="match_parent"> 24 <ScrollView 25 android:layout_width="match_parent" 26 android:layout_height="0px" 27 android:layout_weight="1"> 28 29 <LinearLayout 30 android:orientation="vertical" 31 android:padding="16dp" 32 android:layout_width="match_parent" 33 android:layout_height="wrap_content" 34 > 35 36 <TextView 37 android:layout_width="match_parent" 38 android:layout_height="wrap_content" 39 style="@style/title" 40 android:text="Media" 41 /> 42 43 <RadioGroup 44 android:id="@+id/media_selection" 45 android:layout_width="match_parent" 46 android:layout_height="wrap_content" 47 android:orientation="horizontal"> 48 <RadioButton 49 android:id="@+id/no_media" 50 android:layout_width="wrap_content" 51 android:layout_height="wrap_content" 52 android:text="Nothing" 53 /> 54 <RadioButton 55 android:id="@+id/one_image" 56 android:layout_width="wrap_content" 57 android:layout_height="wrap_content" 58 android:text="One Image" 59 /> 60 <RadioButton 61 android:id="@+id/many_images" 62 android:layout_width="wrap_content" 63 android:layout_height="wrap_content" 64 android:text="Many Images" 65 /> 66 </RadioGroup> 67 68 <CheckBox 69 android:id="@+id/shareousel" 70 android:layout_width="match_parent" 71 android:layout_height="wrap_content" 72 android:text="Enable Shareousel" 73 /> 74 75 <CheckBox 76 android:id="@+id/alt_intent" 77 android:layout_width="match_parent" 78 android:layout_height="wrap_content" 79 android:text="Include Alternate Share Text Intent" 80 /> 81 82 <CheckBox 83 android:id="@+id/image_size_metadata" 84 android:layout_width="match_parent" 85 android:layout_height="wrap_content" 86 android:checked="true" 87 android:text="Report image size in metadata" 88 /> 89 90 <TextView 91 android:id="@+id/media_type_header" 92 android:layout_width="match_parent" 93 android:layout_height="wrap_content" 94 style="@style/subtitle" 95 android:text="Media Type" 96 /> 97 98 <Spinner 99 android:id="@+id/media_type_selection" 100 android:layout_width="match_parent" 101 android:layout_height="wrap_content" 102 android:layout_marginTop="8dp" 103 android:layout_marginBottom="8dp" /> 104 105 <TextView 106 android:layout_width="match_parent" 107 android:layout_height="wrap_content" 108 style="@style/title" 109 android:text="Text" 110 /> 111 112 <RadioGroup 113 android:id="@+id/text_selection" 114 android:layout_width="match_parent" 115 android:layout_height="wrap_content" 116 android:orientation="horizontal"> 117 <RadioButton 118 android:id="@+id/no_text" 119 android:layout_width="wrap_content" 120 android:layout_height="wrap_content" 121 android:text="Nothing" 122 /> 123 <RadioButton 124 android:id="@+id/short_text" 125 android:layout_width="wrap_content" 126 android:layout_height="wrap_content" 127 android:text="Short" 128 /> 129 <RadioButton 130 android:id="@+id/long_text" 131 android:layout_width="wrap_content" 132 android:layout_height="wrap_content" 133 android:text="Long" 134 /> 135 <RadioButton 136 android:id="@+id/url_text" 137 android:layout_width="wrap_content" 138 android:layout_height="wrap_content" 139 android:text="URL" 140 /> 141 142 </RadioGroup> 143 144 <LinearLayout 145 android:layout_width="match_parent" 146 android:layout_height="wrap_content" 147 android:orientation="horizontal"> 148 149 <LinearLayout 150 android:layout_width="0dp" 151 android:layout_height="wrap_content" 152 android:layout_weight="1" 153 android:orientation="vertical"> 154 155 <CheckBox 156 android:id="@+id/include_title" 157 android:layout_width="wrap_content" 158 android:layout_height="wrap_content" 159 android:text="Include Title" 160 /> 161 162 <CheckBox 163 android:id="@+id/include_icon" 164 android:layout_width="wrap_content" 165 android:layout_height="wrap_content" 166 android:text="Include Icon" /> 167 </LinearLayout> 168 169 <LinearLayout 170 android:layout_width="0dp" 171 android:layout_height="wrap_content" 172 android:layout_weight="1" 173 android:orientation="vertical"> 174 175 <CheckBox 176 android:id="@+id/use_rich_text" 177 android:layout_width="wrap_content" 178 android:layout_height="wrap_content" 179 android:text="Use Rich Text" /> 180 181 <CheckBox 182 android:id="@+id/album_text" 183 android:layout_width="wrap_content" 184 android:layout_height="wrap_content" 185 android:text="Mark as Album" /> 186 </LinearLayout> 187 </LinearLayout> 188 189 <TextView 190 android:layout_width="match_parent" 191 android:layout_height="wrap_content" 192 style="@style/title" 193 android:text="Actions" 194 /> 195 196 <RadioGroup 197 android:id="@+id/action_selection" 198 android:layout_width="match_parent" 199 android:layout_height="wrap_content" 200 android:orientation="horizontal"> 201 <RadioButton 202 android:id="@+id/no_actions" 203 android:layout_width="wrap_content" 204 android:layout_height="wrap_content" 205 android:text="No Actions" 206 /> 207 <RadioButton 208 android:id="@+id/one_action" 209 android:layout_width="wrap_content" 210 android:layout_height="wrap_content" 211 android:text="One Action" 212 /> 213 <RadioButton 214 android:id="@+id/five_actions" 215 android:layout_width="wrap_content" 216 android:layout_height="wrap_content" 217 android:text="Five Actions" 218 /> 219 </RadioGroup> 220 221 <CheckBox 222 android:id="@+id/include_modify_share" 223 android:layout_width="match_parent" 224 android:layout_height="wrap_content" 225 android:text="Include Modify Share" 226 /> 227 228 <TextView 229 android:layout_width="match_parent" 230 android:layout_height="wrap_content" 231 style="@style/title" 232 android:text="Metadata" 233 /> 234 235 <EditText 236 android:id="@+id/metadata" 237 android:layout_width="match_parent" 238 android:layout_height="wrap_content" 239 /> 240 241 <TextView 242 android:layout_width="match_parent" 243 android:layout_height="wrap_content" 244 style="@style/title" 245 android:text="Advanced Options" 246 /> 247 248 <TextView 249 android:layout_width="match_parent" 250 android:layout_height="wrap_content" 251 style="@style/subtitle" 252 android:text="Average image loading latency" 253 /> 254 255 <RadioGroup 256 android:id="@+id/image_latency" 257 android:layout_width="match_parent" 258 android:layout_height="wrap_content" 259 android:orientation="horizontal"> 260 <RadioButton 261 android:id="@+id/image_latency_none" 262 android:layout_width="wrap_content" 263 android:layout_height="wrap_content" 264 android:text="None" 265 /> 266 <RadioButton 267 android:id="@+id/image_latency_50" 268 android:layout_width="wrap_content" 269 android:layout_height="wrap_content" 270 android:text="50ms" 271 /> 272 <RadioButton 273 android:id="@+id/image_latency_200" 274 android:layout_width="wrap_content" 275 android:layout_height="wrap_content" 276 android:text="200ms" 277 /> 278 <RadioButton 279 android:id="@+id/image_latency_800" 280 android:layout_width="wrap_content" 281 android:layout_height="wrap_content" 282 android:text="800ms" 283 /> 284 </RadioGroup> 285 286 <TextView 287 android:layout_width="match_parent" 288 android:layout_height="wrap_content" 289 style="@style/subtitle" 290 android:text="Average image get type latency" 291 /> 292 293 <RadioGroup 294 android:id="@+id/image_get_type_latency" 295 android:layout_width="match_parent" 296 android:layout_height="wrap_content" 297 android:orientation="horizontal"> 298 <RadioButton 299 android:id="@+id/image_get_type_latency_none" 300 android:layout_width="wrap_content" 301 android:layout_height="wrap_content" 302 android:text="None" 303 /> 304 <RadioButton 305 android:id="@+id/image_get_type_latency_50" 306 android:layout_width="wrap_content" 307 android:layout_height="wrap_content" 308 android:text="50ms" 309 /> 310 <RadioButton 311 android:id="@+id/image_get_type_latency_200" 312 android:layout_width="wrap_content" 313 android:layout_height="wrap_content" 314 android:text="200ms" 315 /> 316 <RadioButton 317 android:id="@+id/image_get_type_latency_800" 318 android:layout_width="wrap_content" 319 android:layout_height="wrap_content" 320 android:text="800ms" 321 /> 322 </RadioGroup> 323 324 <TextView 325 android:layout_width="match_parent" 326 android:layout_height="wrap_content" 327 style="@style/subtitle" 328 android:text="Average metadata latency" 329 /> 330 331 <RadioGroup 332 android:id="@+id/image_query_latency" 333 android:layout_width="match_parent" 334 android:layout_height="wrap_content" 335 android:orientation="horizontal"> 336 <RadioButton 337 android:id="@+id/image_query_latency_none" 338 android:layout_width="wrap_content" 339 android:layout_height="wrap_content" 340 android:text="None" 341 /> 342 <RadioButton 343 android:id="@+id/image_query_latency_50" 344 android:layout_width="wrap_content" 345 android:layout_height="wrap_content" 346 android:text="50ms" 347 /> 348 <RadioButton 349 android:id="@+id/image_query_latency_200" 350 android:layout_width="wrap_content" 351 android:layout_height="wrap_content" 352 android:text="200ms" 353 /> 354 <RadioButton 355 android:id="@+id/image_query_latency_800" 356 android:layout_width="wrap_content" 357 android:layout_height="wrap_content" 358 android:text="800ms" 359 /> 360 </RadioGroup> 361 <TextView 362 android:layout_width="match_parent" 363 android:layout_height="wrap_content" 364 style="@style/subtitle" 365 android:text="Average selection latency" 366 /> 367 368 <RadioGroup 369 android:id="@+id/selection_latency" 370 android:layout_width="match_parent" 371 android:layout_height="wrap_content" 372 android:orientation="horizontal"> 373 <RadioButton 374 android:id="@+id/selection_latency_none" 375 android:layout_width="wrap_content" 376 android:layout_height="wrap_content" 377 android:text="None" 378 /> 379 <RadioButton 380 android:id="@+id/selection_latency_50" 381 android:layout_width="wrap_content" 382 android:layout_height="wrap_content" 383 android:text="50ms" 384 /> 385 <RadioButton 386 android:id="@+id/selection_latency_200" 387 android:layout_width="wrap_content" 388 android:layout_height="wrap_content" 389 android:text="200ms" 390 /> 391 <RadioButton 392 android:id="@+id/selection_latency_800" 393 android:layout_width="wrap_content" 394 android:layout_height="wrap_content" 395 android:text="800ms" 396 /> 397 </RadioGroup> 398 399 <TextView 400 android:layout_width="match_parent" 401 android:layout_height="wrap_content" 402 style="@style/subtitle" 403 android:text="Image load failure probability" 404 /> 405 406 <RadioGroup 407 android:id="@+id/image_load_failure_rate" 408 android:layout_width="match_parent" 409 android:layout_height="wrap_content" 410 android:orientation="horizontal"> 411 <RadioButton 412 android:id="@+id/image_load_failure_rate_none" 413 android:layout_width="wrap_content" 414 android:layout_height="wrap_content" 415 android:text="None" 416 /> 417 <RadioButton 418 android:id="@+id/image_load_failure_rate_50" 419 android:layout_width="wrap_content" 420 android:layout_height="wrap_content" 421 android:text="50%" 422 /> 423 <RadioButton 424 android:id="@+id/image_load_failure_rate_100" 425 android:layout_width="wrap_content" 426 android:layout_height="wrap_content" 427 android:text="100%" 428 /> 429 </RadioGroup> 430 <TextView 431 android:layout_width="match_parent" 432 android:layout_height="wrap_content" 433 style="@style/subtitle" 434 android:text="Refinement" 435 /> 436 <CheckBox 437 android:id="@+id/use_refinement" 438 android:layout_width="match_parent" 439 android:layout_height="wrap_content" 440 android:text="Use Refinement" 441 /> 442 443 <TextView 444 android:layout_width="match_parent" 445 android:layout_height="wrap_content" 446 style="@style/subtitle" 447 android:text="Caller Target" 448 /> 449 <CheckBox 450 android:id="@+id/caller_direct_target" 451 android:layout_width="match_parent" 452 android:layout_height="wrap_content" 453 android:text="Include Caller Direct Target" 454 /> 455 456 <TextView 457 android:layout_width="match_parent" 458 android:layout_height="wrap_content" 459 style="@style/subtitle" 460 android:text="Exclude Targets" 461 /> 462 <CheckBox 463 android:id="@+id/exclude_self" 464 android:layout_width="match_parent" 465 android:layout_height="wrap_content" 466 android:text="Exclude self from targets (for Shareousel payload change: set for an odd number of items)" 467 /> 468 </LinearLayout> 469 </ScrollView> 470 <Button 471 android:id="@+id/share" 472 android:layout_width="match_parent" 473 android:layout_height="wrap_content" 474 android:text="Share" 475 android:padding="20dp" 476 android:textSize="28sp" 477 /> 478</LinearLayout> 479