协议
控制器
在 fuchsia.ui.test.scene/controller.fidl 中定义
控制界面测试场景。允许测试将测试 View 附加到场景并添加与 View 相关的插桩。
AttachClientView
*** 注意:ViewProvider 不再是父视图和子视图就 ViewportCreationToken / ViewCreationToken 对达成一致的首选方式。我们建议基于 Flatland 的客户端使用 PresentView(见下文),而不是 AttachClientView。
提示服务器使用提供的 fuchsia.ui.app.ViewProvider 句柄请求视图,并将其附加到场景。
返回值
此方法会返回客户端视图的 ViewRef 的 KOID。
同步
客户端 ViewRef 可用后,此调用会立即返回。请注意,此信号不一定表示视图已附加到场景。
生命周期
返回 AttachClientView 后,客户端可能会断开 Controller 连接。
请求
| 名称 | 类型 |
|---|---|
payload |
ControllerAttachClientViewRequest
|
响应
| 名称 | 类型 |
|---|---|
view_ref_koid |
zx/Koid
|
PresentClientView
提示服务器使用 viewport_creation_token 创建视口。
生命周期
返回 PresentClientView 后,客户端可能会断开 Controller 连接。
请求
| 名称 | 类型 |
|---|---|
payload |
ControllerPresentClientViewRequest
|
RegisterViewTreeWatcher
代表客户端注册 ViewTreeWatcher。
代表客户注册的 ViewTreeWatcher 目前的范围是全局范围;我们打算在可行时尽快将范围限制为客户视图的子树。
如需详细了解几何图形观察,请参阅 //sdk/fidl/fuchsia.ui.observation.geometry/watcher.fidl 中的文档。
请求
| 名称 | 类型 |
|---|---|
watcher |
server_end:fuchsia.ui.observation.geometry/ViewTreeWatcher
|
响应
<EMPTY>
WatchViewPresentation
挂起状态,等待更新以查看演示文稿。
调用方可以使用此方法等待 ClientView 通过以下任一视图呈现方法进行 Present():
fuchsia.ui.test.scene.Controller/AttachClientView()fuchsia.ui.test.scene.Controller/PresentClientView()fuchsia.element.GraphicalPresenter/PresentView()
调用方应针对其预期要等待的每个视图调用此方法一次。
请注意,调用方在交错调用时必须小心,因为此方法无法:(a) 将 Present() 与特定的 ClientView 相关联,或 (b) 将 Present() 与 AttachClientView() 调用(而非 PresentClientView() 或 PresentView 调用)相关联。
在之前的调用仍处于待处理状态时调用 WatchViewPresentation 是无效的;系统会忽略后续的请求。
请求
<EMPTY>
响应
<EMPTY>
TABLES
ControllerAttachClientViewRequest resource
在 fuchsia.ui.test.scene/controller.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
view_provider |
client_end:fuchsia.ui.app/ViewProvider
|
ControllerPresentClientViewRequest 资源
在 fuchsia.ui.test.scene/controller.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
viewport_creation_token |
fuchsia.ui.views/ViewportCreationToken
|
添加时间:10
|