# keep names that are used by reflection. -keep class com.android.email.provider.EmailContent$Account -keepclasseswithmembers class * { public static void actionEditIncomingSettings(android.app.Activity, int, com.android.email.provider.EmailContent$Account); } -keepclasseswithmembers class * { public static void actionEditOutgoingSettings(android.app.Activity, int, com.android.email.provider.EmailContent$Account); } -keepclasseswithmembers class * { public *** newInstance(android.content.Context, java.lang.String); } -keepclasseswithmembers class * { public *** newInstance(java.lang.String, android.content.Context, com.android.email.mail.Store$PersistentDataCallbacks); } -keepclasseswithmembers class android.content.SharedPreferences$Editor { *** apply(); } -keep class * extends org.apache.james.mime4j.util.TempStorage # Keep names that are used only by unit tests or by animators -keep class ** { *** *ForTest(...); *** *Anim(...); } -keepclasseswithmembers class com.android.email.GroupMessagingListener { *** removeListener(com.android.email.MessagingListener); } -keepclasseswithmembers class com.android.email.Controller { *** setProviderContext(android.content.Context); } -keepclasseswithmembers class com.android.email.mail.Address { (java.lang.String); (java.lang.String,java.lang.String); *** parseAndPack(java.lang.String); *** legacyUnpack(java.lang.String); } -keepclasseswithmembers class com.android.email.SecurityPolicy { *** setContext(android.content.Context); } -keepclasseswithmembers class com.android.email.SecurityPolicy$PolicySet { (com.android.email.provider.EmailContent$Account); (int, int, int, int, boolean, int, int, boolean); } -keepclasseswithmembers class com.android.email.MessagingController { *** injectMockController(com.android.email.MessagingController); } -keepclasseswithmembers class com.android.email.Utility { *** dumpCursor(android.database.Cursor); } -keepclasseswithmembers class com.android.email.Utility$CloseTraceCursorWrapper { *** getTraceIfAvailable(android.database.Cursor); *** log(android.database.Cursor); } -keepclasseswithmembers class com.android.email.provider.EmailProvider { *** getReadableDatabase(android.content.Context); } -keepclasseswithmembers class com.android.email.provider.EmailContent$Attachment { *** createUniqueFile(java.lang.String); } -keepclasseswithmembers class com.android.email.service.AttachmentDownloadService { *** addServiceClass(long, java.lang.Class); } -keepclasseswithmembers class com.android.email.service.AttachmentDownloadService$AccountManagerStub { *** setNumberOfAccounts(int); } -keepclasseswithmembers class com.android.email.Account { *** getContentUri(); } -keepclasseswithmembers class com.android.email.Preferences { *** getAccountByContentUri(android.net.Uri); } -keep class com.android.email.mail.Message$RecipientType -keepclasseswithmembers class com.android.email.mail.Message { *** setRecipient(com.android.email.mail.Message$RecipientType, com.android.email.mail.Address); } -keepclasseswithmembers class com.android.email.mail.internet.MimeMessage { *** writeToString(); } -keepclasseswithmembers class com.android.email.mail.internet.MimeMessage { (); (java.io.InputStream); *** getExtendedHeader(java.lang.String); *** setExtendedHeader(java.lang.String, java.lang.String); *** getExtendedHeaders(); *** setExtendedHeaders(java.lang.String); } -keepclasseswithmembers class com.android.email.mail.internet.MimeUtility { *** foldAndEncode(java.lang.String); *** findPartByContentId(com.android.email.mail.Part, java.lang.String); *** findFirstPartByMimeType(com.android.email.mail.Part, java.lang.String); } -keepclasseswithmembers class com.android.email.mail.transport.SmtpSender { *** setTransport(com.android.email.mail.Transport); } -keepclasseswithmembers class com.android.email.mail.Store { *** requireStructurePrefetch(); } -keepclasseswithmembers class com.android.email.mail.store.ImapStore { *** setTransport(com.android.email.mail.Transport); } -keepclasseswithmembers class com.android.email.mail.store.ImapStore$ImapFolder { *** getMessages(int, int, com.android.email.mail.Folder$MessageRetrievalListener); *** getMessages(com.android.email.mail.Folder$MessageRetrievalListener); *** getMessages(java.lang.String[], com.android.email.mail.Folder$MessageRetrievalListener); *** getUnreadMessageCount(); } -keepclasseswithmembers class com.android.email.mail.store.Pop3Store { *** setTransport(com.android.email.mail.Transport); } -keepclasseswithmembers class com.android.email.mail.store.Pop3Store$Pop3Folder { *** getMessages(int, int, com.android.email.mail.Folder$MessageRetrievalListener); *** getMessages(com.android.email.mail.Folder$MessageRetrievalListener); *** getMessages(java.lang.String[], com.android.email.mail.Folder$MessageRetrievalListener); *** getUnreadMessageCount(); *** isOpen(); } -keep class com.android.email.mail.Flag -keepclasseswithmembers class com.android.email.mail.Folder { *** getUnreadMessageCount(); *** delete(boolean); *** getRole(); } -keep class com.android.email.mail.Folder$FolderRole -keepclasseswithmembers class com.android.email.mail.PackedString$Builder { (); (java.lang.String); *** get(java.lang.String); } -keepclasseswithmembers class com.android.email.provider.ContentCache$CounterMap { *** getCount(...); *** size(); } -keepclasseswithmembers class com.android.email.provider.EmailContent$Account { *** getShortcutSafeUri(); } -keepclasseswithmembers class com.android.exchange.adapter.Parser { *** resetInput(java.io.InputStream); } -keepclasseswithmembers class com.android.exchange.provider.GalResult { *** addGalData(com.android.exchange.provider.GalResult$GalData); *** addGalData(long, java.lang.String, java.lang.String); } -keep class org.apache.james.mime4j.field.Field { *** getBody(...); } # The following classes are used only by unit tests. # We should move them into tests/ if possible. -keep class org.apache.james.mime4j.message.Message { *; } -keepclasseswithmembers class org.apache.commons.io.IOUtils { *** toByteArray(...); }