diff --git a/InCallUI/res/layout/primary_call_info.xml b/InCallUI/res/layout/primary_call_info.xml
index 1102402..18cc70b 100644
--- a/InCallUI/res/layout/primary_call_info.xml
+++ b/InCallUI/res/layout/primary_call_info.xml
@@ -37,44 +37,61 @@
             android:minHeight="@dimen/call_banner_height"
             android:paddingStart="@dimen/call_banner_side_padding"
             android:paddingEnd="@dimen/call_banner_side_padding"
-            android:paddingTop="@dimen/call_banner_top_bottom_padding"
+            android:paddingTop="@dimen/call_banner_primary_call_top_padding"
             android:paddingBottom="@dimen/call_banner_top_bottom_padding"
-            android:background="@color/incall_call_banner_background_color">
+            android:background="@color/incall_call_banner_background_color" >
 
             <!-- Name (or the phone number, if we don't have a name to display). -->
-            <TextView android:id="@+id/name"
-                android:layout_alignParentTop="true"
-                android:layout_alignParentStart="true"
+            <LinearLayout android:id="@+id/stateAndName"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:paddingEnd="@dimen/call_banner_name_number_right_padding"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-                android:textColor="@color/incall_call_banner_text_color"
-                android:singleLine="true"
-                android:textAlignment="viewStart"/>
+                android:orientation="vertical" >
+
+                <TextView android:id="@+id/callStateLabel"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:textAppearance="?android:attr/textAppearanceLarge"
+                    android:singleLine="true"
+                    android:gravity="left"
+                    android:ellipsize="end" />
+
+                <TextView android:id="@+id/name"
+                    android:layout_width="match_parent"
+                    android:paddingEnd="@dimen/call_banner_name_number_right_padding"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="sans-serif-light"
+                    android:textAppearance="?android:attr/textAppearanceLarge"
+                    android:textSize="@dimen/call_name_text_size"
+                    android:singleLine="true" />
+
+            </LinearLayout>
 
             <!-- Label (like "Mobile" or "Work", if present) and phone number, side by side -->
             <LinearLayout android:id="@+id/labelAndNumber"
-                android:layout_below="@id/name"
+                android:layout_below="@id/stateAndName"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:paddingEnd="@dimen/call_banner_name_number_right_padding"
-                android:orientation="horizontal">
+                android:orientation="horizontal" >
+
                 <TextView android:id="@+id/phoneNumber"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:textAppearance="?android:attr/textAppearanceSmall"
-                    android:textColor="@color/incall_call_banner_text_color"
+                    android:textColor="@color/incall_call_banner_secondary_text_color"
+                    android:textSize="@dimen/call_label_text_size"
                     android:singleLine="true"
                     android:textDirection="ltr" />
+
                 <TextView android:id="@+id/label"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:textAppearance="?android:attr/textAppearanceSmall"
-                    android:textColor="@color/incall_call_banner_text_color"
-                    android:textAllCaps="true"
+                    android:textColor="@color/incall_call_banner_secondary_text_color"
+                    android:textSize="@dimen/call_label_text_size"
                     android:singleLine="true"
                     android:layout_marginStart="6dp" />
+
             </LinearLayout>
 
             <!-- Elapsed time indication for a call in progress. -->
@@ -101,35 +118,6 @@
 
         </RelativeLayout>  <!-- End of call_banner -->
 
-
-        <LinearLayout android:id="@+id/supplementary_info_container"
-            style="@style/PrimaryCallInfoSupplementaryInfoContainer"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical|right"
-            android:orientation="vertical"
-            android:background="@color/incall_call_banner_background_color"
-            android:animateLayoutChanges="true">
-
-            <!-- The "call state label": In some states, this shows a special
-                 indication like "Dialing" or "Incoming call" or "Call ended".
-                 It's unused for the normal case of an active ongoing call. -->
-            <TextView android:id="@+id/callStateLabel"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:paddingTop="@dimen/provider_info_top_bottom_padding"
-                android:paddingBottom="@dimen/provider_info_top_bottom_padding"
-                android:paddingStart="@dimen/call_banner_side_padding"
-                android:paddingEnd="@dimen/call_banner_side_padding"
-                android:gravity="end"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="@color/incall_call_banner_text_color"
-                android:textAllCaps="true"
-                android:background="@android:color/transparent"
-                android:singleLine="true"
-                android:ellipsize="end"/>
-        </LinearLayout>
-
     </LinearLayout>
 
 </FrameLayout>
diff --git a/InCallUI/res/values/colors.xml b/InCallUI/res/values/colors.xml
index f667924..b187820 100644
--- a/InCallUI/res/values/colors.xml
+++ b/InCallUI/res/values/colors.xml
@@ -26,6 +26,8 @@
     <color name="incall_call_banner_background_color">@color/incall_background_color</color>
     <!-- white -->
     <color name="incall_call_banner_text_color">#FFFFFF</color>
+    <!-- White, with 80% opacity. -->
+    <color name="incall_call_banner_secondary_text_color">#99ffffff</color>
 
     <!-- Color of the theme of the People app -->
     <color name="people_app_theme_color">#33B5E5</color>
diff --git a/InCallUI/res/values/dimens.xml b/InCallUI/res/values/dimens.xml
index 92e55d6..069f98d 100644
--- a/InCallUI/res/values/dimens.xml
+++ b/InCallUI/res/values/dimens.xml
@@ -31,11 +31,17 @@
     <!-- Padding at the right edges of the secondary call banner. -->
     <dimen name="secondary_call_banner_right_padding">100dp</dimen>
     <!-- Padding at the top and bottom edges of the "call banner". -->
+    <dimen name="call_banner_primary_call_top_padding">32dp</dimen>
     <dimen name="call_banner_top_bottom_padding">16dp</dimen>
 
     <!-- Padding at the top and bottom edges of the "provider information" -->
     <dimen name="provider_info_top_bottom_padding">8dp</dimen>
 
+    <!-- Text size for the name in the call info. -->
+    <dimen name="call_name_text_size">36sp</dimen>
+    <!-- Text size for the call info label and number. -->
+    <dimen name="call_label_text_size">18sp</dimen>
+
     <!-- Right padding for name and number fields in the call banner.
          This padding is used to ensure that ultra-long names or
          numbers won't overlap the elapsed time indication. -->
diff --git a/InCallUI/res/values/styles.xml b/InCallUI/res/values/styles.xml
index 085cdb1..21b6d93 100644
--- a/InCallUI/res/values/styles.xml
+++ b/InCallUI/res/values/styles.xml
@@ -182,10 +182,6 @@
     <style name="PrimaryCallInfoPrimaryCallBanner">
         <item name="android:layout_alignParentTop">true</item>
     </style>
-    <style name="PrimaryCallInfoSupplementaryInfoContainer">
-        <item name="android:layout_below">@id/primary_call_banner</item>
-    </style>
-
     <style name="SecondaryCallInfoSecondaryCallName">
         <item name="android:layout_gravity">top|left</item>
     </style>
diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java
index 2093a44..402008f 100644
--- a/InCallUI/src/com/android/incallui/CallCardFragment.java
+++ b/InCallUI/src/com/android/incallui/CallCardFragment.java
@@ -50,7 +50,6 @@
     private TextView mCallTypeLabel;
     private ImageView mPhoto;
     private TextView mElapsedTime;
-    private ViewGroup mSupplementaryInfoContainer;
 
     // Secondary caller info
     private ViewStub mSecondaryCallInfo;
@@ -110,8 +109,6 @@
         mCallStateLabel = (TextView) view.findViewById(R.id.callStateLabel);
         mCallTypeLabel = (TextView) view.findViewById(R.id.callTypeLabel);
         mElapsedTime = (TextView) view.findViewById(R.id.elapsedTime);
-        mSupplementaryInfoContainer =
-            (ViewGroup) view.findViewById(R.id.supplementary_info_container);
 
         mEndCallButton = view.findViewById(R.id.endButton);
         mEndCallButton.setOnClickListener(new View.OnClickListener() {
@@ -255,16 +252,6 @@
         Log.v(this, "bluetooth on " + bluetoothOn);
         Log.v(this, "gateway " + gatewayLabel + gatewayNumber);
 
-        // There are cases where we totally skip the animation, in which case remove the transition
-        // animation here and restore it afterwards.
-        final boolean skipAnimation = (Call.State.isDialing(state)
-                || state == Call.State.DISCONNECTED || state == Call.State.DISCONNECTING);
-        LayoutTransition transition = null;
-        if (skipAnimation) {
-            transition = mSupplementaryInfoContainer.getLayoutTransition();
-            mSupplementaryInfoContainer.setLayoutTransition(null);
-        }
-
         // Update the call state label.
         if (!TextUtils.isEmpty(callStateLabel)) {
             mCallStateLabel.setVisibility(View.VISIBLE);
@@ -275,19 +262,6 @@
             }
         } else {
             mCallStateLabel.setVisibility(View.GONE);
-            // Gravity is aligned left when receiving an incoming call in landscape.
-            // In that rare case, the gravity needs to be reset to the right.
-            // Also, setText("") is used since there is a delay in making the view GONE,
-            // so the user will otherwise see the text jump to the right side before disappearing.
-            if(mCallStateLabel.getGravity() != Gravity.END) {
-                mCallStateLabel.setText("");
-                mCallStateLabel.setGravity(Gravity.END);
-            }
-        }
-
-        // Restore the animation.
-        if (skipAnimation) {
-            mSupplementaryInfoContainer.setLayoutTransition(transition);
         }
     }
 
