About card always expanded

Bug: 16347400
Change-Id: Ie2fa3e57c1c3040ec547fd82b070df0c3b42032c
diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
index 9c60c74..2063c51 100644
--- a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
+++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
@@ -170,6 +170,7 @@
     private final Drawable mExpandArrowDrawable;
     private int mThemeColor;
     private ColorFilter mThemeColorFilter;
+    private boolean mIsAlwaysExpanded;
 
     private final OnClickListener mExpandCollapseButtonListener = new OnClickListener() {
         @Override
@@ -212,9 +213,13 @@
      * @param entries The Entry list to display.
      */
     public void initialize(List<List<Entry>> entries, int numInitialVisibleEntries,
-            boolean isExpanded, ExpandingEntryCardViewListener listener) {
+            boolean isExpanded, boolean isAlwaysExpanded,
+            ExpandingEntryCardViewListener listener) {
         LayoutInflater layoutInflater = LayoutInflater.from(getContext());
         mIsExpanded = isExpanded;
+        mIsAlwaysExpanded = isAlwaysExpanded;
+        // If isAlwaysExpanded is true, mIsExpanded should be true
+        mIsExpanded |= mIsAlwaysExpanded;
         mEntryViews = new ArrayList<List<View>>(entries.size());
         mEntries = entries;
         mNumEntries = 0;
@@ -288,7 +293,7 @@
 
         removeView(mExpandCollapseButton);
         if (mCollapsedEntriesCount < mNumEntries
-                && mExpandCollapseButton.getParent() == null) {
+                && mExpandCollapseButton.getParent() == null && !mIsAlwaysExpanded) {
             addView(mExpandCollapseButton, -1);
         }
     }
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 6ed509d..e74d30f 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -807,6 +807,7 @@
             mContactCard.initialize(contactCardEntries,
                     /* numInitialVisibleEntries = */ MIN_NUM_CONTACT_ENTRIES_SHOWN,
                     /* isExpanded = */ false,
+                    /* isAlwaysExpanded = */ false,
                     mExpandingEntryCardViewListener);
             mContactCard.setVisibility(View.VISIBLE);
         } else {
@@ -818,6 +819,7 @@
         mAboutCard.initialize(aboutCardEntries,
                 /* numInitialVisibleEntries = */ 1,
                 /* isExpanded = */ true,
+                /* isAlwaysExpanded = */ true,
                 mExpandingEntryCardViewListener);
 
         if (contactCardEntries.size() == 0 && aboutCardEntries.size() == 0) {
@@ -866,7 +868,7 @@
         final PorterDuffColorFilter greyColorFilter =
                 new PorterDuffColorFilter(subHeaderTextColor, PorterDuff.Mode.SRC_ATOP);
         mNoContactDetailsCard.initialize(promptEntries, 2, /* isExpanded = */ false,
-                mExpandingEntryCardViewListener);
+                /* isAlwaysExpanded = */ true, mExpandingEntryCardViewListener);
         mNoContactDetailsCard.setVisibility(View.VISIBLE);
         mNoContactDetailsCard.setEntryHeaderColor(subHeaderTextColor);
         mNoContactDetailsCard.setColorAndFilter(subHeaderTextColor, greyColorFilter);
@@ -1502,7 +1504,8 @@
         if (allInteractions.size() > 0) {
             mRecentCard.initialize(interactionsWrapper,
                     /* numInitialVisibleEntries = */ MIN_NUM_COLLAPSED_RECENT_ENTRIES_SHOWN,
-                    /* isExpanded = */ false, mExpandingEntryCardViewListener);
+                    /* isExpanded = */ false, /* isAlwaysExpanded = */ false,
+                    mExpandingEntryCardViewListener);
             mRecentCard.setVisibility(View.VISIBLE);
         }