diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java index 9e94ff1bc78aef7029883412e41797d2f3e7fc84..c819553d8b79affbc12f16e63d6e8d25266da4ec 100644 --- a/src/com/android/contacts/activities/PeopleActivity.java +++ b/src/com/android/contacts/activities/PeopleActivity.java @@ -28,8 +28,11 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.SyncStatusObserver; import android.content.res.Configuration; +import android.content.res.TypedArray; import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.provider.ContactsContract; @@ -47,11 +50,14 @@ import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; +import android.util.TypedValue; import android.view.KeyCharacterMap; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.widget.ImageButton; @@ -111,6 +117,8 @@ public class PeopleActivity extends AppCompatContactsActivity implements DrawerFragmentListener, SelectAccountDialogFragment.Listener { + public static int ACCENT_COLOR = 0; + /** Possible views of Contacts app. */ public enum ContactsView { NONE, @@ -413,6 +421,8 @@ public class PeopleActivity extends AppCompatContactsActivity implements Log.d(Constants.PERFORMANCE_TAG, "PeopleActivity.onCreate finish"); } getWindow().setBackgroundDrawable(null); + + ACCENT_COLOR=fetchAccentColor(); } @Override @@ -1291,5 +1301,20 @@ public class PeopleActivity extends AppCompatContactsActivity implements return intent; } + /* + * get Accent color from OS + * */ + + private int fetchAccentColor() { + TypedValue typedValue = new TypedValue(); + TypedArray a = this.obtainStyledAttributes(typedValue.data, new int[] { R.attr.colorAccent }); + int color = a.getColor(0, 0); + a.recycle(); + Log.e("TAG", "accent Colour #"+Integer.toHexString(color)); + getSupportActionBar().setBackgroundDrawable( + new ColorDrawable(color)); + return color; + } + } diff --git a/src/com/android/contacts/drawer/DrawerAdapter.java b/src/com/android/contacts/drawer/DrawerAdapter.java index 8931df4ac0d105b1eb2d367cc3bb3869fcf59382..0988eabdcd0f530b0121103fbe3202c21226645f 100644 --- a/src/com/android/contacts/drawer/DrawerAdapter.java +++ b/src/com/android/contacts/drawer/DrawerAdapter.java @@ -30,6 +30,7 @@ import android.widget.TextView; import com.android.contacts.ContactPhotoManager; import com.android.contacts.R; +import com.android.contacts.activities.PeopleActivity; import com.android.contacts.activities.PeopleActivity.ContactsView; import com.android.contacts.group.GroupListItem; import com.android.contacts.list.ContactListFilter; @@ -44,6 +45,8 @@ import com.android.contactsbind.ObjectFactory; import java.util.ArrayList; import java.util.List; +import static com.android.contacts.activities.PeopleActivity.*; + public class DrawerAdapter extends BaseAdapter { private static final int VIEW_TYPE_PRIMARY_ITEM = 0; @@ -260,6 +263,9 @@ public class DrawerAdapter extends BaseAdapter { titleView.setText(item.text); final ImageView iconView = (ImageView) result.findViewById(R.id.icon); iconView.setImageResource(item.icon); + + iconView.setColorFilter(ACCENT_COLOR, android.graphics.PorterDuff.Mode.MULTIPLY); + final TextView newBadge = (TextView) result.findViewById(R.id.assistant_new_badge); final boolean showWelcomeBadge = !SharedPreferenceUtil.isWelcomeCardDismissed(mActivity); newBadge.setVisibility(item.contactsView == ContactsView.ASSISTANT && showWelcomeBadge @@ -398,8 +404,9 @@ public class DrawerAdapter extends BaseAdapter { textView.setTextAppearance(mActivity, activated ? TYPEFACE_STYLE_ACTIVATE : TYPEFACE_STYLE_INACTIVE); if (activated) { - imageView.setColorFilter(mActivity.getResources().getColor(R.color.primary_color), + imageView.setColorFilter(ACCENT_COLOR, PorterDuff.Mode.SRC_ATOP); + textView.setTextColor(ACCENT_COLOR); } else { imageView.clearColorFilter(); } diff --git a/src/com/android/contacts/list/CustomContactListFilterActivity.java b/src/com/android/contacts/list/CustomContactListFilterActivity.java index 425ee7e783228ac97a0a59cbcb15e91b964b4320..aa06eb37401840ad3fcdb55c65befc36a7146cbb 100644 --- a/src/com/android/contacts/list/CustomContactListFilterActivity.java +++ b/src/com/android/contacts/list/CustomContactListFilterActivity.java @@ -80,6 +80,8 @@ import java.util.List; import javax.annotation.Nullable; +import static com.android.contacts.activities.PeopleActivity.ACCENT_COLOR; + /** * Shows a list of all available {@link Groups} available, letting the user * select which ones they want to be visible. @@ -600,8 +602,10 @@ public class CustomContactListFilterActivity extends Activity implements final int textColor = mContext.getResources().getColor(isExpanded ? R.color.dialtacts_theme_color : R.color.account_filter_text_color); - text1.setTextColor(textColor); - text2.setTextColor(textColor); + //text1.setTextColor(textColor); + //text2.setTextColor(textColor); + text1.setTextColor(ACCENT_COLOR); + text2.setTextColor(ACCENT_COLOR); return convertView; } diff --git a/src/com/android/contacts/list/MultiSelectContactsListFragment.java b/src/com/android/contacts/list/MultiSelectContactsListFragment.java index 61e92b82026612c8f1c05d17a3592cedfe0f6ef3..b4636a1089a1ca36b3f2248cc03234f9405e203c 100644 --- a/src/com/android/contacts/list/MultiSelectContactsListFragment.java +++ b/src/com/android/contacts/list/MultiSelectContactsListFragment.java @@ -388,6 +388,7 @@ public abstract class MultiSelectContactsListFragment