Show icon of account being saved to

Remove unused layouts for various account header types and simplify to
two:
One for linked contacts (editor_all_rawcontacts_account_selector) which
displays a linked chain icon and one which displays the account icon and
an optional expander icon (editor_account_header). The account icon one
is used in the single account case and when creating a new contact.

Test:
Manual usage of the new selector:
1. Single account case
2. Linked account case shows linked chain with a selector dropdown
3. Creating a new contact shows icon of account being saved to
3b. 3 but with multiple accounts so the selector is visible 
3c. 3b with swapping accounts and making sure the icon updates correctly

Bug: 29455526
Change-Id: Ic7784cc6e77b934468795176ee774a5247cce9a9
diff --git a/src/com/android/contacts/editor/CompactRawContactsEditorView.java b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
index ece3829..d9cc58d 100644
--- a/src/com/android/contacts/editor/CompactRawContactsEditorView.java
+++ b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
@@ -334,12 +334,7 @@
     private TextView mAccountHeaderType;
     private TextView mAccountHeaderName;
     private ImageView mAccountHeaderIcon;
-
-    // Account selector
-    private View mAccountSelectorContainer;
-    private View mAccountSelector;
-    private TextView mAccountSelectorType;
-    private TextView mAccountSelectorName;
+    private ImageView mAccountHeaderExpanderIcon;
 
     // Raw contacts selector
     private View mRawContactContainer;
@@ -381,16 +376,11 @@
                 getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
         // Account header
-        mAccountHeaderContainer = findViewById(R.id.account_container);
+        mAccountHeaderContainer = findViewById(R.id.account_header_container);
         mAccountHeaderType = (TextView) findViewById(R.id.account_type);
         mAccountHeaderName = (TextView) findViewById(R.id.account_name);
         mAccountHeaderIcon = (ImageView) findViewById(R.id.account_type_icon);
-
-        // Account selector
-        mAccountSelectorContainer = findViewById(R.id.account_selector_container);
-        mAccountSelector = findViewById(R.id.account);
-        mAccountSelectorType = (TextView) findViewById(R.id.account_type_selector);
-        mAccountSelectorName = (TextView) findViewById(R.id.account_name_selector);
+        mAccountHeaderExpanderIcon = (ImageView) findViewById(R.id.account_expander_icon);
 
         // Raw contacts selector
         mRawContactContainer = findViewById(R.id.all_rawcontacts_accounts_container);
@@ -731,7 +721,6 @@
 
     private void addAccountInfo(RawContactDeltaList rawContactDeltas) {
         mAccountHeaderContainer.setVisibility(View.GONE);
-        mAccountSelectorContainer.setVisibility(View.GONE);
         mRawContactContainer.setVisibility(View.GONE);
 
         if (mPrimaryNameKindSectionData == null) return;
@@ -843,24 +832,11 @@
 
     private void addAccountSelector(Pair<String,String> accountInfo,
             final RawContactDelta rawContactDelta) {
-        mAccountSelectorContainer.setVisibility(View.VISIBLE);
-
-        if (TextUtils.isEmpty(accountInfo.first)) {
-            // Hide this view so the other text view will be centered vertically
-            mAccountSelectorName.setVisibility(View.GONE);
-        } else {
-            mAccountSelectorName.setVisibility(View.VISIBLE);
-            mAccountSelectorName.setText(accountInfo.first);
-        }
-
-        final String selectorTitle = getResources().getString(
-                R.string.compact_editor_account_selector_title);
-        mAccountSelectorType.setText(selectorTitle);
-
-        mAccountSelectorContainer.setContentDescription(getResources().getString(
-                R.string.compact_editor_account_selector_description, accountInfo.first));
-
-        mAccountSelectorContainer.setOnClickListener(new View.OnClickListener() {
+        // Show save to default account.
+        addAccountHeader(accountInfo);
+        // Add handlers for choosing another account to save to.
+        mAccountHeaderExpanderIcon.setVisibility(View.VISIBLE);
+        mAccountHeaderContainer.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 final ListPopupWindow popup = new ListPopupWindow(getContext(), null);
@@ -868,8 +844,8 @@
                         new AccountsListAdapter(getContext(),
                                 AccountsListAdapter.AccountListFilter.ACCOUNTS_CONTACT_WRITABLE,
                                 mPrimaryAccount);
-                popup.setWidth(mAccountSelectorContainer.getWidth());
-                popup.setAnchorView(mAccountSelectorContainer);
+                popup.setWidth(mAccountHeaderContainer.getWidth());
+                popup.setAnchorView(mAccountHeaderContainer);
                 popup.setAdapter(adapter);
                 popup.setModal(true);
                 popup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED);