Replace png icons with vector drawable for video call screen.

Bug: 76221932
Test: manual
PiperOrigin-RevId: 190948113
Change-Id: I4151ab3fc5231183d49fc1bdc247a09e5ffadc22
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
index 009fb9e..3a1e196 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
@@ -276,7 +276,7 @@
   @Override
   public void onSpeakerphoneOn(boolean on) {
     if (on) {
-      playbackSpeakerphone.setImageResource(R.drawable.quantum_ic_volume_up_white_24);
+      playbackSpeakerphone.setImageResource(R.drawable.quantum_ic_volume_up_vd_theme_24);
       // Speaker is now on, tapping button will turn it off.
       playbackSpeakerphone.setContentDescription(context.getString(R.string.voicemail_speaker_off));
     } else {
diff --git a/java/com/android/incallui/ReturnToCallController.java b/java/com/android/incallui/ReturnToCallController.java
index 9dfb73b..d5e6a10 100644
--- a/java/com/android/incallui/ReturnToCallController.java
+++ b/java/com/android/incallui/ReturnToCallController.java
@@ -44,7 +44,6 @@
 import com.android.incallui.call.CallList.Listener;
 import com.android.incallui.call.DialerCall;
 import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo;
-import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.List;
@@ -280,7 +279,7 @@
   @NonNull
   private List<Action> generateActions() {
     List<Action> actions = new ArrayList<>();
-    SpeakerButtonInfo speakerButtonInfo = new SpeakerButtonInfo(audioState, IconSize.SIZE_24_DP);
+    SpeakerButtonInfo speakerButtonInfo = new SpeakerButtonInfo(audioState);
 
     // Return to call
     actions.add(
@@ -294,7 +293,7 @@
     // Mute/unmute
     actions.add(
         Action.builder()
-            .setIconDrawable(context.getDrawable(R.drawable.quantum_ic_mic_off_white_24))
+            .setIconDrawable(context.getDrawable(R.drawable.quantum_ic_mic_off_vd_theme_24))
             .setChecked(audioState.isMuted())
             .setIntent(toggleMute)
             .setName(context.getText(R.string.incall_label_mute))
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index 503df6c..9a27532 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -916,7 +916,7 @@
         createNotificationPendingIntent(context, ACTION_TURN_ON_SPEAKER);
     builder.addAction(
         new Notification.Action.Builder(
-                Icon.createWithResource(context, R.drawable.quantum_ic_volume_up_white_24),
+                Icon.createWithResource(context, R.drawable.quantum_ic_volume_up_vd_theme_24),
                 context.getText(R.string.notification_action_speaker_on),
                 speakerOnPendingIntent)
             .build());
@@ -930,7 +930,7 @@
         createNotificationPendingIntent(context, ACTION_TURN_OFF_SPEAKER);
     builder.addAction(
         new Notification.Action.Builder(
-                Icon.createWithResource(context, R.drawable.quantum_ic_phone_in_talk_white_24),
+                Icon.createWithResource(context, R.drawable.quantum_ic_phone_in_talk_vd_theme_24),
                 context.getText(R.string.notification_action_speaker_off),
                 speakerOffPendingIntent)
             .build());
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index e5271f5..77352f9 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -174,7 +174,7 @@
     },
 
     ANSWER_VIDEO_AS_AUDIO(
-        R.drawable.quantum_ic_videocam_off_white_24,
+        R.drawable.quantum_ic_videocam_off_vd_theme_24,
         R.string.a11y_description_incoming_call_answer_video_as_audio,
         R.string.a11y_incoming_call_answer_video_as_audio,
         R.string.call_incoming_swipe_to_answer_video_as_audio) {
diff --git a/java/com/android/incallui/incall/impl/ButtonController.java b/java/com/android/incallui/incall/impl/ButtonController.java
index dd11fff..98460c7 100644
--- a/java/com/android/incallui/incall/impl/ButtonController.java
+++ b/java/com/android/incallui/incall/impl/ButtonController.java
@@ -31,7 +31,6 @@
 import com.android.incallui.incall.protocol.InCallButtonUiDelegate;
 import com.android.incallui.incall.protocol.InCallScreenDelegate;
 import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo;
-import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize;
 
 /** Manages a single button. */
 interface ButtonController {
@@ -379,7 +378,7 @@
     }
 
     public void setAudioState(CallAudioState audioState) {
-      SpeakerButtonInfo info = new SpeakerButtonInfo(audioState, IconSize.SIZE_36_DP);
+      SpeakerButtonInfo info = new SpeakerButtonInfo(audioState);
 
       checkable = info.checkable;
       isChecked = info.isChecked;
diff --git a/java/com/android/incallui/rtt/impl/RttOverflowMenu.java b/java/com/android/incallui/rtt/impl/RttOverflowMenu.java
index 2a061c5..6a7aeba 100644
--- a/java/com/android/incallui/rtt/impl/RttOverflowMenu.java
+++ b/java/com/android/incallui/rtt/impl/RttOverflowMenu.java
@@ -24,7 +24,6 @@
 import com.android.incallui.incall.protocol.InCallScreenDelegate;
 import com.android.incallui.rtt.impl.RttCheckableButton.OnCheckedChangeListener;
 import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo;
-import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize;
 
 /** Overflow menu for RTT call. */
 public class RttOverflowMenu extends PopupWindow implements OnCheckedChangeListener {
@@ -89,7 +88,7 @@
   }
 
   void setAudioState(CallAudioState audioState) {
-    SpeakerButtonInfo info = new SpeakerButtonInfo(audioState, IconSize.SIZE_24_DP);
+    SpeakerButtonInfo info = new SpeakerButtonInfo(audioState);
     if (info.checkable) {
       speakerButton.setChecked(info.isChecked);
       speakerButton.setOnClickListener(null);
diff --git a/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java b/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java
index 5ab821b..58fd40f 100644
--- a/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java
+++ b/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java
@@ -42,7 +42,7 @@
   public final boolean checkable;
   public final boolean isChecked;
 
-  public SpeakerButtonInfo(CallAudioState audioState, @IconSize int iconSize) {
+  public SpeakerButtonInfo(CallAudioState audioState) {
     if ((audioState.getSupportedRouteMask() & CallAudioState.ROUTE_BLUETOOTH)
         == CallAudioState.ROUTE_BLUETOOTH) {
       checkable = false;
@@ -51,40 +51,25 @@
 
       if ((audioState.getRoute() & CallAudioState.ROUTE_BLUETOOTH)
           == CallAudioState.ROUTE_BLUETOOTH) {
-        icon =
-            iconSize == IconSize.SIZE_36_DP
-                ? R.drawable.quantum_ic_bluetooth_audio_white_36
-                : R.drawable.quantum_ic_bluetooth_audio_white_24;
+        icon = R.drawable.quantum_ic_bluetooth_audio_vd_theme_24;
         contentDescription = R.string.incall_content_description_bluetooth;
       } else if ((audioState.getRoute() & CallAudioState.ROUTE_SPEAKER)
           == CallAudioState.ROUTE_SPEAKER) {
-        icon =
-            iconSize == IconSize.SIZE_36_DP
-                ? R.drawable.quantum_ic_volume_up_white_36
-                : R.drawable.quantum_ic_volume_up_white_24;
+        icon = R.drawable.quantum_ic_volume_up_vd_theme_24;
         contentDescription = R.string.incall_content_description_speaker;
       } else if ((audioState.getRoute() & CallAudioState.ROUTE_WIRED_HEADSET)
           == CallAudioState.ROUTE_WIRED_HEADSET) {
-        icon =
-            iconSize == IconSize.SIZE_36_DP
-                ? R.drawable.quantum_ic_headset_white_36
-                : R.drawable.quantum_ic_headset_white_24;
+        icon = R.drawable.quantum_ic_headset_vd_theme_24;
         contentDescription = R.string.incall_content_description_headset;
       } else {
-        icon =
-            iconSize == IconSize.SIZE_36_DP
-                ? R.drawable.quantum_ic_phone_in_talk_white_36
-                : R.drawable.quantum_ic_phone_in_talk_white_24;
+        icon = R.drawable.quantum_ic_phone_in_talk_vd_theme_24;
         contentDescription = R.string.incall_content_description_earpiece;
       }
     } else {
       checkable = true;
       isChecked = audioState.getRoute() == CallAudioState.ROUTE_SPEAKER;
       label = R.string.incall_label_speaker;
-      icon =
-          iconSize == IconSize.SIZE_36_DP
-              ? R.drawable.quantum_ic_volume_up_white_36
-              : R.drawable.quantum_ic_volume_up_white_24;
+      icon = R.drawable.quantum_ic_volume_up_vd_theme_24;
       contentDescription = R.string.incall_content_description_speaker;
     }
   }
diff --git a/java/com/android/incallui/video/impl/SpeakerButtonController.java b/java/com/android/incallui/video/impl/SpeakerButtonController.java
index d98545f..e17cf7b 100644
--- a/java/com/android/incallui/video/impl/SpeakerButtonController.java
+++ b/java/com/android/incallui/video/impl/SpeakerButtonController.java
@@ -36,7 +36,7 @@
 
   @NonNull private CheckableImageButton button;
 
-  @DrawableRes private int icon = R.drawable.quantum_ic_volume_up_white_36;
+  @DrawableRes private int icon = R.drawable.quantum_ic_volume_up_vd_theme_24;
 
   private boolean isChecked;
   private boolean checkable;
@@ -77,24 +77,24 @@
 
       if ((audioState.getRoute() & CallAudioState.ROUTE_BLUETOOTH)
           == CallAudioState.ROUTE_BLUETOOTH) {
-        icon = R.drawable.quantum_ic_bluetooth_audio_white_36;
+        icon = R.drawable.quantum_ic_bluetooth_audio_vd_theme_24;
         contentDescriptionResId = R.string.incall_content_description_bluetooth;
       } else if ((audioState.getRoute() & CallAudioState.ROUTE_SPEAKER)
           == CallAudioState.ROUTE_SPEAKER) {
-        icon = R.drawable.quantum_ic_volume_up_white_36;
+        icon = R.drawable.quantum_ic_volume_up_vd_theme_24;
         contentDescriptionResId = R.string.incall_content_description_speaker;
       } else if ((audioState.getRoute() & CallAudioState.ROUTE_WIRED_HEADSET)
           == CallAudioState.ROUTE_WIRED_HEADSET) {
-        icon = R.drawable.quantum_ic_headset_white_36;
+        icon = R.drawable.quantum_ic_headset_vd_theme_24;
         contentDescriptionResId = R.string.incall_content_description_headset;
       } else {
-        icon = R.drawable.quantum_ic_phone_in_talk_white_36;
+        icon = R.drawable.quantum_ic_phone_in_talk_vd_theme_24;
         contentDescriptionResId = R.string.incall_content_description_earpiece;
       }
     } else {
       checkable = true;
       isChecked = audioState.getRoute() == CallAudioState.ROUTE_SPEAKER;
-      icon = R.drawable.quantum_ic_volume_up_white_36;
+      icon = R.drawable.quantum_ic_volume_up_vd_theme_24;
       contentDescriptionResId = R.string.incall_content_description_speaker;
     }
 
diff --git a/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml
index 40b50bc..9a3682f 100644
--- a/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml
+++ b/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml
@@ -60,33 +60,25 @@
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_speaker_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginEnd="24dp"
       android:checked="true"
-      android:src="@drawable/quantum_ic_volume_up_white_36"
+      android:src="@drawable/quantum_ic_volume_up_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_speaker"
       app:contentDescriptionUnchecked="@string/incall_content_description_earpiece"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginEnd="24dp"
-      android:scaleType="center"
-      android:src="@drawable/quantum_ic_mic_off_white_36"
+      android:src="@drawable/quantum_ic_mic_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_muted"
       app:contentDescriptionUnchecked="@string/incall_content_description_unmuted"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_video"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginEnd="24dp"
-      android:scaleType="center"
-      android:src="@drawable/quantum_ic_videocam_off_white_36"
+      android:src="@drawable/quantum_ic_videocam_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_video_off"
       app:contentDescriptionUnchecked="@string/incall_content_description_video_on"
       />
@@ -111,7 +103,7 @@
       android:layout_width="@dimen/videocall_button_size"
       android:layout_height="@dimen/videocall_button_size"
       android:contentDescription="@string/incall_content_description_swap_calls"
-      android:src="@drawable/quantum_ic_swap_calls_white_36"
+      android:src="@drawable/quantum_ic_swap_calls_vd_theme_24"
       android:visibility="gone"
       tools:visibility="visible"
       />
diff --git a/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml b/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml
index 1fb1bb0..6660283 100644
--- a/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml
+++ b/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml
@@ -1,6 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/videocall_switch_video"
   style="@style/Incall.Button.VideoCall"
   android:contentDescription="@string/incall_content_description_swap_video"
+  android:scaleType="center"
   android:src="@drawable/front_back_switch_button_animation"/>
diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml
index f8c6fc3..ed32ae2 100644
--- a/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml
+++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml
@@ -1,4 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
@@ -85,7 +99,7 @@
     android:layout_alignRight="@+id/videocall_video_preview"
     android:layout_alignTop="@+id/videocall_video_preview"
     android:scaleType="center"
-    android:src="@drawable/quantum_ic_videocam_off_white_24"
+    android:src="@drawable/quantum_ic_videocam_off_vd_theme_24"
     android:tint="@color/videocall_camera_off_tint"
     android:tintMode="src_in"
     android:visibility="gone"
@@ -101,7 +115,8 @@
     android:background="@drawable/videocall_background_circle_white"
     android:contentDescription="@string/incall_content_description_muted"
     android:scaleType="center"
-    android:src="@drawable/quantum_ic_mic_off_black_24"
+    android:src="@drawable/quantum_ic_mic_off_vd_theme_24"
+    android:tint="@android:color/black"
     android:visibility="gone"
     tools:visibility="visible"/>
 
diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml
index 2353dee..f744569 100644
--- a/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml
+++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml
@@ -1,4 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
@@ -79,7 +93,7 @@
     android:layout_alignRight="@+id/videocall_video_preview"
     android:layout_alignTop="@+id/videocall_video_preview"
     android:scaleType="center"
-    android:src="@drawable/quantum_ic_videocam_off_white_36"
+    android:src="@drawable/quantum_ic_videocam_off_vd_theme_24"
     android:visibility="gone"
     android:importantForAccessibility="no"
     tools:visibility="visible"/>
@@ -93,7 +107,8 @@
     android:background="@drawable/videocall_background_circle_white"
     android:contentDescription="@string/incall_content_description_muted"
     android:scaleType="center"
-    android:src="@drawable/quantum_ic_mic_off_black_24"
+    android:src="@drawable/quantum_ic_mic_off_vd_theme_24"
+    android:tint="@android:color/black"
     android:visibility="gone"
     tools:visibility="visible"/>
 
diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
index 1a2bc24..dd1bd61 100644
--- a/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
+++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
@@ -65,7 +65,7 @@
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:scaleType="center"
-      android:src="@drawable/quantum_ic_videocam_off_white_24"
+      android:src="@drawable/quantum_ic_videocam_off_vd_theme_24"
       android:tint="@color/videocall_camera_off_tint"
       android:tintMode="src_in"
       android:visibility="gone"
@@ -84,7 +84,8 @@
     android:background="@drawable/videocall_background_circle_white"
     android:contentDescription="@string/incall_content_description_muted"
     android:scaleType="center"
-    android:src="@drawable/quantum_ic_mic_off_black_24"
+    android:src="@drawable/quantum_ic_mic_off_vd_theme_24"
+    android:tint="@android:color/black"
     android:visibility="gone"
     tools:visibility="visible"/>
 
diff --git a/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml b/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml
index 87c2e1b..f473dd8 100644
--- a/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml
+++ b/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml
@@ -1,4 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/videocall_switch_video"
   style="@style/Incall.Button.VideoCall"
diff --git a/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml b/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml
index 3cf0504..56797d9 100644
--- a/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml
+++ b/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml
@@ -1,4 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
diff --git a/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml b/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml
index b3141bd..70cbac8 100644
--- a/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml
+++ b/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml
@@ -1,4 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
@@ -46,31 +60,25 @@
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_speaker_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginBottom="@dimen/videocall_button_spacing"
       android:checked="true"
-      android:src="@drawable/quantum_ic_volume_up_white_36"
+      android:src="@drawable/quantum_ic_volume_up_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_speaker"
       app:contentDescriptionUnchecked="@string/incall_content_description_earpiece"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginBottom="@dimen/videocall_button_spacing"
-      android:src="@drawable/quantum_ic_mic_off_white_36"
+      android:src="@drawable/quantum_ic_mic_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_muted"
       app:contentDescriptionUnchecked="@string/incall_content_description_unmuted"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_video"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginBottom="@dimen/videocall_button_spacing"
-      android:src="@drawable/quantum_ic_videocam_off_white_36"
+      android:src="@drawable/quantum_ic_videocam_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_video_off"
       app:contentDescriptionUnchecked="@string/incall_content_description_video_on"
       />
@@ -92,10 +100,8 @@
     <ImageButton
       android:id="@+id/videocall_switch_on_hold"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:contentDescription="@string/incall_content_description_swap_calls"
-      android:src="@drawable/quantum_ic_swap_calls_white_36"
+      android:src="@drawable/quantum_ic_swap_calls_vd_theme_24"
       android:visibility="gone"
       tools:visibility="visible"
       />
diff --git a/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml b/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml
index d71b3c0..404e5c8 100644
--- a/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml
+++ b/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml
@@ -1,4 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
@@ -45,33 +59,25 @@
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_speaker_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginEnd="24dp"
       android:checked="true"
-      android:src="@drawable/quantum_ic_volume_up_white_36"
+      android:src="@drawable/quantum_ic_volume_up_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_speaker"
       app:contentDescriptionUnchecked="@string/incall_content_description_earpiece"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginEnd="24dp"
-      android:scaleType="center"
-      android:src="@drawable/quantum_ic_mic_off_white_36"
+      android:src="@drawable/quantum_ic_mic_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_muted"
       app:contentDescriptionUnchecked="@string/incall_content_description_unmuted"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_video"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginEnd="24dp"
-      android:scaleType="center"
-      android:src="@drawable/quantum_ic_videocam_off_white_36"
+      android:src="@drawable/quantum_ic_videocam_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_video_off"
       app:contentDescriptionUnchecked="@string/incall_content_description_video_on"
       />
@@ -93,10 +99,8 @@
     <ImageButton
       android:id="@+id/videocall_switch_on_hold"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:contentDescription="@string/incall_content_description_swap_calls"
-      android:src="@drawable/quantum_ic_swap_calls_white_36"
+      android:src="@drawable/quantum_ic_swap_calls_vd_theme_24"
       android:visibility="gone"
       tools:visibility="visible"
       />
diff --git a/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml
index d2dc992..7cea792 100644
--- a/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml
+++ b/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml
@@ -61,33 +61,25 @@
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_speaker_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginBottom="@dimen/videocall_button_spacing"
       android:checked="true"
-      android:src="@drawable/quantum_ic_volume_up_white_36"
+      android:src="@drawable/quantum_ic_volume_up_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_speaker"
       app:contentDescriptionUnchecked="@string/incall_content_description_earpiece"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_button"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginBottom="@dimen/videocall_button_spacing"
-      android:scaleType="center"
-      android:src="@drawable/quantum_ic_mic_off_white_36"
+      android:src="@drawable/quantum_ic_mic_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_muted"
       app:contentDescriptionUnchecked="@string/incall_content_description_unmuted"
       />
     <com.android.incallui.video.impl.CheckableImageButton
       android:id="@+id/videocall_mute_video"
       style="@style/Incall.Button.VideoCall"
-      android:layout_width="@dimen/videocall_button_size"
-      android:layout_height="@dimen/videocall_button_size"
       android:layout_marginBottom="@dimen/videocall_button_spacing"
-      android:scaleType="center"
-      android:src="@drawable/quantum_ic_videocam_off_white_36"
+      android:src="@drawable/quantum_ic_videocam_off_vd_theme_24"
       app:contentDescriptionChecked="@string/incall_content_description_video_off"
       app:contentDescriptionUnchecked="@string/incall_content_description_video_on"
       />
@@ -112,7 +104,7 @@
       android:layout_width="@dimen/videocall_button_size"
       android:layout_height="@dimen/videocall_button_size"
       android:contentDescription="@string/incall_content_description_swap_calls"
-      android:src="@drawable/quantum_ic_swap_calls_white_36"
+      android:src="@drawable/quantum_ic_swap_calls_vd_theme_24"
       android:visibility="gone"
       tools:visibility="visible"
       />
diff --git a/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml b/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml
index e9e7f9e..d4a5e17 100644
--- a/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml
+++ b/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml
@@ -17,6 +17,7 @@
 <resources>
   <dimen name="videocall_button_spacing">16dp</dimen>
   <dimen name="videocall_button_size">72dp</dimen>
+  <dimen name="videocall_button_padding">18dp</dimen>
   <dimen name="videocall_preview_width">88dp</dimen>
   <dimen name="videocall_preview_height">88dp</dimen>
   <dimen name="videocall_preview_long">116dp</dimen>
diff --git a/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml b/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml
index e9e7f9e..d4a5e17 100644
--- a/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml
+++ b/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml
@@ -17,6 +17,7 @@
 <resources>
   <dimen name="videocall_button_spacing">16dp</dimen>
   <dimen name="videocall_button_size">72dp</dimen>
+  <dimen name="videocall_button_padding">18dp</dimen>
   <dimen name="videocall_preview_width">88dp</dimen>
   <dimen name="videocall_preview_height">88dp</dimen>
   <dimen name="videocall_preview_long">116dp</dimen>
diff --git a/java/com/android/incallui/video/impl/res/values/dimens.xml b/java/com/android/incallui/video/impl/res/values/dimens.xml
index 606b158..b6449a6 100644
--- a/java/com/android/incallui/video/impl/res/values/dimens.xml
+++ b/java/com/android/incallui/video/impl/res/values/dimens.xml
@@ -23,4 +23,5 @@
   <dimen name="videocall_preview_margin_end">24dp</dimen>
   <dimen name="videocall_button_spacing">8dp</dimen>
   <dimen name="videocall_button_size">60dp</dimen>
+  <dimen name="videocall_button_padding">12dp</dimen>
 </resources>
diff --git a/java/com/android/incallui/video/impl/res/values/styles.xml b/java/com/android/incallui/video/impl/res/values/styles.xml
index 010aca2..03395d9 100644
--- a/java/com/android/incallui/video/impl/res/values/styles.xml
+++ b/java/com/android/incallui/video/impl/res/values/styles.xml
@@ -16,10 +16,13 @@
   -->
 <resources>
   <style name="Incall.Button.VideoCall" parent="Widget.AppCompat.ImageButton">
+    <item name="android:layout_height">@dimen/videocall_button_size</item>
+    <item name="android:layout_width">@dimen/videocall_button_size</item>
     <item name="android:background">@drawable/videocall_video_button_background</item>
-    <item name="android:scaleType">center</item>
     <item name="android:tint">@color/videocall_button_icon_tint</item>
     <item name="android:tintMode">src_atop</item>
+    <item name="android:padding">@dimen/videocall_button_padding</item>
+    <item name="android:scaleType">fitCenter</item>
     <item name="android:stateListAnimator">@animator/disabled_alpha</item>
   </style>
   <style name="VideoPreviewHolder">