Loading proguard.flags +7 −6 Original line number Original line Diff line number Diff line Loading @@ -19,20 +19,23 @@ -keep class com.android.contacts.common.database.NoNullCursorAsyncQueryHandler { *; } -keep class com.android.contacts.common.database.NoNullCursorAsyncQueryHandler { *; } -keep class com.android.contacts.common.format.FormatUtils { *; } -keep class com.android.contacts.common.format.FormatUtils { *; } -keep class com.android.contacts.common.format.TextHighlighter { *; } -keep class com.android.contacts.common.format.TextHighlighter { *; } -keep class com.android.contacts.common.list.ContactListFilter { *; } -keep class com.android.contacts.common.list.ContactListItemView { *; } -keep class com.android.contacts.common.list.ContactListItemView { *; } -keep class com.android.contacts.common.list.ContactsSectionIndexer { *; } -keep class com.android.contacts.common.list.ContactsSectionIndexer { *; } -keep class com.android.contacts.common.location.CountryDetector { *; } -keep class com.android.contacts.common.location.CountryDetector { *; } -keep class com.android.contacts.common.model.account.AccountDisplayInfo { *; } -keep class com.android.contacts.common.model.account.AccountDisplayInfoFactory { *; } -keep class com.android.contacts.common.model.account.AccountType { *; } -keep class com.android.contacts.common.model.account.AccountType { *; } -keep class com.android.contacts.common.model.account.AccountType$* { *; } -keep class com.android.contacts.common.model.account.AccountType$* { *; } -keep class com.android.contacts.common.model.account.AccountTypeWithDataSet { *; } -keep class com.android.contacts.common.model.account.AccountTypeWithDataSet { *; } -keep class com.android.contacts.common.model.account.AccountWithDataSet { *; } -keep class com.android.contacts.common.model.account.AccountWithDataSet { *; } -keep class com.android.contacts.common.model.account.BaseAccountType { *; } -keep class com.android.contacts.common.model.account.BaseAccountType { *; } -keep class com.android.contacts.common.model.account.BaseAccountType$* { *; } -keep class com.android.contacts.common.model.account.BaseAccountType$* { *; } -keep class com.android.contacts.common.model.account.DeviceLocalAccountType { *; } -keep class com.android.contacts.common.model.account.ExchangeAccountType { *; } -keep class com.android.contacts.common.model.account.ExchangeAccountType { *; } -keep class com.android.contacts.common.model.account.ExternalAccountType { *; } -keep class com.android.contacts.common.model.account.ExternalAccountType { *; } -keep class com.android.contacts.common.model.account.FallbackAccountType { *; } -keep class com.android.contacts.common.model.account.FallbackAccountType { *; } -keep class com.android.contacts.common.model.account.GoogleAccountType { *; } -keep class com.android.contacts.common.model.account.GoogleAccountType { *; } -keep class com.android.contacts.common.model.account.SimAccountType { *; } -keep class com.android.contacts.common.model.AccountTypeManager { *; } -keep class com.android.contacts.common.model.AccountTypeManager { *; } -keep class com.android.contacts.common.model.AccountTypeManagerImpl { *; } -keep class com.android.contacts.common.model.AccountTypeManagerImpl { *; } -keep class com.android.contacts.common.model.BuilderWrapper { *; } -keep class com.android.contacts.common.model.BuilderWrapper { *; } Loading @@ -53,6 +56,7 @@ -keep class com.android.contacts.common.model.dataitem.StructuredNameDataItem { *; } -keep class com.android.contacts.common.model.dataitem.StructuredNameDataItem { *; } -keep class com.android.contacts.common.model.dataitem.StructuredPostalDataItem { *; } -keep class com.android.contacts.common.model.dataitem.StructuredPostalDataItem { *; } -keep class com.android.contacts.common.model.dataitem.WebsiteDataItem { *; } -keep class com.android.contacts.common.model.dataitem.WebsiteDataItem { *; } -keep class com.android.contacts.common.model.DeviceLocalAccountLocator { *; } -keep class com.android.contacts.common.model.RawContact { *; } -keep class com.android.contacts.common.model.RawContact { *; } -keep class com.android.contacts.common.model.RawContactDelta { *; } -keep class com.android.contacts.common.model.RawContactDelta { *; } -keep class com.android.contacts.common.model.RawContactDeltaList { *; } -keep class com.android.contacts.common.model.RawContactDeltaList { *; } Loading @@ -64,14 +68,11 @@ -keep class com.android.contacts.common.util.BitmapUtil { *; } -keep class com.android.contacts.common.util.BitmapUtil { *; } -keep class com.android.contacts.common.util.ContactDisplayUtils { *; } -keep class com.android.contacts.common.util.ContactDisplayUtils { *; } -keep class com.android.contacts.common.util.DateUtils { *; } -keep class com.android.contacts.common.util.DateUtils { *; } -keep class com.android.contacts.common.util.DeviceLocalAccountTypeFactory { *; } -keep class com.android.contacts.common.util.DeviceLocalAccountTypeFactory$* { *; } -keep class com.android.contacts.common.util.NameConverter { *; } -keep class com.android.contacts.common.util.NameConverter { *; } -keep class com.android.contacts.common.util.SearchUtil { *; } -keep class com.android.contacts.common.util.SearchUtil { *; } -keep class com.android.contacts.common.util.SearchUtil$* { *; } -keep class com.android.contacts.common.util.SearchUtil$* { *; } -keep class com.android.contacts.common.util.DeviceAccountFilter { *; } -keep class com.android.contacts.common.util.DeviceAccountFilter$* { *; } -keep class com.android.contacts.common.util.DeviceAccountPresentationValues { *; } -keep class com.android.contacts.common.util.DeviceAccountPresentationValues$* { *; } -keep class com.android.contacts.common.util.DeviceLocalContactsFilterProvider { *; } -keep class com.android.contacts.ContactsApplication { *; } -keep class com.android.contacts.ContactsApplication { *; } -keep class com.android.contacts.ContactSaveService { *; } -keep class com.android.contacts.ContactSaveService { *; } -keep class com.android.contacts.ContactSaveService$* { *; } -keep class com.android.contacts.ContactSaveService$* { *; } Loading res/drawable/ic_sim_card_black_24dp.xml→res/drawable/ic_sim_card_tinted_24dp.xml +2 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,8 @@ android:width="24dp" android:width="24dp" android:height="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportWidth="24.0" android:viewportHeight="24.0"> android:viewportHeight="24.0" android:tint="@color/device_account_tint_color"> <path <path android:fillColor="#FF000000" android:fillColor="#FF000000" android:pathData="M19.99,4c0,-1.1 -0.89,-2 -1.99,-2h-8L4,8v12c0,1.1 0.9,2 2,2h12.01c1.1,0 1.99,-0.9 1.99,-2l-0.01,-16zM9,19L7,19v-2h2v2zM17,19h-2v-2h2v2zM9,15L7,15v-4h2v4zM13,19h-2v-4h2v4zM13,13h-2v-2h2v2zM17,15h-2v-4h2v4z"/> android:pathData="M19.99,4c0,-1.1 -0.89,-2 -1.99,-2h-8L4,8v12c0,1.1 0.9,2 2,2h12.01c1.1,0 1.99,-0.9 1.99,-2l-0.01,-16zM9,19L7,19v-2h2v2zM17,19h-2v-2h2v2zM9,15L7,15v-4h2v4zM13,19h-2v-4h2v4zM13,13h-2v-2h2v2zM17,15h-2v-4h2v4z"/> Loading res/values/colors.xml +3 −0 Original line number Original line Diff line number Diff line Loading @@ -252,4 +252,7 @@ <!-- Primary text color in Contacts app --> <!-- Primary text color in Contacts app --> <color name="contacts_text_color">#333333</color> <color name="contacts_text_color">#333333</color> <!-- tint color for device account icons --> <color name="device_account_tint_color">#7f7f7f</color> </resources> </resources> src-bind/com/android/contactsbind/ObjectFactory.java +3 −8 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,7 @@ package com.android.contactsbind; import com.android.contacts.common.logging.Logger; import com.android.contacts.common.logging.Logger; import com.android.contacts.common.preference.PreferenceManager; import com.android.contacts.common.preference.PreferenceManager; import com.android.contactsbind.search.AutocompleteHelper; import com.android.contactsbind.search.AutocompleteHelper; import com.android.contacts.common.util.DeviceAccountFilter; import com.android.contacts.common.util.DeviceLocalAccountTypeFactory; import com.android.contacts.common.util.DeviceAccountPresentationValues; import android.app.Fragment; import android.app.Fragment; import android.content.Context; import android.content.Context; Loading @@ -37,12 +36,8 @@ public class ObjectFactory { return null; return null; } } public static DeviceAccountPresentationValues createDeviceAccountPresentationValues(Context context) { public static DeviceLocalAccountTypeFactory getDeviceLocalAccountTypeFactory(Context context) { return new DeviceAccountPresentationValues.Default(context); return new DeviceLocalAccountTypeFactory.Default(context); } public static DeviceAccountFilter getDeviceAccountFilter(Context context) { return DeviceAccountFilter.ONLY_NULL; } } public static Fragment getDuplicatesFragment() { public static Fragment getDuplicatesFragment() { Loading src/com/android/contacts/ContactsDrawerActivity.java +10 −11 Original line number Original line Diff line number Diff line Loading @@ -49,12 +49,10 @@ import com.android.contacts.common.list.AccountFilterActivity; import com.android.contacts.common.list.ContactListFilter; import com.android.contacts.common.list.ContactListFilter; import com.android.contacts.common.list.ContactListFilterController; import com.android.contacts.common.list.ContactListFilterController; import com.android.contacts.common.model.AccountTypeManager; import com.android.contacts.common.model.AccountTypeManager; import com.android.contacts.common.model.account.AccountType; import com.android.contacts.common.model.account.AccountWithDataSet; import com.android.contacts.common.model.account.AccountWithDataSet; import com.android.contacts.common.preference.ContactsPreferenceActivity; import com.android.contacts.common.preference.ContactsPreferenceActivity; import com.android.contacts.common.util.AccountFilterUtil; import com.android.contacts.common.util.AccountFilterUtil; import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter; import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter; import com.android.contacts.common.util.DeviceAccountPresentationValues; import com.android.contacts.common.util.ImplicitIntentsUtil; import com.android.contacts.common.util.ImplicitIntentsUtil; import com.android.contacts.common.util.ViewUtil; import com.android.contacts.common.util.ViewUtil; import com.android.contacts.editor.CompactContactEditorFragment; import com.android.contacts.editor.CompactContactEditorFragment; Loading @@ -71,6 +69,8 @@ import com.android.contacts.interactions.AccountFiltersFragment.AccountFiltersLi import com.android.contacts.list.DefaultContactBrowseListFragment; import com.android.contacts.list.DefaultContactBrowseListFragment; import com.android.contacts.list.MultiSelectContactsListFragment; import com.android.contacts.list.MultiSelectContactsListFragment; import com.android.contacts.quickcontact.QuickContactActivity; import com.android.contacts.quickcontact.QuickContactActivity; import com.android.contacts.common.model.account.AccountDisplayInfo; import com.android.contacts.common.model.account.AccountDisplayInfoFactory; import com.android.contacts.util.SharedPreferenceUtil; import com.android.contacts.util.SharedPreferenceUtil; import com.android.contactsbind.HelpUtils; import com.android.contactsbind.HelpUtils; import com.android.contactsbind.ObjectFactory; import com.android.contactsbind.ObjectFactory; Loading Loading @@ -196,7 +196,6 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i // The account the new group will be created under. // The account the new group will be created under. private AccountWithDataSet mNewGroupAccount; private AccountWithDataSet mNewGroupAccount; private DeviceAccountPresentationValues mDeviceAccountPresentationValues; // Checkable menu item lookup maps. Every map declared here should be added to // Checkable menu item lookup maps. Every map declared here should be added to // clearCheckedMenus() so that they can be cleared. // clearCheckedMenus() so that they can be cleared. Loading @@ -214,8 +213,6 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i super.setContentView(R.layout.contacts_drawer_activity); super.setContentView(R.layout.contacts_drawer_activity); mDeviceAccountPresentationValues = ObjectFactory.createDeviceAccountPresentationValues(this); // Set up the action bar. // Set up the action bar. mToolbar = getView(R.id.toolbar); mToolbar = getView(R.id.toolbar); setSupportActionBar(mToolbar); setSupportActionBar(mToolbar); Loading Loading @@ -467,6 +464,9 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i @Override @Override public void onFiltersLoaded(List<ContactListFilter> accountFilterItems) { public void onFiltersLoaded(List<ContactListFilter> accountFilterItems) { final AccountDisplayInfoFactory accountDisplayFactory = AccountDisplayInfoFactory. fromListFilters(this, accountFilterItems); final Menu menu = mNavigationView.getMenu(); final Menu menu = mNavigationView.getMenu(); final MenuItem filtersMenuItem = menu.findItem(R.id.nav_filters); final MenuItem filtersMenuItem = menu.findItem(R.id.nav_filters); final SubMenu subMenu = filtersMenuItem.getSubMenu(); final SubMenu subMenu = filtersMenuItem.getSubMenu(); Loading @@ -477,11 +477,12 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i return; return; } } mDeviceAccountPresentationValues.setFilters(accountFilterItems); for (int i = 0; i < accountFilterItems.size(); i++) { for (int i = 0; i < accountFilterItems.size(); i++) { final ContactListFilter filter = accountFilterItems.get(i); final ContactListFilter filter = accountFilterItems.get(i); final CharSequence menuName = mDeviceAccountPresentationValues.getLabel(i); final AccountDisplayInfo displayableAccount = accountDisplayFactory.getAccountDisplayInfoFor(filter); final CharSequence menuName = displayableAccount.getNameLabel(); final MenuItem menuItem = subMenu.add(R.id.nav_filters_items, Menu.NONE, final MenuItem menuItem = subMenu.add(R.id.nav_filters_items, Menu.NONE, Menu.NONE, menuName); Menu.NONE, menuName); if (isAccountView() && filter == mContactListFilterController.getFilter()) { if (isAccountView() && filter == mContactListFilterController.getFilter()) { Loading @@ -504,17 +505,15 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i return true; return true; } } }); }); menuItem.setIcon(mDeviceAccountPresentationValues.getIcon(i)); menuItem.setIcon(displayableAccount.getIcon()); // Get rid of the default menu item overlay and show original account icons. // Get rid of the default menu item overlay and show original account icons. menuItem.getIcon().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_ATOP); menuItem.getIcon().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_ATOP); // Create a dummy action view to attach extra hidden content description to the menuItem // Create a dummy action view to attach extra hidden content description to the menuItem // for Talkback. We want Talkback to read out the account type but not have it be part // for Talkback. We want Talkback to read out the account type but not have it be part // of the menuItem title. // of the menuItem title. final AccountType account = AccountTypeManager.getInstance(this) .getAccountType(filter.accountType, filter.dataSet); LinearLayout view = (LinearLayout) LayoutInflater.from(this) LinearLayout view = (LinearLayout) LayoutInflater.from(this) .inflate(R.layout.account_type_info, null); .inflate(R.layout.account_type_info, null); view.setContentDescription(account.getDisplayLabel(this)); view.setContentDescription(displayableAccount.getTypeLabel()); view.setVisibility(View.VISIBLE); view.setVisibility(View.VISIBLE); menuItem.setActionView(view); menuItem.setActionView(view); } } Loading Loading
proguard.flags +7 −6 Original line number Original line Diff line number Diff line Loading @@ -19,20 +19,23 @@ -keep class com.android.contacts.common.database.NoNullCursorAsyncQueryHandler { *; } -keep class com.android.contacts.common.database.NoNullCursorAsyncQueryHandler { *; } -keep class com.android.contacts.common.format.FormatUtils { *; } -keep class com.android.contacts.common.format.FormatUtils { *; } -keep class com.android.contacts.common.format.TextHighlighter { *; } -keep class com.android.contacts.common.format.TextHighlighter { *; } -keep class com.android.contacts.common.list.ContactListFilter { *; } -keep class com.android.contacts.common.list.ContactListItemView { *; } -keep class com.android.contacts.common.list.ContactListItemView { *; } -keep class com.android.contacts.common.list.ContactsSectionIndexer { *; } -keep class com.android.contacts.common.list.ContactsSectionIndexer { *; } -keep class com.android.contacts.common.location.CountryDetector { *; } -keep class com.android.contacts.common.location.CountryDetector { *; } -keep class com.android.contacts.common.model.account.AccountDisplayInfo { *; } -keep class com.android.contacts.common.model.account.AccountDisplayInfoFactory { *; } -keep class com.android.contacts.common.model.account.AccountType { *; } -keep class com.android.contacts.common.model.account.AccountType { *; } -keep class com.android.contacts.common.model.account.AccountType$* { *; } -keep class com.android.contacts.common.model.account.AccountType$* { *; } -keep class com.android.contacts.common.model.account.AccountTypeWithDataSet { *; } -keep class com.android.contacts.common.model.account.AccountTypeWithDataSet { *; } -keep class com.android.contacts.common.model.account.AccountWithDataSet { *; } -keep class com.android.contacts.common.model.account.AccountWithDataSet { *; } -keep class com.android.contacts.common.model.account.BaseAccountType { *; } -keep class com.android.contacts.common.model.account.BaseAccountType { *; } -keep class com.android.contacts.common.model.account.BaseAccountType$* { *; } -keep class com.android.contacts.common.model.account.BaseAccountType$* { *; } -keep class com.android.contacts.common.model.account.DeviceLocalAccountType { *; } -keep class com.android.contacts.common.model.account.ExchangeAccountType { *; } -keep class com.android.contacts.common.model.account.ExchangeAccountType { *; } -keep class com.android.contacts.common.model.account.ExternalAccountType { *; } -keep class com.android.contacts.common.model.account.ExternalAccountType { *; } -keep class com.android.contacts.common.model.account.FallbackAccountType { *; } -keep class com.android.contacts.common.model.account.FallbackAccountType { *; } -keep class com.android.contacts.common.model.account.GoogleAccountType { *; } -keep class com.android.contacts.common.model.account.GoogleAccountType { *; } -keep class com.android.contacts.common.model.account.SimAccountType { *; } -keep class com.android.contacts.common.model.AccountTypeManager { *; } -keep class com.android.contacts.common.model.AccountTypeManager { *; } -keep class com.android.contacts.common.model.AccountTypeManagerImpl { *; } -keep class com.android.contacts.common.model.AccountTypeManagerImpl { *; } -keep class com.android.contacts.common.model.BuilderWrapper { *; } -keep class com.android.contacts.common.model.BuilderWrapper { *; } Loading @@ -53,6 +56,7 @@ -keep class com.android.contacts.common.model.dataitem.StructuredNameDataItem { *; } -keep class com.android.contacts.common.model.dataitem.StructuredNameDataItem { *; } -keep class com.android.contacts.common.model.dataitem.StructuredPostalDataItem { *; } -keep class com.android.contacts.common.model.dataitem.StructuredPostalDataItem { *; } -keep class com.android.contacts.common.model.dataitem.WebsiteDataItem { *; } -keep class com.android.contacts.common.model.dataitem.WebsiteDataItem { *; } -keep class com.android.contacts.common.model.DeviceLocalAccountLocator { *; } -keep class com.android.contacts.common.model.RawContact { *; } -keep class com.android.contacts.common.model.RawContact { *; } -keep class com.android.contacts.common.model.RawContactDelta { *; } -keep class com.android.contacts.common.model.RawContactDelta { *; } -keep class com.android.contacts.common.model.RawContactDeltaList { *; } -keep class com.android.contacts.common.model.RawContactDeltaList { *; } Loading @@ -64,14 +68,11 @@ -keep class com.android.contacts.common.util.BitmapUtil { *; } -keep class com.android.contacts.common.util.BitmapUtil { *; } -keep class com.android.contacts.common.util.ContactDisplayUtils { *; } -keep class com.android.contacts.common.util.ContactDisplayUtils { *; } -keep class com.android.contacts.common.util.DateUtils { *; } -keep class com.android.contacts.common.util.DateUtils { *; } -keep class com.android.contacts.common.util.DeviceLocalAccountTypeFactory { *; } -keep class com.android.contacts.common.util.DeviceLocalAccountTypeFactory$* { *; } -keep class com.android.contacts.common.util.NameConverter { *; } -keep class com.android.contacts.common.util.NameConverter { *; } -keep class com.android.contacts.common.util.SearchUtil { *; } -keep class com.android.contacts.common.util.SearchUtil { *; } -keep class com.android.contacts.common.util.SearchUtil$* { *; } -keep class com.android.contacts.common.util.SearchUtil$* { *; } -keep class com.android.contacts.common.util.DeviceAccountFilter { *; } -keep class com.android.contacts.common.util.DeviceAccountFilter$* { *; } -keep class com.android.contacts.common.util.DeviceAccountPresentationValues { *; } -keep class com.android.contacts.common.util.DeviceAccountPresentationValues$* { *; } -keep class com.android.contacts.common.util.DeviceLocalContactsFilterProvider { *; } -keep class com.android.contacts.ContactsApplication { *; } -keep class com.android.contacts.ContactsApplication { *; } -keep class com.android.contacts.ContactSaveService { *; } -keep class com.android.contacts.ContactSaveService { *; } -keep class com.android.contacts.ContactSaveService$* { *; } -keep class com.android.contacts.ContactSaveService$* { *; } Loading
res/drawable/ic_sim_card_black_24dp.xml→res/drawable/ic_sim_card_tinted_24dp.xml +2 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,8 @@ android:width="24dp" android:width="24dp" android:height="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportWidth="24.0" android:viewportHeight="24.0"> android:viewportHeight="24.0" android:tint="@color/device_account_tint_color"> <path <path android:fillColor="#FF000000" android:fillColor="#FF000000" android:pathData="M19.99,4c0,-1.1 -0.89,-2 -1.99,-2h-8L4,8v12c0,1.1 0.9,2 2,2h12.01c1.1,0 1.99,-0.9 1.99,-2l-0.01,-16zM9,19L7,19v-2h2v2zM17,19h-2v-2h2v2zM9,15L7,15v-4h2v4zM13,19h-2v-4h2v4zM13,13h-2v-2h2v2zM17,15h-2v-4h2v4z"/> android:pathData="M19.99,4c0,-1.1 -0.89,-2 -1.99,-2h-8L4,8v12c0,1.1 0.9,2 2,2h12.01c1.1,0 1.99,-0.9 1.99,-2l-0.01,-16zM9,19L7,19v-2h2v2zM17,19h-2v-2h2v2zM9,15L7,15v-4h2v4zM13,19h-2v-4h2v4zM13,13h-2v-2h2v2zM17,15h-2v-4h2v4z"/> Loading
res/values/colors.xml +3 −0 Original line number Original line Diff line number Diff line Loading @@ -252,4 +252,7 @@ <!-- Primary text color in Contacts app --> <!-- Primary text color in Contacts app --> <color name="contacts_text_color">#333333</color> <color name="contacts_text_color">#333333</color> <!-- tint color for device account icons --> <color name="device_account_tint_color">#7f7f7f</color> </resources> </resources>
src-bind/com/android/contactsbind/ObjectFactory.java +3 −8 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,7 @@ package com.android.contactsbind; import com.android.contacts.common.logging.Logger; import com.android.contacts.common.logging.Logger; import com.android.contacts.common.preference.PreferenceManager; import com.android.contacts.common.preference.PreferenceManager; import com.android.contactsbind.search.AutocompleteHelper; import com.android.contactsbind.search.AutocompleteHelper; import com.android.contacts.common.util.DeviceAccountFilter; import com.android.contacts.common.util.DeviceLocalAccountTypeFactory; import com.android.contacts.common.util.DeviceAccountPresentationValues; import android.app.Fragment; import android.app.Fragment; import android.content.Context; import android.content.Context; Loading @@ -37,12 +36,8 @@ public class ObjectFactory { return null; return null; } } public static DeviceAccountPresentationValues createDeviceAccountPresentationValues(Context context) { public static DeviceLocalAccountTypeFactory getDeviceLocalAccountTypeFactory(Context context) { return new DeviceAccountPresentationValues.Default(context); return new DeviceLocalAccountTypeFactory.Default(context); } public static DeviceAccountFilter getDeviceAccountFilter(Context context) { return DeviceAccountFilter.ONLY_NULL; } } public static Fragment getDuplicatesFragment() { public static Fragment getDuplicatesFragment() { Loading
src/com/android/contacts/ContactsDrawerActivity.java +10 −11 Original line number Original line Diff line number Diff line Loading @@ -49,12 +49,10 @@ import com.android.contacts.common.list.AccountFilterActivity; import com.android.contacts.common.list.ContactListFilter; import com.android.contacts.common.list.ContactListFilter; import com.android.contacts.common.list.ContactListFilterController; import com.android.contacts.common.list.ContactListFilterController; import com.android.contacts.common.model.AccountTypeManager; import com.android.contacts.common.model.AccountTypeManager; import com.android.contacts.common.model.account.AccountType; import com.android.contacts.common.model.account.AccountWithDataSet; import com.android.contacts.common.model.account.AccountWithDataSet; import com.android.contacts.common.preference.ContactsPreferenceActivity; import com.android.contacts.common.preference.ContactsPreferenceActivity; import com.android.contacts.common.util.AccountFilterUtil; import com.android.contacts.common.util.AccountFilterUtil; import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter; import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter; import com.android.contacts.common.util.DeviceAccountPresentationValues; import com.android.contacts.common.util.ImplicitIntentsUtil; import com.android.contacts.common.util.ImplicitIntentsUtil; import com.android.contacts.common.util.ViewUtil; import com.android.contacts.common.util.ViewUtil; import com.android.contacts.editor.CompactContactEditorFragment; import com.android.contacts.editor.CompactContactEditorFragment; Loading @@ -71,6 +69,8 @@ import com.android.contacts.interactions.AccountFiltersFragment.AccountFiltersLi import com.android.contacts.list.DefaultContactBrowseListFragment; import com.android.contacts.list.DefaultContactBrowseListFragment; import com.android.contacts.list.MultiSelectContactsListFragment; import com.android.contacts.list.MultiSelectContactsListFragment; import com.android.contacts.quickcontact.QuickContactActivity; import com.android.contacts.quickcontact.QuickContactActivity; import com.android.contacts.common.model.account.AccountDisplayInfo; import com.android.contacts.common.model.account.AccountDisplayInfoFactory; import com.android.contacts.util.SharedPreferenceUtil; import com.android.contacts.util.SharedPreferenceUtil; import com.android.contactsbind.HelpUtils; import com.android.contactsbind.HelpUtils; import com.android.contactsbind.ObjectFactory; import com.android.contactsbind.ObjectFactory; Loading Loading @@ -196,7 +196,6 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i // The account the new group will be created under. // The account the new group will be created under. private AccountWithDataSet mNewGroupAccount; private AccountWithDataSet mNewGroupAccount; private DeviceAccountPresentationValues mDeviceAccountPresentationValues; // Checkable menu item lookup maps. Every map declared here should be added to // Checkable menu item lookup maps. Every map declared here should be added to // clearCheckedMenus() so that they can be cleared. // clearCheckedMenus() so that they can be cleared. Loading @@ -214,8 +213,6 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i super.setContentView(R.layout.contacts_drawer_activity); super.setContentView(R.layout.contacts_drawer_activity); mDeviceAccountPresentationValues = ObjectFactory.createDeviceAccountPresentationValues(this); // Set up the action bar. // Set up the action bar. mToolbar = getView(R.id.toolbar); mToolbar = getView(R.id.toolbar); setSupportActionBar(mToolbar); setSupportActionBar(mToolbar); Loading Loading @@ -467,6 +464,9 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i @Override @Override public void onFiltersLoaded(List<ContactListFilter> accountFilterItems) { public void onFiltersLoaded(List<ContactListFilter> accountFilterItems) { final AccountDisplayInfoFactory accountDisplayFactory = AccountDisplayInfoFactory. fromListFilters(this, accountFilterItems); final Menu menu = mNavigationView.getMenu(); final Menu menu = mNavigationView.getMenu(); final MenuItem filtersMenuItem = menu.findItem(R.id.nav_filters); final MenuItem filtersMenuItem = menu.findItem(R.id.nav_filters); final SubMenu subMenu = filtersMenuItem.getSubMenu(); final SubMenu subMenu = filtersMenuItem.getSubMenu(); Loading @@ -477,11 +477,12 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i return; return; } } mDeviceAccountPresentationValues.setFilters(accountFilterItems); for (int i = 0; i < accountFilterItems.size(); i++) { for (int i = 0; i < accountFilterItems.size(); i++) { final ContactListFilter filter = accountFilterItems.get(i); final ContactListFilter filter = accountFilterItems.get(i); final CharSequence menuName = mDeviceAccountPresentationValues.getLabel(i); final AccountDisplayInfo displayableAccount = accountDisplayFactory.getAccountDisplayInfoFor(filter); final CharSequence menuName = displayableAccount.getNameLabel(); final MenuItem menuItem = subMenu.add(R.id.nav_filters_items, Menu.NONE, final MenuItem menuItem = subMenu.add(R.id.nav_filters_items, Menu.NONE, Menu.NONE, menuName); Menu.NONE, menuName); if (isAccountView() && filter == mContactListFilterController.getFilter()) { if (isAccountView() && filter == mContactListFilterController.getFilter()) { Loading @@ -504,17 +505,15 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i return true; return true; } } }); }); menuItem.setIcon(mDeviceAccountPresentationValues.getIcon(i)); menuItem.setIcon(displayableAccount.getIcon()); // Get rid of the default menu item overlay and show original account icons. // Get rid of the default menu item overlay and show original account icons. menuItem.getIcon().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_ATOP); menuItem.getIcon().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_ATOP); // Create a dummy action view to attach extra hidden content description to the menuItem // Create a dummy action view to attach extra hidden content description to the menuItem // for Talkback. We want Talkback to read out the account type but not have it be part // for Talkback. We want Talkback to read out the account type but not have it be part // of the menuItem title. // of the menuItem title. final AccountType account = AccountTypeManager.getInstance(this) .getAccountType(filter.accountType, filter.dataSet); LinearLayout view = (LinearLayout) LayoutInflater.from(this) LinearLayout view = (LinearLayout) LayoutInflater.from(this) .inflate(R.layout.account_type_info, null); .inflate(R.layout.account_type_info, null); view.setContentDescription(account.getDisplayLabel(this)); view.setContentDescription(displayableAccount.getTypeLabel()); view.setVisibility(View.VISIBLE); view.setVisibility(View.VISIBLE); menuItem.setActionView(view); menuItem.setActionView(view); } } Loading