PROTOCOLS
控場
定義於 fuchsia.ui.test.scene/controller.fidl.fidl
控制 UI 測試情境。允許測試將測試 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
一個掛起的 get,用於監控是否有可供觀看的簡報更新。
呼叫端可以使用這個方法,等待 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 資源
定義於 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
|