Various IMS changed. (3/3)

1. Adding TelephonyConnection listener for call video provider changes.

Bug: 15893156
Change-Id: I4a7c8b88a31decadf77b244b588026bd1e6fadc0
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index d7e4c76..16e167b 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -22,6 +22,7 @@
 import android.os.Message;
 import android.telecomm.CallAudioState;
 import android.telecomm.CallCapabilities;
+import android.telecomm.CallVideoProvider;
 import android.telephony.DisconnectCause;
 
 import com.android.internal.telephony.Call;
@@ -32,6 +33,7 @@
 
 import android.telecomm.Connection;
 
+import java.lang.Override;
 import java.util.List;
 import java.util.Objects;
 
@@ -106,6 +108,17 @@
         public void onRemoteVideoCapabilityChanged(boolean capable) {
             setRemoteVideoCapable(capable);
         }
+
+        /**
+         * The {@link com.android.internal.telephony.Connection} has reported a change in the
+         * call video provider.
+         *
+         * @param callVideoProvider The call video provider.
+         */
+        @Override
+        public void onCallVideoProviderChanged(CallVideoProvider callVideoProvider) {
+            setCallVideoProvider(callVideoProvider);
+        }
     };
 
     private com.android.internal.telephony.Connection mOriginalConnection;
@@ -144,6 +157,8 @@
         setVideoState(mOriginalConnection.getVideoState());
         setLocalVideoCapable(mOriginalConnection.isLocalVideoCapable());
         setRemoteVideoCapable(mOriginalConnection.isRemoteVideoCapable());
+        setCallVideoProvider(mOriginalConnection.getCallVideoProvider());
+
         updateHandle();
     }