Merge "New plus/minus buttons in Editor"
diff --git a/res/drawable-hdpi/btn_minus_disabled.png b/res/drawable-hdpi/btn_minus_disabled.png
new file mode 100644
index 0000000..f58c35d
--- /dev/null
+++ b/res/drawable-hdpi/btn_minus_disabled.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_minus_disabled_focused.png b/res/drawable-hdpi/btn_minus_disabled_focused.png
new file mode 100644
index 0000000..0c0d117
--- /dev/null
+++ b/res/drawable-hdpi/btn_minus_disabled_focused.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_minus_focused.png b/res/drawable-hdpi/btn_minus_focused.png
new file mode 100644
index 0000000..9c41031
--- /dev/null
+++ b/res/drawable-hdpi/btn_minus_focused.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_minus_normal.png b/res/drawable-hdpi/btn_minus_normal.png
new file mode 100644
index 0000000..cc92b82
--- /dev/null
+++ b/res/drawable-hdpi/btn_minus_normal.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_minus_pressed.png b/res/drawable-hdpi/btn_minus_pressed.png
new file mode 100644
index 0000000..63219f9
--- /dev/null
+++ b/res/drawable-hdpi/btn_minus_pressed.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_plus_disabled.png b/res/drawable-hdpi/btn_plus_disabled.png
new file mode 100644
index 0000000..5c659e4
--- /dev/null
+++ b/res/drawable-hdpi/btn_plus_disabled.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_plus_disabled_focused.png b/res/drawable-hdpi/btn_plus_disabled_focused.png
new file mode 100644
index 0000000..b2defec
--- /dev/null
+++ b/res/drawable-hdpi/btn_plus_disabled_focused.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_plus_focused.png b/res/drawable-hdpi/btn_plus_focused.png
new file mode 100644
index 0000000..01710dd
--- /dev/null
+++ b/res/drawable-hdpi/btn_plus_focused.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_plus_normal.png b/res/drawable-hdpi/btn_plus_normal.png
new file mode 100644
index 0000000..de34ba8
--- /dev/null
+++ b/res/drawable-hdpi/btn_plus_normal.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_plus_pressed.png b/res/drawable-hdpi/btn_plus_pressed.png
new file mode 100644
index 0000000..a8bc7c5
--- /dev/null
+++ b/res/drawable-hdpi/btn_plus_pressed.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_btn_round_minus.png b/res/drawable-hdpi/ic_btn_round_minus.png
deleted file mode 100755
index 27af3fa..0000000
--- a/res/drawable-hdpi/ic_btn_round_minus.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_btn_round_plus.png b/res/drawable-hdpi/ic_btn_round_plus.png
deleted file mode 100755
index b24168c..0000000
--- a/res/drawable-hdpi/ic_btn_round_plus.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_minus_disabled.png b/res/drawable-mdpi/btn_minus_disabled.png
new file mode 100644
index 0000000..abe3b7b
--- /dev/null
+++ b/res/drawable-mdpi/btn_minus_disabled.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_minus_disabled_focused.png b/res/drawable-mdpi/btn_minus_disabled_focused.png
new file mode 100644
index 0000000..0e4b66c
--- /dev/null
+++ b/res/drawable-mdpi/btn_minus_disabled_focused.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_minus_focused.png b/res/drawable-mdpi/btn_minus_focused.png
new file mode 100644
index 0000000..321365c
--- /dev/null
+++ b/res/drawable-mdpi/btn_minus_focused.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_minus_normal.png b/res/drawable-mdpi/btn_minus_normal.png
new file mode 100644
index 0000000..8c00936
--- /dev/null
+++ b/res/drawable-mdpi/btn_minus_normal.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_minus_pressed.png b/res/drawable-mdpi/btn_minus_pressed.png
new file mode 100644
index 0000000..bffe6f3
--- /dev/null
+++ b/res/drawable-mdpi/btn_minus_pressed.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_plus_disabled.png b/res/drawable-mdpi/btn_plus_disabled.png
new file mode 100644
index 0000000..c71bb10
--- /dev/null
+++ b/res/drawable-mdpi/btn_plus_disabled.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_plus_disabled_focused.png b/res/drawable-mdpi/btn_plus_disabled_focused.png
new file mode 100644
index 0000000..5060b3e
--- /dev/null
+++ b/res/drawable-mdpi/btn_plus_disabled_focused.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_plus_focused.png b/res/drawable-mdpi/btn_plus_focused.png
new file mode 100644
index 0000000..3a49acc
--- /dev/null
+++ b/res/drawable-mdpi/btn_plus_focused.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_plus_normal.png b/res/drawable-mdpi/btn_plus_normal.png
new file mode 100644
index 0000000..b88d0b9
--- /dev/null
+++ b/res/drawable-mdpi/btn_plus_normal.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_plus_pressed.png b/res/drawable-mdpi/btn_plus_pressed.png
new file mode 100644
index 0000000..e4fc529
--- /dev/null
+++ b/res/drawable-mdpi/btn_plus_pressed.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_btn_round_minus.png b/res/drawable-mdpi/ic_btn_round_minus.png
deleted file mode 100644
index 96dbb17..0000000
--- a/res/drawable-mdpi/ic_btn_round_minus.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_btn_round_plus.png b/res/drawable-mdpi/ic_btn_round_plus.png
deleted file mode 100644
index 1ec8a95..0000000
--- a/res/drawable-mdpi/ic_btn_round_plus.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/btn_minus.xml b/res/drawable/btn_minus.xml
new file mode 100644
index 0000000..78277f4
--- /dev/null
+++ b/res/drawable/btn_minus.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_window_focused="false" android:state_enabled="true"
+        android:drawable="@drawable/btn_minus_normal" />
+    <item android:state_window_focused="false" android:state_enabled="false"
+        android:drawable="@drawable/btn_minus_disabled" />
+    <item android:state_pressed="true" 
+        android:drawable="@drawable/btn_minus_pressed" />
+    <item android:state_focused="true" android:state_enabled="true"
+        android:drawable="@drawable/btn_minus_focused" />
+    <item android:state_enabled="true"
+        android:drawable="@drawable/btn_minus_normal" />
+    <item android:state_focused="true"
+        android:drawable="@drawable/btn_minus_disabled_focused" />
+    <item
+         android:drawable="@drawable/btn_minus_disabled" />
+</selector>
diff --git a/res/drawable/btn_plus.xml b/res/drawable/btn_plus.xml
new file mode 100644
index 0000000..33a7f53
--- /dev/null
+++ b/res/drawable/btn_plus.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_window_focused="false" android:state_enabled="true"
+        android:drawable="@drawable/btn_plus_normal" />
+    <item android:state_window_focused="false" android:state_enabled="false"
+        android:drawable="@drawable/btn_plus_disabled" />
+    <item android:state_pressed="true" 
+        android:drawable="@drawable/btn_plus_pressed" />
+    <item android:state_focused="true" android:state_enabled="true"
+        android:drawable="@drawable/btn_plus_focused" />
+    <item android:state_enabled="true"
+        android:drawable="@drawable/btn_plus_normal" />
+    <item android:state_focused="true"
+        android:drawable="@drawable/btn_plus_disabled_focused" />
+    <item
+         android:drawable="@drawable/btn_plus_disabled" />
+</selector>
diff --git a/res/layout-xlarge/item_kind_section.xml b/res/layout-xlarge/item_kind_section.xml
index 3728067..4641cb0 100644
--- a/res/layout-xlarge/item_kind_section.xml
+++ b/res/layout-xlarge/item_kind_section.xml
@@ -43,5 +43,11 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="bottom"
-        style="@style/PlusButton" />
+        android:paddingLeft="@dimen/editor_round_button_padding_left"
+        android:paddingRight="@dimen/editor_round_button_padding_right"
+        android:paddingTop="@dimen/editor_round_button_padding_top"
+        android:paddingBottom="@dimen/editor_round_button_padding_bottom"
+        android:src="@drawable/btn_plus"
+        android:background="@null"
+        android:contentDescription="@string/description_plus_button" />
 </com.android.contacts.ui.widget.KindSectionView>
