mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
feat(driver): add FocusedWindowChecker capability
This commit is contained in:
1 parent
2fe01ea254
commit
3fe92537be
2 files changed
+22
No files matched your search
@@ -47,6 +47,18 @@ type ForegroundChecker interface {
|
||||
ForegroundApp(ctx context.Context) (string, error)
|
||||
}
|
||||
|
||||
// FocusedWindowChecker is the optional capability for reporting which app owns
|
||||
// the focused (on-screen) window. The startup gate prefers it over
|
||||
// ForegroundChecker: the resumed-activity signal flips to a freshly launched
|
||||
// app before its first frame draws, so observing on it alone can capture the
|
||||
// previous app's screen. The focused window only names the app once its window
|
||||
// is actually up.
|
||||
type FocusedWindowChecker interface {
|
||||
// FocusedWindowApp returns the package owning the focused window, or ""
|
||||
// when no window is focused yet (e.g. mid-launch transition).
|
||||
FocusedWindowApp(ctx context.Context) (string, error)
|
||||
}
|
||||
|
||||
type LogEntry struct {
|
||||
UnixMillis int64
|
||||
Level string
|
||||
|
||||
@@ -33,6 +33,16 @@ func (c *Client) ForegroundApp(ctx context.Context) (string, error) {
|
||||
return android.ForegroundPackage(ctx)
|
||||
}
|
||||
|
||||
// FocusedWindowApp reports the package owning the focused window. Only Android
|
||||
// is supported (via adb); other platforms return "" so the startup gate falls
|
||||
// back to the foreground-app signal.
|
||||
func (c *Client) FocusedWindowApp(ctx context.Context) (string, error) {
|
||||
if c.platform != "android" {
|
||||
return "", nil
|
||||
}
|
||||
return android.FocusedWindowPackage(ctx)
|
||||
}
|
||||
|
||||
// Dial connects to the sidecar gRPC server at the given address.
|
||||
// Address must be a host:port pair, typically "127.0.0.1:<sidecar-port>".
|
||||
func Dial(address string) (*Client, error) {
|
||||
|
||||
Reference in new issue
Block a user