Merge "Make the dialpad more responsive"
diff --git a/res/drawable-hdpi/dial_background_texture.png b/res/drawable-hdpi/dial_background_texture.png
index 9df3b1e..95bec9f 100644
--- a/res/drawable-hdpi/dial_background_texture.png
+++ b/res/drawable-hdpi/dial_background_texture.png
Binary files differ
diff --git a/res/drawable-mdpi/dial_background_texture.png b/res/drawable-mdpi/dial_background_texture.png
index 90cd07c..a6d666c 100644
--- a/res/drawable-mdpi/dial_background_texture.png
+++ b/res/drawable-mdpi/dial_background_texture.png
Binary files differ
diff --git a/res/drawable-nodpi/background_dial_holo_dark.png b/res/drawable-nodpi/background_dial_holo_dark.png
new file mode 100644
index 0000000..3dba50c
--- /dev/null
+++ b/res/drawable-nodpi/background_dial_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/dial_background_texture.png b/res/drawable-xhdpi/dial_background_texture.png
index 02aacc8..184049f 100644
--- a/res/drawable-xhdpi/dial_background_texture.png
+++ b/res/drawable-xhdpi/dial_background_texture.png
Binary files differ
diff --git a/res/layout/dialpad_additional_buttons.xml b/res/layout/dialpad_additional_buttons.xml
index ae37fd5..2d42ad0 100644
--- a/res/layout/dialpad_additional_buttons.xml
+++ b/res/layout/dialpad_additional_buttons.xml
@@ -21,7 +21,6 @@
android:layout_height="0px"
android:layout_weight="0.150"
android:layout_gravity="center_horizontal"
- android:layout_marginTop="@dimen/dialpad_vertical_margin"
android:background="@drawable/dialpad_background"
android:orientation="horizontal">
@@ -37,6 +36,12 @@
android:contentDescription="@string/description_search_button"
android:src="@drawable/ic_see_contacts_holo_dark"/>
+ <View
+ android:layout_width="1dip"
+ android:layout_height="24dip"
+ android:layout_gravity="center_vertical"
+ android:background="?android:attr/dividerVertical" />
+
<!-- Onscreen "Dial" button, diused on all platforms by
default. Its usage can be disabled using resources (see
config.xml.) -->
@@ -50,6 +55,12 @@
android:contentDescription="@string/description_dial_button"
android:src="@drawable/ic_dial_action_call" />
+ <View
+ android:layout_width="1dip"
+ android:layout_height="24dip"
+ android:layout_gravity="center_vertical"
+ android:background="?android:attr/dividerVertical" />
+
<!-- Onscreen "Backspace/Delete" button -->
<ImageButton android:id="@+id/deleteButton"
android:layout_width="0px"
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index 96cf543..ed16caf 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -59,6 +59,11 @@
<!-- Keypad section -->
<include layout="@layout/dialpad" />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dialpad_vertical_margin"
+ android:background="#66000000"/>
+
<!-- Horizontal row of buttons (Search + DialButton + Delete.) -->
<include layout="@layout/dialpad_additional_buttons" />
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 70145c1..5a94324 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -136,7 +136,7 @@
<dimen name="group_detail_border_padding">32dip</dimen>
<!-- Height of edit text in dialpad fragment -->
- <dimen name="dialpad_horizontal_margin">4dip</dimen>
+ <dimen name="dialpad_horizontal_margin">0dip</dimen>
<dimen name="dialpad_vertical_margin">2dip</dimen>
<dimen name="dialpad_digits_text_size">35sp</dimen>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0b47d5a..24822c0 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -20,7 +20,7 @@
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
<item name="android:windowContentOverlay">@null</item>
- <item name="android:windowBackground">@android:color/black</item>
+ <item name="android:windowBackground">@drawable/background_dial_holo_dark</item>
<item name="activated_background">@drawable/list_item_activated_background</item>
<item name="section_header_background">@drawable/list_title_holo</item>
<item name="list_section_header_height">32dip</item>
diff --git a/src/com/android/contacts/ContactsUtils.java b/src/com/android/contacts/ContactsUtils.java
index f1f73ed..4de62b6 100644
--- a/src/com/android/contacts/ContactsUtils.java
+++ b/src/com/android/contacts/ContactsUtils.java
@@ -102,8 +102,8 @@
* considered equal for collapsing in the GUI. For caller-id, use
* {@link PhoneNumberUtils#compare(Context, String, String)} instead
*/
- public static final boolean shouldCollapse(Context context, CharSequence mimetype1,
- CharSequence data1, CharSequence mimetype2, CharSequence data2) {
+ public static final boolean shouldCollapse(CharSequence mimetype1, CharSequence data1,
+ CharSequence mimetype2, CharSequence data2) {
// different mimetypes? don't collapse
if (!TextUtils.equals(mimetype1, mimetype2)) return false;
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
index 775b50a..e111620 100644
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailFragment.java
@@ -1348,8 +1348,7 @@
return false;
}
- if (!ContactsUtils.shouldCollapse(context, mimetype, data, entry.mimetype,
- entry.data)) {
+ if (!ContactsUtils.shouldCollapse(mimetype, data, entry.mimetype, entry.data)) {
return false;
}
diff --git a/src/com/android/contacts/interactions/PhoneNumberInteraction.java b/src/com/android/contacts/interactions/PhoneNumberInteraction.java
index 918dac0..a42456c 100644
--- a/src/com/android/contacts/interactions/PhoneNumberInteraction.java
+++ b/src/com/android/contacts/interactions/PhoneNumberInteraction.java
@@ -19,6 +19,7 @@
import com.android.contacts.Collapser;
import com.android.contacts.Collapser.Collapsible;
import com.android.contacts.ContactSaveService;
+import com.android.contacts.ContactsUtils;
import com.android.contacts.R;
import com.android.contacts.model.AccountType;
import com.android.contacts.model.AccountType.StringInflater;
@@ -123,18 +124,8 @@
}
public boolean shouldCollapseWith(PhoneItem phoneItem) {
- try {
- PhoneNumberUtil util = PhoneNumberUtil.getInstance();
- PhoneNumber phoneNumber1 = util.parse(phoneNumber, "ZZ" /* Unknown */);
- PhoneNumber phoneNumber2 = util.parse(phoneItem.phoneNumber, "ZZ" /* Unknown */);
- MatchType matchType = util.isNumberMatch(phoneNumber1, phoneNumber2);
- if (matchType == MatchType.SHORT_NSN_MATCH) {
- return true;
- }
- } catch (NumberParseException e) {
- return TextUtils.equals(phoneNumber, phoneItem.phoneNumber);
- }
- return false;
+ return ContactsUtils.shouldCollapse(Phone.CONTENT_ITEM_TYPE, phoneNumber,
+ Phone.CONTENT_ITEM_TYPE, phoneItem.phoneNumber);
}
@Override
diff --git a/src/com/android/contacts/quickcontact/DataAction.java b/src/com/android/contacts/quickcontact/DataAction.java
index 2066997..13e824e 100644
--- a/src/com/android/contacts/quickcontact/DataAction.java
+++ b/src/com/android/contacts/quickcontact/DataAction.java
@@ -294,8 +294,7 @@
return false;
}
DataAction that = (DataAction)t;
- if (!ContactsUtils.shouldCollapse(mContext, mMimeType, mBody, that.mMimeType,
- that.mBody)) {
+ if (!ContactsUtils.shouldCollapse(mMimeType, mBody, that.mMimeType, that.mBody)) {
return false;
}
if (!TextUtils.equals(mMimeType, that.mMimeType)
diff --git a/tests/src/com/android/contacts/ContactsUtilsTests.java b/tests/src/com/android/contacts/ContactsUtilsTests.java
index 97a2c8e..82d0cb0 100644
--- a/tests/src/com/android/contacts/ContactsUtilsTests.java
+++ b/tests/src/com/android/contacts/ContactsUtilsTests.java
@@ -160,9 +160,9 @@
private void assertCollapses(String message, boolean expected, CharSequence mimetype1,
CharSequence data1, CharSequence mimetype2, CharSequence data2) {
assertEquals(message, expected,
- ContactsUtils.shouldCollapse(mContext, mimetype1, data1, mimetype2, data2));
+ ContactsUtils.shouldCollapse(mimetype1, data1, mimetype2, data2));
assertEquals(message, expected,
- ContactsUtils.shouldCollapse(mContext, mimetype2, data2, mimetype1, data1));
+ ContactsUtils.shouldCollapse(mimetype2, data2, mimetype1, data1));
if (data1 == data2 && data1 != null) {
// make sure we also do a test where object equality is not given
@@ -173,10 +173,10 @@
// we have two different instances, now make sure we get the same result as before
assertEquals(message, expected,
- ContactsUtils.shouldCollapse(mContext, mimetype1, data1, mimetype2,
+ ContactsUtils.shouldCollapse(mimetype1, data1, mimetype2,
data2_newref));
assertEquals(message, expected,
- ContactsUtils.shouldCollapse(mContext, mimetype2, data2_newref, mimetype1,
+ ContactsUtils.shouldCollapse(mimetype2, data2_newref, mimetype1,
data1));
}
}