Merge "Moving section placement calculations to IndexerListAdapter"
diff --git a/res/drawable-hdpi/edit_focused.png b/res/drawable-hdpi/edit_focused.png
deleted file mode 100644
index f2386dc..0000000
--- a/res/drawable-hdpi/edit_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/edit_normal.png b/res/drawable-hdpi/edit_normal.png
deleted file mode 100644
index f33f841..0000000
--- a/res/drawable-hdpi/edit_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/edit_pressed.png b/res/drawable-hdpi/edit_pressed.png
deleted file mode 100644
index e66927c..0000000
--- a/res/drawable-hdpi/edit_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/edit_focused.png b/res/drawable-mdpi/edit_focused.png
deleted file mode 100644
index cf65d88..0000000
--- a/res/drawable-mdpi/edit_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/edit_normal.png b/res/drawable-mdpi/edit_normal.png
deleted file mode 100644
index 4e66379..0000000
--- a/res/drawable-mdpi/edit_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/edit_pressed.png b/res/drawable-mdpi/edit_pressed.png
deleted file mode 100644
index 537795d..0000000
--- a/res/drawable-mdpi/edit_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/edit.xml b/res/drawable/edit.xml
deleted file mode 100644
index 12bd067..0000000
--- a/res/drawable/edit.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_pressed="true"
-          android:drawable="@drawable/edit_pressed" />
-    <item android:state_focused="true"
-          android:drawable="@drawable/edit_focused" />
-    <item android:drawable="@drawable/edit_normal" />
-</selector>
\ No newline at end of file
diff --git a/res/layout/contact_detail_header_view.xml b/res/layout/contact_detail_header_view.xml
index 3e47d51..c201bf4 100644
--- a/res/layout/contact_detail_header_view.xml
+++ b/res/layout/contact_detail_header_view.xml
@@ -88,17 +88,6 @@
         android:visibility="gone"
     />
 
-    <ImageButton
-        android:id="@+id/edit"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:visibility="visible"
-        android:contentDescription="@string/description_edit"
-        android:src="@drawable/edit"
-        android:paddingRight="15dip"
-        android:background="#0000" />
-
     <CheckBox
         android:id="@+id/star"
         android:layout_width="wrap_content"
diff --git a/res/menu/edit.xml b/res/menu/edit.xml
index 6fafbcf..997613e 100644
--- a/res/menu/edit.xml
+++ b/res/menu/edit.xml
@@ -19,7 +19,8 @@
         android:id="@+id/menu_done"
         android:alphabeticShortcut="\n"
         android:icon="@android:drawable/ic_menu_save"
-        android:title="@string/menu_done" />
+        android:title="@string/menu_done"
+        android:showAsAction="always" />
 
     <item
         android:id="@+id/menu_discard"
diff --git a/res/menu/view.xml b/res/menu/view.xml
index 428434d..7a1c26c 100644
--- a/res/menu/view.xml
+++ b/res/menu/view.xml
@@ -19,7 +19,8 @@
         android:id="@+id/menu_edit"
         android:icon="@android:drawable/ic_menu_edit"
         android:title="@string/menu_editContact"
-        android:alphabeticShortcut="e" />
+        android:alphabeticShortcut="e"
+        android:showAsAction="always" />
 
     <item
         android:id="@+id/menu_share"
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index 9167a06..0f7d96c 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -60,13 +60,14 @@
 import android.widget.Toast;
 
 /**
- * Displays a list of contacts.
+ * Displays a list to browse contacts. For xlarge screens, this also displays a detail-pane on
+ * the right
  */
 public class ContactBrowserActivity extends Activity
         implements View.OnCreateContextMenuListener, NavigationBar.Listener,
         DialogManager.DialogShowingViewActivity {
 
-    private static final String TAG = "ContactListActivity";
+    private static final String TAG = "ContactBrowserActivity";
 
     private static final String KEY_MODE = "mode";
 
diff --git a/src/com/android/contacts/views/detail/ContactDetailFragment.java b/src/com/android/contacts/views/detail/ContactDetailFragment.java
index 8bd465d..3802e77 100644
--- a/src/com/android/contacts/views/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/views/detail/ContactDetailFragment.java
@@ -826,16 +826,6 @@
     }
 
     @Override
