In Multi-SIM cases use the color of the SIM icon for InCallUI.

Set the color of the InCallUI to be the color of the SIM icon. In the
single SIM case, the background should be the default background.
* Added id to all call button backgrounds for color change
* Initialize color onResume for InCallActivity
* CallCardFragment/CallButtonFragment/DialpadFragment update their colors
* Added InCallUIMaterialColorMapUtils to extract color

Bug: 17971273
Change-Id: Ia247b153b57ffc8a5277d521c433ab0be6696cf6
diff --git a/InCallUI/res/drawable/btn_add.xml b/InCallUI/res/drawable/btn_add.xml
index 515d65b..7d5e90f 100644
--- a/InCallUI/res/drawable/btn_add.xml
+++ b/InCallUI/res/drawable/btn_add.xml
@@ -18,12 +18,13 @@
 
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:drawable="@drawable/btn_background" />
+    <item android:id="@+id/backgroundItem"
+          android:drawable="@drawable/btn_background" />
 
     <item>
         <bitmap android:src="@drawable/ic_toolbar_add_call"
             android:gravity="center"
             android:tint="@color/selectable_icon_tint" />
     </item>
-    
+
 </layer-list>
\ No newline at end of file
diff --git a/InCallUI/res/drawable/btn_change_to_video.xml b/InCallUI/res/drawable/btn_change_to_video.xml
index 962539e..a26cee3 100644
--- a/InCallUI/res/drawable/btn_change_to_video.xml
+++ b/InCallUI/res/drawable/btn_change_to_video.xml
@@ -18,7 +18,8 @@
 
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:drawable="@drawable/btn_background" />
+    <item android:id="@+id/backgroundItem"
+          android:drawable="@drawable/btn_background" />
 
     <item>
         <bitmap android:src="@drawable/ic_toolbar_video"
diff --git a/InCallUI/res/drawable/btn_change_to_voice.xml b/InCallUI/res/drawable/btn_change_to_voice.xml
index fdeae07..86a7f21 100644
--- a/InCallUI/res/drawable/btn_change_to_voice.xml
+++ b/InCallUI/res/drawable/btn_change_to_voice.xml
@@ -18,7 +18,8 @@
 
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:drawable="@drawable/btn_background" />
+    <item android:id="@+id/backgroundItem"
+          android:drawable="@drawable/btn_background" />
 
     <item>
         <bitmap android:src="@drawable/ic_toolbar_audio_phone"
diff --git a/InCallUI/res/drawable/btn_compound_background.xml b/InCallUI/res/drawable/btn_compound_background.xml
index 93e6c31..36aab0d 100644
--- a/InCallUI/res/drawable/btn_compound_background.xml
+++ b/InCallUI/res/drawable/btn_compound_background.xml
@@ -24,7 +24,7 @@
                   android:drawable="@drawable/btn_selected_focused" />
 
             <item android:state_focused="true"
-                  android:drawable="@drawable/btn_unselected_focused" />cd
+                  android:drawable="@drawable/btn_unselected_focused" />
 
             <item android:state_selected="true"
                 android:drawable="@drawable/btn_selected" />
diff --git a/InCallUI/res/drawable/btn_compound_dialpad.xml b/InCallUI/res/drawable/btn_compound_dialpad.xml
index fcd9a3c..1b78ead 100644
--- a/InCallUI/res/drawable/btn_compound_dialpad.xml
+++ b/InCallUI/res/drawable/btn_compound_dialpad.xml
@@ -18,7 +18,8 @@
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <!-- The standard "compound button" background. -->
-    <item android:drawable="@drawable/btn_compound_background" />
+    <item android:id="@+id/compoundBackgroundItem"
+          android:drawable="@drawable/btn_compound_background" />
 
     <!-- ...and the actual icon on top.  Use an explicit <bitmap> to avoid scaling
          the icon up to the full size of the button. -->
