1<?xml version="1.0" encoding="utf-8"?><!-- 2 ~ Copyright (C) 2022 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<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 17 xmlns:app="http://schemas.android.com/apk/res-auto" 18 xmlns:tools="http://schemas.android.com/tools" 19 android:id="@+id/linearLayout" 20 android:layout_width="match_parent" 21 android:layout_height="wrap_content" 22 android:orientation="vertical"> 23 <Button 24 android:id="@+id/add_config_button" 25 android:layout_width="wrap_content" 26 android:layout_height="wrap_content" 27 android:text="@string/add_button" 28 app:layout_constraintHorizontal_bias="0" 29 app:layout_constraintStart_toStartOf="parent" 30 app:layout_constraintTop_toTopOf="@+id/barrier2" /> 31 <Button 32 android:id="@+id/remove_config_button" 33 android:layout_width="wrap_content" 34 android:layout_height="wrap_content" 35 android:text="@string/remove_button" 36 app:layout_constraintHorizontal_bias="0" 37 app:layout_constraintEnd_toStartOf="@+id/guideline" 38 app:layout_constraintStart_toEndOf="@+id/add_config_button" 39 app:layout_constraintTop_toTopOf="@+id/barrier2" /> 40 <Button 41 android:id="@+id/show_info_button" 42 android:layout_width="wrap_content" 43 android:layout_height="wrap_content" 44 android:text="@string/history_button" 45 app:layout_constraintHorizontal_bias="1" 46 app:layout_constraintStart_toEndOf="@+id/guideline" 47 app:layout_constraintEnd_toStartOf="@+id/clear_info_button" 48 app:layout_constraintTop_toTopOf="@+id/barrier2" /> 49 <Button 50 android:id="@+id/clear_info_button" 51 android:layout_width="wrap_content" 52 android:layout_height="wrap_content" 53 android:text="@string/clear_button" 54 app:layout_constraintEnd_toEndOf="parent" 55 app:layout_constraintHorizontal_bias="1" 56 app:layout_constraintTop_toTopOf="@+id/barrier2" /> 57 <CheckBox 58 android:id="@+id/checkbox" 59 android:layout_width="wrap_content" 60 android:layout_height="wrap_content" 61 android:enabled="false" 62 app:layout_constraintStart_toStartOf="parent" 63 app:layout_constraintTop_toTopOf="parent" /> 64 <TextView 65 android:id="@+id/config_name_text" 66 android:textStyle="bold" 67 android:layout_width="wrap_content" 68 android:layout_height="wrap_content" 69 android:layout_marginTop="12dp" 70 android:layout_marginStart="4dp" 71 app:layout_constraintStart_toEndOf="@+id/checkbox" 72 app:layout_constraintTop_toTopOf="parent" /> 73 <TextView 74 android:id="@+id/results_text" 75 android:layout_width="wrap_content" 76 android:layout_height="wrap_content" 77 android:text="@string/results" 78 app:layout_constraintStart_toStartOf="parent" 79 app:layout_constraintTop_toTopOf="@+id/barrier1" /> 80 <TextView 81 android:id="@+id/on_ready_times_text" 82 android:layout_width="wrap_content" 83 android:layout_height="wrap_content" 84 android:layout_marginStart="8dp" 85 app:layout_constraintStart_toEndOf="@+id/results_text" 86 app:layout_constraintTop_toTopOf="@+id/barrier1" /> 87 <TextView 88 android:id="@+id/sent_bytes_text" 89 android:layout_width="wrap_content" 90 android:layout_height="wrap_content" 91 android:layout_marginStart="8dp" 92 app:layout_constraintStart_toEndOf="@+id/divider" 93 app:layout_constraintTop_toTopOf="@+id/barrier1" /> 94 <TextView 95 android:id="@+id/errors_text" 96 android:layout_width="wrap_content" 97 android:layout_height="wrap_content" 98 android:layout_marginEnd="8dp" 99 android:text="@string/errors" 100 app:layout_constraintEnd_toStartOf="@+id/error_count_text" 101 app:layout_constraintTop_toTopOf="@+id/barrier1" /> 102 <TextView 103 android:id="@+id/error_count_text" 104 android:layout_width="wrap_content" 105 android:layout_height="wrap_content" 106 android:layout_marginEnd="8dp" 107 app:layout_constraintEnd_toEndOf="parent" 108 app:layout_constraintTop_toTopOf="@+id/barrier1" /> 109 <View 110 android:id="@+id/divider" 111 android:layout_width="2dp" 112 android:layout_height="8dp" 113 android:layout_marginStart="8dp" 114 android:background="@android:color/darker_gray" 115 app:layout_constraintBottom_toBottomOf="@+id/on_ready_times_text" 116 app:layout_constraintStart_toEndOf="@+id/on_ready_times_text" 117 app:layout_constraintTop_toTopOf="@+id/barrier1" /> 118 <View 119 android:id="@+id/divider2" 120 android:layout_width="2dp" 121 android:layout_height="8dp" 122 android:layout_marginEnd="4dp" 123 android:background="@android:color/darker_gray" 124 app:layout_constraintBottom_toBottomOf="@+id/errors_text" 125 app:layout_constraintEnd_toStartOf="@+id/errors_text" 126 app:layout_constraintHorizontal_bias="1" 127 app:layout_constraintStart_toEndOf="@+id/sent_bytes_text" 128 app:layout_constraintTop_toTopOf="@+id/barrier1" /> 129 <androidx.constraintlayout.widget.Barrier 130 android:id="@+id/barrier1" 131 android:layout_width="wrap_content" 132 android:layout_height="wrap_content" 133 app:barrierDirection="bottom" 134 app:constraint_referenced_ids="checkbox,config_name_text" 135 tools:layout_editor_absoluteX="105dp" 136 tools:layout_editor_absoluteY="79dp" /> 137 <androidx.constraintlayout.widget.Barrier 138 android:id="@+id/barrier2" 139 android:layout_width="wrap_content" 140 android:layout_height="wrap_content" 141 app:barrierDirection="bottom" 142 app:constraint_referenced_ids= 143 "results_text,on_ready_times_text,divider,sent_bytes_text,error_count_text" 144 tools:layout_editor_absoluteX="135dp" 145 tools:layout_editor_absoluteY="85dp" /> 146 <androidx.constraintlayout.widget.Guideline 147 android:id="@+id/guideline" 148 android:layout_width="wrap_content" 149 android:layout_height="wrap_content" 150 android:orientation="vertical" 151 app:layout_constraintGuide_percent="0.5" /> 152</androidx.constraintlayout.widget.ConstraintLayout>