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.emailcommon.internet.Rfc822Output { 39 *** getHtmlBody(java.lang.String); 40 *** buildBodyText(android.content.Context, com.android.emailcommon.provider.EmailContent$Message, boolean); 41 } 42 43 -keepclasseswithmembers class com.android.emailcommon.mail.Address { 44 <init>(java.lang.String); 45 <init>(java.lang.String,java.lang.String); 46 *** parseAndPack(java.lang.String); 47 } 48 49 -keepclasseswithmembers class com.android.email.SecurityPolicy { 50 *** setContext(android.content.Context); 51 } 52 53 -keepclasseswithmembers class com.android.emailcommon.utility.Utility { 54 *** dumpCursor(android.database.Cursor); 55 *** fromUtf8(byte[]); 56 *** isFirstUtf8Byte(byte); 57 *** replaceBareLfWithCrlf(java.lang.String); 58 } 59 -keepclasseswithmembers class com.android.emailcommon.utility.Utility$CloseTraceCursorWrapper { 60 *** getTraceIfAvailable(android.database.Cursor); 61 *** log(android.database.Cursor); 62 } 63 64 -keepclasseswithmembers class com.android.email.provider.EmailProvider { 65 *** getReadableDatabase(android.content.Context); 66 } 67 68 -keepclasseswithmembers class com.android.emailcommon.provider.EmailContent$Attachment { 69 *** createUniqueFile(java.lang.String); 70 } 71 72 -keepclasseswithmembers class com.android.email.service.AttachmentDownloadService { 73 *** addServiceClass(long, java.lang.Class); 74 } 75 76 -keepclasseswithmembers class com.android.email.service.AttachmentDownloadService$AccountManagerStub { 77 *** setNumberOfAccounts(int); 78 } 79 80 -keepclasseswithmembers class com.android.email.Preferences { 81 *** getAccountByContentUri(android.net.Uri); 82 } 83 84 -keep class com.android.emailcommon.mail.Message$RecipientType 85 86 -keepclasseswithmembers class com.android.emailcommon.mail.Message { 87 *** setRecipient(com.android.emailcommon.mail.Message$RecipientType, com.android.emailcommon.mail.Address); 88 } 89 90 -keepclasseswithmembers class com.android.emailcommon.internet.MimeHeader { 91 *** writeToString(); 92 } 93 94 -keepclasseswithmembers class com.android.emailcommon.internet.MimeMessage { 95 <init>(); 96 <init>(java.io.InputStream); 97 *** getExtendedHeader(java.lang.String); 98 *** setExtendedHeader(java.lang.String, java.lang.String); 99 *** getExtendedHeaders(); 100 *** setExtendedHeaders(java.lang.String); 101 } 102 103 -keepclasseswithmembers class com.android.emailcommon.internet.MimeUtility { 104 *** foldAndEncode(java.lang.String); 105 *** findPartByContentId(com.android.emailcommon.mail.Part, java.lang.String); 106 *** findFirstPartByMimeType(com.android.emailcommon.mail.Part, java.lang.String); 107 } 108 109 -keepclasseswithmembers class com.android.email.mail.transport.SmtpSender { 110 *** setTransport(com.android.email.mail.transport.MailTransport); 111 } 112 113 -keepclasseswithmembers class com.android.email.mail.Store { 114 *** requireStructurePrefetch(); 115 } 116 117 -keepclasseswithmembers class com.android.email.mail.store.ImapStore { 118 *** setTransport(com.android.email.mail.transport.MailTransport); 119 } 120 121 -keepclasseswithmembers class com.android.email.mail.store.ImapFolder { 122 *** getMessages(int, int, com.android.emailcommon.mail.Folder$MessageRetrievalListener); 123 *** getMessages(com.android.emailcommon.mail.Folder$MessageRetrievalListener); 124 *** getMessages(java.lang.String[], com.android.emailcommon.mail.Folder$MessageRetrievalListener); 125 *** getUnreadMessageCount(); 126 } 127 128 -keepclasseswithmembers class com.android.email.mail.store.Pop3Store { 129 *** setTransport(com.android.email.mail.transport.MailTransport); 130 } 131 132 -keepclasseswithmembers class com.android.email.mail.store.Pop3Store$Pop3Folder { 133 *** getMessages(int, int, com.android.emailcommon.mail.Folder$MessageRetrievalListener); 134 *** getMessages(com.android.emailcommon.mail.Folder$MessageRetrievalListener); 135 *** getMessages(java.lang.String[], com.android.emailcommon.mail.Folder$MessageRetrievalListener); 136 *** getUnreadMessageCount(); 137 *** isOpen(); 138 } 139 140 -keep class com.android.emailcommon.mail.Flag 141 142 -keepclasseswithmembers class com.android.emailcommon.mail.Folder { 143 *** getUnreadMessageCount(); 144 *** delete(boolean); 145 *** getRole(); 146 } 147 148 -keep class com.android.emailcommon.mail.Folder$FolderRole 149 150 -keepclasseswithmembers class com.android.emailcommon.mail.PackedString$Builder { 151 <init>(); 152 <init>(java.lang.String); 153 *** get(java.lang.String); 154 *** put(java.lang.String, java.lang.String); 155 } 156 157 -keepclasseswithmembers class com.android.email.provider.ContentCache$CounterMap { 158 *** getCount(...); 159 *** size(); 160 } 161 162 -keepclasseswithmembers class com.android.emailcommon.provider.Account { 163 *** getShortcutSafeUri(); 164 *** refresh(android.content.Context); 165 } 166 167 -keepclasseswithmembers class com.android.emailcommon.provider.Policy { 168 *** setAttachmentFlagsForNewPolicy(android.content.Context, 169 com.android.emailcommon.provider.Account, 170 com.android.emailcommon.provider.Policy); 171 *** clearAccountPolicy(android.content.Context, 172 com.android.emailcommon.provider.Account); 173 } 174 175 -keep class org.apache.james.mime4j.field.Field { 176 *** getBody(); 177 } 178 179 # The following classes are used only by unit tests. 180 # We should move them into tests/ if possible. 181 182 -keep class org.apache.james.mime4j.message.Message { 183 *; 184 } 185 186 -keepclasseswithmembers class org.apache.commons.io.IOUtils { 187 *** toByteArray(java.io.InputStream); 188 *** toByteArray(java.io.Reader); 189 *** toByteArray(java.io.Reader, java.lang.String); 190 *** toByteArray(java.lang.String); 191 } 192