-    public void onPrepareOptionsMenu(Menu menu) {
-        // Only allow edit when we have at least one raw_contact id
-        final boolean hasRawContact = (mRawContactIds.size() > 0);
-        menu.findItem(R.id.menu_edit).setEnabled(hasRawContact);
-
-        // Only allow share when unrestricted contacts available
-        menu.findItem(R.id.menu_share).setEnabled(!mAllRestricted);
-    }
-
-    @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case R.id.menu_edit: {
@@ -1067,13 +1057,11 @@
 
     private ContactDetailHeaderView.Listener mHeaderViewListener =
             new ContactDetailHeaderView.Listener() {
+        @Override
         public void onDisplayNameClick(View view) {
         }
 
-        public void onEditClicked() {
-            if (mListener != null) mListener.onEditRequested(mLookupUri);
-        }
-
+        @Override
         public void onPhotoClick(View view) {
         }
     };
diff --git a/src/com/android/contacts/views/detail/ContactDetailHeaderView.java b/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
index 85afd2d..00203da 100644
--- a/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
+++ b/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
@@ -19,7 +19,6 @@
 import com.android.contacts.R;
 import com.android.contacts.views.ContactLoader;
 
-import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Entity;
@@ -65,7 +64,6 @@
     private ImageView mPresenceView;
     private TextView mStatusView;
     private TextView mStatusAttributionView;
-    private ImageButton mEditButton;
 
     private Uri mContactUri;
     private Listener mListener;
@@ -76,7 +74,6 @@
     public interface Listener {
         public void onPhotoClick(View view);
         public void onDisplayNameClick(View view);
-        public void onEditClicked();
     }
 
     public ContactDetailHeaderView(Context context) {
@@ -101,9 +98,6 @@
         mStarredView = (CheckBox)findViewById(R.id.star);
         mStarredView.setOnClickListener(this);
 
-        mEditButton = (ImageButton) findViewById(R.id.edit);
-        mEditButton.setOnClickListener(this);
-
         mPhotoView = (QuickContactBadge) findViewById(R.id.photo);
 
         mPresenceView = (ImageView) findViewById(R.id.presence);
@@ -168,12 +162,6 @@
         }
     }
 
-    private void performEditClick() {
-        if (mListener != null) {
-            mListener.onEditClicked();
-        }
-    }
-
     private void performDisplayNameClick() {
         if (mListener != null) {
             mListener.onDisplayNameClick(mDisplayNameView);
@@ -337,10 +325,6 @@
 
     public void onClick(View view) {
         switch (view.getId()) {
-            case R.id.edit: {
-                performEditClick();
-                break;
-            }
             case R.id.star: {
                 // Toggle "starred" state
                 // Make sure there is a contact
diff --git a/src/com/android/contacts/views/editor/ContactEditorFragment.java b/src/com/android/contacts/views/editor/ContactEditorFragment.java
index 695e989..bbfa879 100644
--- a/src/com/android/contacts/views/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/views/editor/ContactEditorFragment.java
@@ -61,6 +61,7 @@
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.RemoteException;
+import android.os.SystemClock;
 import android.provider.ContactsContract;
 import android.provider.MediaStore;
 import android.provider.ContactsContract.AggregationExceptions;
@@ -141,6 +142,8 @@
 
     private boolean mIsInitialized;
 
+    private long mLoaderStartTime;
+
     public ContactEditorFragment() {
     }
 
@@ -235,6 +238,7 @@
 
     @Override
     protected Loader<ContactLoader.Result> onCreateLoader(int id, Bundle args) {
+        mLoaderStartTime = SystemClock.elapsedRealtime();
         return new ContactLoader(mContext, mUri);
     }
 
@@ -247,7 +251,13 @@
             if (mListener != null) mListener.closeBecauseContactNotFound();
             return;
         }
+        final long loaderCurrentTime = SystemClock.elapsedRealtime();
+        Log.v(TAG, "Time needed for loading: " + (loaderCurrentTime-mLoaderStartTime));
+
+        final long setDataStartTime = SystemClock.elapsedRealtime();
         setData(data);
+        final long setDataEndTime = SystemClock.elapsedRealtime();
+        Log.v(TAG, "Time needed for setting UI: " + (setDataEndTime-setDataStartTime));
     }
 
     public void setData(ContactLoader.Result data) {