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