UI for InCall context for outgoing calls to a contact.

For outgoing calls, we want to display recent messages exchanged between
the caller and the contact for additional context. This CL is just the
UI components. The values are also not finalized, but getting the UI in
place will be helpful for inserting the values when the logic is in the
place.

Bug: 23351559

Change-Id: I11f504cfd4ee7ea488038c849239117beff9a5de
diff --git a/InCallUI/res/drawable/incoming_sms_background.xml b/InCallUI/res/drawable/incoming_sms_background.xml
new file mode 100644
index 0000000..231ae25
--- /dev/null
+++ b/InCallUI/res/drawable/incoming_sms_background.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 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.
+-->
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners
+        android:topLeftRadius="@dimen/contact_call_content_message_background_main_radius"
+        android:topRightRadius="@dimen/contact_call_content_message_background_main_radius"
+        android:bottomRightRadius="@dimen/contact_call_content_message_background_main_radius"
+        android:bottomLeftRadius="@dimen/contact_call_content_message_background_accent_radius"/>
+    <solid android:color="@color/contact_call_context_message_background_color" />
+</shape>
diff --git a/InCallUI/res/drawable/outgoing_sms_background.xml b/InCallUI/res/drawable/outgoing_sms_background.xml
new file mode 100644
index 0000000..09c870f
--- /dev/null
+++ b/InCallUI/res/drawable/outgoing_sms_background.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 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.
+-->
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners
+        android:topLeftRadius="@dimen/contact_call_content_message_background_main_radius"
+        android:topRightRadius="@dimen/contact_call_content_message_background_main_radius"
+        android:bottomLeftRadius="@dimen/contact_call_content_message_background_main_radius"
+        android:bottomRightRadius="@dimen/contact_call_content_message_background_accent_radius"/>
+    <solid android:color="@color/contact_call_context_message_background_color" />
+</shape>
diff --git a/InCallUI/res/layout/call_card_fragment.xml b/InCallUI/res/layout/call_card_fragment.xml
index 6d915d9..1887e6b 100644
--- a/InCallUI/res/layout/call_card_fragment.xml
+++ b/InCallUI/res/layout/call_card_fragment.xml
@@ -73,6 +73,26 @@
                 android:background="@color/incall_photo_background_color"
                 android:src="@drawable/img_no_image_automirrored" />
 
+            <!-- Call context -->
+            <LinearLayout
+                android:id="@+id/call_context"
+                android:layout_height="match_parent"
+                android:layout_width="match_parent"
+                android:orientation="vertical"
+                android:visibility="gone">
+                <TextView android:id="@+id/contextTitle"
+                    android:textSize="@dimen/call_context_title_text_size"
+                    android:textColor="@color/call_context_title_text_color"
+                    android:fontFamily="sans-serif-medium"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal" />
+                <ListView android:id="@+id/callContextInfo"
+                     android:layout_width="match_parent"
+                     android:layout_height="match_parent"
+                     android:divider="@null"
+                     android:dividerHeight="0dp" />
+            </LinearLayout>
         </FrameLayout>
 
         <fragment android:name="com.android.incallui.VideoCallFragment"
diff --git a/InCallUI/res/layout/contact_call_info_list_item.xml b/InCallUI/res/layout/contact_call_info_list_item.xml
new file mode 100644
index 0000000..645ca72
--- /dev/null
+++ b/InCallUI/res/layout/contact_call_info_list_item.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 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"
+     android:layout_width="match_parent"
+     android:layout_height="match_parent"
+     android:paddingRight="@dimen/contact_call_context_horizontal_padding"
+     android:paddingLeft="@dimen/contact_call_context_horizontal_padding"
+     android:paddingTop="@dimen/contact_call_context_top_padding">
+     <TextView android:id="@+id/message"
+         android:layout_width="wrap_content"
+         android:layout_height="wrap_content"
+         android:paddingLeft="@dimen/contact_call_context_message_horizontal_padding"
+         android:paddingRight="@dimen/contact_call_context_message_horizontal_padding"
+         android:paddingTop="@dimen/contact_call_context_message_vertical_padding"
+         android:paddingBottom="@dimen/contact_call_context_message_vertical_padding"
+         android:textSize="@dimen/contact_call_context_message_text_size"
+         android:textColor="@color/contact_call_context_message_text_color"
+         android:fontFamily="sans-serif-medium"
+         android:background="@drawable/incoming_sms_background"/>
+      <TextView android:id="@+id/detail"
+         android:layout_width="wrap_content"
+         android:layout_height="wrap_content"
+         android:paddingTop="@dimen/contact_call_context_detail_padding_top"
+         android:textSize="@dimen/contact_call_context_detail_text_size"
+         android:textColor="@color/contact_call_context_detail_text_color"
+         android:fontFamily="sans-serif-medium"
+         android:layout_below="@id/message"/>
+</RelativeLayout>
\ No newline at end of file
diff --git a/InCallUI/res/values/colors.xml b/InCallUI/res/values/colors.xml
index d77fe0b..dd80671 100644
--- a/InCallUI/res/values/colors.xml
+++ b/InCallUI/res/values/colors.xml
@@ -110,4 +110,9 @@
 
     <!-- Ripple color used over light backgrounds. -->
     <color name="ripple_light">#40000000</color>
+
+    <color name="call_context_title_text_color">@color/incall_call_banner_subtext_color</color>
+    <color name="contact_call_context_message_text_color">@color/dialer_theme_color</color>
+    <color name="contact_call_context_message_background_color">@color/incall_call_banner_subtext_color</color>
+    <color name="contact_call_context_detail_text_color">@color/incall_call_banner_subtext_color</color>
 </resources>
diff --git a/InCallUI/res/values/dimens.xml b/InCallUI/res/values/dimens.xml
index a6ae2e2..dc9e881 100644
--- a/InCallUI/res/values/dimens.xml
+++ b/InCallUI/res/values/dimens.xml
@@ -119,4 +119,15 @@
 
     <dimen name="conference_call_manager_padding_top">64dp</dimen>
     <dimen name="conference_call_manager_button_dimension">46dp</dimen>
+
+    <dimen name="call_context_title_text_size">14sp</dimen>
+    <dimen name="contact_call_context_horizontal_padding">30dp</dimen>
+    <dimen name="contact_call_context_top_padding">15dp</dimen>
+    <dimen name="contact_call_context_message_text_size">16sp</dimen>
+    <dimen name="contact_call_context_message_vertical_padding">7dp</dimen>
+    <dimen name="contact_call_context_message_horizontal_padding">12dp</dimen>
+    <dimen name="contact_call_content_message_background_main_radius">15dp</dimen>
+    <dimen name="contact_call_content_message_background_accent_radius">2dp</dimen>
+    <dimen name="contact_call_context_detail_padding_top">7dp</dimen>
+    <dimen name="contact_call_context_detail_text_size">14sp</dimen>
 </resources>