From d6ef654824260ed7bd28515ce9499ea1440dfee9 Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Tue, 25 Aug 2020 10:57:52 +0530 Subject: [PATCH 1/4] Fetch Accent Color and set on Status bar --- .../contacts/activities/PeopleActivity.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java index 9e94ff1bc7..e73a770a0b 100644 --- a/src/com/android/contacts/activities/PeopleActivity.java +++ b/src/com/android/contacts/activities/PeopleActivity.java @@ -28,8 +28,10 @@ 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.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.provider.ContactsContract; @@ -47,11 +49,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; @@ -413,6 +418,8 @@ public class PeopleActivity extends AppCompatContactsActivity implements Log.d(Constants.PERFORMANCE_TAG, "PeopleActivity.onCreate finish"); } getWindow().setBackgroundDrawable(null); + + fetchAccentColor(); } @Override @@ -1291,5 +1298,27 @@ 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)); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window window = getWindow(); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.setStatusBarColor(color); + } + + return color; + } + } -- GitLab From ab55e718b994c258388b4c903b2065414dcd77aa Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Tue, 25 Aug 2020 15:37:17 +0530 Subject: [PATCH 2/4] top bar background (Toolbar), icon and title of the current tab in the side menu --- .../contacts/activities/PeopleActivity.java | 16 ++++++---------- .../android/contacts/drawer/DrawerAdapter.java | 7 ++++++- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java index e73a770a0b..c819553d8b 100644 --- a/src/com/android/contacts/activities/PeopleActivity.java +++ b/src/com/android/contacts/activities/PeopleActivity.java @@ -30,6 +30,7 @@ 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; @@ -116,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, @@ -419,7 +422,7 @@ public class PeopleActivity extends AppCompatContactsActivity implements } getWindow().setBackgroundDrawable(null); - fetchAccentColor(); + ACCENT_COLOR=fetchAccentColor(); } @Override @@ -1304,19 +1307,12 @@ public class PeopleActivity extends AppCompatContactsActivity implements 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)); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - Window window = getWindow(); - window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); - window.setStatusBarColor(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 8931df4ac0..2f89c58f3c 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,7 @@ public class DrawerAdapter extends BaseAdapter { titleView.setText(item.text); final ImageView iconView = (ImageView) result.findViewById(R.id.icon); iconView.setImageResource(item.icon); + iconView.setColorFilter(ContextCompat.getColor(mActivity, 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 +402,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(mActivity.getResources().getColor(ACCENT_COLOR), PorterDuff.Mode.SRC_ATOP); + textView.setTextColor(ACCENT_COLOR); } else { imageView.clearColorFilter(); } -- GitLab From 1eb886f96727cf3f235454b8c2a75d02fc5bc48c Mon Sep 17 00:00:00 2001 From: Narinder Rana Date: Wed, 26 Aug 2020 17:48:48 +0530 Subject: [PATCH 3/4] contact list letter on left (not the contact icon) --- .../contacts/list/CustomContactListFilterActivity.java | 8 ++++++-- .../contacts/list/MultiSelectContactsListFragment.java | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/android/contacts/list/CustomContactListFilterActivity.java b/src/com/android/contacts/list/CustomContactListFilterActivity.java index 425ee7e783..aa06eb3740 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 61e92b8202..b4636a1089 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 Date: Thu, 27 Aug 2020 12:20:05 +0530 Subject: [PATCH 4/4] error ContextCompat : cannot find symbol --- src/com/android/contacts/drawer/DrawerAdapter.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/android/contacts/drawer/DrawerAdapter.java b/src/com/android/contacts/drawer/DrawerAdapter.java index 2f89c58f3c..0988eabdcd 100644 --- a/src/com/android/contacts/drawer/DrawerAdapter.java +++ b/src/com/android/contacts/drawer/DrawerAdapter.java @@ -263,7 +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(ContextCompat.getColor(mActivity, ACCENT_COLOR), android.graphics.PorterDuff.Mode.MULTIPLY); + + 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 @@ -402,7 +404,7 @@ public class DrawerAdapter extends BaseAdapter { textView.setTextAppearance(mActivity, activated ? TYPEFACE_STYLE_ACTIVATE : TYPEFACE_STYLE_INACTIVE); if (activated) { - imageView.setColorFilter(mActivity.getResources().getColor(ACCENT_COLOR), + imageView.setColorFilter(ACCENT_COLOR, PorterDuff.Mode.SRC_ATOP); textView.setTextColor(ACCENT_COLOR); } else { -- GitLab