package device type ConnectionType string const ( ConnectionUSB ConnectionType = "usb" ConnectionWifi ConnectionType = "wifi" ) type Status string const ( StatusOnline Status = "online" StatusOffline Status = "offline" StatusUnauthorized Status = "unauthorized" StatusRecovery Status = "recovery" ) type Device struct { ID string `json:"id"` Model string `json:"model"` Product string `json:"product"` AndroidVersion string `json:"androidVersion"` ABI string `json:"abi"` ConnectionType ConnectionType `json:"connectionType"` Status Status `json:"status"` BatteryLevel int `json:"batteryLevel"` Manufacturer string `json:"manufacturer"` } // DeviceLiveStats holds fields that change while the device is running. // Polled separately from the static DeviceInfo. type DeviceLiveStats struct { AvailableRAMMB int `json:"availableRamMb"` BatteryLevel int `json:"batteryLevel"` BatteryStatus string `json:"batteryStatus"` ThermalStatus string `json:"thermalStatus"` AvailableStorageGB string `json:"availableStorageGb"` IPAddress string `json:"ipAddress"` } // DeviceInfo holds extended device details fetched on demand. type DeviceInfo struct { ID string `json:"id"` Manufacturer string `json:"manufacturer"` Model string `json:"model"` Product string `json:"product"` AndroidVersion string `json:"androidVersion"` SDKVersion string `json:"sdkVersion"` SecurityPatch string `json:"securityPatch"` BuildFingerprint string `json:"buildFingerprint"` ABI string `json:"abi"` SupportedABIs string `json:"supportedAbis"` ScreenResolution string `json:"screenResolution"` ScreenDensity string `json:"screenDensity"` TotalRAMMB int `json:"totalRamMb"` AvailableRAMMB int `json:"availableRamMb"` TotalStorageGB string `json:"totalStorageGb"` AvailableStorageGB string `json:"availableStorageGb"` BatteryLevel int `json:"batteryLevel"` BatteryStatus string `json:"batteryStatus"` ThermalStatus string `json:"thermalStatus"` IPAddress string `json:"ipAddress"` SerialNumber string `json:"serialNumber"` }