Improve contact detail header, especially portrait (and large) mode

Removed presense from header

Bug:3188956
Change-Id: I94fbb1ed28b20752aacc918e9dc3e525442f5bc4
diff --git a/res/layout-large/contact_detail_header_view.xml b/res/layout-large/contact_detail_header_view.xml
new file mode 100644
index 0000000..1af514b
--- /dev/null
+++ b/res/layout-large/contact_detail_header_view.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/banner"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingTop="40dip"
+    android:paddingRight="5dip">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+
+        <ImageView android:id="@+id/photo"
+            android:layout_marginRight="16dip"
+            android:layout_marginLeft="16dip"
+            android:layout_width="96dip"
+            android:layout_height="96dip"
+        />
+
+        <LinearLayout
+            android:layout_width="0px"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:orientation="vertical">
+
+            <LinearLayout
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal" >
+
+                <!-- Star -->
+                <CheckBox
+                    android:id="@+id/star"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_vertical"
+                    android:contentDescription="@string/description_star"
+                    android:visibility="invisible"
+                    style="?android:attr/starStyle"
+                />
+
+                <!-- Name, PhoneticName, Directory -->
+                <LinearLayout
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:paddingLeft="16dip"
+                    android:orientation="vertical" >
+
+                    <TextView android:id="@+id/name"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:singleLine="true"
+                        android:ellipsize="end"
+                        android:textSize="26sp"
+                    />
+
+                    <TextView android:id="@+id/phonetic_name"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:textAppearance="?android:attr/textAppearanceSmall"
+                        android:singleLine="true"
+                        android:ellipsize="end"
+                        android:layout_marginTop="-2dip"
+                        android:visibility="gone"
+                    />
+
+                    <TextView android:id="@+id/organization"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="-2dip"
+                        android:visibility="gone"
+                        android:textColor="#999999"
+                        android:textAppearance="?android:attr/textAppearanceLarge"
+                    />
+
+                    <TextView android:id="@+id/directory_name"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:textAppearance="?android:attr/textAppearanceSmall"
+                        android:textColor="?android:attr/textColorSecondary"
+                        android:singleLine="true"
+                        android:ellipsize="end"
+                        android:layout_marginTop="-2dip"
+                        android:visibility="gone"
+                    />
+                </LinearLayout>
+            </LinearLayout>
+        </LinearLayout>
+    </LinearLayout>
+
+    <!-- Status info -->
+    <LinearLayout
+        android:id="@+id/status_container"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:background="@drawable/statusbox_portrait_holo_light"
+        android:layout_marginLeft="24dip"
+        android:layout_marginRight="24dip"
+        android:paddingLeft="32dip"
+        android:paddingTop="40dip"
+        android:paddingRight="16dip"
+        android:paddingBottom="16dip"
+        android:visibility="gone">
+
+        <TextView android:id="@+id/status"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:textColor="#66666666"
+            android:maxLines="2"
+            android:ellipsize="end"
+            android:visibility="gone"
+        />
+
+        <TextView android:id="@+id/status_date"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:textColor="#66666666"
+            android:visibility="gone"
+        />
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/layout-xlarge/contact_detail_header_view.xml b/res/layout-xlarge-land/contact_detail_header_view.xml
similarity index 62%
rename from res/layout-xlarge/contact_detail_header_view.xml
rename to res/layout-xlarge-land/contact_detail_header_view.xml
index 2e05fa5..18edb10 100644
--- a/res/layout-xlarge/contact_detail_header_view.xml
+++ b/res/layout-xlarge-land/contact_detail_header_view.xml
@@ -23,7 +23,7 @@
     android:paddingRight="5dip">
 
     <ImageView android:id="@+id/photo"
-        android:layout_marginRight="8dip"
+        android:layout_marginRight="16dip"
         android:layout_marginLeft="-1dip"
         android:layout_width="96dip"
         android:layout_height="96dip"
@@ -35,52 +35,69 @@
         android:layout_weight="1"
         android:orientation="vertical">
 
-        <!-- Name, PhoneticName, Directory -->
         <LinearLayout
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
-            android:paddingLeft="64dip"
-            android:orientation="vertical" >
+            android:orientation="horizontal" >
 
-            <TextView android:id="@+id/name"
-                android:layout_width="match_parent"
+            <!-- Star -->
+            <CheckBox
+                android:id="@+id/star"
+                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:textSize="26sp"
+                android:layout_gravity="center_vertical"
+                android:contentDescription="@string/description_star"
+                android:visibility="invisible"
+                style="?android:attr/starStyle"
             />
 
-            <TextView android:id="@+id/phonetic_name"
-                android:layout_width="match_parent"
+            <!-- Name, PhoneticName, Directory -->
+            <LinearLayout
+                android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:layout_marginTop="-2dip"
-                android:visibility="gone"
-            />
+                android:paddingLeft="16dip"
+                android:orientation="vertical" >
 
