diff --git a/res/drawable-hdpi/ic_groups_holo_dark.png b/res/drawable-hdpi/ic_groups_holo_dark.png
new file mode 100644
index 0000000..6194506
--- /dev/null
+++ b/res/drawable-hdpi/ic_groups_holo_dark.png
Binary files differ
diff --git a/res/drawable-hdpi/picture_unknown.png b/res/drawable-hdpi/picture_unknown.png
new file mode 100644
index 0000000..278c121
--- /dev/null
+++ b/res/drawable-hdpi/picture_unknown.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_groups_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_groups_holo_dark.png
new file mode 100644
index 0000000..185c55b
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_groups_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/picture_unknown.png b/res/drawable-ldrtl-hdpi/picture_unknown.png
new file mode 100644
index 0000000..3b81ff3
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/picture_unknown.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_groups_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_groups_holo_dark.png
new file mode 100644
index 0000000..844bed3
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_groups_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/picture_unknown.png b/res/drawable-ldrtl-mdpi/picture_unknown.png
new file mode 100644
index 0000000..062faf5
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/picture_unknown.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_groups_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_groups_holo_dark.png
new file mode 100644
index 0000000..38ea395
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_groups_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/picture_unknown.png b/res/drawable-ldrtl-xhdpi/picture_unknown.png
new file mode 100644
index 0000000..1f57aa1
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/picture_unknown.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_groups_holo_dark.png b/res/drawable-mdpi/ic_groups_holo_dark.png
new file mode 100644
index 0000000..fefee32
--- /dev/null
+++ b/res/drawable-mdpi/ic_groups_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/picture_unknown.png b/res/drawable-mdpi/picture_unknown.png
new file mode 100644
index 0000000..cc5dd09
--- /dev/null
+++ b/res/drawable-mdpi/picture_unknown.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_groups_holo_dark.png b/res/drawable-xhdpi/ic_groups_holo_dark.png
new file mode 100644
index 0000000..470ca27
--- /dev/null
+++ b/res/drawable-xhdpi/ic_groups_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/picture_unknown.png b/res/drawable-xhdpi/picture_unknown.png
new file mode 100644
index 0000000..b8ee922
--- /dev/null
+++ b/res/drawable-xhdpi/picture_unknown.png
Binary files differ
diff --git a/res/layout/call_button_fragment.xml b/res/layout/call_button_fragment.xml
new file mode 100644
index 0000000..1c2e7c7
--- /dev/null
+++ b/res/layout/call_button_fragment.xml
@@ -0,0 +1,178 @@
+<?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
+  -->
+
+<!-- In-call onscreen touch UI elements, used on some platforms.
+
+     This layout is a fullscreen overlay, drawn on top of the
+     non-touch-sensitive parts of the in-call UI (i.e. the call card).
+
+     The top-level View here is a InCallTouchUi (FrameLayout) with 2 children:
+       (1) inCallControls: the widgets visible while a regular call (or calls) is in progress
+       (2) incomingCallWidget: the UI displayed while an incoming call is ringing
+     In usual cases, one of these is visible at any given moment.
+     One exception is when incomingCallWidget is fading-out. At that moment, we show
+     inCallControls beneath incomingCallWidget for smoother transition.
+     -->
+
+<!-- Main cluster of onscreen buttons on the lower part of the screen. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:id="@+id/bottomButtons"
+              android:orientation="vertical"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:layout_alignParentBottom="true">
+
+    <!-- Row 1, the "extra button row": A couple of relatively rare
+         buttons used only in certain call states.
+         Most of the time this whole row is GONE.
+         For now, at least, there's only ever one button visible here
+         at a time, so this can be a simple FrameLayout. -->
+    <ViewStub android:id="@+id/extraButtonRow"
+              android:layout="@layout/extra_button_row"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"/>
+
+    <!-- Row 2: The "End call" button. -->
+    <ImageButton android:id="@+id/endButton"
+                 style="@style/InCallEndButton"
+                 android:layout_width="match_parent"
+                 android:src="@drawable/ic_dial_end_call"
+                 android:background="@drawable/end_call_background"
+                 android:contentDescription="@string/onscreenEndCallText"/>
+
+    <!-- Row 3: The main batch of in-call buttons:
+         Dialpad / Audio mode / Mute / Hold / Add call
+         Visible in all states except while an incoming call is
+         ringing. -->
+    <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@drawable/dialpad_background"
+            android:paddingStart="@dimen/button_cluster_side_padding"
+            android:paddingEnd="@dimen/button_cluster_side_padding"
+            >
+
+        <!-- This row has either 4 or 5 buttons, depending on
+       whether the device supports "Hold" (i.e. 4 buttons on
+       CDMA devices, 5 buttons on GSM devices.)  The buttons
+       are interspersed with 'layout_weight="1"' placeholder
+       views so that they'll be spaced evenly in both cases.
+
+       But note there are a couple of *pairs* of buttons that share a
+       single "slot", namely Hold/Swap and Add/Merge.  For these, the
+       code in InCallTouchUi is responsible for making sure that at any
+       point exactly one of the pair is VISIBLE and the other is
+       GONE. -->
+
+        <!-- Separator between left padding and 1st button -->
+        <View style="@style/VerticalSeparator"/>
+
+        <!-- "Dialpad" -->
+        <!-- This is a "compound button": it has checked and unchecked states. -->
+        <ToggleButton android:id="@+id/dialpadButton"
+                      style="@style/InCallCompoundButton"
+                      android:background="@drawable/btn_compound_dialpad"
+                      android:contentDescription="@string/onscreenShowDialpadText"
+                />
+
+        <!-- Separator between 1st and 2nd button -->
+        <View style="@style/VerticalSeparator"/>
+
+        <!-- "Audio mode" -->
+        <!-- This is a multi-mode button that can behave either like a
+             simple "compound button" with two states *or* like an
+             action button that brings up a popup menu; see
+             btn_compound_audio.xml and InCallTouchUi.updateAudioButton()
+             for the full details. -->
+        <ToggleButton android:id="@+id/audioButton"
+                      style="@style/InCallCompoundButton"
+                      android:background="@drawable/btn_compound_audio"
+                      android:contentDescription="@string/onscreenAudioText"
+                />
+
+        <!-- Separator between 2nd and 3rd button -->
+        <View style="@style/VerticalSeparator"/>
+
+        <!-- "Mute" -->
+        <!-- This is a "compound button": it has checked and unchecked states. -->
+        <ToggleButton android:id="@+id/muteButton"
+                      style="@style/InCallCompoundButton"
+                      android:background="@drawable/btn_compound_mute"
+                      android:contentDescription="@string/onscreenMuteText"
+                />
+
+        <!-- Separator between 3rd and 4th button -->
+        <View style="@style/VerticalSeparator"/>
+
+        <!-- This slot is either "Hold" or "Swap", depending on
+             the state of the call.   One or the other of these
+             must always be set to GONE. -->
+        <!-- "Hold" -->
+        <!-- This is a "compound button": it has checked and unchecked states. -->
+        <ToggleButton android:id="@+id/holdButton"
+                      style="@style/InCallCompoundButton"
+                      android:background="@drawable/btn_compound_hold"
+                      android:contentDescription="@string/onscreenHoldText"
+                />
+        <!-- "Swap" (or "Manage calls" in some CDMA states) -->
+        <ImageButton android:id="@+id/swapButton"
+                     style="@style/InCallButton"
+                     android:src="@drawable/ic_incall_switch_holo_dark"
+                     android:contentDescription="@string/onscreenSwapCallsText"
+                />
+
+        <!-- Separator between 4th and 5th button (if 5th exists) -->
+        <View android:id="@+id/holdSwapSpacer"
+              style="@style/VerticalSeparator"/>
+
+        <!-- This slot is either "Add" or "Merge", depending on
+             the state of the call.  One or the other of these
+             must always be set to GONE. -->
+        <!-- "Add Call" -->
+        <ImageButton android:id="@+id/addButton"
+                     style="@style/InCallButton"
+                     android:src="@drawable/ic_add_contact_holo_dark"
+                     android:contentDescription="@string/onscreenAddCallText"
+                />
+        <!-- "Merge calls" -->
+        <!-- This button is used only on GSM devices, where we know
+             that "Add" and "Merge" are never available at the same time.
+             The "Merge" button for CDMA devices is "cdmaMergeButton" above. -->
+        <ImageButton android:id="@+id/mergeButton"
+                     style="@style/InCallButton"
+                     android:src="@drawable/ic_merge_holo_dark"
+                     android:contentDescription="@string/onscreenMergeCallsText"
+                />
+
+        <!-- Separator between 5th and 6th button (if 6th exists) -->
+        <View android:id="@+id/videoCallSpacer"
+              style="@style/VerticalSeparator"/>
+
+        <!-- This button is use for converting an ongoing call into a video call. -->
+        <ImageButton android:id="@+id/videoCallButton"
+                     style="@style/InCallButton"
+                     android:src="@drawable/ic_videocall_holo_dark"
+                     android:contentDescription="@string/onscreenVideoCallText"
+                />
+
+        <!-- Separator between 4th (or 5th) button and right padding -->
+        <View style="@style/VerticalSeparator"/>
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/call_card_fragment.xml b/res/layout/call_card_fragment.xml
new file mode 100644
index 0000000..688563d
--- /dev/null
+++ b/res/layout/call_card_fragment.xml
@@ -0,0 +1,136 @@
+<?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
+  -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+             android:layout_width="fill_parent"
+             android:layout_height="0dp"
+             android:layout_weight="1">
+
+    <!-- Contact photo for primary call info -->
+    <ImageView android:id="@+id/photo"
+               android:layout_alignParentStart="true"
+               android:layout_alignParentTop="true"
+               android:layout_width="match_parent"
+               android:layout_height="match_parent"
+               android:gravity="top|center_horizontal"
+               android:scaleType="centerCrop"
+               android:contentDescription="@string/contactPhoto"
+               android:src="@drawable/picture_unknown"/>
+
+    <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+        <!-- "Call Banner" for primary call, the foregound or ringing call.
+             The "call banner" is a block of info about a single call,
+             including the contact name, phone number, call time counter,
+             and other status info.  This info is shown as a "banner"
+             overlaid across the top of contact photo. -->
+        <GridLayout android:id="@+id/primary_call_banner"
+                    style="@style/PrimaryCallInfoPrimaryCallBanner"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:minHeight="@dimen/call_banner_height"
+                    android:background="@color/incall_call_banner_background"
+                    android:paddingStart="@dimen/call_banner_side_padding"
+                    android:paddingEnd="@dimen/call_banner_side_padding"
+                    android:paddingTop="@dimen/call_banner_top_bottom_padding"
+                    android:paddingBottom="@dimen/call_banner_top_bottom_padding"
+                >
+
+            <!-- Name (or the phone number, if we don't have a name to display). -->
+            <TextView android:id="@+id/name"
+                      android:textAppearance="?android:attr/textAppearanceMedium"
+                      android:textColor="@color/incall_call_banner_text_color"
+                      android:singleLine="true"
+                      android:textAlignment="viewStart"
+                      android:layout_column="0"
+                      android:layout_row="0"
+                      android:layout_columnSpan="2"
+                      android:layout_gravity="fill"/>
+
+            <!-- Label (like "Mobile" or "Work", if present) and phone number, side by side -->
+            <TextView android:id="@+id/phoneNumber"
+                      android:textAppearance="?android:attr/textAppearanceSmall"
+                      android:textColor="@color/incall_call_banner_text_color"
+                      android:singleLine="true"
+                      android:textDirection="ltr"
+                      android:layout_column="0"
+                      android:layout_row="1"
+                      android:layout_gravity="fill"/>
+
+            <TextView android:id="@+id/label"
+                      android:textAppearance="?android:attr/textAppearanceSmall"
+                      android:textColor="@color/incall_call_banner_text_color"
+                      android:textAllCaps="true"
+                      android:singleLine="true"
+                      android:paddingStart="6dp"
+                      android:layout_column="1"
+                      android:layout_row="1"
+                      android:layout_gravity="fill"/>
+
+            <!-- Call type indication: a special label and/or branding
+                 for certain kinds of calls (like "Internet call" for a SIP call.) -->
+            <TextView android:id="@+id/callTypeLabel"
+                      android:textAppearance="?android:attr/textAppearanceSmall"
+                      android:textColor="@color/incall_call_banner_text_color"
+                      android:maxLines="1"
+                      android:layout_column="0"
+                      android:layout_row="2"
+                      android:layout_columnSpan="2"
+                      android:ellipsize="end"
+                      android:layout_gravity="fill"/>
+
+            <!-- Elapsed time indication for a call in progress. -->
+            <TextView android:id="@+id/elapsedTime"
+                      android:textAppearance="?android:attr/textAppearanceMedium"
+                      android:textColor="@color/incall_call_banner_text_color"
+                      android:singleLine="true"
+                      android:visibility="invisible"
+                      android:layout_column="2"
+                      android:layout_row="0"
+                      android:layout_rowSpan="3"
+                      android:layout_gravity="fill"
+                      android:gravity="end|center_vertical"/>
+        </GridLayout>
+        <!-- End of call_banner -->
+
+
+        <!-- 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="@color/incall_secondary_info_background"
+                  android:singleLine="true"
+                  android:ellipsize="end"/>
+
+    </LinearLayout>
+
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/extra_button_row.xml b/res/layout/extra_button_row.xml
new file mode 100644
index 0000000..79c1136
--- /dev/null
+++ b/res/layout/extra_button_row.xml
@@ -0,0 +1,71 @@
+<?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
+  -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/dialpad_background_opaque">
+    <!-- The buttons here have a text label floating off to the side
+         (which is necessary because these buttons are used only in
+         a few rare states, and the meaning of the icon might not be
+         obvious.)  The entire row (button + text) is clickable. -->
+
+    <!-- "Manage conference" -->
+    <!-- This button is used only on GSM devices, during a conference call. -->
+    <LinearLayout android:id="@+id/manageConferenceButton"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingStart="@dimen/button_cluster_side_padding"
+        android:paddingEnd="@dimen/button_cluster_side_padding"
+        android:background="?android:attr/selectableItemBackground">
+        <!-- The entire LinearLayout here is clickable, so we don't
+             care about clicks on the ImageButton itself. -->
+        <ImageButton android:id="@+id/manageConferenceButtonImage"
+            android:clickable="false"
+            style="@style/InCallExtraRowButton"
+            android:src="@drawable/ic_groups_holo_dark"
+            android:contentDescription="@string/onscreenManageConferenceText" />
+        <TextView android:id="@+id/manageConferenceButtonLabel"
+            style="@style/InCallExtraRowButtonLabel"
+            android:text="@string/onscreenManageConferenceText" />
+    </LinearLayout>
+
+    <!-- CDMA-specific "Merge" -->
+    <!-- This button is used only on CDMA devices, where we can't use
+         the Merge button in the main button row (because the "Add Call"
+         button might need to be enabled at the same time.) -->
+    <LinearLayout android:id="@+id/cdmaMergeButton"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingStart="@dimen/button_cluster_side_padding"
+        android:paddingEnd="@dimen/button_cluster_side_padding"
+        android:background="?android:attr/selectableItemBackground">
+        <!-- The entire LinearLayout here is clickable, so we don't
+             care about clicks on the ImageButton itself. -->
+        <ImageButton android:id="@+id/cdmaMergeButtonImage"
+            android:clickable="false"
+            style="@style/InCallExtraRowButton"
+            android:src="@drawable/ic_merge_holo_dark"
+            android:contentDescription="@string/onscreenMergeCallsText" />
+        <TextView android:id="@+id/cdmaMergeButtonLabel"
+            style="@style/InCallExtraRowButtonLabel"
+            android:text="@string/onscreenMergeCallsText" />
+    </LinearLayout>
+
+</FrameLayout>
diff --git a/res/layout/incall_screen.xml b/res/layout/incall_screen.xml
index d9f7bdf..403a17c 100644
--- a/res/layout/incall_screen.xml
+++ b/res/layout/incall_screen.xml
@@ -16,13 +16,20 @@
 
 <!-- In-call Phone UI; see InCallActivity.java. -->
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:orientation="vertical"
-        android:id="@+id/main">
+             android:layout_width="match_parent"
+             android:layout_height="match_parent"
+             android:id="@+id/main">
 
-    <View android:layout_width="match_parent"
-          android:layout_height="match_parent"
-          android:background="#ddd"/>
+    <LinearLayout android:id="@+id/in_call_and_button_container"
+                  android:layout_width="match_parent"
+                  android:layout_height="match_parent"
+                  android:orientation="vertical">
+
+        <!-- Call card fragment will be added here. -->
+        <!-- Call button fragment will be added here. -->
+
+    </LinearLayout>
+
+    <!-- Glowpad fragment will be added here to overlay. -->
 
 </FrameLayout>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c86e570..415db36 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -81,6 +81,27 @@
         <item name="android:layout_weight">1</item>
     </style>
 
+    <!-- Buttons in extra button row. -->
+    <style name="InCallExtraRowButton">
+        <item name="android:layout_width">@dimen/extra_row_button_width</item>
+        <item name="android:layout_height">@dimen/extra_row_button_height</item>
+        <item name="android:background">@null</item>
+    </style>
+
+    <!-- Text label drawn alongside buttons in the "extra button row" of
+         the in-call onscreen touch UI. -->
+    <style name="InCallExtraRowButtonLabel">
+        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+        <item name="android:textColor">@color/incall_call_banner_text_color</item>
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_gravity">center_vertical</item>
+        <item name="android:layout_marginStart">5dip</item>
+        <item name="android:layout_marginEnd">5dip</item>
+    </style>
+
     <style name="InCallAnimationStyle" parent="@*android:style/Animation.Holo.Activity">
         <!-- Suppress task-to-task animation happening during the transition from
              OutgoingCallBroadcaster (and SipOptionHandler) to InCallActivity.
diff --git a/src/com/android/incallui/CallButtonFragment.java b/src/com/android/incallui/CallButtonFragment.java
new file mode 100644
index 0000000..856d186
--- /dev/null
+++ b/src/com/android/incallui/CallButtonFragment.java
@@ -0,0 +1,35 @@
+/*
+ * 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
+ */
+
+package com.android.incallui;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * Fragment for call control buttons
+ */
+public class CallButtonFragment extends Fragment {
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        return inflater.inflate(R.layout.call_button_fragment, container, false);
+    }
+}
diff --git a/src/com/android/incallui/CallCardFragment.java b/src/com/android/incallui/CallCardFragment.java
new file mode 100644
index 0000000..fb60c0b
--- /dev/null
+++ b/src/com/android/incallui/CallCardFragment.java
@@ -0,0 +1,35 @@
+/*
+ * 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
+ */
+
+package com.android.incallui;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * Fragment for call card.
+ */
+public class CallCardFragment extends Fragment {
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        return inflater.inflate(R.layout.call_card_fragment, container, false);
+    }
+}
diff --git a/src/com/android/incallui/CallHandlerService.java b/src/com/android/incallui/CallHandlerService.java
index 741701c..b5f1497 100644
--- a/src/com/android/incallui/CallHandlerService.java
+++ b/src/com/android/incallui/CallHandlerService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 The Android Open Source Project
+ * 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.
@@ -11,7 +11,7 @@
  * 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.
