1#Email-specific proguard flags that are not covered by UnifiedEmail go here 2 3-keep class com.android.emailcommon.provider.Account 4 5-keepclasseswithmembers class * { 6 public static void actionEditIncomingSettings(android.app.Activity, int, com.android.emailcommon.provider.Account); 7} 8 9-keepclasseswithmembers class * { 10 public static void actionEditOutgoingSettings(android.app.Activity, int, com.android.emailcommon.provider.Account); 11} 12 13-keepclasseswithmembers class * { 14 public *** newInstance(com.android.emailcommon.provider.Account, android.content.Context); 15} 16 17-keepclasseswithmembers class * { 18 public *** newInstance(com.android.emailcommon.provider.Account, android.content.Context); 19} 20 21-keepclasseswithmembers class android.content.SharedPreferences$Editor { 22 *** apply(); 23} 24 25-keepclasseswithmembers class com.android.emailcommon.utility.Utility$CloseTraceCursorWrapper { 26 *** getTraceIfAvailable(android.database.Cursor); 27 *** log(android.database.Cursor); 28} 29 30-keep class * extends org.apache.james.mime4j.util.TempStorage 31 32# Keep names that are used only by unit tests or by animators 33-keep class ** { 34 *** *ForTest(...); 35 *** *Anim(...); 36} 37 38-keepclasseswithmembers class com.android.email.activity.RecentMailboxManager { 39 *** touch(long); 40 *** getInstance(android.content.Context); 41 *** getMostRecent(long, boolean); 42} 43 44-keepclasseswithmembers class com.android.email.activity.setup.AccountSetupAccountType { 45 *** checkAccountInstanceLimit(com.android.email.mail.Store$StoreInfo); 46} 47 48-keepclasseswithmembers class com.android.email.GroupMessagingListener { 49 *** removeListener(com.android.email.MessagingListener); 50} 51 52-keepclasseswithmembers class com.android.email.Controller { 53 *** setProviderContext(android.content.Context); 54} 55 56-keepclasseswithmembers class com.android.emailcommon.internet.Rfc822Output { 57 *** getHtmlBody(java.lang.String); 58 *** buildBodyText(android.content.Context, com.android.emailcommon.provider.EmailContent$Message, boolean); 59} 60 61-keepclasseswithmembers class com.android.emailcommon.mail.Address { 62 <init>(java.lang.String); 63 <init>(java.lang.String,java.lang.String); 64 *** parseAndPack(java.lang.String); 65} 66 67-keepclasseswithmembers class com.android.email.SecurityPolicy { 68 *** setContext(android.content.Context); 69} 70 71-keepclasseswithmembers class com.android.email.MessagingController { 72 *** injectMockController(com.android.email.MessagingController); 73} 74 75-keepclasseswithmembers class com.android.emailcommon.utility.Utility { 76 *** dumpCursor(android.database.Cursor); 77 *** fromUtf8(byte[]); 78 *** isFirstUtf8Byte(byte); 79 *** replaceBareLfWithCrlf(java.lang.String); 80} 81-keepclasseswithmembers class com.android.emailcommon.utility.Utility$CloseTraceCursorWrapper { 82 *** getTraceIfAvailable(android.database.Cursor); 83 *** log(android.database.Cursor); 84} 85 86-keepclasseswithmembers class com.android.email.provider.EmailProvider { 87 *** getReadableDatabase(android.content.Context); 88} 89 90-keepclasseswithmembers class com.android.emailcommon.provider.EmailContent$Attachment { 91 *** createUniqueFile(java.lang.String); 92} 93 94-keepclasseswithmembers class com.android.email.service.AttachmentDownloadService { 95 *** addServiceClass(long, java.lang.Class); 96} 97 98-keepclasseswithmembers class com.android.email.service.AttachmentDownloadService$AccountManagerStub { 99 *** setNumberOfAccounts(int); 100} 101 102-keepclasseswithmembers class com.android.email.Preferences { 103 *** getAccountByContentUri(android.net.Uri); 104} 105 106-keep class com.android.emailcommon.mail.Message$RecipientType 107 108-keepclasseswithmembers class com.android.emailcommon.mail.Message { 109 *** setRecipient(com.android.emailcommon.mail.Message$RecipientType, com.android.emailcommon.mail.Address); 110} 111 112-keepclasseswithmembers class com.android.emailcommon.internet.MimeHeader { 113 *** writeToString(); 114} 115 116-keepclasseswithmembers class com.android.emailcommon.internet.MimeMessage { 117 <init>(); 118 <init>(java.io.InputStream); 119 *** getExtendedHeader(java.lang.String); 120 *** setExtendedHeader(java.lang.String, java.lang.String); 121 *** getExtendedHeaders(); 122 *** setExtendedHeaders(java.lang.String); 123} 124 125-keepclasseswithmembers class com.android.emailcommon.internet.MimeUtility { 126 *** foldAndEncode(java.lang.String); 127 *** findPartByContentId(com.android.emailcommon.mail.Part, java.lang.String); 128 *** findFirstPartByMimeType(com.android.emailcommon.mail.Part, java.lang.String); 129} 130 131-keepclasseswithmembers class com.android.email.mail.transport.SmtpSender { 132 *** setTransport(com.android.email.mail.Transport); 133} 134 135-keepclasseswithmembers class com.android.email.mail.Store { 136 *** requireStructurePrefetch(); 137} 138 139-keepclasseswithmembers class com.android.email.mail.store.ImapStore { 140 *** setTransport(com.android.email.mail.Transport); 141} 142 143-keepclasseswithmembers class com.android.email.mail.store.ImapFolder { 144 *** getMessages(int, int, com.android.emailcommon.mail.Folder$MessageRetrievalListener); 145 *** getMessages(com.android.emailcommon.mail.Folder$MessageRetrievalListener); 146 *** getMessages(java.lang.String[], com.android.emailcommon.mail.Folder$MessageRetrievalListener); 147 *** getUnreadMessageCount(); 148} 149 150-keepclasseswithmembers class com.android.email.mail.store.Pop3Store { 151 *** setTransport(com.android.email.mail.Transport); 152} 153 154-keepclasseswithmembers class com.android.email.mail.store.Pop3Store$Pop3Folder { 155 *** getMessages(int, int, com.android.emailcommon.mail.Folder$MessageRetrievalListener); 156 *** getMessages(com.android.emailcommon.mail.Folder$MessageRetrievalListener); 157 *** getMessages(java.lang.String[], com.android.emailcommon.mail.Folder$MessageRetrievalListener); 158 *** getUnreadMessageCount(); 159 *** isOpen(); 160} 161 162-keep class com.android.emailcommon.mail.Flag 163 164-keepclasseswithmembers class com.android.emailcommon.mail.Folder { 165 *** getUnreadMessageCount(); 166 *** delete(boolean); 167 *** getRole(); 168} 169 170-keep class com.android.emailcommon.mail.Folder$FolderRole 171 172-keepclasseswithmembers class com.android.emailcommon.mail.PackedString$Builder { 173 <init>(); 174 <init>(java.lang.String); 175 *** get(java.lang.String); 176 *** put(java.lang.String, java.lang.String); 177} 178 179-keepclasseswithmembers class com.android.email.provider.ContentCache$CounterMap { 180 *** getCount(...); 181 *** size(); 182} 183 184-keepclasseswithmembers class com.android.emailcommon.provider.Account { 185 *** getShortcutSafeUri(); 186 *** refresh(android.content.Context); 187} 188 189-keepclasseswithmembers class com.android.emailcommon.provider.Policy { 190 *** setAttachmentFlagsForNewPolicy(android.content.Context, 191 com.android.emailcommon.provider.Account, 192 com.android.emailcommon.provider.Policy); 193 *** clearAccountPolicy(android.content.Context, 194 com.android.emailcommon.provider.Account); 195} 196 197-keep class org.apache.james.mime4j.field.Field { 198 *** getBody(); 199} 200 201-keepclasseswithmembers class com.android.email.FolderProperties { 202 *** getDisplayName(int); 203} 204 205# The following classes are used only by unit tests. 206# We should move them into tests/ if possible. 207 208-keep class org.apache.james.mime4j.message.Message { 209 *; 210} 211 212-keepclasseswithmembers class org.apache.commons.io.IOUtils { 213 *** toByteArray(java.io.InputStream); 214 *** toByteArray(java.io.Reader); 215 *** toByteArray(java.io.Reader, java.lang.String); 216 *** toByteArray(java.lang.String); 217} 218 219-keepclasseswithmembers class com.android.email.activity.ThreePaneLayout { 220 *** setMessageListWidthAnim(...); 221 *** setMailboxListLeftAnim(...); 222} 223