协议
控制器
在 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.传统几何图形/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>
表
ControllerAttachClientViewRequest 资源
在 fuchsia.ui.test.scene/controller.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
view_provider |
fuchsia.ui.app/ViewProvider
|
ControllerPresentClientViewRequest 资源
在 fuchsia.ui.test.scene/controller.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
viewport_creation_token |
fuchsia.ui.views/ViewportCreationToken
|
添加数量:10
|