diff --git a/res/layout/item_kind_section.xml b/res/layout/item_kind_section.xml
index d801160..61e6f6f 100644
--- a/res/layout/item_kind_section.xml
+++ b/res/layout/item_kind_section.xml
@@ -58,7 +58,12 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:duplicateParentState="true"
-            style="@style/PlusButton" />
+            android:background="@drawable/btn_plus"
+            android:paddingLeft="@dimen/editor_round_button_padding_left"
+            android:paddingRight="@dimen/editor_round_button_padding_right"
+            android:paddingTop="@dimen/editor_round_button_padding_top"
+            android:paddingBottom="@dimen/editor_round_button_padding_bottom"
+            android:contentDescription="@string/description_plus_button" />
 
     </LinearLayout>
 
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e995c6e..a4523a5 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -34,4 +34,11 @@
     <dimen name="aizy_text_size">13dip</dimen>
     <dimen name="aizy_preview_width">130dip</dimen>
     <dimen name="aizy_preview_height">115dip</dimen>
+    
+    <!-- Padding of the rounded plus/minus buttons in the editor (the minus button is created
+    in code) -->
+    <dimen name="editor_round_button_padding_left">5dip</dimen>
+    <dimen name="editor_round_button_padding_right">5dip</dimen>
+    <dimen name="editor_round_button_padding_top">5dip</dimen>
+    <dimen name="editor_round_button_padding_bottom">5dip</dimen>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 736ca7a..8225055 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -24,22 +24,11 @@
         <item name="android:windowAnimationStyle">@style/ContactsSearchAnimation</item>
     </style>
 
