diff --git a/hrp/internal/uixt/android_driver.go b/hrp/internal/uixt/android_driver.go index 85363014..ad3ce2a9 100644 --- a/hrp/internal/uixt/android_driver.go +++ b/hrp/internal/uixt/android_driver.go @@ -238,10 +238,37 @@ func (ud *uiaDriver) PressBack() (err error) { } func (ud *uiaDriver) StartCamera() (err error) { - if _, err = ud.adbDevice.RunShellCommand("am", "start", "-a", "android.media.action.VIDEO_CAPTURE"); err != nil { + if _, err = ud.adbDevice.RunShellCommand("rm", "-r", "/sdcard/DCIM/Camera"); err != nil { return err } - return + time.Sleep(5 * time.Second) + var version string + if version, err = ud.adbDevice.RunShellCommand("getprop", "ro.build.version.release"); err != nil { + return err + } + if version == "11" || version == "12" { + if _, err = ud.adbDevice.RunShellCommand("am", "start", "-a", "android.media.action.STILL_IMAGE_CAMERA"); err != nil { + return err + } + time.Sleep(5 * time.Second) + if _, err = ud.adbDevice.RunShellCommand("input", "swipe", "750", "1000", "250", "1000"); err != nil { + return err + } + time.Sleep(5 * time.Second) + if _, err = ud.adbDevice.RunShellCommand("input", "keyevent", "27"); err != nil { + return err + } + return + } else { + if _, err = ud.adbDevice.RunShellCommand("am", "start", "-a", "android.media.action.VIDEO_CAPTURE"); err != nil { + return err + } + time.Sleep(5 * time.Second) + if _, err = ud.adbDevice.RunShellCommand("input", "keyevent", "27"); err != nil { + return err + } + return + } } func (ud *uiaDriver) StopCamera() (err error) { @@ -266,24 +293,6 @@ func (ud *uiaDriver) StopCamera() (err error) { return } -func (ud *uiaDriver) StartRecording() (err error) { - var res string - if res, err = ud.adbDevice.RunShellCommand("input", "keyevent", "27"); err != nil { - return err - } - log.Info().Str("shell", res) - return -} - -func (ud *uiaDriver) StopRecording() (err error) { - var res string - if res, err = ud.adbDevice.RunShellCommand("input", "keyevent", "27"); err != nil { - return err - } - log.Info().Str("shell", res) - return -} - func (ud *uiaDriver) ActiveAppInfo() (info AppInfo, err error) { // TODO return info, errDriverNotImplemented diff --git a/hrp/internal/uixt/ext.go b/hrp/internal/uixt/ext.go index 0970edb2..bf7b6422 100644 --- a/hrp/internal/uixt/ext.go +++ b/hrp/internal/uixt/ext.go @@ -500,10 +500,6 @@ func (dExt *DriverExt) DoAction(action MobileAction) error { return dExt.Driver.StartCamera() case CtlStopCamera: return dExt.Driver.StopCamera() - case RecordStart: - return dExt.Driver.StartRecording() - case RecordStop: - return dExt.Driver.StopRecording() } return nil } diff --git a/hrp/internal/uixt/interface.go b/hrp/internal/uixt/interface.go index c341ac97..4922ba37 100644 --- a/hrp/internal/uixt/interface.go +++ b/hrp/internal/uixt/interface.go @@ -885,9 +885,6 @@ type WebDriver interface { // StopCamera Stops the camera for recording StopCamera() error - StartRecording() error - StopRecording() error - // Tap Sends a tap event at the coordinate. Tap(x, y int, options ...DataOption) error TapFloat(x, y float64, options ...DataOption) error diff --git a/hrp/internal/uixt/ios_driver.go b/hrp/internal/uixt/ios_driver.go index 7dfbcbde..4e4e131f 100644 --- a/hrp/internal/uixt/ios_driver.go +++ b/hrp/internal/uixt/ios_driver.go @@ -579,16 +579,6 @@ func (wd *wdaDriver) StopCamera() (err error) { return nil } -func (wd *wdaDriver) StartRecording() (err error) { - // TODO - return errDriverNotImplemented -} - -func (wd *wdaDriver) StopRecording() (err error) { - // TODO - return errDriverNotImplemented -} - func (wd *wdaDriver) ExpectNotification(notifyName string, notifyType NotificationType, second ...int) (err error) { // [[FBRoute POST:@"/wda/expectNotification"] respondWithTarget:self action:@selector(handleExpectNotification:)] if len(second) == 0 {