Merge "Add arrow icon to bubble sound button when Bluetooth is connected."
diff --git a/assets/quantum/res/drawable/quantum_ic_arrow_drop_down_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_arrow_drop_down_vd_theme_24.xml
new file mode 100644
index 0000000..0c1c4f0
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_arrow_drop_down_vd_theme_24.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ Copyright (C) 2017 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
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="@android:color/white"
+      android:pathData="M7,10l5,5 5,-5z"/>
+</vector>
\ No newline at end of file
diff --git a/java/com/android/incallui/NewReturnToCallController.java b/java/com/android/incallui/NewReturnToCallController.java
index 0b637f8..e37b147 100644
--- a/java/com/android/incallui/NewReturnToCallController.java
+++ b/java/com/android/incallui/NewReturnToCallController.java
@@ -275,6 +275,10 @@
     actions.add(
         Action.builder()
             .setIconDrawable(context.getDrawable(speakerButtonInfo.icon))
+            .setSecondaryIconDrawable(
+                speakerButtonInfo.checkable
+                    ? null
+                    : context.getDrawable(R.drawable.quantum_ic_arrow_drop_down_vd_theme_24))
             .setName(context.getText(speakerButtonInfo.label))
             .setCheckable(speakerButtonInfo.checkable)
             .setChecked(speakerButtonInfo.isChecked)
diff --git a/java/com/android/newbubble/NewBubbleInfo.java b/java/com/android/newbubble/NewBubbleInfo.java
index cc7ac7c..d9232a5 100644
--- a/java/com/android/newbubble/NewBubbleInfo.java
+++ b/java/com/android/newbubble/NewBubbleInfo.java
@@ -80,6 +80,9 @@
 
     public abstract Drawable getIconDrawable();
 
+    @Nullable
+    public abstract Drawable getSecondaryIconDrawable();
+
     @NonNull
     public abstract CharSequence getName();
 
@@ -100,7 +103,8 @@
           .setChecked(action.isChecked())
           .setCheckable(action.isCheckable())
           .setName(action.getName())
-          .setIconDrawable(action.getIconDrawable());
+          .setIconDrawable(action.getIconDrawable())
+          .setSecondaryIconDrawable(action.getSecondaryIconDrawable());
     }
 
     /** Builder for {@link Action} */
@@ -109,6 +113,8 @@
 
       public abstract Builder setIconDrawable(Drawable iconDrawable);
 
+      public abstract Builder setSecondaryIconDrawable(@Nullable Drawable secondaryIconDrawable);
+
       public abstract Builder setName(@NonNull CharSequence name);
 
       public abstract Builder setIntent(@NonNull PendingIntent intent);