Merge "Move secondary call information to the bottom, clear call context." into ub-contactsdialer-a-dev
diff --git a/InCallUI/res/layout/call_card_fragment.xml b/InCallUI/res/layout/call_card_fragment.xml
index 8f8ed93..2b8e811 100644
--- a/InCallUI/res/layout/call_card_fragment.xml
+++ b/InCallUI/res/layout/call_card_fragment.xml
@@ -16,147 +16,151 @@
   ~ limitations under the License
   -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <!-- Primary "call card" block, for the foreground call. -->
+    android:layout_height="match_parent">
     <LinearLayout
-        android:id="@+id/primary_call_info_container"
         android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:elevation="@dimen/primary_call_elevation"
-        android:background="@color/incall_call_banner_background_color"
-        android:paddingTop="@dimen/call_banner_primary_call_container_top_padding"
-        android:clipChildren="false"
-        android:clipToPadding="false"
-        android:gravity="bottom">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
-        <include layout="@layout/primary_call_info"
-            android:layout_centerHorizontal="true" />
-
-        <fragment android:name="com.android.incallui.CallButtonFragment"
-            android:id="@+id/callButtonFragment"
+        <!-- Primary "call card" block, for the foreground call. -->
+        <LinearLayout
+            android:id="@+id/primary_call_info_container"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:orientation="vertical"
+            android:elevation="@dimen/primary_call_elevation"
+            android:background="@color/incall_call_banner_background_color"
+            android:paddingTop="@dimen/call_banner_primary_call_container_top_padding"
+            android:clipChildren="false"
+            android:clipToPadding="false"
+            android:gravity="bottom">
 
-        <TextView android:id="@+id/connectionServiceMessage"
+            <include layout="@layout/primary_call_info"
+                android:layout_centerHorizontal="true" />
+
+            <fragment android:name="com.android.incallui.CallButtonFragment"
+                android:id="@+id/callButtonFragment"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <TextView android:id="@+id/connectionServiceMessage"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:textAppearance="?android:attr/textAppearanceMedium"
+                android:visibility="gone"
+                android:padding="@dimen/call_banner_side_padding"
+                android:background="@android:color/white" />
+
+        </LinearLayout>
+
+        <FrameLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:visibility="gone"
-            android:padding="@dimen/call_banner_side_padding"
-            android:background="@android:color/white" />
+            android:layout_height="0dp"
+            android:layout_weight="2">
+
+            <FrameLayout
+                android:layout_height="match_parent"
+                android:layout_width="match_parent"
+                android:id="@+id/call_card_content">
+
+                <!-- Contact photo for primary call info -->
+                <ImageView android:id="@+id/photoLarge"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:scaleType="centerCrop"
+                    android:importantForAccessibility="no"
+                    android:background="@color/incall_photo_background_color"
+                    android:src="@drawable/img_no_image_automirrored" />
+
+                <!-- Call context -->
+                <LinearLayout
+                    android:id="@+id/contact_context"
+                    android:layout_height="match_parent"
+                    android:layout_width="match_parent"
+                    android:orientation="vertical"
+                    android:background="@color/incall_background_color"
+                    android:visibility="gone">
+                    <TextView android:id="@+id/contactContextTitle"
+                        android:textSize="@dimen/contact_context_title_text_size"
+                        android:textColor="@color/contact_context_title_text_color"
+                        android:fontFamily="sans-serif-medium"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginBottom="@dimen/contact_context_title_margin_bottom"/>
+                    <ListView android:id="@+id/contactContextInfo"
+                         android:layout_width="match_parent"
+                         android:layout_height="match_parent"
+                         android:divider="@null"
+                         android:dividerHeight="@dimen/contact_context_list_item_padding"/>
+                </LinearLayout>
+            </FrameLayout>
+
+            <fragment android:name="com.android.incallui.VideoCallFragment"
+                android:id="@+id/videoCallFragment"
+                android:layout_alignParentTop="true"
+                android:layout_gravity="top|center_horizontal"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+
+            <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
+            <FrameLayout
+                android:id="@+id/progressSpinner"
+                android:background="#63000000"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:layout_centerHorizontal="true"
+                android:layout_centerVertical="true"
+                android:visibility="gone">
+
+                <ProgressBar
+                    android:id="@+id/progress_bar"
+                    style="@android:style/Widget.Material.ProgressBar"
+                    android:layout_gravity="center"
+                    android:layout_width="48dp"
+                    android:layout_height="48dp"
+                    android:indeterminate="true" />
+
+            </FrameLayout>
+
+
+            <include layout="@layout/manage_conference_call_button"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <!-- Placeholder for various fragments that are added dynamically underneath the caller info. -->
+            <FrameLayout
+                android:id="@+id/answer_and_dialpad_container"
+                android:layout_gravity="bottom|center_horizontal"
+                android:layout_alignParentBottom="true"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:elevation="@dimen/dialpad_elevation" />
+
+            <FrameLayout
+                android:id="@+id/floating_end_call_action_button_container"
+                android:layout_width="@dimen/end_call_floating_action_button_diameter"
+                android:layout_height="@dimen/end_call_floating_action_button_diameter"
+                android:background="@drawable/fab_red"
+                android:layout_gravity="bottom|center_horizontal"
+                android:layout_marginBottom="@dimen/end_call_button_margin_bottom">
+
+                <ImageButton android:id="@+id/floating_end_call_action_button"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:background="@drawable/end_call_background"
+                    android:src="@drawable/fab_ic_end_call"
+                    android:scaleType="center"
+                    android:contentDescription="@string/onscreenEndCallText" />
+
+            </FrameLayout>
+
+        </FrameLayout>
 
     </LinearLayout>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="2">
