Added presence and status to ContactTiles and frequents.
-Added status string: "available, busy, away, etc.."
-Cleaned up XML and refactored styles
Change-Id: I66f45c93502ff01849ace1ede7e694e9dc6165b7
diff --git a/res/layout/contact_tile_frequent.xml b/res/layout/contact_tile_frequent.xml
index 4ba7396..fc9c04c 100644
--- a/res/layout/contact_tile_frequent.xml
+++ b/res/layout/contact_tile_frequent.xml
@@ -21,27 +21,44 @@
android:paddingRight="16dip"
android:paddingLeft="16dip" >
- <LinearLayout
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
- <TextView
- android:id="@+id/contact_tile_name"
- android:layout_width="0dip"
- android:layout_height="fill_parent"
- android:layout_weight="1"
- android:textSize="18sp"
- android:singleLine="true"
- android:ellipsize="end"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:paddingTop="24dip" />
-
<QuickContactBadge
android:id="@+id/contact_tile_quick"
android:layout_width="64dip"
android:layout_height="64dip"
- android:scaleType="centerCrop" />
+ android:scaleType="centerCrop"
+ android:layout_alignParentRight="true" />
- </LinearLayout>
+ <TextView
+ android:id="@+id/contact_tile_name"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_toLeftOf="@id/contact_tile_quick" />
+
+ <ImageView
+ android:id="@+id/contact_tile_presence"
+ android:layout_width="16dip"
+ android:layout_height="16dip"
+ android:layout_below="@id/contact_tile_name"
+ android:layout_alignParentLeft="true" />
+
+ <TextView
+ android:id="@+id/contact_tile_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="12sp"
+ android:ellipsize="end"
+ android:singleLine="true"
+ android:textColor="#cccccc"
+ android:layout_toRightOf="@id/contact_tile_presence"
+ android:layout_below="@id/contact_tile_name" />
+
+ </RelativeLayout>
</view>
diff --git a/res/layout/contact_tile_starred.xml b/res/layout/contact_tile_starred.xml
index 6cdf213..ba1dff2 100644
--- a/res/layout/contact_tile_starred.xml
+++ b/res/layout/contact_tile_starred.xml
@@ -30,11 +30,36 @@
<View
android:id="@+id/contact_tile_background"
- style="@style/ContactTileStarredTextBackground" />
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/contact_tile_shadowbox_height"
+ android:layout_alignParentBottom="true"
+ style="@style/ContactTileStarredShadowBox" />
+
+ <ImageView
+ android:id="@+id/contact_tile_presence"
+ android:layout_width="16dip"
+ android:layout_height="16dip"
+ android:layout_alignParentBottom="true"
+ android:layout_marginLeft="8dip"
+ android:layout_marginBottom="10dip" />
<TextView
android:id="@+id/contact_tile_name"
- style="@style/ContactTileStarredText" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignLeft="@id/contact_tile_presence"
+ android:layout_above="@id/contact_tile_presence"
+ android:textColor="@android:color/white"
+ stlye="@style/ContactTileStarredName" />
+
+ <TextView
+ android:id="@+id/contact_tile_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@id/contact_tile_presence"
+ android:layout_below="@id/contact_tile_name"
+ android:layout_marginLeft="4dip"
+ style="@style/ContactTileStatusText" />
</RelativeLayout>
diff --git a/res/layout/contact_tile_starred_quick_contact.xml b/res/layout/contact_tile_starred_quick_contact.xml
index 241ab54..0fb580e 100644
--- a/res/layout/contact_tile_starred_quick_contact.xml
+++ b/res/layout/contact_tile_starred_quick_contact.xml
@@ -30,11 +30,36 @@
<View
android:id="@+id/contact_tile_background"
- style="@style/ContactTileStarredTextBackground" />
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/contact_tile_shadowbox_height"
+ android:layout_alignParentBottom="true"
+ style="@style/ContactTileStarredShadowBox" />
+
+ <ImageView
+ android:id="@+id/contact_tile_presence"
+ android:layout_width="16dip"
+ android:layout_height="16dip"
+ android:layout_alignParentBottom="true"
+ android:layout_marginLeft="8dip"
+ android:layout_marginBottom="10dip" />
<TextView
android:id="@+id/contact_tile_name"
- style="@style/ContactTileStarredText" />
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignLeft="@id/contact_tile_presence"
+ android:layout_above="@id/contact_tile_presence"
+ android:textColor="@android:color/white"
+ stlye="@style/ContactTileStarredName" />
+
+ <TextView
+ android:id="@+id/contact_tile_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@id/contact_tile_presence"
+ android:layout_below="@id/contact_tile_name"
+ android:layout_marginLeft="4dip"
+ style="@style/ContactTileStatusText" />
</RelativeLayout>
diff --git a/res/layout/contact_tile_starred_secondary_target.xml b/res/layout/contact_tile_starred_secondary_target.xml
index a8ae00f..5d4e55e 100644
--- a/res/layout/contact_tile_starred_secondary_target.xml
+++ b/res/layout/contact_tile_starred_secondary_target.xml
@@ -30,24 +30,32 @@
<View
android:id="@+id/contact_tile_background"
- style="@style/ContactTileStarredTextBackground" />
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/contact_tile_shadowbox_height"
+ android:layout_alignParentBottom="true"
+ style="@style/ContactTileStarredShadowBox" />
<LinearLayout
- android:orientation="horizontal"
- style="@style/ContactTileStarredText">
+ android:layout_width="match_parent"
+ android:layout_height="48dip"
+ android:layout_alignParentBottom="true"
+ android:orientation="horizontal" >
<TextView
android:id="@+id/contact_tile_name"
- style="@style/ContactTileStarredText"
android:layout_width="0dip"
- android:layout_weight="2" />
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:gravity="center_vertical"
+ android:layout_marginLeft="8dip"
+ android:textColor="@android:color/white"
+ stlye="@style/ContactTileStarredName" />
<ImageButton
android:id="@+id/contact_tile_secondary_button"
android:src="@drawable/ic_tab_unselected_contacts"
android:layout_height="match_parent"
- android:layout_width="0dip"
- android:layout_weight="1" />
+ android:layout_width="wrap_content" />
</LinearLayout>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index b79bf0f..e155cbc 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -211,4 +211,7 @@
<dimen name="contact_browser_list_left_margin">24dip</dimen>
<dimen name="contact_browser_list_top_margin">8dip</dimen>
<dimen name="contacts_count_right_margin">40dip</dimen>
+
+ <!-- ContactTile Layouts -->
+ <dimen name="contact_tile_shadowbox_height">48dip</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index cf4fff8..75e3249 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1650,4 +1650,14 @@
<!-- Menu item used to show only voicemails in the call log. [CHAR LIMIT=30] -->
<string name="menu_show_voicemails_only">Show voicemails only</string>
+
+ <!-- Used to display as default status when the contact is available for chat [CHAR LIMIT=19] -->
+ <string name="status_available">Available</string>
+
+ <!-- Used to display as default status when the contact is away or idle for chat [CHAR LIMIT=19] -->
+ <string name="status_away">Away</string>
+
+ <!-- Used to display as default status when the contact is busy or Do not disturb for chat [CHAR LIMIT=19] -->
+ <string name="status_busy">Busy</string>
+
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index e4b7525..d16590e 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -360,24 +360,20 @@
<item name="android:background">@drawable/list_selector</item>
</style>
- <style name="ContactTileStarredText">
- <item name="android:layout_width">match_parent</item>
- <item name="android:layout_height">48dip</item>
- <item name="android:layout_alignParentBottom">true</item>
- <item name="android:layout_alignParentLeft">true</item>
- <item name="android:gravity">center_vertical</item>
- <item name="android:paddingLeft">8dip</item>
+ <style name="ContactTileStarredName">
<item name="android:singleLine">true</item>
<item name="android:ellipsize">end</item>
- <item name="android:textColor">@android:color/white</item>
- <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
+ <item name="android:textSize">16sp</item>
</style>
- <style name="ContactTileStarredTextBackground">
- <item name="android:layout_width">match_parent</item>
- <item name="android:layout_height">48dip</item>
- <item name="android:layout_alignParentBottom">true</item>
- <item name="android:layout_alignParentLeft">true</item>
+ <style name="ContactTileStatusText">
+ <item name="android:singleLine">true</item>
+ <item name="android:ellipsize">end</item>
+ <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+ <item name="android:textColor">#777777</item>
+ </style>
+
+ <style name="ContactTileStarredShadowBox">
<item name="android:alpha">0.5</item>
<item name="android:background">@android:color/black</item>
</style>