Merge "Color/layout tweaks for Dialer" into klp-dev
diff --git a/res/drawable-hdpi/list_item_avatar_bg.png b/res/drawable-hdpi/list_item_avatar_bg.png
index e6eb68e..66e5f3e 100644
--- a/res/drawable-hdpi/list_item_avatar_bg.png
+++ b/res/drawable-hdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/drawable-mdpi/list_item_avatar_bg.png b/res/drawable-mdpi/list_item_avatar_bg.png
index 1306cfc..640eb3e 100644
--- a/res/drawable-mdpi/list_item_avatar_bg.png
+++ b/res/drawable-mdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_item_avatar_bg.png b/res/drawable-xhdpi/list_item_avatar_bg.png
index 3f271a0..cac7fbd 100644
--- a/res/drawable-xhdpi/list_item_avatar_bg.png
+++ b/res/drawable-xhdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/drawable-xxhdpi/list_item_avatar_bg.png b/res/drawable-xxhdpi/list_item_avatar_bg.png
index 8b03a65..fcfe2da 100644
--- a/res/drawable-xxhdpi/list_item_avatar_bg.png
+++ b/res/drawable-xxhdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index 32b1d60..e673cea 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -19,7 +19,8 @@
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- spacer view -->
- <Space
+ <View
+ android:id="@+id/spacer"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
diff --git a/res/layout/show_all_contact_button.xml b/res/layout/show_all_contact_button.xml
index 824d10c..30060d7 100644
--- a/res/layout/show_all_contact_button.xml
+++ b/res/layout/show_all_contact_button.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
-<LinearLayout
+<com.android.contacts.common.list.ContactListItemView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/show_all_contact_button"
android:orientation="horizontal"
@@ -23,23 +23,4 @@
android:layout_height="match_parent"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center"
- android:background="?android:attr/selectableItemBackground"
- android:focusable="true">
-
- <ImageView
- android:layout_height="match_parent"
- android:layout_width="wrap_content"
- android:layout_gravity="center"
- android:src="@drawable/ic_menu_all_contacts_dk"
- android:layout_marginEnd="10dp"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:textSize="14sp"
- android:ellipsize="marquee"
- android:singleLine="true"
- android:text="@string/show_all_contacts_button_text"
- android:textAlignment="center"
- android:gravity="center"/>
-</LinearLayout>
\ No newline at end of file
+ android:focusable="true" />
\ No newline at end of file
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index 9ebf112..00b8281 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -206,6 +206,8 @@
private ToneGenerator mToneGenerator;
private final Object mToneGeneratorLock = new Object();
private View mDialpad;
+ private View mSpacer;
+
/**
* Set of dialpad keys that are currently being pressed
*/
@@ -428,6 +430,18 @@
mDelete.setOnLongClickListener(this);
}
+ mSpacer = fragmentView.findViewById(R.id.spacer);
+ mSpacer.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ if (isDigitsEmpty()) {
+ hideAndClearDialpad();
+ return true;
+ }
+ return false;
+ }
+ });
+
mDialpad = fragmentView.findViewById(R.id.dialpad); // This is null in landscape mode.
// In landscape we put the keyboard in phone mode.
diff --git a/src/com/android/dialer/list/PhoneFavoriteFragment.java b/src/com/android/dialer/list/PhoneFavoriteFragment.java
index 73703a0..34666ee 100644
--- a/src/com/android/dialer/list/PhoneFavoriteFragment.java
+++ b/src/com/android/dialer/list/PhoneFavoriteFragment.java
@@ -27,6 +27,7 @@
import android.content.CursorLoader;
import android.content.Loader;
import android.content.SharedPreferences;
+import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Rect;
import android.net.Uri;
@@ -50,6 +51,7 @@
import com.android.contacts.common.ContactTileLoaderFactory;
import com.android.contacts.common.GeoUtil;
import com.android.contacts.common.list.ContactEntry;
+import com.android.contacts.common.list.ContactListItemView;
import com.android.contacts.common.list.ContactTileView;
import com.android.dialer.DialtactsActivity;
import com.android.dialer.R;
@@ -290,21 +292,12 @@
mShowAllContactsInEmptyViewButton = mParentView.findViewById(
R.id.show_all_contact_button_in_nofav);
- mShowAllContactsInEmptyViewButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View view) {
- showAllContacts();
- }
- });
+ prepareAllContactsButton(mShowAllContactsInEmptyViewButton);
mShowAllContactsButton = inflater.inflate(R.layout.show_all_contact_button, mListView,
false);
- mShowAllContactsButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View view) {
- showAllContacts();
- }
- });
+
+ prepareAllContactsButton(mShowAllContactsButton);
mContactTileFrame = mParentView.findViewById(R.id.contact_tile_frame);
@@ -638,4 +631,33 @@
.apply();
fetchCalls();
}
+
+ /**
+ * Returns a view that is laid out and styled to look like a regular contact, with the correct
+ * click behavior (to launch the all contacts activity when it is clicked).
+ */
+ private View prepareAllContactsButton(View v) {
+ final ContactListItemView view = (ContactListItemView) v;
+ view.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ showAllContacts();
+ }
+ });
+
+ view.setPhotoPosition(ContactListItemView.PhotoPosition.LEFT);
+ final Resources resources = getResources();
+ view.setBackgroundResource(R.drawable.contact_list_item_background);
+
+ view.setPaddingRelative(
+ resources.getDimensionPixelSize(R.dimen.favorites_row_start_padding),
+ resources.getDimensionPixelSize(R.dimen.favorites_row_end_padding),
+ resources.getDimensionPixelSize(R.dimen.favorites_row_top_padding),
+ resources.getDimensionPixelSize(R.dimen.favorites_row_bottom_padding));
+
+ view.setDisplayName(resources.getString(R.string.show_all_contacts_button_text));
+ view.setDrawableResource(R.drawable.list_item_avatar_bg,
+ R.drawable.ic_menu_all_contacts_dk);
+ return view;
+ }
}