Fix handling shell command when no argument is given.
```
adb shell cmd virtual_camera
```
Bug: 301023410
Test: atest virtual_camera_tests
Change-Id: Id7759525a2e1bbf1df7e53e4adbb287d60f73326
diff --git a/services/camera/virtualcamera/VirtualCameraService.cc b/services/camera/virtualcamera/VirtualCameraService.cc
index a2054da..08bfff7 100644
--- a/services/camera/virtualcamera/VirtualCameraService.cc
+++ b/services/camera/virtualcamera/VirtualCameraService.cc
@@ -185,6 +185,8 @@
uint32_t numArgs) {
if (numArgs <= 0) {
dprintf(out, kShellCmdHelp);
+ fsync(out);
+ return STATUS_OK;
}
if (args == nullptr || args[0] == nullptr) {
diff --git a/services/camera/virtualcamera/tests/VirtualCameraServiceTest.cc b/services/camera/virtualcamera/tests/VirtualCameraServiceTest.cc
index 04349b1..f931cb4 100644
--- a/services/camera/virtualcamera/tests/VirtualCameraServiceTest.cc
+++ b/services/camera/virtualcamera/tests/VirtualCameraServiceTest.cc
@@ -267,6 +267,13 @@
STATUS_BAD_VALUE);
}
+TEST_F(VirtualCameraServiceTest, ShellCmdWithNoArgs) {
+ EXPECT_EQ(mCameraService->handleShellCommand(
+ /*in=*/mDevNullFd, /*out=*/mDevNullFd, /*err=*/mDevNullFd,
+ /*args=*/nullptr, /*numArgs=*/0),
+ STATUS_OK);
+}
+
TEST_F(VirtualCameraServiceTest, TestCameraShellCmd) {
execute_shell_command("enable_test_camera");