diff --git a/src/com/android/telecomm/CallLogManager.java b/src/com/android/telecomm/CallLogManager.java
index 9546784..1bb3c12 100644
--- a/src/com/android/telecomm/CallLogManager.java
+++ b/src/com/android/telecomm/CallLogManager.java
@@ -180,8 +180,8 @@
      * @return The call features.
      */
     private static int getCallFeatures(int videoState) {
-        if ((videoState & VideoCallProfile.VIDEO_STATE_TX_ENABLED)
-                == VideoCallProfile.VIDEO_STATE_TX_ENABLED) {
+        if ((videoState & VideoCallProfile.VideoState.TX_ENABLED)
+                == VideoCallProfile.VideoState.TX_ENABLED) {
             return Calls.FEATURES_VIDEO;
         }
         return Calls.FEATURES_NONE;
diff --git a/src/com/android/telecomm/NewOutgoingCallIntentBroadcaster.java b/src/com/android/telecomm/NewOutgoingCallIntentBroadcaster.java
index e819bd3..410cbfd 100644
--- a/src/com/android/telecomm/NewOutgoingCallIntentBroadcaster.java
+++ b/src/com/android/telecomm/NewOutgoingCallIntentBroadcaster.java
@@ -128,7 +128,7 @@
                     mIntent.getBooleanExtra(TelecommManager.EXTRA_START_CALL_WITH_SPEAKERPHONE,
                             false),
                     mIntent.getIntExtra(TelecommManager.EXTRA_START_CALL_WITH_VIDEO_STATE,
-                            VideoCallProfile.VIDEO_STATE_AUDIO_ONLY));
+                            VideoCallProfile.VideoState.AUDIO_ONLY));
         }
     }
 
@@ -204,7 +204,7 @@
                     TelecommManager.EXTRA_START_CALL_WITH_SPEAKERPHONE, false);
             int videoState = mIntent.getIntExtra(
                     TelecommManager.EXTRA_START_CALL_WITH_VIDEO_STATE,
-                    VideoCallProfile.VIDEO_STATE_AUDIO_ONLY);
+                    VideoCallProfile.VideoState.AUDIO_ONLY);
             mCallsManager.placeOutgoingCall(
                     Uri.fromParts(scheme, handle, null), null, null, speakerphoneOn, videoState);
 
diff --git a/tests/src/com/android/telecomm/testapps/TestConnectionService.java b/tests/src/com/android/telecomm/testapps/TestConnectionService.java
index baac4e1..11febe5 100644
--- a/tests/src/com/android/telecomm/testapps/TestConnectionService.java
+++ b/tests/src/com/android/telecomm/testapps/TestConnectionService.java
@@ -454,8 +454,8 @@
             connection.setCallCapabilities(capabilities);
 
             int videoState = isVideoCall ?
-                    VideoCallProfile.VIDEO_STATE_BIDIRECTIONAL :
-                    VideoCallProfile.VIDEO_STATE_AUDIO_ONLY;
+                    VideoCallProfile.VideoState.BIDIRECTIONAL :
+                    VideoCallProfile.VideoState.AUDIO_ONLY;
             connection.setVideoState(videoState);
             connection.setHandle(handle, CallPropertyPresentation.ALLOWED);
 