-
-        <FrameLayout
-            android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            android:id="@+id/call_card_content">
-
-            <!-- Contact photo for primary call info -->
-            <ImageView android:id="@+id/photoLarge"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:scaleType="centerCrop"
-                android:importantForAccessibility="no"
-                android:background="@color/incall_photo_background_color"
-                android:src="@drawable/img_no_image_automirrored" />
-
-            <!-- Call context -->
-            <LinearLayout
-                android:id="@+id/contact_context"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent"
-                android:orientation="vertical"
-                android:background="@color/incall_background_color"
-                android:visibility="gone">
-                <TextView android:id="@+id/contactContextTitle"
-                    android:textSize="@dimen/contact_context_title_text_size"
-                    android:textColor="@color/contact_context_title_text_color"
-                    android:fontFamily="sans-serif-medium"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal"
-                    android:layout_marginBottom="@dimen/contact_context_title_margin_bottom"/>
-                <ListView android:id="@+id/contactContextInfo"
-                     android:layout_width="match_parent"
-                     android:layout_height="match_parent"
-                     android:divider="@null"
-                     android:dividerHeight="@dimen/contact_context_list_item_padding"/>
-            </LinearLayout>
-        </FrameLayout>
-
-        <fragment android:name="com.android.incallui.VideoCallFragment"
-            android:id="@+id/videoCallFragment"
-            android:layout_alignParentTop="true"
-            android:layout_gravity="top|center_horizontal"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent" />
-
-        <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
-        <FrameLayout
-            android:id="@+id/progressSpinner"
-            android:background="#63000000"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
-            android:layout_centerHorizontal="true"
-            android:layout_centerVertical="true"
-            android:visibility="gone">
-
-            <ProgressBar
-                android:id="@+id/progress_bar"
-                style="@android:style/Widget.Material.ProgressBar"
-                android:layout_gravity="center"
-                android:layout_width="48dp"
-                android:layout_height="48dp"
-                android:indeterminate="true" />
-
-        </FrameLayout>
-
-        <!-- Secondary "Call info" block, for the background ("on hold") call. -->
-        <include layout="@layout/secondary_call_info" />
-
-        <include layout="@layout/manage_conference_call_button"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
-
-        <!-- Placeholder for various fragments that are added dynamically underneath the caller info. -->
-        <FrameLayout
-            android:id="@+id/answer_and_dialpad_container"
-            android:layout_gravity="bottom|center_horizontal"
-            android:layout_alignParentBottom="true"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:elevation="@dimen/dialpad_elevation" />
-
-        <FrameLayout
-            android:id="@+id/floating_end_call_action_button_container"
-            android:layout_width="@dimen/end_call_floating_action_button_diameter"
-            android:layout_height="@dimen/end_call_floating_action_button_diameter"
-            android:background="@drawable/fab_red"
-            android:layout_gravity="bottom|center_horizontal"
-            android:layout_marginBottom="@dimen/end_call_button_margin_bottom">
-
-            <ImageButton android:id="@+id/floating_end_call_action_button"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:background="@drawable/end_call_background"
-                android:src="@drawable/fab_ic_end_call"
-                android:scaleType="center"
-                android:contentDescription="@string/onscreenEndCallText" />
-
-        </FrameLayout>
-
-    </FrameLayout>
-
-</LinearLayout>
+    <!-- Secondary "Call info" block, for the background ("on hold") call. -->
+    <include layout="@layout/secondary_call_info" />
+</RelativeLayout>
\ No newline at end of file
diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java
index 0d63554..75d1353 100644
--- a/InCallUI/src/com/android/incallui/CallCardFragment.java
+++ b/InCallUI/src/com/android/incallui/CallCardFragment.java
@@ -184,8 +184,6 @@
     private boolean mCallStateLabelResetPending = false;
     private Handler mHandler;
 
-    private InCallContactInteractions mInCallContactInteractions;
-
     @Override
     public CallCardPresenter.CallCardUi getUi() {
         return this;
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index 28311c9..bccde6e 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -608,6 +608,8 @@
                     mPrimaryContactInfo.openingHours);
             getUi().setContactContextContent(mInCallContactInteractions.getListAdapter());
             getUi().showContactContext(mPrimary.getState() != State.INCOMING);
+        } else {
+            getUi().showContactContext(false);
         }
     }