+    <!-- TODO: Once there are assets for More/Less buttons, remove these styles -->
     <style name="EmptyButton">
         <item name="android:background">@drawable/btn_circle</item>
     </style>
 
-    <style name="MinusButton">
-        <item name="android:background">@drawable/btn_circle</item>
-        <item name="android:src">@drawable/ic_btn_round_minus</item>
-        <item name="android:contentDescription">@string/description_minus_button</item>
-    </style>
-
-    <style name="PlusButton">
-        <item name="android:background">@drawable/btn_circle</item>
-        <item name="android:src">@drawable/ic_btn_round_plus</item>
-        <item name="android:contentDescription">@string/description_plus_button</item>
-    </style>
-
     <style name="MoreButton">
         <item name="android:background">@drawable/btn_circle</item>
         <item name="android:src">@drawable/ic_btn_round_more</item>
diff --git a/src/com/android/contacts/ui/widget/GenericEditorView.java b/src/com/android/contacts/ui/widget/GenericEditorView.java
index 2c731ff..d0fb4df 100644
--- a/src/com/android/contacts/ui/widget/GenericEditorView.java
+++ b/src/com/android/contacts/ui/widget/GenericEditorView.java
@@ -34,6 +34,7 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Entity;
+import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -229,12 +230,15 @@
      */
     private void setupDeleteButton(boolean shouldExist) {
         if (shouldExist && mDelete == null) {
-            // Unfortunately, the style passed as constructor-parameter is mostly ignored,
-            // so we have to set the Background and Image seperately. However, if it is not given
-            // the size of the control is wrong
-            mDelete = new ImageButton(mContext, null, R.style.MinusButton);
-            mDelete.setBackgroundResource(R.drawable.btn_circle);
-            mDelete.setImageResource(R.drawable.ic_btn_round_minus);
+            mDelete = new ImageButton(mContext);
+            mDelete.setBackgroundDrawable(null);
+            mDelete.setImageResource(R.drawable.btn_minus);
+            final Resources resources = mContext.getResources();
+            mDelete.setPadding(
+                    resources.getDimensionPixelOffset(R.dimen.editor_round_button_padding_left),
+                    resources.getDimensionPixelOffset(R.dimen.editor_round_button_padding_top),
+                    resources.getDimensionPixelOffset(R.dimen.editor_round_button_padding_right),
+                    resources.getDimensionPixelOffset(R.dimen.editor_round_button_padding_bottom));
             mDelete.setContentDescription(
                     getResources().getText(R.string.description_minus_button));
             mDelete.setLayoutParams(