Notifies correct device state callback on cancellation
Previously was calling onRequestSuspended for cancellation notifications Bug: 205886628 Test: DeviceStateManagerGlobalTest Change-Id: I63e44f5c9a7a333ce9ba5bffe8e103834d9f468d
This commit is contained in:
@@ -96,7 +96,7 @@ public final class DeviceStateManager {
|
||||
public void requestState(@NonNull DeviceStateRequest request,
|
||||
@Nullable @CallbackExecutor Executor executor,
|
||||
@Nullable DeviceStateRequest.Callback callback) {
|
||||
mGlobal.requestState(request, callback, executor);
|
||||
mGlobal.requestState(request, executor, callback);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -117,7 +117,7 @@ public final class DeviceStateManagerGlobal {
|
||||
* @see DeviceStateRequest
|
||||
*/
|
||||
public void requestState(@NonNull DeviceStateRequest request,
|
||||
@Nullable DeviceStateRequest.Callback callback, @Nullable Executor executor) {
|
||||
@Nullable Executor executor, @Nullable DeviceStateRequest.Callback callback) {
|
||||
if (callback == null && executor != null) {
|
||||
throw new IllegalArgumentException("Callback must be supplied with executor.");
|
||||
} else if (executor == null && callback != null) {
|
||||
@@ -149,7 +149,7 @@ public final class DeviceStateManagerGlobal {
|
||||
|
||||
/**
|
||||
* Cancels a {@link DeviceStateRequest request} previously submitted with a call to
|
||||
* {@link #requestState(DeviceStateRequest, DeviceStateRequest.Callback, Executor)}.
|
||||
* {@link #requestState(DeviceStateRequest, Executor, DeviceStateRequest.Callback)}.
|
||||
*
|
||||
* @see DeviceStateManager#cancelRequest(DeviceStateRequest)
|
||||
*/
|
||||
@@ -408,7 +408,7 @@ public final class DeviceStateManagerGlobal {
|
||||
return;
|
||||
}
|
||||
|
||||
mExecutor.execute(() -> mCallback.onRequestSuspended(mRequest));
|
||||
mExecutor.execute(() -> mCallback.onRequestCanceled(mRequest));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,6 +160,34 @@ public final class DeviceStateManagerGlobalTest {
|
||||
verify(callback).onStateChanged(eq(mService.getBaseState()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void verifyDeviceStateRequestCallbacksCalled() {
|
||||
DeviceStateRequest.Callback callback = mock(TestDeviceStateRequestCallback.class);
|
||||
|
||||
DeviceStateRequest request = DeviceStateRequest.newBuilder(OTHER_DEVICE_STATE).build();
|
||||
mDeviceStateManagerGlobal.requestState(request,
|
||||
ConcurrentUtils.DIRECT_EXECUTOR /* executor */,
|
||||
callback /* callback */);
|
||||
|
||||
verify(callback).onRequestActivated(eq(request));
|
||||
Mockito.reset(callback);
|
||||
|
||||
mDeviceStateManagerGlobal.cancelRequest(request);
|
||||
|
||||
verify(callback).onRequestCanceled(eq(request));
|
||||
}
|
||||
|
||||
public static class TestDeviceStateRequestCallback implements DeviceStateRequest.Callback {
|
||||
@Override
|
||||
public void onRequestActivated(DeviceStateRequest request) { }
|
||||
|
||||
@Override
|
||||
public void onRequestCanceled(DeviceStateRequest request) { }
|
||||
|
||||
@Override
|
||||
public void onRequestSuspended(DeviceStateRequest request) { }
|
||||
}
|
||||
|
||||
private static final class TestDeviceStateManagerService extends IDeviceStateManager.Stub {
|
||||
public static final class Request {
|
||||
public final IBinder token;
|
||||
|
||||
Reference in New Issue
Block a user