Skip to content

Commit ec66d0a

Browse files
authored
OboeTester: Fix foreground service permissions for tests not recording audio (#2100)
1 parent c11d4c1 commit ec66d0a

3 files changed

Lines changed: 27 additions & 15 deletions

File tree

apps/OboeTester/app/src/main/java/com/mobileer/oboetester/BaseOboeTesterActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
8787
/**
8888
* If needed, request recording permission before running test.
8989
*/
90-
protected void launchTestThatDoesRecording(Class clazz) {
90+
protected void launchTestThatRequiresRecordingPermissions(Class clazz) {
9191
mTestClass = clazz;
9292
if (isRecordPermissionGranted()) {
9393
beginTestThatRequiresRecording();

apps/OboeTester/app/src/main/java/com/mobileer/oboetester/ExtraTestsActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public void onLaunchMainActivity(View view) {
1616
}
1717

1818
public void onLaunchExternalTapTest(View view) {
19-
launchTestThatDoesRecording(ExternalTapToToneActivity.class);
19+
launchTestThatRequiresRecordingPermissions(ExternalTapToToneActivity.class);
2020
}
2121

2222
public void onLaunchPlugLatencyTest(View view) {
@@ -28,7 +28,7 @@ public void onLaunchErrorCallbackTest(View view) {
2828
}
2929

3030
public void onLaunchRouteDuringCallbackTest(View view) {
31-
launchTestThatDoesRecording(TestRouteDuringCallbackActivity.class);
31+
launchTestThatRequiresRecordingPermissions(TestRouteDuringCallbackActivity.class);
3232
}
3333

3434
public void onLaunchDynamicWorkloadTest(View view) {

apps/OboeTester/app/src/main/java/com/mobileer/oboetester/MainActivity.java

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -206,49 +206,61 @@ private void updateNativeAudioUI() {
206206
}
207207

208208
public void onLaunchTestOutput(View view) {
209-
launchTestActivity(TestOutputActivity.class);
209+
if (mForegroundServiceCheckBox.isChecked()) {
210+
launchTestThatRequiresRecordingPermissions(TestOutputActivity.class);
211+
} else {
212+
launchTestActivity(TestOutputActivity.class);
213+
}
210214
}
211215

212216
public void onLaunchTestInput(View view) {
213-
launchTestThatDoesRecording(TestInputActivity.class);
217+
launchTestThatRequiresRecordingPermissions(TestInputActivity.class);
214218
}
215219

216220
public void onLaunchTapToTone(View view) {
217-
launchTestThatDoesRecording(TapToToneActivity.class);
221+
launchTestThatRequiresRecordingPermissions(TapToToneActivity.class);
218222
}
219223

220224
public void onLaunchRecorder(View view) {
221-
launchTestThatDoesRecording(RecorderActivity.class);
225+
launchTestThatRequiresRecordingPermissions(RecorderActivity.class);
222226
}
223227

224228
public void onLaunchEcho(View view) {
225-
launchTestThatDoesRecording(EchoActivity.class);
229+
launchTestThatRequiresRecordingPermissions(EchoActivity.class);
226230
}
227231

228232
public void onLaunchRoundTripLatency(View view) {
229-
launchTestThatDoesRecording(RoundTripLatencyActivity.class);
233+
launchTestThatRequiresRecordingPermissions(RoundTripLatencyActivity.class);
230234
}
231235

232236
public void onLaunchManualGlitchTest(View view) {
233-
launchTestThatDoesRecording(ManualGlitchActivity.class);
237+
launchTestThatRequiresRecordingPermissions(ManualGlitchActivity.class);
234238
}
235239

236-
public void onLaunchAutoGlitchTest(View view) { launchTestThatDoesRecording(AutomatedGlitchActivity.class); }
240+
public void onLaunchAutoGlitchTest(View view) { launchTestThatRequiresRecordingPermissions(AutomatedGlitchActivity.class); }
237241

238242
public void onLaunchTestDisconnect(View view) {
239-
launchTestThatDoesRecording(TestDisconnectActivity.class);
243+
launchTestThatRequiresRecordingPermissions(TestDisconnectActivity.class);
240244
}
241245

242246
public void onLaunchTestDataPaths(View view) {
243-
launchTestThatDoesRecording(TestDataPathsActivity.class);
247+
launchTestThatRequiresRecordingPermissions(TestDataPathsActivity.class);
244248
}
245249

246250
public void onLaunchTestDeviceReport(View view) {
247-
launchTestActivity(DeviceReportActivity.class);
251+
if (mForegroundServiceCheckBox.isChecked()) {
252+
launchTestThatRequiresRecordingPermissions(DeviceReportActivity.class);
253+
} else {
254+
launchTestActivity(DeviceReportActivity.class);
255+
}
248256
}
249257

250258
public void onLaunchExtratests(View view) {
251-
launchTestActivity(ExtraTestsActivity.class);
259+
if (mForegroundServiceCheckBox.isChecked()) {
260+
launchTestThatRequiresRecordingPermissions(ExtraTestsActivity.class);
261+
} else {
262+
launchTestActivity(ExtraTestsActivity.class);
263+
}
252264
}
253265

254266
private void applyUserOptions() {

0 commit comments

Comments
 (0)