@midscene/android 0.27.6 → 0.27.7-beta-20250902060833.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/es/index.mjs CHANGED
@@ -4,7 +4,7 @@ import node_fs from "node:fs";
4
4
  import { createRequire } from "node:module";
5
5
  import node_path from "node:path";
6
6
  import { getMidsceneLocationSchema, z } from "@midscene/core";
7
- import { defineAction, defineActionDragAndDrop, defineActionKeyboardPress, defineActionScroll, defineActionTap } from "@midscene/core/device";
7
+ import { defineAction, defineActionDoubleClick, defineActionDragAndDrop, defineActionKeyboardPress, defineActionScroll, defineActionTap } from "@midscene/core/device";
8
8
  import { getTmpFile, sleep } from "@midscene/core/utils";
9
9
  import { MIDSCENE_ADB_PATH, MIDSCENE_ADB_REMOTE_HOST, MIDSCENE_ADB_REMOTE_PORT, MIDSCENE_ANDROID_IME_STRATEGY, globalConfigManager, overrideAIConfig, vlLocateMode } from "@midscene/shared/env";
10
10
  import { createImgBase64ByFormat, isValidPNGImageBuffer, resizeAndConvertImgBuffer } from "@midscene/shared/img";
@@ -34,6 +34,11 @@ class AndroidDevice {
34
34
  node_assert(element, 'Element not found, cannot tap');
35
35
  await this.mouseClick(element.center[0], element.center[1]);
36
36
  }),
37
+ defineActionDoubleClick(async (param)=>{
38
+ const element = param.locate;
39
+ node_assert(element, 'Element not found, cannot double click');
40
+ await this.mouseDoubleClick(element.center[0], element.center[1]);
41
+ }),
37
42
  defineAction({
38
43
  name: 'Input',
39
44
  description: 'Input text into the input field',
@@ -719,6 +724,14 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
719
724
  const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
720
725
  await adb.shell(`input${this.getDisplayArg()} swipe ${adjustedX} ${adjustedY} ${adjustedX} ${adjustedY} 150`);
721
726
  }
727
+ async mouseDoubleClick(x, y) {
728
+ const adb = await this.getAdb();
729
+ const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
730
+ const tapCommand = `input${this.getDisplayArg()} tap ${adjustedX} ${adjustedY}`;
731
+ await adb.shell(tapCommand);
732
+ await sleep(50);
733
+ await adb.shell(tapCommand);
734
+ }
722
735
  async mouseMove(x, y) {
723
736
  return Promise.resolve();
724
737
  }
package/dist/lib/index.js CHANGED
@@ -80,6 +80,11 @@ class AndroidDevice {
80
80
  external_node_assert_default()(element, 'Element not found, cannot tap');
81
81
  await this.mouseClick(element.center[0], element.center[1]);
82
82
  }),
83
+ (0, device_namespaceObject.defineActionDoubleClick)(async (param)=>{
84
+ const element = param.locate;
85
+ external_node_assert_default()(element, 'Element not found, cannot double click');
86
+ await this.mouseDoubleClick(element.center[0], element.center[1]);
87
+ }),
83
88
  (0, device_namespaceObject.defineAction)({
84
89
  name: 'Input',
85
90
  description: 'Input text into the input field',
@@ -765,6 +770,14 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
765
770
  const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
766
771
  await adb.shell(`input${this.getDisplayArg()} swipe ${adjustedX} ${adjustedY} ${adjustedX} ${adjustedY} 150`);
767
772
  }
773
+ async mouseDoubleClick(x, y) {
774
+ const adb = await this.getAdb();
775
+ const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
776
+ const tapCommand = `input${this.getDisplayArg()} tap ${adjustedX} ${adjustedY}`;
777
+ await adb.shell(tapCommand);
778
+ await (0, utils_namespaceObject.sleep)(50);
779
+ await adb.shell(tapCommand);
780
+ }
768
781
  async mouseMove(x, y) {
769
782
  return Promise.resolve();
770
783
  }
@@ -67,6 +67,7 @@ export declare class AndroidDevice implements AbstractInterface {
67
67
  private normalizeKeyName;
68
68
  keyboardPress(key: string): Promise<void>;
69
69
  mouseClick(x: number, y: number): Promise<void>;
70
+ mouseDoubleClick(x: number, y: number): Promise<void>;
70
71
  mouseMove(x: number, y: number): Promise<void>;
71
72
  mouseDrag(from: {
72
73
  x: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midscene/android",
3
- "version": "0.27.6",
3
+ "version": "0.27.7-beta-20250902060833.0",
4
4
  "description": "Android automation library for Midscene",
5
5
  "keywords": [
6
6
  "Android UI automation",
@@ -27,8 +27,8 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "appium-adb": "12.12.1",
30
- "@midscene/core": "0.27.6",
31
- "@midscene/shared": "0.27.6"
30
+ "@midscene/core": "0.27.7-beta-20250902060833.0",
31
+ "@midscene/shared": "0.27.7-beta-20250902060833.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@microsoft/api-extractor": "^7.52.10",