Standardize and replace assets with vectors
Standarize naming of vector drawables and replace png
assets with vector drawables.
Test: build and run GoogleContactsTests
manual side by side sanity check with previous version
Bug: 33251913
Change-Id: Iafea5c1bba738c57437888da999fc2909d0765fd
diff --git a/src/com/android/contacts/ContactsDrawerActivity.java b/src/com/android/contacts/ContactsDrawerActivity.java
index 37e165f..f0bc37e 100644
--- a/src/com/android/contacts/ContactsDrawerActivity.java
+++ b/src/com/android/contacts/ContactsDrawerActivity.java
@@ -425,7 +425,7 @@
&& groupMetaData.groupId == groupListItem.getGroupId()) {
updateMenuSelection(menuItem);
}
- menuItem.setIcon(R.drawable.ic_menu_label);
+ menuItem.setIcon(R.drawable.quantum_ic_label_vd_theme_24);
menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
@@ -450,7 +450,7 @@
// Create a menu item in the sub menu to add new groups
final MenuItem menuItem = subMenu.add(R.id.nav_groups_items, Menu.NONE,
Menu.NONE, getString(R.string.menu_new_group_action_bar));
- menuItem.setIcon(R.drawable.ic_add);
+ menuItem.setIcon(R.drawable.quantum_ic_add_vd_theme_24);
menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
diff --git a/src/com/android/contacts/SimImportService.java b/src/com/android/contacts/SimImportService.java
index 9e7884f..f21e1e1 100644
--- a/src/com/android/contacts/SimImportService.java
+++ b/src/com/android/contacts/SimImportService.java
@@ -192,7 +192,7 @@
.setAutoCancel(true)
.setContentTitle(this.getString(R.string.importing_sim_finished_title))
.setColor(this.getResources().getColor(R.color.dialtacts_theme_color))
- .setSmallIcon(R.drawable.ic_check_mark)
+ .setSmallIcon(R.drawable.quantum_ic_done_vd_theme_24)
.setContentIntent(PendingIntent.getActivity(this, 0, intent, 0));
return builder.build();
}
@@ -205,7 +205,7 @@
.setContentTitle(this.getString(R.string.importing_sim_failed_title))
.setContentText(this.getString(R.string.importing_sim_failed_message))
.setColor(this.getResources().getColor(R.color.dialtacts_theme_color))
- .setSmallIcon(R.drawable.ic_error_black_24dp)
+ .setSmallIcon(R.drawable.quantum_ic_error_vd_theme_24)
.setContentIntent(PendingIntent.getActivity(this, 0, intent, 0));
return builder.build();
}
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index 39ec2d3..1bfd832 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -38,6 +38,7 @@
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.FrameLayout;
+import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;
import android.widget.SearchView.OnCloseListener;
@@ -152,7 +153,9 @@
mSearchView = (EditText) mSearchContainer.findViewById(R.id.search_view);
mSearchView.setHint(mActivity.getString(mSearchHintResId));
mSearchView.addTextChangedListener(new SearchTextWatcher());
- mSearchContainer.findViewById(R.id.search_back_button).setOnClickListener(
+ final ImageButton searchBackButton = (ImageButton) mSearchContainer
+ .findViewById(R.id.search_back_button);
+ searchBackButton.setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
@@ -161,6 +164,7 @@
}
}
});
+ searchBackButton.getDrawable().setAutoMirrored(true);
mClearSearchView = mSearchContainer.findViewById(R.id.search_close_button);
mClearSearchView.setOnClickListener(
@@ -331,7 +335,7 @@
newFlags |= ActionBar.DISPLAY_SHOW_TITLE;
mToolbar.setContentInsetsRelative(mMaxToolbarContentInsetStart,
mToolbar.getContentInsetEnd());
- mToolbar.setNavigationIcon(R.drawable.ic_menu_hamburger);
+ mToolbar.setNavigationIcon(R.drawable.quantum_ic_menu_vd_theme_24);
} else {
mToolbar.setNavigationIcon(null);
}
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index e57b7d0..ee4b726 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -19,9 +19,12 @@
import android.app.Fragment;
import android.content.ActivityNotFoundException;
import android.content.Intent;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract.Contacts;
+import android.support.v4.content.ContextCompat;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
@@ -689,6 +692,12 @@
final MenuItem searchItem = menu.findItem(R.id.menu_search);
searchItem.setVisible(!mIsSearchMode && mIsSearchSupported);
+
+ final Drawable searchIcon = searchItem.getIcon();
+ if (searchIcon != null) {
+ searchIcon.mutate().setColorFilter(ContextCompat.getColor(this,
+ R.color.actionbar_icon_color), PorterDuff.Mode.SRC_ATOP);
+ }
return true;
}
diff --git a/src/com/android/contacts/detail/ContactDisplayUtils.java b/src/com/android/contacts/detail/ContactDisplayUtils.java
index b1bdc6e..6803e9d 100644
--- a/src/com/android/contacts/detail/ContactDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDisplayUtils.java
@@ -31,7 +31,6 @@
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
-import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
@@ -42,7 +41,6 @@
import com.android.contacts.model.dataitem.OrganizationDataItem;
import com.android.contacts.preference.ContactsPreferences;
import com.android.contacts.util.MoreMath;
-
import com.google.common.collect.Iterables;
import java.util.List;
@@ -156,34 +154,14 @@
/**
* Sets the starred state of this contact.
*/
- public static void configureStarredImageView(ImageView starredView, boolean isDirectoryEntry,
- boolean isUserProfile, boolean isStarred) {
- // Check if the starred state should be visible
- if (!isDirectoryEntry && !isUserProfile) {
- starredView.setVisibility(View.VISIBLE);
- final int resId = isStarred
- ? R.drawable.btn_star_on_normal_holo_light
- : R.drawable.btn_star_off_normal_holo_light;
- starredView.setImageResource(resId);
- starredView.setTag(isStarred);
- starredView.setContentDescription(starredView.getResources().getString(
- isStarred ? R.string.menu_removeStar : R.string.menu_addStar));
- } else {
- starredView.setVisibility(View.GONE);
- }
- }
-
- /**
- * Sets the starred state of this contact.
- */
public static void configureStarredMenuItem(MenuItem starredMenuItem, boolean isDirectoryEntry,
boolean isUserProfile, boolean isStarred) {
// Check if the starred state should be visible
if (!isDirectoryEntry && !isUserProfile) {
starredMenuItem.setVisible(true);
final int resId = isStarred
- ? R.drawable.ic_star_24dp
- : R.drawable.ic_star_outline_24dp;
+ ? R.drawable.quantum_ic_star_vd_theme_24
+ : R.drawable.quantum_ic_star_border_vd_theme_24;
starredMenuItem.setIcon(resId);
starredMenuItem.setChecked(isStarred);
starredMenuItem.setTitle(isStarred ? R.string.menu_removeStar : R.string.menu_addStar);
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index f2f00a5..213648f 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -1241,8 +1241,9 @@
toolbar.setTitle(R.string.contact_editor_title_read_only_contact);
// Set activity title for Talkback
getEditorActivity().setTitle(R.string.contact_editor_title_read_only_contact);
- toolbar.setNavigationIcon(R.drawable.ic_back_arrow);
+ toolbar.setNavigationIcon(R.drawable.quantum_ic_arrow_back_vd_theme_24);
toolbar.setNavigationContentDescription(R.string.back_arrow_content_description);
+ toolbar.getNavigationIcon().setAutoMirrored(true);
}
}
diff --git a/src/com/android/contacts/editor/EditorUiUtils.java b/src/com/android/contacts/editor/EditorUiUtils.java
index 2748155..0810ab8 100644
--- a/src/com/android/contacts/editor/EditorUiUtils.java
+++ b/src/com/android/contacts/editor/EditorUiUtils.java
@@ -157,32 +157,37 @@
public static Drawable getMimeTypeDrawable(Context context, String mimeType) {
switch (mimeType) {
case StructuredName.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_person_black_24dp);
+ return context.getResources().getDrawable(R.drawable.quantum_ic_person_vd_theme_24);
case StructuredPostal.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_place_24dp);
+ return context.getResources().getDrawable(R.drawable.quantum_ic_place_vd_theme_24);
case SipAddress.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_dialer_sip_black_24dp);
+ return context.getResources().getDrawable(
+ R.drawable.quantum_ic_dialer_sip_vd_theme_24);
case Phone.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_phone_24dp);
+ return context.getResources().getDrawable(R.drawable.quantum_ic_phone_vd_theme_24);
case Im.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_message_24dp);
+ return context.getResources().getDrawable(
+ R.drawable.quantum_ic_message_vd_theme_24);
case Event.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_event_24dp);
+ return context.getResources().getDrawable(R.drawable.quantum_ic_event_vd_theme_24);
case Email.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_email_24dp);
+ return context.getResources().getDrawable(R.drawable.quantum_ic_email_vd_theme_24);
case Website.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_public_black_24dp);
+ return context.getResources().getDrawable(R.drawable.quantum_ic_public_vd_theme_24);
case Photo.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_camera_alt_black_24dp);
+ return context.getResources().getDrawable(
+ R.drawable.quantum_ic_camera_alt_vd_theme_24);
case GroupMembership.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_menu_label);
+ return context.getResources().getDrawable(R.drawable.quantum_ic_label_vd_theme_24);
case Organization.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_business_black_24dp);
+ return context.getResources().getDrawable(
+ R.drawable.quantum_ic_business_vd_theme_24);
case Note.CONTENT_ITEM_TYPE:
- return context.getResources().getDrawable(R.drawable.ic_insert_comment_black_24dp);
+ return context.getResources().getDrawable(
+ R.drawable.quantum_ic_insert_comment_vd_theme_24);
case Relation.CONTENT_ITEM_TYPE:
return context.getResources().getDrawable(
- R.drawable.ic_circles_extended_black_24dp);
+ R.drawable.quantum_ic_circles_ext_vd_theme_24);
default:
return null;
}
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index 9f17674..4711bcb 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -619,7 +619,7 @@
primary = mCurrentRawContactDelta.getPrimaryEntry(StructuredName.CONTENT_ITEM_TYPE);
final String name = primary != null ? primary.getAsString(StructuredName.DISPLAY_NAME) :
getContext().getString(R.string.missing_name);
- final Drawable nameDrawable = context.getDrawable(R.drawable.ic_person_24dp);
+ final Drawable nameDrawable = context.getDrawable(R.drawable.quantum_ic_person_vd_theme_24);
final String nameContentDescription = res.getString(R.string.header_name_entry);
bindData(nameDrawable, nameContentDescription, name, /* type */ null,
/* isFirstEntry */ true);
@@ -627,7 +627,7 @@
// Phones
final ArrayList<ValuesDelta> phones = mCurrentRawContactDelta
.getMimeEntries(Phone.CONTENT_ITEM_TYPE);
- final Drawable phoneDrawable = context.getDrawable(R.drawable.ic_phone_24dp);
+ final Drawable phoneDrawable = context.getDrawable(R.drawable.quantum_ic_phone_vd_theme_24);
final String phoneContentDescription = res.getString(R.string.header_phone_entry);
if (phones != null) {
boolean isFirstPhoneBound = true;
@@ -653,7 +653,7 @@
// Emails
final ArrayList<ValuesDelta> emails = mCurrentRawContactDelta
.getMimeEntries(Email.CONTENT_ITEM_TYPE);
- final Drawable emailDrawable = context.getDrawable(R.drawable.ic_email_24dp);
+ final Drawable emailDrawable = context.getDrawable(R.drawable.quantum_ic_email_vd_theme_24);
final String emailContentDescription = res.getString(R.string.header_email_entry);
if (emails != null) {
boolean isFirstEmailBound = true;
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index c8a41af..c3a240a 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -182,8 +182,8 @@
*/
private void setupExpansionView(boolean shouldExist, boolean collapsed) {
final Drawable expandIcon = getContext().getDrawable(collapsed
- ? R.drawable.ic_menu_expand_minimized_24dp
- : R.drawable.ic_menu_expand_maximized_24dp);
+ ? R.drawable.quantum_ic_expand_more_vd_theme_24
+ : R.drawable.quantum_ic_expand_less_vd_theme_24);
mExpansionView.setImageDrawable(expandIcon);
mExpansionView.setContentDescription(collapsed ? mExpandButtonDescription
: mCollapseButtonDescription);
diff --git a/src/com/android/contacts/group/GroupMembersFragment.java b/src/com/android/contacts/group/GroupMembersFragment.java
index 4c6f020..ea7ab64 100644
--- a/src/com/android/contacts/group/GroupMembersFragment.java
+++ b/src/com/android/contacts/group/GroupMembersFragment.java
@@ -18,17 +18,21 @@
import android.app.Activity;
import android.app.LoaderManager.LoaderCallbacks;
import android.content.ContentResolver;
+import android.content.Context;
import android.content.CursorLoader;
import android.content.Intent;
import android.content.Loader;
import android.database.Cursor;
import android.database.CursorWrapper;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
+import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
@@ -64,7 +68,6 @@
import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.util.ImplicitIntentsUtil;
import com.android.contactsbind.FeedbackHelper;
-
import com.google.common.primitives.Longs;
import java.util.ArrayList;
@@ -267,25 +270,33 @@
final boolean isGroupEditable = mGroupMetaData != null && mGroupMetaData.editable;
final boolean isGroupReadOnly = mGroupMetaData != null && mGroupMetaData.readOnly;
- setVisible(menu, R.id.menu_multi_send_email, !mIsEditMode && !isGroupEmpty());
- setVisible(menu, R.id.menu_multi_send_message, !mIsEditMode && !isGroupEmpty());
- setVisible(menu, R.id.menu_add, isGroupEditable && !isSelectionMode);
- setVisible(menu, R.id.menu_rename_group, !isGroupReadOnly && !isSelectionMode);
- setVisible(menu, R.id.menu_delete_group, !isGroupReadOnly && !isSelectionMode);
- setVisible(menu, R.id.menu_edit_group, isGroupEditable && !mIsEditMode && !isSelectionMode
- && !isGroupEmpty());
- setVisible(menu, R.id.menu_remove_from_group, isGroupEditable && isSelectionMode &&
- !mIsEditMode);
+ setVisible(getContext(), menu, R.id.menu_multi_send_email, !mIsEditMode && !isGroupEmpty());
+ setVisible(getContext(), menu, R.id.menu_multi_send_message,
+ !mIsEditMode && !isGroupEmpty());
+ setVisible(getContext(), menu, R.id.menu_add, isGroupEditable && !isSelectionMode);
+ setVisible(getContext(), menu, R.id.menu_rename_group,
+ !isGroupReadOnly && !isSelectionMode);
+ setVisible(getContext(), menu, R.id.menu_delete_group,
+ !isGroupReadOnly && !isSelectionMode);
+ setVisible(getContext(), menu, R.id.menu_edit_group,
+ isGroupEditable && !mIsEditMode && !isSelectionMode && !isGroupEmpty());
+ setVisible(getContext(), menu, R.id.menu_remove_from_group,
+ isGroupEditable && isSelectionMode && !mIsEditMode);
}
private boolean isGroupEmpty() {
return getAdapter() != null && getAdapter().isEmpty();
}
- private static void setVisible(Menu menu, int id, boolean visible) {
+ private static void setVisible(Context context, Menu menu, int id, boolean visible) {
final MenuItem menuItem = menu.findItem(id);
if (menuItem != null) {
menuItem.setVisible(visible);
+ final Drawable icon = menuItem.getIcon();
+ if (icon != null) {
+ icon.mutate().setColorFilter(ContextCompat.getColor(context,
+ R.color.actionbar_icon_color), PorterDuff.Mode.SRC_ATOP);
+ }
}
}
diff --git a/src/com/android/contacts/interactions/CalendarInteraction.java b/src/com/android/contacts/interactions/CalendarInteraction.java
index 2ee0a71..9b7ab31 100644
--- a/src/com/android/contacts/interactions/CalendarInteraction.java
+++ b/src/com/android/contacts/interactions/CalendarInteraction.java
@@ -20,7 +20,7 @@
public class CalendarInteraction implements ContactInteraction {
private static final String TAG = CalendarInteraction.class.getSimpleName();
- private static final int CALENDAR_ICON_RES = R.drawable.ic_event_24dp;
+ private static final int CALENDAR_ICON_RES = R.drawable.quantum_ic_event_vd_theme_24;
private ContentValues mValues;
diff --git a/src/com/android/contacts/interactions/CallLogInteraction.java b/src/com/android/contacts/interactions/CallLogInteraction.java
index d3ac802..8890478 100644
--- a/src/com/android/contacts/interactions/CallLogInteraction.java
+++ b/src/com/android/contacts/interactions/CallLogInteraction.java
@@ -49,7 +49,7 @@
public class CallLogInteraction implements ContactInteraction {
private static final String URI_TARGET_PREFIX = "tel:";
- private static final int CALL_LOG_ICON_RES = R.drawable.ic_phone_24dp;
+ private static final int CALL_LOG_ICON_RES = R.drawable.quantum_ic_phone_vd_theme_24;
private static final int CALL_ARROW_ICON_RES = R.drawable.ic_call_arrow;
private static BidiFormatter sBidiFormatter = BidiFormatter.getInstance();
diff --git a/src/com/android/contacts/interactions/SmsInteraction.java b/src/com/android/contacts/interactions/SmsInteraction.java
index ada8f9b..4aad07b 100644
--- a/src/com/android/contacts/interactions/SmsInteraction.java
+++ b/src/com/android/contacts/interactions/SmsInteraction.java
@@ -35,7 +35,7 @@
public class SmsInteraction implements ContactInteraction {
private static final String URI_TARGET_PREFIX = "smsto:";
- private static final int SMS_ICON_RES = R.drawable.ic_message_24dp_mirrored;
+ private static final int SMS_ICON_RES = R.drawable.quantum_ic_message_vd_theme_24;
private static BidiFormatter sBidiFormatter = BidiFormatter.getInstance();
private ContentValues mValues;
diff --git a/src/com/android/contacts/list/ContactListFilterView.java b/src/com/android/contacts/list/ContactListFilterView.java
index 4670200..d4b83c6 100644
--- a/src/com/android/contacts/list/ContactListFilterView.java
+++ b/src/com/android/contacts/list/ContactListFilterView.java
@@ -103,7 +103,7 @@
break;
}
case ContactListFilter.FILTER_TYPE_STARRED: {
- bindView(R.drawable.ic_menu_star_holo_light, R.string.list_filter_all_starred);
+ bindView(R.drawable.quantum_ic_star_vd_theme_24, R.string.list_filter_all_starred);
break;
}
case ContactListFilter.FILTER_TYPE_CUSTOM: {
diff --git a/src/com/android/contacts/list/ContactListItemView.java b/src/com/android/contacts/list/ContactListItemView.java
index 2a91ee8..4f42a0f 100644
--- a/src/com/android/contacts/list/ContactListItemView.java
+++ b/src/com/android/contacts/list/ContactListItemView.java
@@ -394,7 +394,7 @@
}
mVideoCallIcon.setContentDescription(getContext().getString(
R.string.description_search_video_call));
- mVideoCallIcon.setImageResource(R.drawable.ic_search_video_call);
+ mVideoCallIcon.setImageResource(R.drawable.quantum_ic_videocam_vd_theme_24);
mVideoCallIcon.setScaleType(ScaleType.CENTER);
mVideoCallIcon.setVisibility(View.VISIBLE);
mVideoCallIcon.setOnClickListener(new OnClickListener() {
@@ -1031,7 +1031,8 @@
mHeaderView = new ImageView(getContext());
final ImageView headerImageView = (ImageView) mHeaderView;
headerImageView.setImageDrawable(
- getResources().getDrawable(R.drawable.ic_material_star, getContext().getTheme()));
+ getResources().getDrawable(R.drawable.quantum_ic_star_vd_theme_24,
+ getContext().getTheme()));
headerImageView.setImageTintList(ColorStateList.valueOf(getResources()
.getColor(R.color.material_star_pink)));
headerImageView.setContentDescription(
@@ -1338,7 +1339,7 @@
final int position) {
if (mDeleteImageButton == null) {
mDeleteImageButton = new AppCompatImageButton(getContext());
- mDeleteImageButton.setImageResource(R.drawable.ic_cancel_black_24dp);
+ mDeleteImageButton.setImageResource(R.drawable.quantum_ic_cancel_vd_theme_24);
mDeleteImageButton.setScaleType(ScaleType.CENTER);
mDeleteImageButton.setBackgroundColor(Color.TRANSPARENT);
mDeleteImageButton.setContentDescription(
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 74c9f65..079c5a5 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -28,12 +28,15 @@
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.database.Cursor;
+import android.graphics.PorterDuff;
import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Directory;
+import android.support.v4.content.ContextCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.text.TextUtils;
import android.util.Log;
@@ -978,6 +981,15 @@
// Debug options need to be visible even in search mode.
makeMenuItemVisible(menu, R.id.export_database, mEnableDebugMenuOptions &&
hasExportIntentHandler());
+
+ // Light tint the icons for normal mode, dark tint for search or selection mode.
+ for (int i = 0; i < menu.size(); ++i) {
+ final Drawable icon = menu.getItem(i).getIcon();
+ if (icon != null && !isSearchOrSelectionMode) {
+ icon.mutate().setColorFilter(ContextCompat.getColor(getContext(),
+ R.color.actionbar_icon_color), PorterDuff.Mode.SRC_ATOP);
+ }
+ }
}
private void makeMenuItemVisible(Menu menu, int itemId, boolean visible) {
diff --git a/src/com/android/contacts/list/HeaderEntryContactListAdapter.java b/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
index 4a31950..43c2428 100644
--- a/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
+++ b/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
@@ -64,7 +64,7 @@
} else {
itemView = (ContactListItemView) convertView;
}
- itemView.setDrawableResource(R.drawable.ic_search_add_contact);
+ itemView.setDrawableResource(R.drawable.quantum_ic_person_add_vd_theme_24);
itemView.setDisplayName(getContext().getResources().getString(
R.string.header_entry_contact_list_adapter_header_title));
return itemView;
diff --git a/src/com/android/contacts/list/ShortcutIntentBuilder.java b/src/com/android/contacts/list/ShortcutIntentBuilder.java
index a9bc5ea..d7ac53a 100644
--- a/src/com/android/contacts/list/ShortcutIntentBuilder.java
+++ b/src/com/android/contacts/list/ShortcutIntentBuilder.java
@@ -294,11 +294,11 @@
// Make the URI a direct tel: URI so that it will always continue to work
phoneUri = Uri.fromParts(PhoneAccount.SCHEME_TEL, phoneNumber, null);
bitmap = generatePhoneNumberIcon(drawable, phoneType, phoneLabel,
- R.drawable.ic_call);
+ R.drawable.quantum_ic_phone_vd_theme_24);
} else {
phoneUri = Uri.fromParts(ContactsUtils.SCHEME_SMSTO, phoneNumber, null);
bitmap = generatePhoneNumberIcon(drawable, phoneType, phoneLabel,
- R.drawable.ic_message_24dp_mirrored);
+ R.drawable.quantum_ic_message_vd_theme_24);
}
Intent shortcutIntent = new Intent(shortcutAction, phoneUri);
diff --git a/src/com/android/contacts/model/account/BaseAccountType.java b/src/com/android/contacts/model/account/BaseAccountType.java
index d5d1887..a62f353 100644
--- a/src/com/android/contacts/model/account/BaseAccountType.java
+++ b/src/com/android/contacts/model/account/BaseAccountType.java
@@ -249,7 +249,7 @@
protected DataKind addDataKindPhone(Context context) throws DefinitionException {
DataKind kind = addKind(new DataKind(Phone.CONTENT_ITEM_TYPE, R.string.phoneLabelsGroup,
Weight.PHONE, true));
- kind.iconAltRes = R.drawable.ic_message_24dp_mirrored;
+ kind.iconAltRes = R.drawable.quantum_ic_message_vd_theme_24;
kind.iconAltDescriptionRes = R.string.sms;
kind.actionHeader = new PhoneActionInflater();
kind.actionAltHeader = new PhoneActionAltInflater();
@@ -1029,7 +1029,7 @@
Phone.CONTENT_ITEM_TYPE, Phone.TYPE, R.string.phoneLabelsGroup, Weight.PHONE,
new PhoneActionInflater(), new SimpleInflater(Phone.NUMBER));
- kind.iconAltRes = R.drawable.ic_message_24dp_mirrored;
+ kind.iconAltRes = R.drawable.quantum_ic_message_vd_theme_24;
kind.iconAltDescriptionRes = R.string.sms;
kind.actionAltHeader = new PhoneActionAltInflater();
diff --git a/src/com/android/contacts/model/account/FallbackAccountType.java b/src/com/android/contacts/model/account/FallbackAccountType.java
index d104330..f36f370 100644
--- a/src/com/android/contacts/model/account/FallbackAccountType.java
+++ b/src/com/android/contacts/model/account/FallbackAccountType.java
@@ -18,6 +18,9 @@
import android.accounts.AuthenticatorDescription;
import android.content.Context;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
+import android.support.v4.content.ContextCompat;
import com.android.contacts.R;
import com.android.contacts.model.dataitem.DataKind;
@@ -30,7 +33,7 @@
this.accountType = null;
this.dataSet = null;
this.titleRes = R.string.account_phone;
- this.iconRes = R.drawable.ic_device;
+ this.iconRes = R.drawable.quantum_ic_smartphone_vd_theme_24;
// Note those are only set for unit tests.
this.resourcePackageName = resPackageName;
@@ -58,6 +61,14 @@
}
}
+ @Override
+ public Drawable getDisplayIcon(Context context) {
+ final Drawable icon = context.getResources().getDrawable(iconRes);
+ icon.mutate().setColorFilter(ContextCompat.getColor(context,
+ R.color.actionbar_icon_color_grey), PorterDuff.Mode.SRC_ATOP);
+ return icon;
+ }
+
public FallbackAccountType(Context context) {
this(context, null);
}
diff --git a/src/com/android/contacts/model/account/SimAccountType.java b/src/com/android/contacts/model/account/SimAccountType.java
index 6e64c64..636ee88 100644
--- a/src/com/android/contacts/model/account/SimAccountType.java
+++ b/src/com/android/contacts/model/account/SimAccountType.java
@@ -34,7 +34,7 @@
public SimAccountType(Context context) {
this.titleRes = R.string.account_sim;
- this.iconRes = R.drawable.ic_sim_card_tinted_24dp;
+ this.iconRes = R.drawable.quantum_ic_sim_card_vd_theme_24;
try {
addDataKindStructuredName(context);
diff --git a/src/com/android/contacts/quickcontact/DataAction.java b/src/com/android/contacts/quickcontact/DataAction.java
index fd6e2b4..a3f4869 100644
--- a/src/com/android/contacts/quickcontact/DataAction.java
+++ b/src/com/android/contacts/quickcontact/DataAction.java
@@ -215,10 +215,10 @@
mAlternateIntent = new Intent(
Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?call"));
if (isVideoChatCapable) {
- mAlternateIconRes = R.drawable.sym_action_videochat_holo_light;
+ mAlternateIconRes = R.drawable.quantum_ic_videocam_vd_theme_24;
mAlternateIconDescriptionRes = R.string.video_chat;
} else {
- mAlternateIconRes = R.drawable.sym_action_audiochat_holo_light;
+ mAlternateIconRes = R.drawable.quantum_ic_mic_vd_theme_24;
mAlternateIconDescriptionRes = R.string.audio_chat;
}
}
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 1dfa10c..3c04f68 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -1375,7 +1375,7 @@
*/
private void initializeNoContactDetailCard(boolean areAllRawContactsSimAccounts) {
final Drawable phoneIcon = getResources().getDrawable(
- R.drawable.ic_phone_24dp).mutate();
+ R.drawable.quantum_ic_phone_vd_theme_24).mutate();
final Entry phonePromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
phoneIcon, getString(R.string.quickcontact_add_phone_number),
/* subHeader = */ null, /* subHeaderIcon = */ null, /* text = */ null,
@@ -1388,7 +1388,7 @@
/* thirdContentDescription = */ null,
/* thirdAction = */ Entry.ACTION_NONE,
/* thirdExtras = */ null,
- R.drawable.ic_phone_24dp);
+ R.drawable.quantum_ic_phone_vd_theme_24);
final List<List<Entry>> promptEntries = new ArrayList<>();
promptEntries.add(new ArrayList<Entry>(1));
@@ -1396,7 +1396,7 @@
if (!areAllRawContactsSimAccounts) {
final Drawable emailIcon = getResources().getDrawable(
- R.drawable.ic_email_24dp).mutate();
+ R.drawable.quantum_ic_email_vd_theme_24).mutate();
final Entry emailPromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
emailIcon, getString(R.string.quickcontact_add_email), /* subHeader = */ null,
/* subHeaderIcon = */ null,
@@ -1407,7 +1407,7 @@
/* EntryContextMenuInfo = */ null, /* thirdIcon = */ null,
/* thirdIntent = */ null, /* thirdContentDescription = */ null,
/* thirdAction = */ Entry.ACTION_NONE, /* thirdExtras = */ null,
- R.drawable.ic_email_24dp);
+ R.drawable.quantum_ic_email_vd_theme_24);
promptEntries.add(new ArrayList<Entry>(1));
promptEntries.get(1).add(emailPromptEntry);
@@ -1725,8 +1725,8 @@
primaryContentDescription.append(header);
phoneContentDescription = com.android.contacts.util.ContactDisplayUtils
.getTelephoneTtsSpannable(primaryContentDescription.toString(), header);
- icon = res.getDrawable(R.drawable.ic_phone_24dp);
- iconResourceId = R.drawable.ic_phone_24dp;
+ iconResourceId = R.drawable.quantum_ic_phone_vd_theme_24;
+ icon = res.getDrawable(iconResourceId);
if (PhoneCapabilityTester.isPhone(context)) {
intent = CallUtil.getCallIntent(phone.getNumber());
intent.putExtra(EXTRA_ACTION_TYPE, ActionType.CALL);
@@ -1735,7 +1735,7 @@
Uri.fromParts(ContactsUtils.SCHEME_SMSTO, phone.getNumber(), null));
alternateIntent.putExtra(EXTRA_ACTION_TYPE, ActionType.SMS);
- alternateIcon = res.getDrawable(R.drawable.ic_message_24dp_mirrored);
+ alternateIcon = res.getDrawable(R.drawable.quantum_ic_message_vd_theme_24);
alternateContentDescription.append(res.getString(R.string.sms_custom, header));
smsContentDescription = com.android.contacts.util.ContactDisplayUtils
.getTelephoneTtsSpannable(alternateContentDescription.toString(), header);
@@ -1746,7 +1746,7 @@
boolean isVideoEnabled = (videoCapability & CallUtil.VIDEO_CALLING_ENABLED) != 0;
if (CallUtil.isCallWithSubjectSupported(context)) {
- thirdIcon = res.getDrawable(R.drawable.ic_call_note_white_24dp);
+ thirdIcon = res.getDrawable(R.drawable.quantum_ic_perm_phone_msg_vd_theme_24);
thirdAction = Entry.ACTION_CALL_WITH_SUBJECT;
thirdContentDescription =
res.getString(R.string.call_with_a_note);
@@ -1773,7 +1773,7 @@
boolean isPresent = (carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) != 0;
if ((isPresenceEnabled && isPresent) || !isPresenceEnabled) {
- thirdIcon = res.getDrawable(R.drawable.ic_videocam);
+ thirdIcon = res.getDrawable(R.drawable.quantum_ic_videocam_vd_theme_24);
thirdAction = Entry.ACTION_INTENT;
thirdIntent = CallUtil.getVideoCallIntent(phone.getNumber(),
CALL_ORIGIN_QUICK_CONTACTS_ACTIVITY);
@@ -1801,8 +1801,8 @@
primaryContentDescription.append(text).append(" ");
}
primaryContentDescription.append(header);
- icon = res.getDrawable(R.drawable.ic_email_24dp);
- iconResourceId = R.drawable.ic_email_24dp;
+ iconResourceId = R.drawable.quantum_ic_email_vd_theme_24;
+ icon = res.getDrawable(iconResourceId);
}
} else if (dataItem instanceof StructuredPostalDataItem) {
StructuredPostalDataItem postal = (StructuredPostalDataItem) dataItem;
@@ -1824,11 +1824,11 @@
alternateIntent =
StructuredPostalUtils.getViewPostalAddressDirectionsIntent(postalAddress);
alternateIntent.putExtra(EXTRA_ACTION_TYPE, ActionType.DIRECTIONS);
- alternateIcon = res.getDrawable(R.drawable.ic_directions_24dp);
+ alternateIcon = res.getDrawable(R.drawable.quantum_ic_directions_vd_theme_24);
alternateContentDescription.append(res.getString(
R.string.content_description_directions)).append(" ").append(header);
- icon = res.getDrawable(R.drawable.ic_place_24dp);
- iconResourceId = R.drawable.ic_place_24dp;
+ iconResourceId = R.drawable.quantum_ic_place_vd_theme_24;
+ icon = res.getDrawable(iconResourceId);
}
} else if (dataItem instanceof SipAddressDataItem) {
final SipAddressDataItem sip = (SipAddressDataItem) dataItem;
@@ -1851,8 +1851,8 @@
primaryContentDescription.append(text).append(" ");
}
primaryContentDescription.append(header);
- icon = res.getDrawable(R.drawable.ic_dialer_sip_black_24dp);
- iconResourceId = R.drawable.ic_dialer_sip_black_24dp;
+ iconResourceId = R.drawable.quantum_ic_dialer_sip_vd_theme_24;
+ icon = res.getDrawable(iconResourceId);
}
} else if (dataItem instanceof StructuredNameDataItem) {
// If the name is already set and this is not the super primary value then leave the
@@ -1885,8 +1885,9 @@
// If a secondDataItem is available, use it to build an entry with
// alternate actions
if (secondDataItem != null) {
- icon = res.getDrawable(R.drawable.ic_hangout_24dp);
- alternateIcon = res.getDrawable(R.drawable.ic_hangout_video_24dp);
+ icon = res.getDrawable(R.drawable.quantum_ic_hangout_vd_theme_24);
+ alternateIcon = res.getDrawable(
+ R.drawable.quantum_ic_hangout_video_vd_theme_24);
final HangoutsDataItemModel itemModel =
new HangoutsDataItemModel(intent, alternateIntent,
dataItem, secondDataItem, alternateContentDescription,
@@ -1900,9 +1901,9 @@
text = itemModel.text;
} else {
if (HANGOUTS_DATA_5_VIDEO.equals(intent.getDataString())) {
- icon = res.getDrawable(R.drawable.ic_hangout_video_24dp);
+ icon = res.getDrawable(R.drawable.quantum_ic_hangout_video_vd_theme_24);
} else {
- icon = res.getDrawable(R.drawable.ic_hangout_24dp);
+ icon = res.getDrawable(R.drawable.quantum_ic_hangout_vd_theme_24);
}
}
} else {
@@ -2480,8 +2481,8 @@
Trace.endSection();
Trace.beginSection("initialize permission explanation card");
- final Drawable historyIcon = VectorDrawableCompat.create(
- getResources(), R.drawable.ic_history_24dp, null);
+ final Drawable historyIcon = getResources().getDrawable(
+ R.drawable.quantum_ic_history_vd_theme_24);
final Entry permissionExplanationEntry = new Entry(CARD_ENTRY_ID_REQUEST_PERMISSION,
historyIcon, getString(R.string.permission_explanation_header),
@@ -2493,7 +2494,7 @@
/* isEditable = */ false, /* EntryContextMenuInfo = */ null,
/* thirdIcon = */ null, /* thirdIntent = */ null,
/* thirdContentDescription = */ null, /* thirdAction = */ Entry.ACTION_NONE,
- /* thirdExtras = */ null, R.drawable.ic_history_24dp);
+ /* thirdExtras = */ null, R.drawable.quantum_ic_history_vd_theme_24);
final List<List<Entry>> permissionExplanationEntries = new ArrayList<>();
permissionExplanationEntries.add(new ArrayList<Entry>());
@@ -2705,10 +2706,10 @@
editMenuItem.setVisible(true);
if (DirectoryContactUtil.isDirectoryContact(mContactData) || InvisibleContactUtil
.isInvisibleAndAddable(mContactData, this)) {
- editMenuItem.setIcon(R.drawable.ic_person_add_tinted_24dp);
+ editMenuItem.setIcon(R.drawable.quantum_ic_person_add_vd_theme_24);
editMenuItem.setTitle(R.string.menu_add_contact);
} else if (isContactEditable()) {
- editMenuItem.setIcon(R.drawable.ic_create_24dp);
+ editMenuItem.setIcon(R.drawable.quantum_ic_create_vd_theme_24);
editMenuItem.setTitle(R.string.menu_editContact);
} else {
editMenuItem.setVisible(false);
diff --git a/src/com/android/contacts/vcard/NotificationImportExportListener.java b/src/com/android/contacts/vcard/NotificationImportExportListener.java
index c68bf0f..cf815bc 100644
--- a/src/com/android/contacts/vcard/NotificationImportExportListener.java
+++ b/src/com/android/contacts/vcard/NotificationImportExportListener.java
@@ -278,7 +278,7 @@
return new NotificationCompat.Builder(context)
.setAutoCancel(true)
.setColor(context.getResources().getColor(R.color.dialtacts_theme_color))
- .setSmallIcon(R.drawable.ic_check_mark)
+ .setSmallIcon(R.drawable.quantum_ic_done_vd_theme_24)
.setContentTitle(title)
.setContentText(description)
// If no intent provided, include an intent that won't resolve to anything.