+ * limitations under the License
  */
 
 package com.android.incallui;
@@ -68,8 +68,11 @@
 
     // TODO(klp): Not sure if static call is ok. Might need to switch to normal service binding.
     public static void answerCall(int callId) {
-        Preconditions.checkState(mCallCommandService != null);
-
+        //Preconditions.checkState(mCallCommandService != null);
+        // TODO(klp): enable fail fast later.
+        if (mCallCommandService == null) {
+            return;
+        }
         try {
             mCallCommandService.answerCall(callId);
         } catch (RemoteException e) {
diff --git a/src/com/android/incallui/InCallActivity.java b/src/com/android/incallui/InCallActivity.java
index 67fe1ca..380d487 100644
--- a/src/com/android/incallui/InCallActivity.java
+++ b/src/com/android/incallui/InCallActivity.java
@@ -61,8 +61,15 @@
     @Override
     protected void onResume() {
         logD("onResume()...");
+
+        // TODO(klp): create once and reset when needed.
         final AnswerFragment answerFragment = new AnswerFragment();
+        final CallCardFragment callCardFragment = new CallCardFragment();
+        final CallButtonFragment callButtonFragment = new CallButtonFragment();
         final FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
+        fragmentTransaction.add(R.id.in_call_and_button_container, callCardFragment);
+        fragmentTransaction.add(R.id.in_call_and_button_container, callButtonFragment);
+
         fragmentTransaction.add(R.id.main, answerFragment);
         fragmentTransaction.commit();
         super.onResume();
