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
*/