![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9cmaOh3YtJGcxIjYox2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmLwYzM3MzMyAjM5ITNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
被更新方收到視訊邀請流程:
1、RILD 接收到,+EIMSCMODE 指令(用來定義視訊通話和語音通話之間的切換)
2、ImsRILAdapter.java vendor\proprietary\packages\services\Ims\src\com\mediatek\ims\ril
給ImsRILAdapter發送RIL_UNSOL_VIDEO_CAPABILITY_INDICATOR 資訊,進行處理
CommandsInterface接口的實作者,與RIL.java設計類似,有ImsRILSender和ImsRILReceiver在各自線程中執行收發,和rild-ims互動;
3、ImsCallSessionProxy.java vendor\proprietary\packages\services\Ims\src\com\mediatek\ims
負責執行通話相關操作,直接與ImsRILAdapter互動,并通過ImsCommandsInterface回調上報狀态,負責通話的建立和狀态跟蹤,通過listener來同步消息;
4、ImsVTProvider.java vendor\proprietary\packages\services\Ims\src\com\mediatek\ims\internal
通過定義ImsVTProvider的onReceivePauseState監聽事件
5、ImsVideoCallProvider.java frameworks\base\telephony\java\android\telephony\ims
Connection.VideoProvider
6、ImsVideoCallProviderWrapper.java frameworks\opt\net\ims\src\java\com\android\ims\internal
它與IMS服務中的視訊調用提供程式的實際實作進行中介和通信;本質上,它是IMS視訊調用提供程式實作的包裝器。
該類維護一個綁定器,通過該綁定器,ImsVideoCallProvider的實作可以傳達其調用回調的意圖。在這個類中,處理跨此活頁夾的消息,并使用超類的方法執行回調。
7、Connection frameworks\base\telecomm\java\android\telecom
表示到攜帶語音和/或視訊的遠端端點的電話呼叫或連接配接
8、VideoCallImpl frameworks\base\telecomm\java\android\telecom
實作一個視訊調用,它允許InCallUi将指令與底層通信
9、InCallVideoCallCallbacks vendor\proprietary\packages\apps\Dialer\InCallUI\src\com\android\incallui
onSessionModifyRequestReceived 處理傳入的會話修改請求。
10、InCallVideoCallCallbacksNotifier vendor\proprietary\packages\apps\Dialer\InCallUI\src\com\android\incallui
upgradeToVideoRequest 通知聽衆電話更新到視訊請求。
11、VideoSessionController vendor\proprietary\packages\apps\Dialer\InCallUI\src\com\mediatek\incallui\videocall
onUpgradeToVideoRequest
被更新端收到邀請後彈框提示
packages\apps\Dialer\InCallUI\src\com\android\incallui
12、Call
setRequestedVideoState
處理傳入的會話修改請求。存儲待處理的視訊請求,并将會話修改狀态設定為{@link SessionModificationState#RECEIVED_UPGRADE_TO_VIDEO_REQUEST},以便跟蹤事實上,請求已經收到。隻有更新請求需要使用者确認,并且将由此方法處理。遠端使用者可以在沒有攝像頭的情況下關閉自己的相機确認。
13、CallList
14、InCallPresenter
15、StatusBarNotifier
16、VideoCallFragment