1 # keep names that are used by reflection. 2 -keep class com.android.email.provider.EmailContent$Account 3 -keepclasseswithmembers class * { 4 public static void actionEditIncomingSettings(android.app.Activity, com.android.email.provider.EmailContent$Account); 5 } 6 7 -keepclasseswithmembers class * { 8 public static void actionEditOutgoingSettings(android.app.Activity, com.android.email.provider.EmailContent$Account); 9 } 10 11 -keepclasseswithmembers class * { 12 public *** newInstance(android.content.Context, java.lang.String); 13 } 14 15 -keep class com.android.email.mail.Store$PersistentDataCallbacks { 16 *** getPersistentString(...); 17 *** setPersistentString(...); 18 } 19 20 -keepclasseswithmembers class * { 21 public *** newInstance(java.lang.String, android.content.Context, com.android.email.mail.Store$PersistentDataCallbacks); 22 } 23 24 -keep class * extends org.apache.james.mime4j.util.TempStorage 25 26 # Keep names that are used only by unit tests 27 28 # Any methods whose name is '*ForTest' are preserved. 29 -keep class ** { 30 *** *ForTest(...); 31 } 32 33 -keepclasseswithmembers class com.android.email.GroupMessagingListener { 34 *** removeListener(com.android.email.MessagingListener); 35 } 36 37 -keepclasseswithmembers class com.android.email.Controller { 38 *** setProviderContext(android.content.Context); 39 } 40 41 -keepclasseswithmembers class com.android.email.mail.Address { 42 <init>(...); 43 *** parseAndPack(java.lang.String); 44 *** legacyUnpack(java.lang.String); 45 } 46 47 -keepclasseswithmembers class com.android.email.SecurityPolicy { 48 *** setContext(android.content.Context); 49 } 50 51 -keepclasseswithmembers class com.android.email.SecurityPolicy$PolicySet { 52 <init>(...); 53 } 54 55 -keepclasseswithmembers class com.android.email.MessagingController { 56 *** injectMockController(com.android.email.MessagingController); 57 } 58 59 -keepclasseswithmembers class com.android.email.provider.EmailProvider { 60 *** getReadableDatabase(android.content.Context); 61 } 62 63 -keepclasseswithmembers class com.android.email.provider.EmailContent$Attachment { 64 *** createUniqueFile(java.lang.String); 65 } 66 67 -keepclasseswithmembers class com.android.email.Account { 68 *** getContentUri(); 69 } 70 71 -keepclasseswithmembers class com.android.email.Preferences { 72 *** getAccountByContentUri(android.net.Uri); 73 } 74 75 -keep class com.android.email.mail.Message$RecipientType 76 77 -keepclasseswithmembers class com.android.email.mail.Message { 78 *** setRecipient(...); 79 } 80 81 -keepclasseswithmembers class com.android.email.mail.internet.MimeMessage { 82 <init>(...); 83 *** getExtendedHeader(java.lang.String); 84 *** setExtendedHeader(java.lang.String, java.lang.String); 85 } 86 87 -keep class com.android.email.mail.Part 88 89 -keepclasseswithmembers class com.android.email.mail.internet.MimeUtility { 90 *** foldAndEncode(...); 91 *** findPartByContentId(...); 92 *** findFirstPartByMimeType(...); 93 } 94 95 -keepclasseswithmembers class com.android.email.mail.transport.SmtpSender { 96 *** setTransport(com.android.email.mail.Transport); 97 } 98 99 -keepclasseswithmembers class com.android.email.mail.Store { 100 *** requireStructurePrefetch(); 101 } 102 103 -keepclasseswithmembers class com.android.email.mail.store.ImapStore { 104 *** setTransport(com.android.email.mail.Transport); 105 } 106 107 -keepclasseswithmembers class com.android.email.mail.store.ImapStore$ImapFolder { 108 *** getUnreadMessageCount(...); 109 *** getRole(...); 110 } 111 112 -keepclasseswithmembers class com.android.email.mail.store.LocalStore { 113 *** resetVisibleLimits(...); 114 *** getPersistentCallbacks(...); 115 *** getPersistentString(...); 116 *** setPersistentString(...); 117 } 118 119 -keepclasseswithmembers class com.android.email.mail.store.LocalStore$LocalFolder { 120 *** updateMessage(...); 121 *** getMessages(...); 122 *** getPersistentCallbacks(...); 123 *** getVisibleLimit(...); 124 *** setVisibleLimit(...); 125 *** getId(...); 126 *** getPersistentString(...); 127 } 128 129 -keepclasseswithmembers class com.android.email.mail.store.Pop3Store { 130 *** setTransport(com.android.email.mail.Transport); 131 } 132 133 -keepclasseswithmembers class com.android.email.mail.store.Pop3Store$Pop3Folder { 134 *** getUnreadMessageCount(...); 135 *** isOpen(...); 136 } 137 138 -keepclasseswithmembers class com.android.email.mail.Folder { 139 *** getUnreadMessageCount(...); 140 *** delete(...); 141 *** getRole(...); 142 } 143 144 -keep class com.android.email.mail.Folder$FolderRole 145 146 -keepclasseswithmembers class com.android.email.mail.Folder$PersistentDataCallbacks { 147 *** getPersistentString(...); 148 *** setPersistentString(...); 149 *** setPersistentStringAndMessageFlags(...); 150 } 151 152 -keep class com.android.email.mail.MessageRetrievalListener 153 154 -keepclasseswithmembers class com.android.exchange.adapter.Parser { 155 *** resetInput(...); 156 } 157 158 -keep class com.android.email.mail.Flag 159 160 -keepclasseswithmembers class com.android.email.mail.PackedString$Builder { 161 <init>(...); 162 *** get(...); 163 } 164 165 -keep class org.apache.james.mime4j.field.Field { 166 *** getBody(...); 167 } 168 169 # The following classes are used only by unit tests. 170 # We should move them into tests/ if possible. 171 172 -keep class org.apache.james.mime4j.message.Message { 173 *; 174 } 175 176 -keepclasseswithmembers class org.apache.commons.io.IOUtils { 177 *** toByteArray(...); 178 } 179