simutil_core 1.2.0
simutil_core: ^1.2.0 copied to clipboard
Core models and process execution for SimUtil.
Changelog #
1.2.0 #
DeviceService.wipeData({deviceId}): erase a shut-down simulator / emulator's data.FakeDeviceService.wipedrecords the calls.
1.1.0 #
DeviceSessioninterface for live device screens:SessionStatus(SessionConnecting/SessionLive/SessionFailed),TouchPhase,DeviceButton(back, home, recents, lock, volume up / down), input repair and screen recording.DeviceService.launchDevicetakesheadlessto start without a window.DeviceService.deleteSimulatordeletes a shut-down simulator/emulator;FakeDeviceServicerecords it indeleted.CommandQueueandCommandPriority:IsolateRunnernow schedules processes with bounded concurrency (maxConcurrent, default processor count clamped to 2..6), runsinteractivework beforenormalandbackground, always keeps one slot free from background work, promotes background work waiting over 2 s, and shares one result between identical queued/runningbackgroundcommands.CommandExec.runtakespriority;FakeCommandCallrecords it.DeviceService.watchDevices()signals device changes so callers reload instead of polling;FakeDeviceService.emitDeviceChange()drives it in tests.mergeStreamsmerges change streams;reconnectingkeeps a long-lived watcher alive with exponential backoff.DeviceAutomationinterface (launch an app fresh, optionally withclearState; type text; read the accessibility tree) withUiElement(label, id, value, role, normalized frame, opaquehandle),DeviceAutomation.tapElementfor native taps, andfindElement(exact match first, then contains;indexpicks among several).Device.androidtakes an optionalplatform(e.g.Android 15).
1.0.0 #
- Initial release, extracted from the
simutilapp. CommandExec()runs commands in-process;CommandExec.isolate(runner)runs them on anIsolateRunnerbackground isolate.CommandExec()kills the process whentimeoutelapses.CommandExec()andIsolateRunnerclose the child's stdin, so commands that read stdin see EOF instead of hanging.