@u4/adbkit
Version:
A Typescript client for the Android Debug Bridge.
168 lines • 6.02 kB
TypeScript
import DeviceClient from '../../DeviceClient';
import PromiseDuplex from 'promise-duplex';
import { Duplex, EventEmitter } from 'stream';
import * as STF from './STFServiceModel';
interface IEmissions {
airplaneMode: (data: STF.AirplaneModeEvent) => void;
battery: (data: STF.BatteryEvent) => void;
connectivity: (data: STF.ConnectivityEvent) => void;
phoneState: (data: STF.PhoneStateEvent) => void;
rotation: (data: STF.RotationEvent) => void;
browerPackage: (data: STF.BrowserPackageEvent) => void;
error: (data: Error) => void;
disconnect: () => void;
}
export interface STFServiceOptions {
/**
* calls timeout default is 15000 ms
*/
timeout: number;
/**
* do not install the APK, if you use a custom apk
*/
noInstall: boolean;
}
export default class STFService extends EventEmitter {
private client;
private config;
private servicesSocket;
private protoSrv;
private _maxContact;
private _width;
private _height;
private _maxPressure;
private setMaxContact;
private setWidth;
private setHeight;
private setMaxPressure;
constructor(client: DeviceClient, options?: Partial<STFServiceOptions>);
on: <K extends keyof IEmissions>(event: K, listener: IEmissions[K]) => this;
off: <K extends keyof IEmissions>(event: K, listener: IEmissions[K]) => this;
once: <K extends keyof IEmissions>(event: K, listener: IEmissions[K]) => this;
emit: <K extends keyof IEmissions>(event: K, ...args: Parameters<IEmissions[K]>) => boolean;
get maxContact(): Promise<number>;
get width(): Promise<number>;
get height(): Promise<number>;
get maxPressure(): Promise<number>;
/**
* find the APK and install it
*/
private installApk;
private _cachedApkPath;
/**
*
* @returns get agent setup path
*/
private getApkPath;
/**
* get the current installed Agent version number
* @returns 'MISSING' if not installed, 'OK' if expected, 'MISMATCH' if version differ
*/
private checkVersion;
/**
* start agent
*/
private startAgent;
/**
* start long running service and keep the duplex opened
*/
private startService;
/**
* uninstall the service
*/
uninstall(): Promise<boolean>;
start(): Promise<this>;
private _minitouchagent;
/**
* get minitouch duplex, if not connected open connexion
*/
getMinitouchSocket(): Promise<PromiseDuplex<Duplex>>;
private _agentSocket;
getAgentSocket(): Promise<PromiseDuplex<Duplex>>;
private startServiceStream;
/**
* RCV banne:
* v 1
* ^ %d %d %d %d DEFAULT_MAX_CONTACTS, width, height, DEFAULT_MAX_PRESSURE;
* @param socket
*/
private startMinitouchStream;
private startAgentStream;
/**
* esponce callback hooks
*/
private responseHook;
/**
* request id counter [1..0xFFFFFF]
*/
private reqCnt;
/**
* Generic method to push message to service
*/
private pushService;
/**
* Generic method to push message to agent
*/
private pushAgent;
getAccounts(type?: string): Promise<STF.GetAccountsResponse>;
getBrowsers(req?: STF.GetBrowsersRequest): Promise<STF.GetBrowsersResponse>;
getClipboard(type?: STF.ClipboardType): Promise<STF.GetClipboardResponse>;
getDisplay(id?: number): Promise<STF.GetDisplayResponse>;
getProperties(properties: string[]): Promise<STF.GetPropertiesResponse>;
getRingerMode(req?: STF.GetRingerModeRequest): Promise<STF.GetRingerModeResponse>;
getSdStatus(req?: STF.GetSdStatusRequest): Promise<STF.GetSdStatusResponse>;
getWifiStatus(req?: STF.GetWifiStatusRequest): Promise<STF.GetWifiStatusResponse>;
getBluetoothStatus(req?: STF.GetBluetoothStatusRequest): Promise<STF.GetBluetoothStatusResponse>;
getRootStatus(req?: STF.GetRootStatusRequest): Promise<STF.GetRootStatusResponse>;
setClipboard(req: STF.SetClipboardRequest): Promise<STF.SetClipboardResponse>;
setKeyguardState(req: STF.SetKeyguardStateRequest): Promise<STF.SetKeyguardStateResponse>;
setRingerMode(req: STF.SetRingerModeRequest): Promise<STF.SetRingerModeResponse>;
setRotationRequest(req: STF.SetRotationRequest): Promise<void>;
setWakeLock(req: STF.SetWakeLockRequest): Promise<STF.GetWifiStatusResponse>;
setWifiEnabledRequest(req: STF.SetWifiEnabledRequest): Promise<STF.SetWifiEnabledResponse>;
setBluetoothEnabledRequest(req: STF.SetBluetoothEnabledRequest): Promise<STF.SetBluetoothEnabledResponse>;
setMasterMute(req: STF.SetMasterMuteRequest): Promise<STF.SetMasterMuteResponse>;
doKeyEvent(req: STF.KeyEventRequest): Promise<number>;
doType(req: STF.DoTypeRequest): Promise<number>;
doWake(req: STF.DoWakeRequest): Promise<number>;
setRotation(req: STF.SetRotationRequest): Promise<number>;
/**
* Send commit minitouch events
*/
commit(): Promise<number>;
/**
* Send move minitouch events
*/
move(x: number, y: number, contact?: 0 | 1, pressure?: number): Promise<number>;
/**
* Send press down minitouch events
*/
down(x: number, y: number, contact?: 0 | 1, pressure?: number): Promise<number>;
/**
* Send press up minitouch events
*/
up(contact?: 0 | 1): Promise<number>;
/**
* Send move + commit minitouch events
*/
moveCommit(x: number, y: number, contact?: 0 | 1, pressure?: number): Promise<number>;
/**
* Send press down + commit minitouch events
*/
downCommit(x: number, y: number, contact?: 0 | 1, pressure?: number): Promise<number>;
/**
* Send press up + commit minitouch events
*/
upCommit(contact?: 0 | 1): Promise<number>;
/**
* Send wait instruction minitouch events
*/
wait(time: number): Promise<number>;
/**
* stop the service
*/
stop(): boolean;
isRunning(): boolean;
}
export {};
//# sourceMappingURL=STFService.d.ts.map