1-keep class com.android.contacts.model.Sources {
2  public <init>(...);
3}
4
5# The support library contains references to newer platform versions.
6# Don't warn about those in case this app is linking against an older
7# platform version.  We know about them, and they are safe.
8-dontwarn android.support.**
9
10# Xml files containing onClick (menus and layouts) require that proguard not
11# remove their handlers.
12-keepclassmembers class * extends android.app.Activity {
13  public void *(android.view.View);
14  public void *(android.view.MenuItem);
15}
16
17# Needed for tests
18-keep class com.android.contacts.compat.CompatUtils { *; }
19-keep class com.android.contacts.Collapser { *; }
20-keep class com.android.contacts.ContactPhotoManager { *; }
21-keep class com.android.contacts.ContactsApplication { *; }
22-keep class com.android.contacts.ContactsUtils { *; }
23-keep class com.android.contacts.ContactSaveService { *; }
24-keep class com.android.contacts.ContactSaveService$* { *; }
25-keep class com.android.contacts.database.NoNullCursorAsyncQueryHandler { *; }
26-keep class com.android.contacts.database.SimContactDao { *; }
27-keep class com.android.contacts.database.SimContactDao$* { *; }
28-keep class com.android.contacts.database.SimContactDaoImpl { *; }
29-keep class com.android.contacts.DynamicShortcuts { *; }
30-keep class com.android.contacts.editor.ContactEditorUtils { *; }
31-keep class com.android.contacts.editor.EditorUiUtils { *; }
32-keep class com.android.contacts.format.FormatUtils { *; }
33-keep class com.android.contacts.format.TextHighlighter { *; }
34-keep class com.android.contacts.group.GroupUtil { *; }
35-keep class com.android.contacts.interactions.ContactDeletionInteraction { *; }
36-keep class com.android.contacts.interactions.ContactInteractionUtil { *; }
37-keep class com.android.contacts.list.ContactListItemView { *; }
38-keep class com.android.contacts.list.ContactsSectionIndexer { *; }
39-keep class com.android.contacts.location.CountryDetector { *; }
40-keep class com.android.contacts.model.account.AccountDisplayInfo { *; }
41-keep class com.android.contacts.model.account.AccountDisplayInfoFactory { *; }
42-keep class com.android.contacts.model.account.AccountInfo { *; }
43-keep class com.android.contacts.model.account.AccountType { *; }
44-keep class com.android.contacts.model.account.AccountType$* { *; }
45-keep class com.android.contacts.model.account.AccountTypeWithDataSet { *; }
46-keep class com.android.contacts.model.account.AccountWithDataSet { *; }
47-keep class com.android.contacts.model.account.BaseAccountType { *; }
48-keep class com.android.contacts.model.account.BaseAccountType$* { *; }
49-keep class com.android.contacts.model.account.DeviceLocalAccountType { *; }
50-keep class com.android.contacts.model.account.ExchangeAccountType { *; }
51-keep class com.android.contacts.model.account.ExternalAccountType { *; }
52-keep class com.android.contacts.model.account.FallbackAccountType { *; }
53-keep class com.android.contacts.model.account.GoogleAccountType { *; }
54-keep class com.android.contacts.model.account.SimAccountType { *; }
55-keep class com.android.contacts.model.AccountTypeManager { *; }
56-keep class com.android.contacts.model.AccountTypeManagerImpl { *; }
57-keep class com.android.contacts.model.BuilderWrapper { *; }
58-keep class com.android.contacts.model.Contact { *; }
59-keep class com.android.contacts.model.ContactLoader { *; }
60-keep class com.android.contacts.model.Cp2DeviceLocalAccountLocator { *; }
61-keep class com.android.contacts.model.CPOWrapper { *; }
62-keep class com.android.contacts.model.dataitem.DataItem { *; }
63-keep class com.android.contacts.model.dataitem.DataKind { *; }
64-keep class com.android.contacts.model.dataitem.EmailDataItem { *; }
65-keep class com.android.contacts.model.dataitem.EventDataItem { *; }
66-keep class com.android.contacts.model.dataitem.ImDataItem { *; }
67-keep class com.android.contacts.model.dataitem.NicknameDataItem { *; }
68-keep class com.android.contacts.model.dataitem.NoteDataItem { *; }
69-keep class com.android.contacts.model.dataitem.OrganizationDataItem { *; }
70-keep class com.android.contacts.model.dataitem.PhoneDataItem { *; }
71-keep class com.android.contacts.model.dataitem.RelationDataItem { *; }
72-keep class com.android.contacts.model.dataitem.SipAddressDataItem { *; }
73-keep class com.android.contacts.model.dataitem.StructuredNameDataItem { *; }
74-keep class com.android.contacts.model.dataitem.StructuredPostalDataItem { *; }
75-keep class com.android.contacts.model.dataitem.WebsiteDataItem { *; }
76-keep class com.android.contacts.model.DeviceLocalAccountLocator { *; }
77-keep class com.android.contacts.model.RawContact { *; }
78-keep class com.android.contacts.model.RawContactDelta { *; }
79-keep class com.android.contacts.model.RawContactDeltaList { *; }
80-keep class com.android.contacts.model.RawContactModifier { *; }
81-keep class com.android.contacts.model.SimCard { *; }
82-keep class com.android.contacts.model.SimContact { *; }
83-keep class com.android.contacts.model.ValuesDelta { *; }
84-keep class com.android.contacts.MoreContactUtils { *; }
85-keep class com.android.contacts.preference.ContactsPreferences { *; }
86-keep class com.android.contacts.SimImportService { *; }
87-keep class com.android.contacts.SimImportService$* { *; }
88-keep class com.android.contacts.test.mocks.MockContactPhotoManager { *; }
89-keep class com.android.contacts.testing.InjectedServices { *; }
90-keep class com.android.contacts.util.BitmapUtil { *; }
91-keep class com.android.contacts.util.ContactDisplayUtils { *; }
92-keep class com.android.contacts.util.DateUtils { *; }
93-keep class com.android.contacts.util.DeviceLocalAccountTypeFactory { *; }
94-keep class com.android.contacts.util.DeviceLocalAccountTypeFactory$* { *; }
95-keep class com.android.contacts.util.NameConverter { *; }
96-keep class com.android.contacts.util.PermissionsUtil { *; }
97-keep class com.android.contacts.util.SearchUtil { *; }
98-keep class com.android.contacts.util.SearchUtil$* { *; }
99-keep class com.android.contacts.util.SyncUtil { *; }
100-keep class com.android.contacts.widget.CompositeListAdapter { *; }
101-keep class com.google.common.base.Function { *; }
102-keep class com.google.common.base.Functions { *; }
103-keep class com.google.common.base.Objects { *; }
104-keep class com.google.common.base.Preconditions { *; }
105-keep class com.google.common.collect.** { *; }
106-keep class com.google.common.util.concurrent.** { *; }
107
108-keep class com.android.common.widget.CompositeCursorAdapter { *; }
109
110# Any class or method annotated with NeededForReflection.
111-keep @com.android.contacts.test.NeededForReflection class *
112-keepclassmembers class * {
113@com.android.contacts.test.NeededForReflection *;
114}
115
116# Keep classes and methods that have the guava @VisibleForTesting annotation
117-keep @com.google.common.annotations.VisibleForTesting class *
118-keepclassmembers class * {
119  @com.google.common.annotations.VisibleForTesting *;
120}
121