-            <TextView android:id="@+id/organization"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:layout_marginTop="-2dip"
-                android:visibility="gone"
-                android:textColor="#999999"
-                android:textAppearance="?android:attr/textAppearanceLarge"
-            />
+                <TextView android:id="@+id/name"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:singleLine="true"
+                    android:ellipsize="end"
+                    android:textSize="26sp"
+                />
 
-            <TextView android:id="@+id/directory_name"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorSecondary"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:layout_marginTop="-2dip"
-                android:visibility="gone"
-            />
+                <TextView android:id="@+id/phonetic_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:textAppearance="?android:attr/textAppearanceSmall"
+                    android:singleLine="true"
+                    android:ellipsize="end"
+                    android:layout_marginTop="-2dip"
+                    android:visibility="gone"
+                />
+
+                <TextView android:id="@+id/organization"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:singleLine="true"
+                    android:ellipsize="end"
+                    android:layout_marginTop="-2dip"
+                    android:visibility="gone"
+                    android:textColor="#999999"
+                    android:textAppearance="?android:attr/textAppearanceLarge"
+                />
+
+                <TextView android:id="@+id/directory_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:textAppearance="?android:attr/textAppearanceSmall"
+                    android:textColor="?android:attr/textColorSecondary"
+                    android:singleLine="true"
+                    android:ellipsize="end"
+                    android:layout_marginTop="-2dip"
+                    android:visibility="gone"
+                />
+            </LinearLayout>
         </LinearLayout>
 
         <LinearLayout
@@ -121,28 +138,6 @@
                     android:visibility="gone"
                 />
             </LinearLayout>
-
-            <!-- Presence -->
-            <ImageView
-                android:id="@+id/presence"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:paddingLeft="3dip"
-                android:paddingRight="6dip"
-                android:visibility="gone"
-            />
-
-            <!-- Star -->
-            <CheckBox
-                android:id="@+id/star"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:contentDescription="@string/description_star"
-                android:visibility="invisible"
-                style="?android:attr/starStyle"
-            />
         </LinearLayout>
     </LinearLayout>
 </LinearLayout>
diff --git a/res/layout/contact_detail_header_view.xml b/res/layout/contact_detail_header_view.xml
index 870f5d0..dba99c1 100644
--- a/res/layout/contact_detail_header_view.xml
+++ b/res/layout/contact_detail_header_view.xml
@@ -102,16 +102,6 @@
         />
     </LinearLayout>
 
-    <ImageView
-        android:id="@+id/presence"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:paddingLeft="3dip"
-        android:paddingRight="6dip"
-        android:visibility="gone"
-    />
-
     <CheckBox
         android:id="@+id/star"
         android:layout_width="wrap_content"
diff --git a/src/com/android/contacts/views/detail/ContactDetailHeaderView.java b/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
index c293060..71d0962 100644
--- a/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
+++ b/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
@@ -32,7 +32,6 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.DisplayNameSources;
-import android.provider.ContactsContract.StatusUpdates;
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
@@ -59,7 +58,6 @@
     private TextView mOrganizationTextView;
     private CheckBox mStarredView;
     private ImageView mPhotoView;
-    private ImageView mPresenceView;
     private View mStatusContainerView;
     private TextView mStatusView;
     private TextView mStatusDateView;
@@ -102,7 +100,6 @@
 
         mPhotoView = (ImageView) findViewById(R.id.photo);
 
-        mPresenceView = (ImageView) findViewById(R.id.presence);
         mStatusContainerView = findViewById(R.id.status_container);
         mStatusView = (TextView)findViewById(R.id.status);
         mStatusDateView = (TextView)findViewById(R.id.status_date);
@@ -129,7 +126,6 @@
         }
 
         setStared(!contactData.isDirectoryEntry(), contactData.getStarred());
-        setPresence(contactData.getPresence());
         setSocialSnippet(contactData.getSocialSnippet());
         setSocialDate(ContactBadgeUtil.getSocialDate(contactData, getContext()));
         setDirectoryName(contactData.isDirectoryEntry(), contactData.getDirectoryDisplayName(),
@@ -168,19 +164,6 @@
     }
 
     /**
-     * Set the presence. If presence is null, it is hidden.
-     */
-    private void setPresence(Integer presence) {
-        if (presence == null) {
-            mPresenceView.setVisibility(View.GONE);
-        } else {
-            mPresenceView.setVisibility(View.VISIBLE);
-            mPresenceView.setImageResource(StatusUpdates.getPresenceIconResourceId(
-                    presence.intValue()));
-        }
-    }
-
-    /**
      * Set the photo to display in the header. If bitmap is null, the default placeholder
      * image is shown
      */