• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3    xmlns:app="http://schemas.android.com/apk/res-auto"
4    xmlns:tools="http://schemas.android.com/tools"
5    android:id="@+id/linearLayout"
6    android:layout_width="match_parent"
7    android:layout_height="match_parent"
8    android:layout_marginLeft="4dp"
9    android:layout_marginRight="4dp"
10    android:background="@color/version_release"
11    tools:context="com.mobileer.oboetester.MainActivity">
12
13    <TextView
14        android:id="@+id/versionText"
15        android:layout_width="0dp"
16        android:layout_height="wrap_content"
17        android:text="V?"
18        app:layout_constraintEnd_toEndOf="@+id/buttonGrid"
19        app:layout_constraintStart_toStartOf="@+id/buttonGrid"
20        />
21
22    <GridLayout
23        android:id="@+id/buttonGrid"
24        android:layout_width="match_parent"
25        android:layout_height="wrap_content"
26        android:columnCount="2"
27        app:layout_constraintTop_toBottomOf="@+id/versionText">
28
29        <Button
30            android:id="@+id/buttonTestOutput"
31            android:layout_width="0dp"
32            android:layout_height="wrap_content"
33            android:layout_columnWeight="1"
34            android:layout_gravity="fill"
35            android:backgroundTint="@color/button_tint"
36            android:onClick="onLaunchTestOutput"
37            android:text="Test Output" />
38
39        <Button
40            android:id="@+id/buttonTestInput"
41            android:layout_gravity="fill"
42            android:layout_width="0dp"
43            android:layout_columnWeight="1"
44            android:layout_height="wrap_content"
45            android:backgroundTint="@color/button_tint"
46            android:onClick="onLaunchTestInput"
47            android:text="Test Input" />
48
49        <Button
50            android:id="@+id/buttonTapToTone"
51            android:layout_width="0dp"
52            android:layout_height="wrap_content"
53            android:layout_columnWeight="1"
54            android:layout_gravity="fill"
55            android:backgroundTint="@color/button_tint"
56            android:onClick="onLaunchTapToTone"
57            android:text="Tap to Tone Latency" />
58
59        <Button
60            android:id="@+id/button_rt_latency"
61            android:layout_gravity="fill"
62            android:layout_width="0dp"
63            android:layout_columnWeight="1"
64            android:layout_height="wrap_content"
65            android:backgroundTint="@color/button_tint"
66            android:onClick="onLaunchRoundTripLatency"
67            android:text="Round Trip Latency" />
68
69        <Button
70            android:id="@+id/buttonEcho"
71            android:layout_gravity="fill"
72            android:layout_width="0dp"
73            android:layout_columnWeight="1"
74            android:layout_height="wrap_content"
75            android:backgroundTint="@color/button_tint"
76            android:onClick="onLaunchEcho"
77            android:text="Echo Input to Output" />
78
79        <Button
80            android:id="@+id/buttonRecorder"
81            android:layout_gravity="fill"
82            android:layout_width="0dp"
83            android:layout_columnWeight="1"
84            android:layout_height="wrap_content"
85            android:backgroundTint="@color/button_tint"
86            android:onClick="onLaunchRecorder"
87            android:text="Record and Play"
88            />
89
90        <Button
91            android:id="@+id/button_manual_glitches"
92            android:layout_gravity="fill"
93            android:layout_width="0dp"
94            android:layout_columnWeight="1"
95            android:layout_height="wrap_content"
96            android:backgroundTint="@color/button_tint"
97            android:onClick="onLaunchManualGlitchTest"
98            android:text="Glitch Test" />
99
100        <Button
101            android:id="@+id/button_auto_glitches"
102            android:layout_gravity="fill"
103            android:layout_width="0dp"
104            android:layout_columnWeight="1"
105            android:layout_height="wrap_content"
106            android:backgroundTint="@color/button_tint"
107            android:onClick="onLaunchAutoGlitchTest"
108            android:text="Auto Glitch Test" />
109
110        <Button
111            android:id="@+id/button_test_disconnect"
112            android:layout_gravity="fill"
113            android:layout_width="0dp"
114            android:layout_columnWeight="1"
115            android:layout_height="wrap_content"
116            android:backgroundTint="@color/button_tint"
117            android:onClick="onLaunchTestDisconnect"
118            android:text="Test Disconnect" />
119
120        <Button
121            android:id="@+id/button_test_device_report"
122            android:layout_gravity="fill"
123            android:layout_width="0dp"
124            android:layout_columnWeight="1"
125            android:layout_height="wrap_content"
126            android:backgroundTint="@color/button_tint"
127            android:onClick="onLaunchTestDeviceReport"
128            android:text="@string/title_report_devices" />
129
130        <Button
131            android:id="@+id/button_test_data_paths"
132            android:layout_gravity="fill"
133            android:layout_width="0dp"
134            android:layout_columnWeight="1"
135            android:layout_height="wrap_content"
136            android:backgroundTint="@color/button_tint"
137            android:onClick="onLaunchTestDataPaths"
138            android:text="Data Paths" />
139
140        <Button
141            android:id="@+id/button_extra_tests"
142            android:layout_gravity="fill"
143            android:layout_width="0dp"
144            android:layout_columnWeight="1"
145            android:layout_height="wrap_content"
146            android:backgroundTint="@color/button_tint"
147            android:onClick="onLaunchExtratests"
148            android:text="Extras..." />
149
150    <Button
151        android:id="@+id/button_test_data_paths"
152        android:layout_gravity="fill"
153        android:layout_width="0dp"
154        android:layout_columnWeight="1"
155        android:layout_height="wrap_content"
156        android:onClick="onLaunchTestDataPaths"
157        android:text="Data Paths" />
158
159    </GridLayout>
160
161
162    <CheckBox
163        android:id="@+id/useCallback"
164        android:layout_width="wrap_content"
165        android:layout_height="wrap_content"
166        android:checked="true"
167        android:onClick="onUseCallbackClicked"
168        android:text="Use Callback"
169        app:layout_constraintEnd_toStartOf="@+id/textView"
170        app:layout_constraintStart_toStartOf="parent"
171        app:layout_constraintTop_toBottomOf="@+id/buttonGrid" />
172
173    <TextView
174        android:id="@+id/textView"
175        android:layout_width="wrap_content"
176        android:layout_height="wrap_content"
177        android:layout_marginStart="4dp"
178        android:text="Size:"
179        app:layout_constraintBaseline_toBaselineOf="@+id/useCallback"
180        app:layout_constraintEnd_toStartOf="@+id/callbackSize"
181        app:layout_constraintStart_toEndOf="@+id/useCallback" />
182
183    <EditText
184        android:id="@+id/callbackSize"
185        android:layout_width="0dp"
186        android:layout_height="wrap_content"
187        android:ems="8"
188        android:inputType="number"
189        android:text="0"
190        app:layout_constraintBaseline_toBaselineOf="@+id/textView"
191        app:layout_constraintEnd_toEndOf="parent"
192        app:layout_constraintStart_toEndOf="@+id/textView" />
193
194    <CheckBox
195        android:id="@+id/boxEnableWorkarounds"
196        android:layout_width="wrap_content"
197        android:layout_height="wrap_content"
198        android:layout_marginTop="6dp"
199        android:checked="false"
200        android:text="enable Oboe workarounds"
201        app:layout_constraintStart_toStartOf="@+id/useCallback"
202        app:layout_constraintTop_toBottomOf="@+id/useCallback" />
203
204    <CheckBox
205        android:id="@+id/boxEnableBackground"
206        android:layout_width="wrap_content"
207        android:layout_height="wrap_content"
208        android:layout_marginTop="6dp"
209        android:checked="false"
210        android:text="enable background operation"
211        app:layout_constraintStart_toStartOf="@+id/boxEnableWorkarounds"
212        app:layout_constraintTop_toBottomOf="@+id/boxEnableWorkarounds" />
213
214
215    <CheckBox
216        android:id="@+id/boxEnableForegroundService"
217        android:layout_width="wrap_content"
218        android:layout_height="wrap_content"
219        android:layout_marginTop="6dp"
220        android:checked="false"
221        android:text="enable foreground service"
222        app:layout_constraintStart_toStartOf="@+id/boxEnableBackground"
223        app:layout_constraintTop_toBottomOf="@+id/boxEnableBackground" />
224
225    <TextView
226        android:id="@+id/textView2"
227        android:layout_width="wrap_content"
228        android:layout_height="wrap_content"
229        android:text="Mode:"
230        app:layout_constraintBaseline_toBaselineOf="@+id/spinnerAudioMode"
231        app:layout_constraintStart_toStartOf="@+id/boxEnableForegroundService" />
232
233    <Spinner
234        android:id="@+id/spinnerAudioMode"
235        android:layout_width="wrap_content"
236        android:layout_height="wrap_content"
237        android:entries="@array/audio_modes"
238        android:prompt="@string/audio_mode_prompt"
239        app:layout_constraintStart_toEndOf="@+id/textView2"
240        app:layout_constraintTop_toBottomOf="@+id/boxEnableForegroundService" />
241
242    <TextView
243        android:id="@+id/deviceView"
244        android:layout_width="wrap_content"
245        android:layout_height="wrap_content"
246        android:lines="1"
247        android:text="@string/init_device"
248        app:layout_constraintStart_toStartOf="@+id/textView2"
249        app:layout_constraintTop_toBottomOf="@+id/spinnerAudioMode" />
250
251    <TextView
252        android:id="@+id/text_build_info"
253        android:layout_width="match_parent"
254        android:layout_height="wrap_content"
255        android:lines="3"
256        android:ems="10"
257        android:text="V?"
258        app:layout_constraintEnd_toEndOf="@+id/callbackSize"
259        app:layout_constraintStart_toStartOf="@+id/deviceView"
260        app:layout_constraintTop_toBottomOf="@+id/deviceView" />
261
262</androidx.constraintlayout.widget.ConstraintLayout>
263