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
|