diff --git a/InCallUI/res/drawable/btn_compound_hold.xml b/InCallUI/res/drawable/btn_compound_hold.xml
index dcf9507..7974efa 100644
--- a/InCallUI/res/drawable/btn_compound_hold.xml
+++ b/InCallUI/res/drawable/btn_compound_hold.xml
@@ -18,7 +18,8 @@
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <!-- The standard "compound button" background. -->
-    <item android:drawable="@drawable/btn_compound_background" />
+    <item android:id="@+id/compoundBackgroundItem"
+          android:drawable="@drawable/btn_compound_background" />
 
     <!-- ...and the actual icon on top.  Use an explicit <bitmap> to avoid scaling
          the icon up to the full size of the button. -->
diff --git a/InCallUI/res/drawable/btn_compound_mute.xml b/InCallUI/res/drawable/btn_compound_mute.xml
index 68a8c9b..86708fb 100644
--- a/InCallUI/res/drawable/btn_compound_mute.xml
+++ b/InCallUI/res/drawable/btn_compound_mute.xml
@@ -18,7 +18,8 @@
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <!-- The standard "compound button" background. -->
-    <item android:drawable="@drawable/btn_compound_background" />
+    <item android:id="@+id/compoundBackgroundItem"
+          android:drawable="@drawable/btn_compound_background" />
 
     <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. -->
     <item>
diff --git a/InCallUI/res/drawable/btn_compound_video_off.xml b/InCallUI/res/drawable/btn_compound_video_off.xml
index 8af4209..b942cd0 100644
--- a/InCallUI/res/drawable/btn_compound_video_off.xml
+++ b/InCallUI/res/drawable/btn_compound_video_off.xml
@@ -19,7 +19,8 @@
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <!-- The standard "compound button" background. -->
-    <item android:drawable="@drawable/btn_compound_background" />
+    <item android:id="@+id/compoundBackgroundItem"
+          android:drawable="@drawable/btn_compound_background" />
 
     <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. -->
     <item>
diff --git a/InCallUI/res/drawable/btn_compound_video_switch.xml b/InCallUI/res/drawable/btn_compound_video_switch.xml
index ef171ab..f811186 100644
--- a/InCallUI/res/drawable/btn_compound_video_switch.xml
+++ b/InCallUI/res/drawable/btn_compound_video_switch.xml
@@ -19,7 +19,8 @@
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <!-- The standard "compound button" background. -->
-    <item android:drawable="@drawable/btn_compound_background" />
+    <item android:id="@+id/compoundBackgroundItem"
+          android:drawable="@drawable/btn_compound_background" />
 
     <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. -->
     <item>
diff --git a/InCallUI/res/drawable/btn_merge.xml b/InCallUI/res/drawable/btn_merge.xml
index 78e1974..2b4818a 100644
--- a/InCallUI/res/drawable/btn_merge.xml
+++ b/InCallUI/res/drawable/btn_merge.xml
@@ -18,7 +18,8 @@
 
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:drawable="@drawable/btn_background" />
+    <item android:id="@+id/backgroundItem"
+          android:drawable="@drawable/btn_background" />
 
     <item>
         <bitmap android:src="@drawable/ic_toolbar_merge"
diff --git a/InCallUI/res/drawable/btn_overflow.xml b/InCallUI/res/drawable/btn_overflow.xml
index e851ece..2eb26cc 100644
--- a/InCallUI/res/drawable/btn_overflow.xml
+++ b/InCallUI/res/drawable/btn_overflow.xml
@@ -18,7 +18,8 @@
 
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:drawable="@drawable/btn_background" />
+    <item android:id="@+id/backgroundItem"
+          android:drawable="@drawable/btn_background" />
 
     <item>
         <bitmap android:src="@drawable/ic_overflow_menu"
diff --git a/InCallUI/res/drawable/btn_swap.xml b/InCallUI/res/drawable/btn_swap.xml
index 7a82411..5d6c8ec 100644
--- a/InCallUI/res/drawable/btn_swap.xml
+++ b/InCallUI/res/drawable/btn_swap.xml
@@ -18,7 +18,8 @@
 
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:drawable="@drawable/btn_background" />
+    <item android:id="@+id/backgroundItem"
+          android:drawable="@drawable/btn_background" />
 
     <item>
         <bitmap android:src="@drawable/ic_toolbar_swap"