Merge "Fix status mismatch in TunerCallbackAdapter" into udc-dev

This commit is contained in:
TreeHugger Robot
2023-05-06 08:27:56 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 0 deletions

View File

@@ -144,6 +144,9 @@ final class TunerCallbackAdapter extends ITunerCallback.Stub {
int errorCode;
switch (status) {
case RadioTuner.TUNER_RESULT_CANCELED:
errorCode = RadioTuner.ERROR_CANCELLED;
break;
case RadioManager.STATUS_PERMISSION_DENIED:
case RadioManager.STATUS_DEAD_OBJECT:
errorCode = RadioTuner.ERROR_SERVER_DIED;
@@ -152,10 +155,16 @@ final class TunerCallbackAdapter extends ITunerCallback.Stub {
case RadioManager.STATUS_NO_INIT:
case RadioManager.STATUS_BAD_VALUE:
case RadioManager.STATUS_INVALID_OPERATION:
case RadioTuner.TUNER_RESULT_INTERNAL_ERROR:
case RadioTuner.TUNER_RESULT_INVALID_ARGUMENTS:
case RadioTuner.TUNER_RESULT_INVALID_STATE:
case RadioTuner.TUNER_RESULT_NOT_SUPPORTED:
case RadioTuner.TUNER_RESULT_UNKNOWN_ERROR:
Log.i(TAG, "Got an error with no mapping to the legacy API (" + status
+ "), doing a best-effort conversion to ERROR_SCAN_TIMEOUT");
// fall through
case RadioManager.STATUS_TIMED_OUT:
case RadioTuner.TUNER_RESULT_TIMEOUT:
default:
errorCode = RadioTuner.ERROR_SCAN_TIMEOUT;
}

View File

@@ -749,6 +749,15 @@ public final class TunerAdapterTest {
verify(mCallbackMock, after(CALLBACK_TIMEOUT_MS).never()).onProgramInfoChanged(any());
}
@Test
public void onTuneFailed_withCanceledResult() throws Exception {
mTunerCallback.onTuneFailed(RadioTuner.TUNER_RESULT_CANCELED, FM_SELECTOR);
verify(mCallbackMock, timeout(CALLBACK_TIMEOUT_MS)).onTuneFailed(
RadioTuner.TUNER_RESULT_CANCELED, FM_SELECTOR);
verify(mCallbackMock, timeout(CALLBACK_TIMEOUT_MS)).onError(RadioTuner.ERROR_CANCELLED);
}
@Test
public void onProgramListChanged_forTunerCallbackAdapter() throws Exception {
mTunerCallback.onProgramListChanged();